20,741
edits
mNo edit summary |
|||
| Line 31: | Line 31: | ||
According to the docs, the parser is based on flex: | According to the docs, the parser is based on flex: | ||
* "The preprocessed input buffer is fed to the language parser, which is implemented as a big state machine using flex. It can be found in the file src/scanner.l. There is one parser for all languages (C/C++/Java/IDL). The state variables insideIDL and insideJava are uses at some places for language specific choices." | * "The preprocessed input buffer is fed to the language parser, which is implemented as a big state machine using flex. It can be found in the file [http://doxygen.svn.sourceforge.net/viewvc/doxygen/trunk/src/scanner.l?revision=795&view=markup src/scanner.l]. There is one parser for all languages (C/C++/Java/IDL). The state variables insideIDL and insideJava are uses at some places for language specific choices." | ||
* "The task of the parser is to convert the input buffer into a tree of entries (basically an abstract syntax tree). An entry is defined in src/entry.h and is a blob of loosely structured information. The most important field is section which specifies the kind of information contained in the entry." | * "The task of the parser is to convert the input buffer into a tree of entries (basically an abstract syntax tree). An entry is defined in src/entry.h and is a blob of loosely structured information. The most important field is section which specifies the kind of information contained in the entry." | ||
The doxygen repository can be found here: http://doxygen.svn.sourceforge.net/viewvc/doxygen/trunk/src/ | |||
= Related = | = Related = | ||