docparser.cpp File Reference

#include <stdio.h>
#include <stdlib.h>
#include <qfile.h>
#include <qfileinfo.h>
#include <qcstring.h>
#include <qstack.h>
#include <qdict.h>
#include <qregexp.h>
#include <ctype.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"

Go to the source code of this file.

Classes

struct  DocParserContext

Defines

#define DBG(x)   do {} while(0)
#define INTERNAL_ASSERT(x)   do {} while(0)

Functions

DocNodevalidatingParseDoc (const char *fileName, int startLine, Definition *ctx, MemberDef *md, const char *input, bool indexWords, bool isExample, const char *exampleName, bool singleLine, bool linkFromIndex)
DocNodevalidatingParseText (const char *input)
void docFindSections (const char *input, Definition *d, MemberGroup *mg, const char *fileName)
void initDocParser ()
void finializeDocParser ()


Define Documentation

#define DBG (  )     do {} while(0)

Definition at line 46 of file docparser.cpp.

Referenced by DocSymbol::decodeSymbol(), DocPara::handleCommand(), DocPara::handleHtmlEndTag(), DocPara::handleHtmlStartTag(), DocPara::handleInclude(), DocPara::handleIncludeOperator(), DocPara::handleRef(), DocRoot::parse(), DocText::parse(), DocSection::parse(), DocPara::parse(), DocParamSect::parse(), DocParamList::parse(), DocSimpleSect::parse(), DocTitle::parse(), DocHtmlList::parse(), DocHtmlListItem::parse(), DocHtmlDescList::parse(), DocHtmlDescData::parse(), DocHtmlDescTitle::parse(), DocHtmlTable::parse(), DocHtmlRow::parse(), DocHtmlCell::parse(), DocHtmlCaption::parse(), DocIndexEntry::parse(), DocInternal::parse(), DocHRef::parse(), DocHtmlHeader::parse(), DocImage::parse(), DocDotFile::parse(), DocLink::parse(), DocRef::parse(), DocInternalRef::parse(), DocSecRefList::parse(), DocSecRefItem::parse(), DocIncOperator::parse(), DocInclude::parse(), DocSimpleSect::parseRcs(), DocParamList::parseXml(), DocSimpleSect::parseXml(), DocHtmlList::parseXml(), DocHtmlListItem::parseXml(), DocHtmlTable::parseXml(), DocHtmlRow::parseXml(), and DocHtmlCell::parseXml().

#define INTERNAL_ASSERT (  )     do {} while(0)

Definition at line 55 of file docparser.cpp.

Referenced by DocPara::handleCommand(), DocSection::parse(), and DocPara::parse().


Function Documentation

void docFindSections ( const char *  input,
Definition d,
MemberGroup m,
const char *  fileName 
)

Searches for section and anchor commands in the input

Definition at line 6202 of file docparser.cpp.

References doctokenizerYYFindSections().

Referenced by PageDef::findSectionsInDocumentation(), NamespaceDef::findSectionsInDocumentation(), MemberGroup::findSectionsInDocumentation(), MemberDef::findSectionsInDocumentation(), GroupDef::findSectionsInDocumentation(), FileDef::findSectionsInDocumentation(), and ClassDef::findSectionsInDocumentation().

void finializeDocParser (  ) 

Cleanup the documentation parser

Definition at line 6222 of file docparser.cpp.

References Doxygen::searchIndex.

Referenced by generateOutput().

void initDocParser (  ) 

Initialize the documentation parser

Definition at line 6210 of file docparser.cpp.

References Config_getBool, and Doxygen::searchIndex.

Referenced by generateOutput().

DocNode* validatingParseDoc ( const char *  fileName,
int  startLine,
Definition context,
MemberDef md,
const char *  input,
bool  indexWords,
bool  isExample,
const char *  exampleName = 0,
bool  singleLine = FALSE,
bool  linkFromIndex = FALSE 
)

Main entry point for the documentation parser.

Parameters:
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.
Returns:
Root node of the abstract syntax tree. Ownership of the pointer is handed over to the caller.

Definition at line 5979 of file docparser.cpp.

References DocRoot::accept(), MemberDef::anchor, ClassDef::compoundTypeString(), Config_getBool, DefinitionIntf::definitionType(), doctokenizerYYinit(), doctokenizerYYlineno, MemberDef::getOutputFileBase(), Definition::getOutputFileBase(), GroupDef::groupTitle(), Debug::isFlagSet(), Definition::name(), DocRoot::parse(), Debug::PrintTree, QCString, MemberDef::qualifiedName(), Definition::qualifiedName(), relativePathToRoot(), Doxygen::searchIndex, SearchIndex::setCurrentDoc(), substitute(), theTranslator, PageDef::title(), Translator::trGroup(), Translator::trMember(), Translator::trModule(), Translator::trNamespace(), Translator::trPackage(), Translator::trPage(), Translator::trSubprogram(), DefinitionIntf::TypeClass, DefinitionIntf::TypeGroup, DefinitionIntf::TypeNamespace, and DefinitionIntf::TypePage.

Referenced by parseCommentAsText(), and OutputList::parseDoc().

DocNode* validatingParseText ( const char *  input  ) 

Main entry point for parsing simple text fragments. These fragments are limited to words, whitespace and symbols.

Definition at line 6150 of file docparser.cpp.

References DocText::accept(), doctokenizerYYinit(), doctokenizerYYlineno, Debug::isFlagSet(), DocText::parse(), and Debug::PrintTree.

Referenced by OutputList::parseText().



Generated on Mon Mar 31 10:58:52 2008 by  doxygen 1.5.1