|
Doxygen
|
#include <stdio.h>#include <stdlib.h>#include <cassert>#include <ctype.h>#include "qcstring.h"#include "regex.h"#include "doxygen.h"#include "debug.h"#include "util.h"#include "pagedef.h"#include "docparser.h"#include "doctokenizer.h"#include "cmdmapper.h"#include "printdocvisitor.h"#include "message.h"#include "section.h"#include "searchindex.h"#include "language.h"#include "portable.h"#include "cite.h"#include "arguments.h"#include "vhdldocgen.h"#include "groupdef.h"#include "classlist.h"#include "filedef.h"#include "memberdef.h"#include "namespacedef.h"#include "reflist.h"#include "formula.h"#include "config.h"#include "growbuf.h"#include "markdown.h"#include "htmlentity.h"#include "emoji.h"#include "fileinfo.h"#include "dir.h"
docparser.cpp 的引用(Include)关系图:类 | |
| struct | DocParserContext |
| Parser's context to store all global variables. 更多... | |
| class | DocParser |
| class | AutoNodeStack |
| struct | ActiveRowSpan |
| Helper class to compute the grid for an HTML style table 更多... | |
宏定义 | |
| #define | TK_COMMAND_CHAR(token) ((token)==TK_COMMAND_AT ? "@" : "\\") |
| #define | DBG(x) do {} while(0) |
| #define | INTERNAL_ASSERT(x) do {} while(0) |
| #define | CHECK_FOR_COMMAND(str, action) |
类型定义 | |
| using | DefinitionStack = std::vector< const Definition * > |
| using | DocNodeStack = std::stack< const DocNode * > |
| using | DocStyleChangeStack = std::stack< const DocStyleChange * > |
| typedef std::vector< ActiveRowSpan > | RowSpanList |
| List of ActiveRowSpan classes. 更多... | |
函数 | |
| std::unique_ptr< IDocParser > | createDocParser () |
| static void | unescapeCRef (QCString &s) |
| static QCString | stripKnownExtensions (const QCString &text) |
| static bool | insidePRE (DocNode *n) |
| static bool | insideLI (DocNode *n) |
| static bool | insideUL (DocNode *n) |
| static bool | insideOL (DocNode *n) |
| static bool | insideTable (DocNode *n) |
| static void | flattenParagraphs (DocNode *root, DocNodeList &children) |
| static bool | findAttribute (const HtmlAttribList &tagHtmlAttribs, const char *attrName, QCString *result) |
| static QCString | extractCopyDocId (const char *data, uint &j, uint len) |
| static uint | isCopyBriefOrDetailsCmd (const char *data, uint i, uint len, bool &brief) |
| static uint | isVerbatimSection (const char *data, uint i, uint len, QCString &endMarker) |
| static uint | skipToEndMarker (const char *data, uint i, uint len, const QCString &endMarker) |
| DocRoot * | validatingParseDoc (IDocParser &parserIntf, const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &input, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport) |
| DocText * | validatingParseText (IDocParser &parserIntf, const QCString &input) |
| DocRef * | createRef (IDocParser &parserIntf, const QCString &target, const QCString &context) |
| void | docFindSections (const QCString &input, const Definition *d, const QCString &fileName) |
变量 | |
| static const char * | g_sectionLevelToName [] |
| static const std::set< std::string > | g_plantumlEngine |
| #define CHECK_FOR_COMMAND | ( | str, | |
| action | |||
| ) |
在文件 docparser.cpp 第 7355 行定义.
| #define DBG | ( | x | ) | do {} while(0) |
在文件 docparser.cpp 第 58 行定义.
| #define INTERNAL_ASSERT | ( | x | ) | do {} while(0) |
在文件 docparser.cpp 第 67 行定义.
| #define TK_COMMAND_CHAR | ( | token | ) | ((token)==TK_COMMAND_AT ? "@" : "\\") |
在文件 docparser.cpp 第 55 行定义.
| using DefinitionStack = std::vector<const Definition *> |
在文件 docparser.cpp 第 93 行定义.
| using DocNodeStack = std::stack<const DocNode *> |
在文件 docparser.cpp 第 94 行定义.
| using DocStyleChangeStack = std::stack<const DocStyleChange *> |
在文件 docparser.cpp 第 95 行定义.
| typedef std::vector<ActiveRowSpan> RowSpanList |
List of ActiveRowSpan classes.
在文件 docparser.cpp 第 3671 行定义.
| std::unique_ptr<IDocParser> createDocParser | ( | ) |
在文件 docparser.cpp 第 179 行定义.
被这些函数引用 addPerlModDocBlock(), convertMapFile(), RTFGenerator::endIndexSection(), generateBriefDoc(), OutputList::generateDoc(), parseCommentAsText(), parseDoc(), OutputList::parseText(), replaceRef(), ConceptDefImpl::writeBriefDescription(), DirDefImpl::writeBriefDescription(), NamespaceDefImpl::writeBriefDescription(), GroupDefImpl::writeBriefDescription(), FileDefImpl::writeBriefDescription(), MemberDefImpl::writeDeclaration(), ConceptDefImpl::writeDeclarationLink(), ClassDefImpl::writeDeclarationLink(), MemberList::writePlainDeclarations() , 以及 writeXMLDocBlock().
| DocRef* createRef | ( | IDocParser & | parserIntf, |
| const QCString & | target, | ||
| const QCString & | context | ||
| ) |
| void docFindSections | ( | const QCString & | input, |
| const Definition * | d, | ||
| const QCString & | fileName | ||
| ) |
Searches for section and anchor commands in the input
在文件 docparser.cpp 第 7681 行定义.
引用了 DocTokenizer::findSections() , 以及 DocParser::tokenizer.
被这些函数引用 PageDefImpl::findSectionsInDocumentation(), MemberGroup::findSectionsInDocumentation(), ConceptDefImpl::findSectionsInDocumentation(), NamespaceDefImpl::findSectionsInDocumentation(), GroupDefImpl::findSectionsInDocumentation(), FileDefImpl::findSectionsInDocumentation(), ClassDefImpl::findSectionsInDocumentation() , 以及 MemberDefImpl::findSectionsInDocumentation().
|
static |
|
static |
在文件 docparser.cpp 第 2477 行定义.
引用了 CompAccept< T >::children(), DocNode::Kind_Para , 以及 DocNode::setParent().
被这些函数引用 DocRef::parse().
|
static |
Returns TRUE iff node n is a child of a html list item node
在文件 docparser.cpp 第 571 行定义.
引用了 FALSE, DocNode::kind(), DocNode::Kind_HtmlListItem, DocNode::parent() , 以及 TRUE.
被这些函数引用 DocPara::handleHtmlEndTag() , 以及 DocParser::handleStyleArgument().
|
static |
Returns TRUE iff node n is a child of a ordered html list node
在文件 docparser.cpp 第 598 行定义.
引用了 FALSE, DocNode::kind(), DocNode::Kind_HtmlList, DocHtmlList::Ordered, DocNode::parent() , 以及 TRUE.
被这些函数引用 DocPara::handleHtmlEndTag() , 以及 DocPara::handleHtmlStartTag().
|
static |
Returns TRUE iff node n is a child of a preformatted node
在文件 docparser.cpp 第 558 行定义.
引用了 FALSE, DocNode::isPreformatted(), DocNode::parent() , 以及 TRUE.
被这些函数引用 DocParser::defaultHandleToken() , 以及 DocPara::parse().
|
static |
在文件 docparser.cpp 第 611 行定义.
引用了 FALSE, DocNode::kind(), DocNode::Kind_HtmlTable, DocNode::parent() , 以及 TRUE.
被这些函数引用 filterLatexString() , 以及 DocPara::handleHtmlStartTag().
|
static |
Returns TRUE iff node n is a child of a unordered html list node
在文件 docparser.cpp 第 584 行定义.
引用了 FALSE, DocNode::kind(), DocNode::Kind_HtmlList, DocNode::parent(), TRUE , 以及 DocHtmlList::Unordered.
被这些函数引用 DocPara::handleHtmlEndTag() , 以及 DocPara::handleHtmlStartTag().
在文件 docparser.cpp 第 7359 行定义.
引用了 CHECK_FOR_COMMAND, FALSE , 以及 TRUE.
被这些函数引用 DocParser::processCopyDoc().
|
static |
在文件 docparser.cpp 第 7391 行定义.
引用了 QCString::data(), QCString::length() , 以及 qstrncmp().
被这些函数引用 DocParser::processCopyDoc().
Strips known html and tex extensions from text.
在文件 docparser.cpp 第 539 行定义.
引用了 Doxygen::htmlFileExtension, QCString::left(), QCString::length() , 以及 QCString::right().
被这些函数引用 DocLink::DocLink(), DocRef::DocRef() , 以及 DocSecRefItem::parse().
|
static |
在文件 docparser.cpp 第 241 行定义.
引用了 QCString::data() , 以及 substitute().
被这些函数引用 DocPara::handleHtmlStartTag().
| DocRoot* validatingParseDoc | ( | IDocParser & | parser, |
| const QCString & | fileName, | ||
| int | startLine, | ||
| const Definition * | context, | ||
| const MemberDef * | md, | ||
| const QCString & | input, | ||
| bool | indexWords, | ||
| bool | isExample, | ||
| const QCString & | exampleName, | ||
| bool | singleLine, | ||
| bool | linkFromIndex, | ||
| bool | markdownSupport | ||
| ) |
Main entry point for the documentation parser.
| parser | The parser object created via createDocParser() |
| fileName | File in which the documentation block is found (or the name of the example file in case isExample is TRUE). |
| startLine | Line at which the documentation block is found. |
| context | Class or namespace to which this block belongs. |
| md | Member definition to which the documentation belongs. Can be 0. |
| input | String representation of the documentation block. |
| indexWords | Indicates whether or not words should be put in the search index. |
| isExample | TRUE if the documentation belongs to an example. |
| exampleName | Base name of the example file (0 if isExample is FALSE). |
| singleLine | Output should be presented on a single line, so without starting a new paragraph at the end. |
| linkFromIndex | TRUE if the documentation is generated from an index page. In this case context is not used to determine the relative path when making a link. |
| markdownSupport | TRUE if the input needs to take markdown markup into account. |
在文件 docparser.cpp 第 7495 行定义.
引用了 CompAccept< T >::accept(), MemberDef::anchor(), Definition::anchor(), QCString::at(), DocParser::checkUnOrMultipleDocumentedParams(), DocParserContext::context, DocParser::context, QCString::data(), Definition::definitionType(), MemberDef::detectUndocumentedParams(), DocParserContext::exampleName, FALSE, DocParserContext::fileName, MemberDef::getOutputFileBase(), Definition::getOutputFileBase(), Doxygen::globalScope, DocParserContext::hasParamCommand, DocParserContext::hasReturnCommand, DocParserContext::includeFileLength, DocParserContext::includeFileOffset, DocParserContext::includeFileText, DocTokenizer::init(), DocParserContext::initialStyleStack, DocParserContext::inSeeBlock, DocParserContext::insideHtmlLink, QCString::isEmpty(), DocParserContext::isExample, Debug::isFlagSet(), QCString::length(), DocParserContext::markdownSupport, DocParserContext::memberDef, Definition::name(), DocParserContext::nodeStack, DocParserContext::paramsFound, DocRoot::parse(), DocParser::popContext(), Debug::PrintTree, DocParser::processCopyDoc(), DocParser::pushContext(), relativePathToRoot(), DocParserContext::relPath, DocParserContext::retvalsFound, DocParserContext::scope, Doxygen::searchIndex, DocParserContext::searchUrl, SearchIndexIntf::setCurrentDoc(), DocTokenizer::setLineNr(), DocParserContext::styleStack, toGroupDef(), DocParser::tokenizer, toPageDef(), Definition::TypeClass, Definition::TypeGroup, Definition::TypeNamespace, Definition::TypePage , 以及 DocParserContext::xmlComment.
被这些函数引用 addPerlModDocBlock(), generateBriefDoc(), OutputList::generateDoc(), parseCommentAsText(), parseDoc(), ConceptDefImpl::writeBriefDescription(), DirDefImpl::writeBriefDescription(), NamespaceDefImpl::writeBriefDescription(), GroupDefImpl::writeBriefDescription(), FileDefImpl::writeBriefDescription(), MemberDefImpl::writeDeclaration(), ConceptDefImpl::writeDeclarationLink(), ClassDefImpl::writeDeclarationLink(), MemberList::writePlainDeclarations() , 以及 writeXMLDocBlock().
| DocText* validatingParseText | ( | IDocParser & | parser, |
| const QCString & | input | ||
| ) |
Main entry point for parsing simple text fragments. These fragments are limited to words, whitespace and symbols.
在文件 docparser.cpp 第 7621 行定义.
引用了 CompAccept< T >::accept(), Config_getBool, DocParserContext::context, DocParser::context, QCString::data(), DocParserContext::exampleName, FALSE, DocParserContext::fileName, DocParserContext::hasParamCommand, DocParserContext::hasReturnCommand, DocParserContext::includeFileLength, DocParserContext::includeFileOffset, DocParserContext::includeFileText, DocTokenizer::init(), DocParserContext::initialStyleStack, DocParserContext::inSeeBlock, DocParserContext::insideHtmlLink, QCString::isEmpty(), DocParserContext::isExample, Debug::isFlagSet(), DocParserContext::memberDef, DocParserContext::nodeStack, DocParserContext::paramsFound, DocText::parse(), DocParser::popContext(), Debug::PrintTree, DocParser::pushContext(), DocParserContext::relPath, DocParserContext::retvalsFound, DocParserContext::searchUrl, DocTokenizer::setLineNr(), DocParserContext::styleStack, DocParser::tokenizer , 以及 DocParserContext::xmlComment.
被这些函数引用 RTFGenerator::endIndexSection() , 以及 OutputList::parseText().
|
static |
在文件 docparser.cpp 第 82 行定义.
被这些函数引用 DocPara::handleCommand().
|
static |
在文件 docparser.cpp 第 72 行定义.
被这些函数引用 DocSection::parse().