Doxygen
CodeParserInterface类 参考abstract

Abstract interface for code parsers. 更多...

#include <parserintf.h>

+ 类 CodeParserInterface 继承关系图:

Public 成员函数

virtual ~CodeParserInterface ()
 
virtual void parseCode (CodeOutputInterface &codeOutIntf, const QCString &scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const QCString &exampleName=QCString(), const FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, const MemberDef *memberDef=0, bool showLineNumbers=TRUE, const Definition *searchCtx=0, bool collectXRefs=TRUE)=0
 Parses a source file or fragment with the goal to produce highlighted and cross-referenced output. 更多...
 
virtual void resetCodeParserState ()=0
 Resets the state of the code parser. 更多...
 

详细描述

Abstract interface for code parsers.

By implementing the methods of this interface one can add a new language parser to doxygen. This interface is used for syntax highlighting, but also to extract cross references and call graphs.

在文件 parserintf.h83 行定义.

构造及析构函数说明

◆ ~CodeParserInterface()

virtual CodeParserInterface::~CodeParserInterface ( )
inlinevirtual

在文件 parserintf.h86 行定义.

86 {}

成员函数说明

◆ parseCode()

virtual void CodeParserInterface::parseCode ( CodeOutputInterface codeOutIntf,
const QCString scopeName,
const QCString input,
SrcLangExt  lang,
bool  isExampleBlock,
const QCString exampleName = QCString(),
const FileDef fileDef = 0,
int  startLine = -1,
int  endLine = -1,
bool  inlineFragment = FALSE,
const MemberDef memberDef = 0,
bool  showLineNumbers = TRUE,
const Definition searchCtx = 0,
bool  collectXRefs = TRUE 
)
pure virtual

Parses a source file or fragment with the goal to produce highlighted and cross-referenced output.

参数
[in]codeOutIntfAbstract interface for writing the result.
[in]scopeNameName of scope to which the code belongs.
[in]inputActual code in the form of a string
[in]langThe programming language of the code fragment.
[in]isExampleBlockTRUE iff the code is part of an example.
[in]exampleNameName of the example.
[in]fileDefFile definition to which the code is associated.
[in]startLineStarting line in case of a code fragment.
[in]endLineEnding line of the code fragment.
[in]inlineFragmentCode fragment that is to be shown inline as part of the documentation.
[in]memberDefMember definition to which the code is associated (non null in case of an inline fragment for a member).
[in]showLineNumbersif set to TRUE and also fileDef is not 0, line numbers will be added to the source fragment
[in]searchCtxcontext under which search data has to be stored.
[in]collectXRefscollect cross-reference relations.

LexCodeParser, SQLCodeParser, XMLCodeParser, FileCodeParser, PythonCodeParser, FortranCodeParser, CCodeParser , 以及 VHDLCodeParser 内被实现.

被这些函数引用 HtmlDocVisitor::visit(), DocbookDocVisitor::visit(), LatexDocVisitor::visit(), ManDocVisitor::visit(), RTFDocVisitor::visit() , 以及 XmlDocVisitor::visit().

◆ resetCodeParserState()

virtual void CodeParserInterface::resetCodeParserState ( )
pure virtual

Resets the state of the code parser.

Since multiple code fragments can together form a single example, an explicit function is used to reset the code parser state.

参见
parseCode()

FileCodeParser, PythonCodeParser, LexCodeParser, SQLCodeParser, XMLCodeParser, FortranCodeParser, CCodeParser , 以及 VHDLCodeParser 内被实现.


该类的文档由以下文件生成: