71 bool sameTranslationUnit,
72 QStrList &filesInSameTranslationUnit) = 0;
104 const char *scopeName,
108 const char *exampleName=0,
112 bool inlineFragment=FALSE,
114 bool showLineNumbers=TRUE,
116 bool collectXRefs=TRUE
149 : m_defaultParser(0) { m_parsers.setAutoDelete(TRUE); }
152 delete m_defaultParser;
157 m_defaultParser = parser;
168 m_parsers.insert(name,parser);
176 if (parserName==0 || extension==0)
return FALSE;
178 if (intf==0)
return FALSE;
179 if (m_extensions.find(extension)!=0)
181 m_extensions.remove(extension);
183 m_extensions.insert(extension,intf);
194 if (ext.
isEmpty()) ext=
".no_extension";
196 if (intf==0 && ext.
length()>4)
198 intf = m_extensions.find(ext.left(4));
200 return intf ? intf : m_defaultParser;
204 QDict<ParserInterface> m_parsers;
205 QDict<ParserInterface> m_extensions;
ParserInterface * getParser(const char *extension)
Gets the interface to the parser associated with given extension.
Definition: parserintf.h:191
Definition: qstrlist.h:57
virtual void startTranslationUnit(const char *fileName)=0
Starts processing a translation unit (source files + headers).
This file contains a number of basic enums and types.
The common base class of all entity definitions found in the sources.
Definition: definition.h:92
A model of a class/file/namespace member symbol.
Definition: memberdef.h:43
Represents an unstructured piece of information, about an entity found in the sources.
Definition: entry.h:63
Abstract interface for programming language parsers.
Definition: parserintf.h:38
A model of a file symbol.
Definition: filedef.h:64
void registerParser(const char *name, ParserInterface *parser)
Registers an additional parser.
Definition: parserintf.h:166
virtual void finishTranslationUnit()=0
Called after all files in a translation unit have been processed.
SrcLangExt
Language as given by extension.
Definition: types.h:41
uint length() const
Returns the length of the string, excluding the 0-terminator.
Definition: qcstring.h:195
virtual void parsePrototype(const char *text)=0
Callback function called by the comment block scanner.
virtual bool needsPreprocessing(const QCString &extension)=0
Returns TRUE if the language identified by extension needs the C preprocessor to be run before feed t...
Manages programming language parsers.
Definition: parserintf.h:143
bool registerExtension(const char *extension, const char *parserName)
Registers a file extension with a parser with name parserName.
Definition: parserintf.h:174
ParserManager()
Creates the parser manager object.
Definition: parserintf.h:148
virtual void parseInput(const char *fileName, const char *fileBuf, Entry *root, bool sameTranslationUnit, QStrList &filesInSameTranslationUnit)=0
Parses a single input file with the goal to build an Entry tree.
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition: qcstring.h:189
This is an alternative implementation of QCString.
Definition: qcstring.h:131
Output interface for code parser.
Definition: outputgen.h:59
virtual void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, MemberDef *memberDef=0, bool showLineNumbers=TRUE, 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.