Doxygen
|
Manages programming language parsers. 更多...
#include <parserintf.h>
类 | |
struct | ParserPair |
Public 成员函数 | |
ParserManager (OutlineParserFactory outlineParserFactory, CodeParserFactory codeParserFactory) | |
Create the parser manager 更多... | |
void | registerParser (const QCString &name, OutlineParserFactory outlineParserFactory, CodeParserFactory codeParserFactory) |
Registers an additional parser. 更多... | |
bool | registerExtension (const QCString &extension, const QCString &parserName) |
Registers a file extension with a parser with name parserName. 更多... | |
std::unique_ptr< OutlineParserInterface > | getOutlineParser (const QCString &extension) |
Gets the interface to the parser associated with a given extension. 更多... | |
std::unique_ptr< CodeParserInterface > | getCodeParser (const QCString &extension) |
Gets the interface to the parser associated with a given extension. 更多... | |
CodeParserFactory & | getCodeParserFactory (const QCString &extension) |
Get the factory for create code parser objects with a given extension. 更多... | |
QCString | getParserName (const QCString &extension) |
Gets the name of the parser associated with given extension. 更多... | |
Private 成员函数 | |
ParserPair & | getParsers (const QCString &extension) |
Private 属性 | |
std::map< std::string, ParserPair > | m_parsers |
std::map< std::string, ParserPair & > | m_extensions |
ParserPair | m_defaultParsers |
Manages programming language parsers.
This class manages the language parsers in the system. One can register parsers, and obtain a parser given a file extension.
在文件 parserintf.h 第 145 行定义.
|
inline |
Create the parser manager
outlineParserFactory | the fallback outline parser factory to use for unknown extensions |
codeParserFactory | the fallback code parser factory to use for unknown extensions |
在文件 parserintf.h 第 165 行定义.
|
inline |
Gets the interface to the parser associated with a given extension.
If there is no parser explicitly registered for the supplied extension, the interface to the default parser will be returned.
在文件 parserintf.h 第 217 行定义.
被这些函数引用 MemberDefImpl::_writeMultiLineInitializer(), generateExampleDocs(), parseCode(), FileDefImpl::parseSource(), ConceptDefImpl::writeDefinition(), DefinitionImpl::writeInlineCode(), VhdlDocGen::writeSource(), FileDefImpl::writeSourceBody() , 以及 writeXMLCodeBlock().
|
inline |
Get the factory for create code parser objects with a given extension.
在文件 parserintf.h 第 224 行定义.
引用了 ParserManager::ParserPair::codeParserFactory , 以及 getParsers().
被这些函数引用 getCodeParser().
|
inline |
Gets the interface to the parser associated with a given extension.
If there is no parser explicitly registered for the supplied extension, the interface to the default parser will be returned.
在文件 parserintf.h 第 208 行定义.
引用了 getParsers() , 以及 ParserManager::ParserPair::outlineParserFactory.
被这些函数引用 VhdlDocGen::createFlowChart(), getParserForFile() , 以及 MarkdownOutlineParser::parsePrototype().
Gets the name of the parser associated with given extension.
If there is no parser explicitly registered for the supplied extension, te empty string will be reurned.
在文件 parserintf.h 第 233 行定义.
引用了 getParsers() , 以及 ParserManager::ParserPair::parserName.
被这些函数引用 convertFileNameFortranParserCode().
|
inlineprivate |
在文件 parserintf.h 第 239 行定义.
引用了 QCString::data(), QCString::isEmpty(), QCString::left(), QCString::length(), QCString::lower(), m_defaultParsers , 以及 m_extensions.
被这些函数引用 getCodeParserFactory(), getOutlineParser() , 以及 getParserName().
|
inline |
Registers a file extension with a parser with name parserName.
Returns TRUE if the extension was successfully registered.
在文件 parserintf.h 第 188 行定义.
引用了 FALSE, QCString::isEmpty(), m_extensions, m_parsers, QCString::str() , 以及 TRUE.
|
inline |
Registers an additional parser.
[in] | name | A symbolic name of the parser, i.e. "c", "python", "fortran", "vhdl", ... |
[in] | outlineParserFactory | A factory method to create a language parser (scanner) that is to be used for the given name. |
[in] | codeParserFactory | A factory method to create a code parser that is to be used for the given name. |
在文件 parserintf.h 第 179 行定义.
引用了 m_parsers , 以及 QCString::str().
被这些函数引用 initDoxygen().
|
private |
在文件 parserintf.h 第 253 行定义.
被这些函数引用 getParsers().
|
private |
在文件 parserintf.h 第 252 行定义.
被这些函数引用 getParsers() , 以及 registerExtension().
|
private |
在文件 parserintf.h 第 251 行定义.
被这些函数引用 registerExtension() , 以及 registerParser().