summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2000-07-31 18:09:08 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2000-07-31 18:09:08 (GMT)
commit5ad8b41eb93b9ca6a4c2ce90837103f8a4e750d8 (patch)
tree8b6d1855a77a3cfa84674b2918bdb7c6478b94ae /src
parent7ce8e31b7d4f831949f7061ef2808c867da4edd1 (diff)
downloadDoxygen-5ad8b41eb93b9ca6a4c2ce90837103f8a4e750d8.zip
Doxygen-5ad8b41eb93b9ca6a4c2ce90837103f8a4e750d8.tar.gz
Doxygen-5ad8b41eb93b9ca6a4c2ce90837103f8a4e750d8.tar.bz2
Release-1.2.0-20000731
Diffstat (limited to 'src')
-rw-r--r--src/code.l42
-rw-r--r--src/config.h2
-rw-r--r--src/config.l425
-rw-r--r--src/formula.cpp2
-rw-r--r--src/scanner.l148
-rw-r--r--src/util.cpp42
6 files changed, 367 insertions, 294 deletions
diff --git a/src/code.l b/src/code.l
index ae0beeb..be75cc3 100644
--- a/src/code.l
+++ b/src/code.l
@@ -281,12 +281,23 @@ static void addVariable()
}
else
{
- //printf("adding variable `%s' `%s'\n",g_cvd.type.data(),g_cvd.name.data());
+ int i;
if ((getResolvedClass(g_cvd.type)) || (g_codeClassDict[g_cvd.type]))
{
+ //printf("adding variable `%s' `%s'\n",g_cvd.type.data(),g_cvd.name.data());
g_cvd.classScope=g_classScope;
g_codeVarList.append(new CodeVarDef(g_cvd)); // add it to a list
}
+ else if ((i=g_cvd.type.find('<'))>0)
+ {
+ g_cvd.type = g_cvd.type.left(i);
+ if ((getResolvedClass(g_cvd.type)) || (g_codeClassDict[g_cvd.type.left(i)]))
+ {
+ //printf("adding template type variable `%s' `%s'\n",g_cvd.type.data(),g_cvd.name.data());
+ g_cvd.classScope=g_classScope;
+ g_codeVarList.append(new CodeVarDef(g_cvd));
+ }
+ }
}
}
@@ -300,12 +311,23 @@ static void addParameter()
}
else
{
- //printf("adding parameter `%s' `%s'\n",g_cvd.type.data(),g_cvd.name.data());
- if ((getClass(g_cvd.type)) || (g_codeClassDict[g_cvd.type]))
+ int i;
+ if ((getResolvedClass(g_cvd.type)) || (g_codeClassDict[g_cvd.type]))
{
+ //printf("adding parameter `%s' `%s'\n",g_cvd.type.data(),g_cvd.name.data());
g_cvd.classScope=g_classScope;
g_codeParmList.append(new CodeVarDef(g_cvd)); // add it to a list
}
+ else if ((i=g_cvd.type.find('<'))>0)
+ {
+ g_cvd.type = g_cvd.type.left(i);
+ if ((getResolvedClass(g_cvd.type)) || (g_codeClassDict[g_cvd.type.left(i)]))
+ {
+ //printf("adding template type parameter `%s' `%s'\n",g_cvd.type.data(),g_cvd.name.data());
+ g_cvd.classScope=g_classScope;
+ g_codeParmList.append(new CodeVarDef(g_cvd));
+ }
+ }
}
}
@@ -948,15 +970,11 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
addType();
g_name+=yytext;
}
- /*
-<Body>{SCOPETNAME}/{B}* {
- int i;
- generateClassLink(*g_code,yytext,&i);
+<Body>{SCOPENAME}{B}*"<"[^\n\>]*">"/{B}* { // A<T> *pt;
+ generateClassLink(*g_code,yytext);
addType();
- QCString text=yytext;
- g_name+=text.left(i);
- }
- */
+ g_name+=yytext;
+ }
<Body>{SCOPENAME}/{B}* { // p->func()
generateClassLink(*g_code,yytext);
addType();
@@ -1094,7 +1112,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
g_code->codify(yytext);
endFontClass();
}
-<MemberCall2,FuncCall>[a-z_A-Z][:a-z_A-Z0-9]* {
+<MemberCall2,FuncCall>[a-z_A-Z][:a-z_A-Z0-9]*({B}*"<"[^\n\>]*">")? {
addParmType();
g_parmName=yytext;
generateClassLink(*g_code,yytext);
diff --git a/src/config.h b/src/config.h
index 7bd72a7..c1a4fb6 100644
--- a/src/config.h
+++ b/src/config.h
@@ -1,4 +1,4 @@
-/* This file was generated by configgen on Fri Jul 28 19:43:36 2000
+/* This file was generated by configgen on Mon Jul 31 16:07:18 2000
* from config_templ.h
*
* DO NOT EDIT!
diff --git a/src/config.l b/src/config.l
index 06521d3..eebe6bd 100644
--- a/src/config.l
+++ b/src/config.l
@@ -1,4 +1,4 @@
-/* This file was generated by configgen on Fri Jul 28 19:43:36 2000
+/* This file was generated by configgen on Mon Jul 31 16:11:27 2000
* from config_templ.l
*
* DO NOT EDIT!
@@ -225,107 +225,124 @@ static int yyread(char *buf,int max_size)
<*>\0x0d
<Start,GetString,GetStrList,GetBool>"#" { BEGIN(SkipComment); }
-<Start>"PROJECT_NAME"[ \t]*"=" { BEGIN(GetString); s=&Config::projectName; s->resize(0); }
-<Start>"PROJECT_NUMBER"[ \t]*"=" { BEGIN(GetString); s=&Config::projectNumber; s->resize(0); }
-<Start>"OUTPUT_DIRECTORY"[ \t]*"=" { BEGIN(GetString); s=&Config::outputDir; s->resize(0); }
-<Start>"OUTPUT_LANGUAGE"[ \t]*"=" { BEGIN(GetString); s=&Config::outputLanguage; s->resize(0); }
-<Start>"DISABLE_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::noIndexFlag; }
-<Start>"EXTRACT_ALL"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractAllFlag; }
-<Start>"EXTRACT_PRIVATE"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractPrivateFlag; }
-<Start>"EXTRACT_STATIC"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractStaticFlag; }
-<Start>"HIDE_UNDOC_MEMBERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideMemberFlag; }
-<Start>"HIDE_UNDOC_CLASSES"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideClassFlag; }
-<Start>"BRIEF_MEMBER_DESC"[ \t]*"=" { BEGIN(GetBool); b=&Config::briefMemDescFlag; }
-<Start>"REPEAT_BRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::repeatBriefFlag; }
-<Start>"ALWAYS_DETAILED_SEC"[ \t]*"=" { BEGIN(GetBool); b=&Config::alwaysDetailsFlag; }
-<Start>"FULL_PATH_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::fullPathNameFlag; }
-<Start>"STRIP_FROM_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::stripFromPath; l->clear(); elemStr=""; }
-<Start>"INTERNAL_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::internalDocsFlag; }
-<Start>"CLASS_DIAGRAMS"[ \t]*"=" { BEGIN(GetBool); b=&Config::classDiagramFlag; }
-<Start>"SOURCE_BROWSER"[ \t]*"=" { BEGIN(GetBool); b=&Config::sourceBrowseFlag; }
-<Start>"INLINE_SOURCES"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineSourceFlag; }
-<Start>"STRIP_CODE_COMMENTS"[ \t]*"=" { BEGIN(GetBool); b=&Config::stripCommentsFlag; }
-<Start>"CASE_SENSE_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::caseSensitiveNames; }
-<Start>"HIDE_SCOPE_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideScopeNames; }
-<Start>"VERBATIM_HEADERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::verbatimHeaderFlag; }
-<Start>"SHOW_INCLUDE_FILES"[ \t]*"=" { BEGIN(GetBool); b=&Config::showIncFileFlag; }
-<Start>"JAVADOC_AUTOBRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::autoBriefFlag; }
-<Start>"INHERIT_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::inheritDocsFlag; }
-<Start>"INLINE_INFO"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineInfoFlag; }
-<Start>"SORT_MEMBER_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::sortMembersFlag; }
-<Start>"TAB_SIZE"[ \t]*"=" { BEGIN(GetString); s=&tabSizeString; s->resize(0); }
-<Start>"ENABLED_SECTIONS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::sectionFilterList; l->clear(); elemStr=""; }
-<Start>"GENERATE_TODOLIST"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateTodoList; }
-<Start>"GENERATE_TESTLIST"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateTestList; }
-<Start>"QUIET"[ \t]*"=" { BEGIN(GetBool); b=&Config::quietFlag; }
-<Start>"WARNINGS"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningFlag; }
-<Start>"WARN_IF_UNDOCUMENTED"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningUndocFlag; }
-<Start>"WARN_FORMAT"[ \t]*"=" { BEGIN(GetString); s=&Config::warnFormat; s->resize(0); }
-<Start>"INPUT"[ \t]*"=" { BEGIN(GetStrList); l=&Config::inputSources; l->clear(); elemStr=""; }
-<Start>"FILE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::filePatternList; l->clear(); elemStr=""; }
-<Start>"RECURSIVE"[ \t]*"=" { BEGIN(GetBool); b=&Config::recursiveFlag; }
-<Start>"EXCLUDE"[ \t]*"=" { BEGIN(GetStrList); l=&Config::excludeSources; l->clear(); elemStr=""; }
-<Start>"EXCLUDE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::excludePatternList; l->clear(); elemStr=""; }
-<Start>"EXAMPLE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::examplePath; l->clear(); elemStr=""; }
-<Start>"EXAMPLE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::examplePatternList; l->clear(); elemStr=""; }
-<Start>"IMAGE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::imagePath; l->clear(); elemStr=""; }
-<Start>"INPUT_FILTER"[ \t]*"=" { BEGIN(GetString); s=&Config::inputFilter; s->resize(0); }
-<Start>"ALPHABETICAL_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::alphaIndexFlag; }
-<Start>"COLS_IN_ALPHA_INDEX"[ \t]*"=" { BEGIN(GetString); s=&colsInAlphaIndexString; s->resize(0); }
-<Start>"IGNORE_PREFIX"[ \t]*"=" { BEGIN(GetStrList); l=&Config::ignorePrefixList; l->clear(); elemStr=""; }
-<Start>"GENERATE_HTML"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateHtml; }
-<Start>"HTML_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::htmlOutputDir; s->resize(0); }
-<Start>"HTML_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::headerFile; s->resize(0); }
-<Start>"HTML_FOOTER"[ \t]*"=" { BEGIN(GetString); s=&Config::footerFile; s->resize(0); }
-<Start>"HTML_STYLESHEET"[ \t]*"=" { BEGIN(GetString); s=&Config::htmlStyleSheet; s->resize(0); }
-<Start>"HTML_ALIGN_MEMBERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlAlignMemberFlag; }
-<Start>"GENERATE_HTMLHELP"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlHelpFlag; }
-<Start>"GENERATE_LATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateLatex; }
-<Start>"LATEX_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::latexOutputDir; s->resize(0); }
-<Start>"COMPACT_LATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactLatexFlag; }
-<Start>"PAPER_TYPE"[ \t]*"=" { BEGIN(GetString); s=&Config::paperType; s->resize(0); }
-<Start>"EXTRA_PACKAGES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::extraPackageList; l->clear(); elemStr=""; }
-<Start>"LATEX_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::latexHeaderFile; s->resize(0); }
-<Start>"PDF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::pdfHyperFlag; }
-<Start>"USE_PDFLATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::usePDFLatexFlag; }
-<Start>"LATEX_BATCHMODE"[ \t]*"=" { BEGIN(GetBool); b=&Config::latexBatchModeFlag; }
-<Start>"GENERATE_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateRTF; }
-<Start>"RTF_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfOutputDir; s->resize(0); }
-<Start>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
-<Start>"RTF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::rtfHyperFlag; }
-<Start>"RTF_STYLESHEET_FILE"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfStylesheetFile; s->resize(0); }
-<Start>"GENERATE_MAN"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateMan; }
-<Start>"MAN_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::manOutputDir; s->resize(0); }
-<Start>"MAN_EXTENSION"[ \t]*"=" { BEGIN(GetString); s=&Config::manExtension; s->resize(0); }
-<Start>"GENERATE_XML"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateXML; }
-<Start>"ENABLE_PREPROCESSING"[ \t]*"=" { BEGIN(GetBool); b=&Config::preprocessingFlag; }
-<Start>"MACRO_EXPANSION"[ \t]*"=" { BEGIN(GetBool); b=&Config::macroExpansionFlag; }
-<Start>"EXPAND_ONLY_PREDEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::onlyPredefinedFlag; }
-<Start>"SEARCH_INCLUDES"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchIncludeFlag; }
-<Start>"INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includePath; l->clear(); elemStr=""; }
-<Start>"INCLUDE_FILE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includeFilePatternList; l->clear(); elemStr=""; }
-<Start>"PREDEFINED"[ \t]*"=" { BEGIN(GetStrList); l=&Config::predefined; l->clear(); elemStr=""; }
-<Start>"EXPAND_AS_DEFINED"[ \t]*"=" { BEGIN(GetStrList); l=&Config::expandAsDefinedList; l->clear(); elemStr=""; }
-<Start>"TAGFILES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::tagFileList; l->clear(); elemStr=""; }
-<Start>"GENERATE_TAGFILE"[ \t]*"=" { BEGIN(GetString); s=&Config::genTagFile; s->resize(0); }
-<Start>"ALLEXTERNALS"[ \t]*"=" { BEGIN(GetBool); b=&Config::allExtFlag; }
-<Start>"PERL_PATH"[ \t]*"=" { BEGIN(GetString); s=&Config::perlPath; s->resize(0); }
-<Start>"HAVE_DOT"[ \t]*"=" { BEGIN(GetBool); b=&Config::haveDotFlag; }
-<Start>"CLASS_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::classGraphFlag; }
-<Start>"COLLABORATION_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::collGraphFlag; }
-<Start>"INCLUDE_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::includeGraphFlag; }
-<Start>"INCLUDED_BY_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::includedByGraphFlag; }
-<Start>"GRAPHICAL_HIERARCHY"[ \t]*"=" { BEGIN(GetBool); b=&Config::gfxHierarchyFlag; }
-<Start>"DOT_PATH"[ \t]*"=" { BEGIN(GetString); s=&Config::dotPath; s->resize(0); }
-<Start>"MAX_DOT_GRAPH_WIDTH"[ \t]*"=" { BEGIN(GetString); s=&maxDotGraphWidthString; s->resize(0); }
-<Start>"MAX_DOT_GRAPH_HEIGHT"[ \t]*"=" { BEGIN(GetString); s=&maxDotGraphHeightString; s->resize(0); }
-<Start>"SEARCHENGINE"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchEngineFlag; }
-<Start>"CGI_NAME"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiName; s->resize(0); }
-<Start>"CGI_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiURL; s->resize(0); }
-<Start>"DOC_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::docURL; s->resize(0); }
-<Start>"DOC_ABSPATH"[ \t]*"=" { BEGIN(GetString); s=&Config::docAbsPath; s->resize(0); }
-<Start>"BIN_ABSPATH"[ \t]*"=" { BEGIN(GetString); s=&Config::binAbsPath; s->resize(0); }
-<Start>"EXT_DOC_PATHS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::extDocPathList; l->clear(); elemStr=""; }
+<Start>"PROJECT_NAME"[ \t]*"=" { BEGIN(GetString); s=&Config::projectName; s->resize(0); }
+<Start>"PROJECT_NUMBER"[ \t]*"=" { BEGIN(GetString); s=&Config::projectNumber; s->resize(0); }
+<Start>"OUTPUT_DIRECTORY"[ \t]*"=" { BEGIN(GetString); s=&Config::outputDir; s->resize(0); }
+<Start>"OUTPUT_LANGUAGE"[ \t]*"=" { BEGIN(GetString); s=&Config::outputLanguage; s->resize(0); }
+<Start>"DISABLE_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::noIndexFlag; }
+<Start>"EXTRACT_ALL"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractAllFlag; }
+<Start>"EXTRACT_PRIVATE"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractPrivateFlag; }
+<Start>"EXTRACT_STATIC"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractStaticFlag; }
+<Start>"HIDE_UNDOC_MEMBERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideMemberFlag; }
+<Start>"HIDE_UNDOC_CLASSES"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideClassFlag; }
+<Start>"BRIEF_MEMBER_DESC"[ \t]*"=" { BEGIN(GetBool); b=&Config::briefMemDescFlag; }
+<Start>"REPEAT_BRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::repeatBriefFlag; }
+<Start>"ALWAYS_DETAILED_SEC"[ \t]*"=" { BEGIN(GetBool); b=&Config::alwaysDetailsFlag; }
+<Start>"FULL_PATH_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::fullPathNameFlag; }
+<Start>"STRIP_FROM_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::stripFromPath; l->clear(); elemStr=""; }
+<Start>"STRIP_FROM_PATH"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::stripFromPath; elemStr=""; }
+<Start>"INTERNAL_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::internalDocsFlag; }
+<Start>"CLASS_DIAGRAMS"[ \t]*"=" { BEGIN(GetBool); b=&Config::classDiagramFlag; }
+<Start>"SOURCE_BROWSER"[ \t]*"=" { BEGIN(GetBool); b=&Config::sourceBrowseFlag; }
+<Start>"INLINE_SOURCES"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineSourceFlag; }
+<Start>"STRIP_CODE_COMMENTS"[ \t]*"=" { BEGIN(GetBool); b=&Config::stripCommentsFlag; }
+<Start>"CASE_SENSE_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::caseSensitiveNames; }
+<Start>"HIDE_SCOPE_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideScopeNames; }
+<Start>"VERBATIM_HEADERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::verbatimHeaderFlag; }
+<Start>"SHOW_INCLUDE_FILES"[ \t]*"=" { BEGIN(GetBool); b=&Config::showIncFileFlag; }
+<Start>"JAVADOC_AUTOBRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::autoBriefFlag; }
+<Start>"INHERIT_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::inheritDocsFlag; }
+<Start>"INLINE_INFO"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineInfoFlag; }
+<Start>"SORT_MEMBER_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::sortMembersFlag; }
+<Start>"TAB_SIZE"[ \t]*"=" { BEGIN(GetString); s=&tabSizeString; s->resize(0); }
+<Start>"ENABLED_SECTIONS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::sectionFilterList; l->clear(); elemStr=""; }
+<Start>"ENABLED_SECTIONS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::sectionFilterList; elemStr=""; }
+<Start>"GENERATE_TODOLIST"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateTodoList; }
+<Start>"GENERATE_TESTLIST"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateTestList; }
+<Start>"QUIET"[ \t]*"=" { BEGIN(GetBool); b=&Config::quietFlag; }
+<Start>"WARNINGS"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningFlag; }
+<Start>"WARN_IF_UNDOCUMENTED"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningUndocFlag; }
+<Start>"WARN_FORMAT"[ \t]*"=" { BEGIN(GetString); s=&Config::warnFormat; s->resize(0); }
+<Start>"INPUT"[ \t]*"=" { BEGIN(GetStrList); l=&Config::inputSources; l->clear(); elemStr=""; }
+<Start>"INPUT"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::inputSources; elemStr=""; }
+<Start>"FILE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::filePatternList; l->clear(); elemStr=""; }
+<Start>"FILE_PATTERNS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::filePatternList; elemStr=""; }
+<Start>"RECURSIVE"[ \t]*"=" { BEGIN(GetBool); b=&Config::recursiveFlag; }
+<Start>"EXCLUDE"[ \t]*"=" { BEGIN(GetStrList); l=&Config::excludeSources; l->clear(); elemStr=""; }
+<Start>"EXCLUDE"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::excludeSources; elemStr=""; }
+<Start>"EXCLUDE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::excludePatternList; l->clear(); elemStr=""; }
+<Start>"EXCLUDE_PATTERNS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::excludePatternList; elemStr=""; }
+<Start>"EXAMPLE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::examplePath; l->clear(); elemStr=""; }
+<Start>"EXAMPLE_PATH"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::examplePath; elemStr=""; }
+<Start>"EXAMPLE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::examplePatternList; l->clear(); elemStr=""; }
+<Start>"EXAMPLE_PATTERNS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::examplePatternList; elemStr=""; }
+<Start>"IMAGE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::imagePath; l->clear(); elemStr=""; }
+<Start>"IMAGE_PATH"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::imagePath; elemStr=""; }
+<Start>"INPUT_FILTER"[ \t]*"=" { BEGIN(GetString); s=&Config::inputFilter; s->resize(0); }
+<Start>"ALPHABETICAL_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::alphaIndexFlag; }
+<Start>"COLS_IN_ALPHA_INDEX"[ \t]*"=" { BEGIN(GetString); s=&colsInAlphaIndexString; s->resize(0); }
+<Start>"IGNORE_PREFIX"[ \t]*"=" { BEGIN(GetStrList); l=&Config::ignorePrefixList; l->clear(); elemStr=""; }
+<Start>"IGNORE_PREFIX"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::ignorePrefixList; elemStr=""; }
+<Start>"GENERATE_HTML"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateHtml; }
+<Start>"HTML_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::htmlOutputDir; s->resize(0); }
+<Start>"HTML_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::headerFile; s->resize(0); }
+<Start>"HTML_FOOTER"[ \t]*"=" { BEGIN(GetString); s=&Config::footerFile; s->resize(0); }
+<Start>"HTML_STYLESHEET"[ \t]*"=" { BEGIN(GetString); s=&Config::htmlStyleSheet; s->resize(0); }
+<Start>"HTML_ALIGN_MEMBERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlAlignMemberFlag; }
+<Start>"GENERATE_HTMLHELP"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlHelpFlag; }
+<Start>"GENERATE_LATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateLatex; }
+<Start>"LATEX_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::latexOutputDir; s->resize(0); }
+<Start>"COMPACT_LATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactLatexFlag; }
+<Start>"PAPER_TYPE"[ \t]*"=" { BEGIN(GetString); s=&Config::paperType; s->resize(0); }
+<Start>"EXTRA_PACKAGES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::extraPackageList; l->clear(); elemStr=""; }
+<Start>"EXTRA_PACKAGES"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::extraPackageList; elemStr=""; }
+<Start>"LATEX_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::latexHeaderFile; s->resize(0); }
+<Start>"PDF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::pdfHyperFlag; }
+<Start>"USE_PDFLATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::usePDFLatexFlag; }
+<Start>"LATEX_BATCHMODE"[ \t]*"=" { BEGIN(GetBool); b=&Config::latexBatchModeFlag; }
+<Start>"GENERATE_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateRTF; }
+<Start>"RTF_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfOutputDir; s->resize(0); }
+<Start>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
+<Start>"RTF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::rtfHyperFlag; }
+<Start>"RTF_STYLESHEET_FILE"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfStylesheetFile; s->resize(0); }
+<Start>"GENERATE_MAN"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateMan; }
+<Start>"MAN_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::manOutputDir; s->resize(0); }
+<Start>"MAN_EXTENSION"[ \t]*"=" { BEGIN(GetString); s=&Config::manExtension; s->resize(0); }
+<Start>"GENERATE_XML"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateXML; }
+<Start>"ENABLE_PREPROCESSING"[ \t]*"=" { BEGIN(GetBool); b=&Config::preprocessingFlag; }
+<Start>"MACRO_EXPANSION"[ \t]*"=" { BEGIN(GetBool); b=&Config::macroExpansionFlag; }
+<Start>"EXPAND_ONLY_PREDEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::onlyPredefinedFlag; }
+<Start>"SEARCH_INCLUDES"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchIncludeFlag; }
+<Start>"INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includePath; l->clear(); elemStr=""; }
+<Start>"INCLUDE_PATH"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::includePath; elemStr=""; }
+<Start>"INCLUDE_FILE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includeFilePatternList; l->clear(); elemStr=""; }
+<Start>"INCLUDE_FILE_PATTERNS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::includeFilePatternList; elemStr=""; }
+<Start>"PREDEFINED"[ \t]*"=" { BEGIN(GetStrList); l=&Config::predefined; l->clear(); elemStr=""; }
+<Start>"PREDEFINED"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::predefined; elemStr=""; }
+<Start>"EXPAND_AS_DEFINED"[ \t]*"=" { BEGIN(GetStrList); l=&Config::expandAsDefinedList; l->clear(); elemStr=""; }
+<Start>"EXPAND_AS_DEFINED"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::expandAsDefinedList; elemStr=""; }
+<Start>"TAGFILES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::tagFileList; l->clear(); elemStr=""; }
+<Start>"TAGFILES"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::tagFileList; elemStr=""; }
+<Start>"GENERATE_TAGFILE"[ \t]*"=" { BEGIN(GetString); s=&Config::genTagFile; s->resize(0); }
+<Start>"ALLEXTERNALS"[ \t]*"=" { BEGIN(GetBool); b=&Config::allExtFlag; }
+<Start>"PERL_PATH"[ \t]*"=" { BEGIN(GetString); s=&Config::perlPath; s->resize(0); }
+<Start>"HAVE_DOT"[ \t]*"=" { BEGIN(GetBool); b=&Config::haveDotFlag; }
+<Start>"CLASS_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::classGraphFlag; }
+<Start>"COLLABORATION_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::collGraphFlag; }
+<Start>"INCLUDE_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::includeGraphFlag; }
+<Start>"INCLUDED_BY_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::includedByGraphFlag; }
+<Start>"GRAPHICAL_HIERARCHY"[ \t]*"=" { BEGIN(GetBool); b=&Config::gfxHierarchyFlag; }
+<Start>"DOT_PATH"[ \t]*"=" { BEGIN(GetString); s=&Config::dotPath; s->resize(0); }
+<Start>"MAX_DOT_GRAPH_WIDTH"[ \t]*"=" { BEGIN(GetString); s=&maxDotGraphWidthString; s->resize(0); }
+<Start>"MAX_DOT_GRAPH_HEIGHT"[ \t]*"=" { BEGIN(GetString); s=&maxDotGraphHeightString; s->resize(0); }
+<Start>"SEARCHENGINE"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchEngineFlag; }
+<Start>"CGI_NAME"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiName; s->resize(0); }
+<Start>"CGI_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiURL; s->resize(0); }
+<Start>"DOC_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::docURL; s->resize(0); }
+<Start>"DOC_ABSPATH"[ \t]*"=" { BEGIN(GetString); s=&Config::docAbsPath; s->resize(0); }
+<Start>"BIN_ABSPATH"[ \t]*"=" { BEGIN(GetString); s=&Config::binAbsPath; s->resize(0); }
+<Start>"EXT_DOC_PATHS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::extDocPathList; l->clear(); elemStr=""; }
+<Start>"EXT_DOC_PATHS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::extDocPathList; elemStr=""; }
<Start>[a-z_A-Z0-9]+ { err("Warning: ignoring unknown tag `%s' at line %d\n",yytext,yyLineNr); }
<GetString,GetBool>\n { yyLineNr++; BEGIN(Start); }
<GetStrList>\n {
@@ -813,6 +830,8 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# All text after a hash (#) is considered a comment and will be ignored\n";
t << "# The format is:\n";
t << "# TAG = value [value, ...]\n";
+ t << "# For lists items can also be appended using:\n";
+ t << "# TAG += value [value, ...]\n";
t << "# Values that contain spaces should be placed between quotes (\" \")\n";
}
if (!sl)
@@ -829,7 +848,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# by quotes) that should identify the project. \n";
t << "\n";
}
- t << "PROJECT_NAME = ";
+ t << "PROJECT_NAME = ";
writeStringValue(t,Config::projectName);
t << "\n";
if (!sl)
@@ -840,7 +859,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# if some version control system is used.\n";
t << "\n";
}
- t << "PROJECT_NUMBER = ";
+ t << "PROJECT_NUMBER = ";
writeStringValue(t,Config::projectNumber);
t << "\n";
if (!sl)
@@ -852,7 +871,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# where doxygen was started. If left blank the current directory will be used.\n";
t << "\n";
}
- t << "OUTPUT_DIRECTORY = ";
+ t << "OUTPUT_DIRECTORY = ";
writeStringValue(t,Config::outputDir);
t << "\n";
if (!sl)
@@ -866,7 +885,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# Spanish, Russian, Croatian, Polish, and Portuguese.\n";
t << "\n";
}
- t << "OUTPUT_LANGUAGE = ";
+ t << "OUTPUT_LANGUAGE = ";
writeStringValue(t,Config::outputLanguage);
t << "\n";
if (!sl)
@@ -877,7 +896,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the value YES disables it. \n";
t << "\n";
}
- t << "DISABLE_INDEX = ";
+ t << "DISABLE_INDEX = ";
writeBoolValue(t,Config::noIndexFlag);
t << "\n";
if (!sl)
@@ -889,7 +908,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES \n";
t << "\n";
}
- t << "EXTRACT_ALL = ";
+ t << "EXTRACT_ALL = ";
writeBoolValue(t,Config::extractAllFlag);
t << "\n";
if (!sl)
@@ -899,7 +918,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# will be included in the documentation. \n";
t << "\n";
}
- t << "EXTRACT_PRIVATE = ";
+ t << "EXTRACT_PRIVATE = ";
writeBoolValue(t,Config::extractPrivateFlag);
t << "\n";
if (!sl)
@@ -909,7 +928,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# will be included in the documentation. \n";
t << "\n";
}
- t << "EXTRACT_STATIC = ";
+ t << "EXTRACT_STATIC = ";
writeBoolValue(t,Config::extractStaticFlag);
t << "\n";
if (!sl)
@@ -922,7 +941,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# This option has no effect if EXTRACT_ALL is enabled. \n";
t << "\n";
}
- t << "HIDE_UNDOC_MEMBERS = ";
+ t << "HIDE_UNDOC_MEMBERS = ";
writeBoolValue(t,Config::hideMemberFlag);
t << "\n";
if (!sl)
@@ -934,7 +953,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# overviews. This option has no effect if EXTRACT_ALL is enabled. \n";
t << "\n";
}
- t << "HIDE_UNDOC_CLASSES = ";
+ t << "HIDE_UNDOC_CLASSES = ";
writeBoolValue(t,Config::hideClassFlag);
t << "\n";
if (!sl)
@@ -946,7 +965,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# Set to NO to disable this. \n";
t << "\n";
}
- t << "BRIEF_MEMBER_DESC = ";
+ t << "BRIEF_MEMBER_DESC = ";
writeBoolValue(t,Config::briefMemDescFlag);
t << "\n";
if (!sl)
@@ -958,7 +977,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# brief descriptions will be completely suppressed. \n";
t << "\n";
}
- t << "REPEAT_BRIEF = ";
+ t << "REPEAT_BRIEF = ";
writeBoolValue(t,Config::repeatBriefFlag);
t << "\n";
if (!sl)
@@ -969,7 +988,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# description. \n";
t << "\n";
}
- t << "ALWAYS_DETAILED_SEC = ";
+ t << "ALWAYS_DETAILED_SEC = ";
writeBoolValue(t,Config::alwaysDetailsFlag);
t << "\n";
if (!sl)
@@ -980,7 +999,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# to NO the shortest path that makes the file name unique will be used. \n";
t << "\n";
}
- t << "FULL_PATH_NAMES = ";
+ t << "FULL_PATH_NAMES = ";
writeBoolValue(t,Config::fullPathNameFlag);
t << "\n";
if (!sl)
@@ -992,7 +1011,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the path. It is allowed to use relative paths in the argument list.\n";
t << "\n";
}
- t << "STRIP_FROM_PATH = ";
+ t << "STRIP_FROM_PATH = ";
writeStringList(t,Config::stripFromPath);
t << "\n";
if (!sl)
@@ -1004,7 +1023,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# Set it to YES to include the internal documentation. \n";
t << "\n";
}
- t << "INTERNAL_DOCS = ";
+ t << "INTERNAL_DOCS = ";
writeBoolValue(t,Config::internalDocsFlag);
t << "\n";
if (!sl)
@@ -1015,7 +1034,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# super classes. Setting the tag to NO turns the diagrams off. \n";
t << "\n";
}
- t << "CLASS_DIAGRAMS = ";
+ t << "CLASS_DIAGRAMS = ";
writeBoolValue(t,Config::classDiagramFlag);
t << "\n";
if (!sl)
@@ -1025,7 +1044,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# be generated. Documented entities will be cross-referenced with these sources. \n";
t << "\n";
}
- t << "SOURCE_BROWSER = ";
+ t << "SOURCE_BROWSER = ";
writeBoolValue(t,Config::sourceBrowseFlag);
t << "\n";
if (!sl)
@@ -1035,7 +1054,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# of functions and classes directly in the documentation. \n";
t << "\n";
}
- t << "INLINE_SOURCES = ";
+ t << "INLINE_SOURCES = ";
writeBoolValue(t,Config::inlineSourceFlag);
t << "\n";
if (!sl)
@@ -1046,7 +1065,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# fragments. Normal C and C++ comments will always remain visible. \n";
t << "\n";
}
- t << "STRIP_CODE_COMMENTS = ";
+ t << "STRIP_CODE_COMMENTS = ";
writeBoolValue(t,Config::stripCommentsFlag);
t << "\n";
if (!sl)
@@ -1059,7 +1078,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# supports case sensitive file names. \n";
t << "\n";
}
- t << "CASE_SENSE_NAMES = ";
+ t << "CASE_SENSE_NAMES = ";
writeBoolValue(t,Config::caseSensitiveNames);
t << "\n";
if (!sl)
@@ -1070,7 +1089,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# documentation. If set to YES the scope will be hidden. \n";
t << "\n";
}
- t << "HIDE_SCOPE_NAMES = ";
+ t << "HIDE_SCOPE_NAMES = ";
writeBoolValue(t,Config::hideScopeNames);
t << "\n";
if (!sl)
@@ -1081,7 +1100,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# which an include is specified. Set to NO to disable this. \n";
t << "\n";
}
- t << "VERBATIM_HEADERS = ";
+ t << "VERBATIM_HEADERS = ";
writeBoolValue(t,Config::verbatimHeaderFlag);
t << "\n";
if (!sl)
@@ -1092,7 +1111,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# of that file. \n";
t << "\n";
}
- t << "SHOW_INCLUDE_FILES = ";
+ t << "SHOW_INCLUDE_FILES = ";
writeBoolValue(t,Config::showIncFileFlag);
t << "\n";
if (!sl)
@@ -1104,7 +1123,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# behave just like the Qt-style comments. \n";
t << "\n";
}
- t << "JAVADOC_AUTOBRIEF = ";
+ t << "JAVADOC_AUTOBRIEF = ";
writeBoolValue(t,Config::autoBriefFlag);
t << "\n";
if (!sl)
@@ -1115,7 +1134,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# reimplements. \n";
t << "\n";
}
- t << "INHERIT_DOCS = ";
+ t << "INHERIT_DOCS = ";
writeBoolValue(t,Config::inheritDocsFlag);
t << "\n";
if (!sl)
@@ -1125,7 +1144,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# is inserted in the documentation for inline members. \n";
t << "\n";
}
- t << "INLINE_INFO = ";
+ t << "INLINE_INFO = ";
writeBoolValue(t,Config::inlineInfoFlag);
t << "\n";
if (!sl)
@@ -1137,7 +1156,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# declaration order. \n";
t << "\n";
}
- t << "SORT_MEMBER_DOCS = ";
+ t << "SORT_MEMBER_DOCS = ";
writeBoolValue(t,Config::sortMembersFlag);
t << "\n";
if (!sl)
@@ -1147,7 +1166,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# Doxygen uses this value to replace tabs by spaces in code fragments. \n";
t << "\n";
}
- t << "TAB_SIZE = ";
+ t << "TAB_SIZE = ";
writeIntValue(t,Config::tabSize);
t << "\n";
if (!sl)
@@ -1157,7 +1176,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# documentation sections, marked by \\if sectionname ... \\endif. \n";
t << "\n";
}
- t << "ENABLED_SECTIONS = ";
+ t << "ENABLED_SECTIONS = ";
writeStringList(t,Config::sectionFilterList);
t << "\n";
if (!sl)
@@ -1168,7 +1187,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# commands in the documentation.\n";
t << "\n";
}
- t << "GENERATE_TODOLIST = ";
+ t << "GENERATE_TODOLIST = ";
writeBoolValue(t,Config::generateTodoList);
t << "\n";
if (!sl)
@@ -1179,7 +1198,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# commands in the documentation.\n";
t << "\n";
}
- t << "GENERATE_TESTLIST = ";
+ t << "GENERATE_TESTLIST = ";
writeBoolValue(t,Config::generateTestList);
t << "\n";
if (!sl)
@@ -1196,7 +1215,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# by doxygen. Possible values are YES and NO. If left blank NO is used. \n";
t << "\n";
}
- t << "QUIET = ";
+ t << "QUIET = ";
writeBoolValue(t,Config::quietFlag);
t << "\n";
if (!sl)
@@ -1207,7 +1226,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# NO is used. \n";
t << "\n";
}
- t << "WARNINGS = ";
+ t << "WARNINGS = ";
writeBoolValue(t,Config::warningFlag);
t << "\n";
if (!sl)
@@ -1218,7 +1237,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# automatically be disabled. \n";
t << "\n";
}
- t << "WARN_IF_UNDOCUMENTED = ";
+ t << "WARN_IF_UNDOCUMENTED = ";
writeBoolValue(t,Config::warningUndocFlag);
t << "\n";
if (!sl)
@@ -1230,7 +1249,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# warning originated and the warning text. \n";
t << "\n";
}
- t << "WARN_FORMAT = ";
+ t << "WARN_FORMAT = ";
writeStringValue(t,Config::warnFormat);
t << "\n";
if (!sl)
@@ -1249,7 +1268,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# with spaces. \n";
t << "\n";
}
- t << "INPUT = ";
+ t << "INPUT = ";
writeStringList(t,Config::inputSources);
t << "\n";
if (!sl)
@@ -1261,7 +1280,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# blank all files are included. \n";
t << "\n";
}
- t << "FILE_PATTERNS = ";
+ t << "FILE_PATTERNS = ";
writeStringList(t,Config::filePatternList);
t << "\n";
if (!sl)
@@ -1272,7 +1291,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# If left blank NO is used. \n";
t << "\n";
}
- t << "RECURSIVE = ";
+ t << "RECURSIVE = ";
writeBoolValue(t,Config::recursiveFlag);
t << "\n";
if (!sl)
@@ -1283,7 +1302,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# subdirectory from a directory tree whose root is specified with the INPUT tag. \n";
t << "\n";
}
- t << "EXCLUDE = ";
+ t << "EXCLUDE = ";
writeStringList(t,Config::excludeSources);
t << "\n";
if (!sl)
@@ -1294,7 +1313,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# certain files from those directories. \n";
t << "\n";
}
- t << "EXCLUDE_PATTERNS = ";
+ t << "EXCLUDE_PATTERNS = ";
writeStringList(t,Config::excludePatternList);
t << "\n";
if (!sl)
@@ -1305,7 +1324,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the \\include command). \n";
t << "\n";
}
- t << "EXAMPLE_PATH = ";
+ t << "EXAMPLE_PATH = ";
writeStringList(t,Config::examplePath);
t << "\n";
if (!sl)
@@ -1317,7 +1336,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# blank all files are included. \n";
t << "\n";
}
- t << "EXAMPLE_PATTERNS = ";
+ t << "EXAMPLE_PATTERNS = ";
writeStringList(t,Config::examplePatternList);
t << "\n";
if (!sl)
@@ -1328,7 +1347,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the \\image command). \n";
t << "\n";
}
- t << "IMAGE_PATH = ";
+ t << "IMAGE_PATH = ";
writeStringList(t,Config::imagePath);
t << "\n";
if (!sl)
@@ -1342,7 +1361,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# to standard output. \n";
t << "\n";
}
- t << "INPUT_FILTER = ";
+ t << "INPUT_FILTER = ";
writeStringValue(t,Config::inputFilter);
t << "\n";
if (!sl)
@@ -1360,7 +1379,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# contains a lot of classes, structs, unions or interfaces. \n";
t << "\n";
}
- t << "ALPHABETICAL_INDEX = ";
+ t << "ALPHABETICAL_INDEX = ";
writeBoolValue(t,Config::alphaIndexFlag);
t << "\n";
if (!sl)
@@ -1371,7 +1390,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# in which this list will be split (can be a number in the range [1..20]) \n";
t << "\n";
}
- t << "COLS_IN_ALPHA_INDEX = ";
+ t << "COLS_IN_ALPHA_INDEX = ";
writeIntValue(t,Config::colsInAlphaIndex);
t << "\n";
if (!sl)
@@ -1383,7 +1402,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# should be ignored while generating the index headers. \n";
t << "\n";
}
- t << "IGNORE_PREFIX = ";
+ t << "IGNORE_PREFIX = ";
writeStringList(t,Config::ignorePrefixList);
t << "\n";
if (!sl)
@@ -1400,7 +1419,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# generate HTML output. \n";
t << "\n";
}
- t << "GENERATE_HTML = ";
+ t << "GENERATE_HTML = ";
writeBoolValue(t,Config::generateHtml);
t << "\n";
if (!sl)
@@ -1411,7 +1430,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# put in front of it. If left blank `html' will be used as the default path. \n";
t << "\n";
}
- t << "HTML_OUTPUT = ";
+ t << "HTML_OUTPUT = ";
writeStringValue(t,Config::htmlOutputDir);
t << "\n";
if (!sl)
@@ -1422,7 +1441,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# standard header.\n";
t << "\n";
}
- t << "HTML_HEADER = ";
+ t << "HTML_HEADER = ";
writeStringValue(t,Config::headerFile);
t << "\n";
if (!sl)
@@ -1433,7 +1452,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# standard footer.\n";
t << "\n";
}
- t << "HTML_FOOTER = ";
+ t << "HTML_FOOTER = ";
writeStringValue(t,Config::footerFile);
t << "\n";
if (!sl)
@@ -1445,7 +1464,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# will generate a default style sheet \n";
t << "\n";
}
- t << "HTML_STYLESHEET = ";
+ t << "HTML_STYLESHEET = ";
writeStringValue(t,Config::htmlStyleSheet);
t << "\n";
if (!sl)
@@ -1456,7 +1475,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# NO a bullet list will be used. \n";
t << "\n";
}
- t << "HTML_ALIGN_MEMBERS = ";
+ t << "HTML_ALIGN_MEMBERS = ";
writeBoolValue(t,Config::htmlAlignMemberFlag);
t << "\n";
if (!sl)
@@ -1468,7 +1487,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# of the generated HTML documentation. \n";
t << "\n";
}
- t << "GENERATE_HTMLHELP = ";
+ t << "GENERATE_HTMLHELP = ";
writeBoolValue(t,Config::htmlHelpFlag);
t << "\n";
if (!sl)
@@ -1485,7 +1504,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# generate Latex output. \n";
t << "\n";
}
- t << "GENERATE_LATEX = ";
+ t << "GENERATE_LATEX = ";
writeBoolValue(t,Config::generateLatex);
t << "\n";
if (!sl)
@@ -1496,7 +1515,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# put in front of it. If left blank `latex' will be used as the default path. \n";
t << "\n";
}
- t << "LATEX_OUTPUT = ";
+ t << "LATEX_OUTPUT = ";
writeStringValue(t,Config::latexOutputDir);
t << "\n";
if (!sl)
@@ -1507,7 +1526,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# save some trees in general. \n";
t << "\n";
}
- t << "COMPACT_LATEX = ";
+ t << "COMPACT_LATEX = ";
writeBoolValue(t,Config::compactLatexFlag);
t << "\n";
if (!sl)
@@ -1518,7 +1537,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# executive. If left blank a4wide will be used. \n";
t << "\n";
}
- t << "PAPER_TYPE = ";
+ t << "PAPER_TYPE = ";
writeStringValue(t,Config::paperType);
t << "\n";
if (!sl)
@@ -1528,7 +1547,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# packages that should be included in the LaTeX output. \n";
t << "\n";
}
- t << "EXTRA_PACKAGES = ";
+ t << "EXTRA_PACKAGES = ";
writeStringList(t,Config::extraPackageList);
t << "\n";
if (!sl)
@@ -1540,7 +1559,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# standard header. Notice: only use this tag if you know what you are doing! \n";
t << "\n";
}
- t << "LATEX_HEADER = ";
+ t << "LATEX_HEADER = ";
writeStringValue(t,Config::latexHeaderFile);
t << "\n";
if (!sl)
@@ -1552,7 +1571,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# This makes the output suitable for online browsing using a pdf viewer. \n";
t << "\n";
}
- t << "PDF_HYPERLINKS = ";
+ t << "PDF_HYPERLINKS = ";
writeBoolValue(t,Config::pdfHyperFlag);
t << "\n";
if (!sl)
@@ -1563,7 +1582,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# higher quality PDF documentation. \n";
t << "\n";
}
- t << "USE_PDFLATEX = ";
+ t << "USE_PDFLATEX = ";
writeBoolValue(t,Config::usePDFLatexFlag);
t << "\n";
if (!sl)
@@ -1575,7 +1594,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# This option is also used when generating formulas in HTML. \n";
t << "\n";
}
- t << "LATEX_BATCHMODE = ";
+ t << "LATEX_BATCHMODE = ";
writeBoolValue(t,Config::latexBatchModeFlag);
t << "\n";
if (!sl)
@@ -1593,7 +1612,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# other RTF readers or editors.\n";
t << "\n";
}
- t << "GENERATE_RTF = ";
+ t << "GENERATE_RTF = ";
writeBoolValue(t,Config::generateRTF);
t << "\n";
if (!sl)
@@ -1604,7 +1623,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# put in front of it. If left blank `rtf' will be used as the default path. \n";
t << "\n";
}
- t << "RTF_OUTPUT = ";
+ t << "RTF_OUTPUT = ";
writeStringValue(t,Config::rtfOutputDir);
t << "\n";
if (!sl)
@@ -1615,7 +1634,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# save some trees in general. \n";
t << "\n";
}
- t << "COMPACT_RTF = ";
+ t << "COMPACT_RTF = ";
writeBoolValue(t,Config::compactRTFFlag);
t << "\n";
if (!sl)
@@ -1629,7 +1648,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# Note: wordpad (write) and others do not support links. \n";
t << "\n";
}
- t << "RTF_HYPERLINKS = ";
+ t << "RTF_HYPERLINKS = ";
writeBoolValue(t,Config::rtfHyperFlag);
t << "\n";
if (!sl)
@@ -1640,7 +1659,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# replacements, missing definitions are set to their default value. \n";
t << "\n";
}
- t << "RTF_STYLESHEET_FILE = ";
+ t << "RTF_STYLESHEET_FILE = ";
writeStringValue(t,Config::rtfStylesheetFile);
t << "\n";
if (!sl)
@@ -1657,7 +1676,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# generate man pages \n";
t << "\n";
}
- t << "GENERATE_MAN = ";
+ t << "GENERATE_MAN = ";
writeBoolValue(t,Config::generateMan);
t << "\n";
if (!sl)
@@ -1668,7 +1687,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# put in front of it. If left blank `man' will be used as the default path. \n";
t << "\n";
}
- t << "MAN_OUTPUT = ";
+ t << "MAN_OUTPUT = ";
writeStringValue(t,Config::manOutputDir);
t << "\n";
if (!sl)
@@ -1678,7 +1697,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the generated man pages (default is the subroutine's section .3) \n";
t << "\n";
}
- t << "MAN_EXTENSION = ";
+ t << "MAN_EXTENSION = ";
writeStringValue(t,Config::manExtension);
t << "\n";
if (!sl)
@@ -1697,7 +1716,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# is still experimental and very incomplete.\n";
t << "\n";
}
- t << "GENERATE_XML = ";
+ t << "GENERATE_XML = ";
writeBoolValue(t,Config::generateXML);
t << "\n";
if (!sl)
@@ -1715,7 +1734,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# files. \n";
t << "\n";
}
- t << "ENABLE_PREPROCESSING = ";
+ t << "ENABLE_PREPROCESSING = ";
writeBoolValue(t,Config::preprocessingFlag);
t << "\n";
if (!sl)
@@ -1727,7 +1746,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# way by setting EXPAND_ONLY_PREDEF to YES. \n";
t << "\n";
}
- t << "MACRO_EXPANSION = ";
+ t << "MACRO_EXPANSION = ";
writeBoolValue(t,Config::macroExpansionFlag);
t << "\n";
if (!sl)
@@ -1738,7 +1757,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# PREDEFINED and EXPAND_AS_PREDEFINED tags. \n";
t << "\n";
}
- t << "EXPAND_ONLY_PREDEF = ";
+ t << "EXPAND_ONLY_PREDEF = ";
writeBoolValue(t,Config::onlyPredefinedFlag);
t << "\n";
if (!sl)
@@ -1748,7 +1767,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# in the INCLUDE_PATH (see below) will be search if a #include is found. \n";
t << "\n";
}
- t << "SEARCH_INCLUDES = ";
+ t << "SEARCH_INCLUDES = ";
writeBoolValue(t,Config::searchIncludeFlag);
t << "\n";
if (!sl)
@@ -1759,7 +1778,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the preprocessor. \n";
t << "\n";
}
- t << "INCLUDE_PATH = ";
+ t << "INCLUDE_PATH = ";
writeStringList(t,Config::includePath);
t << "\n";
if (!sl)
@@ -1771,7 +1790,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# be used. \n";
t << "\n";
}
- t << "INCLUDE_FILE_PATTERNS = ";
+ t << "INCLUDE_FILE_PATTERNS = ";
writeStringList(t,Config::includeFilePatternList);
t << "\n";
if (!sl)
@@ -1784,7 +1803,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# omitted =1 is assumed. \n";
t << "\n";
}
- t << "PREDEFINED = ";
+ t << "PREDEFINED = ";
writeStringList(t,Config::predefined);
t << "\n";
if (!sl)
@@ -1796,7 +1815,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# Use the PREDEFINED tag if you want to use a different macro definition. \n";
t << "\n";
}
- t << "EXPAND_AS_DEFINED = ";
+ t << "EXPAND_AS_DEFINED = ";
writeStringList(t,Config::expandAsDefinedList);
t << "\n";
if (!sl)
@@ -1812,7 +1831,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# The TAGFILES tag can be used to specify one or more tagfiles. \n";
t << "\n";
}
- t << "TAGFILES = ";
+ t << "TAGFILES = ";
writeStringList(t,Config::tagFileList);
t << "\n";
if (!sl)
@@ -1822,7 +1841,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# a tag file that is based on the input files it reads. \n";
t << "\n";
}
- t << "GENERATE_TAGFILE = ";
+ t << "GENERATE_TAGFILE = ";
writeStringValue(t,Config::genTagFile);
t << "\n";
if (!sl)
@@ -1833,7 +1852,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# will be listed. \n";
t << "\n";
}
- t << "ALLEXTERNALS = ";
+ t << "ALLEXTERNALS = ";
writeBoolValue(t,Config::allExtFlag);
t << "\n";
if (!sl)
@@ -1843,7 +1862,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# interpreter (i.e. the result of `which perl'). \n";
t << "\n";
}
- t << "PERL_PATH = ";
+ t << "PERL_PATH = ";
writeStringValue(t,Config::perlPath);
t << "\n";
if (!sl)
@@ -1862,7 +1881,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# have no effect if this option is set to NO (the default) \n";
t << "\n";
}
- t << "HAVE_DOT = ";
+ t << "HAVE_DOT = ";
writeBoolValue(t,Config::haveDotFlag);
t << "\n";
if (!sl)
@@ -1874,7 +1893,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the CLASS_DIAGRAMS tag to NO.\n";
t << "\n";
}
- t << "CLASS_GRAPH = ";
+ t << "CLASS_GRAPH = ";
writeBoolValue(t,Config::classGraphFlag);
t << "\n";
if (!sl)
@@ -1886,7 +1905,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# class references variables) of the class with other documented classes. \n";
t << "\n";
}
- t << "COLLABORATION_GRAPH = ";
+ t << "COLLABORATION_GRAPH = ";
writeBoolValue(t,Config::collGraphFlag);
t << "\n";
if (!sl)
@@ -1898,7 +1917,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# documented files. \n";
t << "\n";
}
- t << "INCLUDE_GRAPH = ";
+ t << "INCLUDE_GRAPH = ";
writeBoolValue(t,Config::includeGraphFlag);
t << "\n";
if (!sl)
@@ -1909,7 +1928,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the documented files that directly or indirectly include this file \n";
t << "\n";
}
- t << "INCLUDED_BY_GRAPH = ";
+ t << "INCLUDED_BY_GRAPH = ";
writeBoolValue(t,Config::includedByGraphFlag);
t << "\n";
if (!sl)
@@ -1919,7 +1938,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# will graphical hierarchy of all classes instead of a textual one. \n";
t << "\n";
}
- t << "GRAPHICAL_HIERARCHY = ";
+ t << "GRAPHICAL_HIERARCHY = ";
writeBoolValue(t,Config::gfxHierarchyFlag);
t << "\n";
if (!sl)
@@ -1929,7 +1948,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# found. If left blank, it is assumed the dot tool can be found on the path. \n";
t << "\n";
}
- t << "DOT_PATH = ";
+ t << "DOT_PATH = ";
writeStringValue(t,Config::dotPath);
t << "\n";
if (!sl)
@@ -1942,7 +1961,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# large images. \n";
t << "\n";
}
- t << "MAX_DOT_GRAPH_WIDTH = ";
+ t << "MAX_DOT_GRAPH_WIDTH = ";
writeIntValue(t,Config::maxDotGraphWidth);
t << "\n";
if (!sl)
@@ -1955,7 +1974,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# large images. \n";
t << "\n";
}
- t << "MAX_DOT_GRAPH_HEIGHT = ";
+ t << "MAX_DOT_GRAPH_HEIGHT = ";
writeIntValue(t,Config::maxDotGraphHeight);
t << "\n";
if (!sl)
@@ -1972,7 +1991,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# used. If set to NO the values of all tags below this one will be ignored. \n";
t << "\n";
}
- t << "SEARCHENGINE = ";
+ t << "SEARCHENGINE = ";
writeBoolValue(t,Config::searchEngineFlag);
t << "\n";
if (!sl)
@@ -1983,7 +2002,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# A script with this name will be generated by doxygen. \n";
t << "\n";
}
- t << "CGI_NAME = ";
+ t << "CGI_NAME = ";
writeStringValue(t,Config::cgiName);
t << "\n";
if (!sl)
@@ -1994,7 +2013,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# details. \n";
t << "\n";
}
- t << "CGI_URL = ";
+ t << "CGI_URL = ";
writeStringValue(t,Config::cgiURL);
t << "\n";
if (!sl)
@@ -2005,7 +2024,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# documentation, with file:// prepended to it, will be used. \n";
t << "\n";
}
- t << "DOC_URL = ";
+ t << "DOC_URL = ";
writeStringValue(t,Config::docURL);
t << "\n";
if (!sl)
@@ -2016,7 +2035,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# will be used. \n";
t << "\n";
}
- t << "DOC_ABSPATH = ";
+ t << "DOC_ABSPATH = ";
writeStringValue(t,Config::docAbsPath);
t << "\n";
if (!sl)
@@ -2026,7 +2045,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# is installed. \n";
t << "\n";
}
- t << "BIN_ABSPATH = ";
+ t << "BIN_ABSPATH = ";
writeStringValue(t,Config::binAbsPath);
t << "\n";
if (!sl)
@@ -2037,7 +2056,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# the documentation for these projects as well. \n";
t << "\n";
}
- t << "EXT_DOC_PATHS = ";
+ t << "EXT_DOC_PATHS = ";
writeStringList(t,Config::extDocPathList);
t << "\n";
}
diff --git a/src/formula.cpp b/src/formula.cpp
index f35fd47..16626fd 100644
--- a/src/formula.cpp
+++ b/src/formula.cpp
@@ -189,7 +189,7 @@ void FormulaList::generateBitmaps(const char *path)
"gswin32.exe", /* file to execute */
gsArgs, /* argument list */
NULL, /* use current working dir */
- SW_HIDE /* minimize on start-up */
+ SW_HIDE, /* minimize on start-up */
0, /* application instance handle */
NULL, /* ignored: id list */
NULL, /* ignored: class name */
diff --git a/src/scanner.l b/src/scanner.l
index 33a4f07..986b3b2 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -586,18 +586,38 @@ static void newDocState();
//-----------------------------------------------------------------
-static QStack<int> listIndentStack;
+struct IndentInfo
+{
+ public:
+ IndentInfo(int i,bool e) : indent(i), enumerated(e) {};
+ ~IndentInfo() {}
+ void startList()
+ {
+ if (enumerated) outDoc->startEnumList(); else outDoc->startItemList();
+ }
+ void endList()
+ {
+ if (enumerated) outDoc->endEnumList(); else outDoc->endItemList();
+ }
+ void writeItem()
+ {
+ outDoc->writeListItem();
+ }
+ int indent;
+ bool enumerated;
+};
+
+static QStack<IndentInfo> listIndentStack;
static bool insideItemList = FALSE;
-static void addListItemMarker(const char *marker)
+static void addListItemMarker(const char *marker,int dashPos,bool enumerated)
{
// find the actual position at which the bullet was found
+ int i;
int indent=0;
- const char *p=marker;
- char c;
- while ((c=*p++))
+ for (i=0;i<dashPos;i++)
{
- if (c=='\t')
+ if (marker[i]=='\t')
{
indent+=Config::tabSize - (indent%Config::tabSize);
}
@@ -606,32 +626,42 @@ static void addListItemMarker(const char *marker)
indent++;
}
}
- //printf("list marker found at column %d\n",indent);
+ //printf("list marker found at column %d enumerated %d\n",indent,enumerated);
if (!insideItemList)
{
- outDoc->startItemList();
- outDoc->writeListItem();
- listIndentStack.push(new int(indent));
+ listIndentStack.push(new IndentInfo(indent,enumerated));
+ listIndentStack.top()->startList();
+ listIndentStack.top()->writeItem();
insideItemList=TRUE;
}
else
{
- int *pPrevIndent = listIndentStack.top();
- if (*pPrevIndent==indent) // new item at the same indent level
+ IndentInfo *pPrevInfo = listIndentStack.top();
+ if (pPrevInfo->indent==indent && pPrevInfo->enumerated==enumerated)
+ // new item of same kind at the same indent level
{
- outDoc->writeListItem();
+ pPrevInfo->writeItem();
}
- else if (*pPrevIndent<indent) // start sub item list
+ else if (pPrevInfo->indent==indent)
+ // new item of diffent kind at the same indent level
{
- outDoc->startItemList();
- outDoc->writeListItem();
- listIndentStack.push(new int(indent));
+ // switch to a diffent list type
+ pPrevInfo->endList();
+ pPrevInfo->enumerated=enumerated;
+ pPrevInfo->startList();
+ pPrevInfo->writeItem();
+ }
+ else if (pPrevInfo->indent<indent) // start sub item list
+ {
+ listIndentStack.push(new IndentInfo(indent,enumerated));
+ listIndentStack.top()->startList();
+ listIndentStack.top()->writeItem();
}
else // end sub item list
{
+ pPrevInfo->endList();
listIndentStack.pop();
- delete pPrevIndent;
- outDoc->endItemList();
+ delete pPrevInfo;
// safe guard against wrong indenting
if (listIndentStack.isEmpty())
{
@@ -641,35 +671,24 @@ static void addListItemMarker(const char *marker)
}
else
{
- outDoc->writeListItem();
+ listIndentStack.top()->writeItem();
}
}
}
}
+// end the current (nested) list regardless of the nesting level.
static void forceEndItemList()
{
- int *indent;
- while ((indent=listIndentStack.pop())!=0)
+ IndentInfo *info;
+ while ((info=listIndentStack.pop())!=0)
{
- outDoc->endItemList();
- delete indent;
+ info->endList();
+ delete info;
}
insideItemList=FALSE;
}
-#if 0
-static void tryEndItemList()
-{
- if (listIndentStack.count()==1) // no subitems => end list
- {
- outDoc->endItemList();
- delete listIndentStack.pop();
- insideItemList=FALSE;
- }
-}
-#endif
-
//-----------------------------------------------------------------
static bool inBlock()
@@ -1144,25 +1163,19 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
BEGIN( FindMembers );
}
<*>\x0d
- /*
-<DocScan>^{BL} {
- if (insideArgumentList)
- {
- insideArgumentList=FALSE;
- outDoc->endItemList();
- }
- else
- {
- outDoc->newParagraph();
- }
- if (inBlock()) endBlock();
- }
- */
-<DocScan>^{B}*(("//"{B}*)?)"*"*{B}*"-"{B}+ { /* found list item marker */
- addListItemMarker(yytext);
- }
-<DocScan>\n{B}*(("//"{B}*)?)"*"*{B}*"-"{B}+ {
- addListItemMarker(yytext+1);
+<DocScan>^{B}*(("//"{B}*)?)"*"*{B}*"-"("#")?{B}+ { /* found list item marker */
+ QCString text=yytext;
+ int dashPos = text.findRev('-');
+ //printf("dashPos=%d char='%c'\n",dashPos,text.at(dashPos+1));
+ bool isEnumerated = text.at(dashPos+1)=='#';
+ addListItemMarker(yytext,dashPos,isEnumerated);
+ }
+<DocScan>\n{B}*(("//"{B}*)?)"*"*{B}*"-"("#")?{B}+ { /* found list item marker */
+ QCString text=yytext;
+ int dashPos = text.findRev('-');
+ //printf("dashPos=%d char='%c'\n",dashPos,text.at(dashPos+1));
+ bool isEnumerated = text.at(dashPos+1)=='#';
+ addListItemMarker(yytext+1,dashPos,isEnumerated);
}
<DocScan,Text>"&copy;" { outDoc->writeCopyright(); }
<DocScan,Text>"&quot;" { outDoc->writeQuote(); }
@@ -2222,19 +2235,19 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
<DocScan>"%"[a-zA-Z_0-9\-]+ {
outDoc->docify(yytext+1);
}
-<DocEmphasis>{WORD} {
+<DocEmphasis>[a-z_A-Z][a-z_A-Z:0-9<>&\-=^%~!\[\]()|\*/]*"("[a-z_A-Z0-9,:\<\> \t\*\&]*")" {
outDoc->startEmphasis();
- linkifyText(TextGeneratorOLImpl(*outDoc),className,0,yytext,FALSE,FALSE);
+ generateRef(*outDoc,className,yytext,inSeeBlock);
outDoc->endEmphasis();
BEGIN( DocScan );
- }
-<DocEmphasis>[a-z_A-Z][a-z_A-Z:0-9<>&\-=^%~!\[\]()|\*/]*"()" {
+ }
+<DocEmphasis>{WORD} {
outDoc->startEmphasis();
- generateRef(*outDoc,className,yytext,inSeeBlock);
+ linkifyText(TextGeneratorOLImpl(*outDoc),className,0,yytext,FALSE,FALSE);
outDoc->endEmphasis();
BEGIN( DocScan );
- }
-<DocBold>[a-z_A-Z][a-z_A-Z:0-9<>&\-=^%~!\[\]()|\*/]*"()" {
+ }
+<DocBold>[a-z_A-Z][a-z_A-Z:0-9<>&\-=^%~!\[\]()|\*/]*"("[a-z_A-Z0-9,:\<\> \t\*\&]*")" {
outDoc->startBold();
generateRef(*outDoc,className,yytext,inSeeBlock);
outDoc->endBold();
@@ -2246,7 +2259,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
outDoc->endBold();
BEGIN( DocScan );
}
-<DocCode>[a-z_A-Z][a-z_A-Z:0-9<>&\-=^%~!\[\]()|\*/]*"()" {
+<DocCode>[a-z_A-Z][a-z_A-Z:0-9<>&\-=^%~!\[\]()!\*/]*"("[a-z_A-Z0-9,:\<\> \t\*\&]*")" {
outDoc->startTypewriter();
generateRef(*outDoc,className,yytext,inSeeBlock);
outDoc->endTypewriter();
@@ -2278,7 +2291,10 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
outDoc->docify(yytext);
}
<DocCode,DocEmphasis,DocBold>"\n" { outDoc->writeChar('\n'); }
-<DocScan>({B}*"\n"){2,}{B}*"*"*{B}*"-"{B}+ { // new paragraph & start of a list
+<DocScan>({B}*"\n"){2,}{B}*"*"*{B}*"-"("#")?{B}+ { // new paragraph & start of a list
+ QCString text=yytext;
+ int dashPos = text.findRev('-');
+ bool isEnumerated = text.at(dashPos+1)=='#';
if (insideArgumentList)
{
insideArgumentList=FALSE;
@@ -2293,7 +2309,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
outDoc->newParagraph();
}
if (inBlock()) endBlock();
- addListItemMarker(strrchr(yytext,'\n')+1);
+ addListItemMarker(strrchr(yytext,'\n')+1,dashPos,isEnumerated);
}
<DocScan>({B}*"\n"){2,}{B}* { // new paragraph
if (insideArgumentList)
@@ -5163,7 +5179,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
unput('/');unput('*');
BEGIN( tmpDocType );
}
-<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"{B}+ {
+<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ {
current->doc += yytext;
}
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+/[^/]
diff --git a/src/util.cpp b/src/util.cpp
index 1870400..5158031 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -838,6 +838,23 @@ QCString fileToString(const char *name)
if (name[0]=='-' && name[1]==0) // read from stdin
{
fileOpened=f.open(IO_ReadOnly,stdin);
+ if (fileOpened)
+ {
+ const int bSize=4096;
+ QCString contents(bSize);
+ int totalSize=0;
+ int size;
+ while ((size=f.readBlock(contents.data()+totalSize,bSize))==bSize)
+ {
+ totalSize+=bSize;
+ contents.resize(totalSize+bSize);
+ }
+ totalSize+=size+2;
+ contents.resize(totalSize);
+ contents.at(totalSize-2)='\n'; // to help the scanner
+ contents.at(totalSize-1)='\0';
+ return contents;
+ }
}
else // read from file
{
@@ -849,22 +866,25 @@ QCString fileToString(const char *name)
}
f.setName(name);
fileOpened=f.open(IO_ReadOnly);
+ if (fileOpened)
+ {
+ int fsize=f.size();
+ QCString contents(fsize+2);
+ f.readBlock(contents.data(),fsize);
+ if (fsize==0 || contents[fsize-1]=='\n')
+ contents[fsize]='\0';
+ else
+ contents[fsize]='\n'; // to help the scanner
+ contents[fsize+1]='\0';
+ f.close();
+ return contents;
+ }
}
if (!fileOpened)
{
err("Error: cannot open file `%s' for reading\n",name);
- return "";
}
- int fsize=f.size();
- QCString contents(fsize+2);
- f.readBlock(contents.data(),fsize);
- if (fsize==0 || contents[fsize-1]=='\n')
- contents[fsize]='\0';
- else
- contents[fsize]='\n';
- contents[fsize+1]='\0';
- f.close();
- return contents;
+ return "";
}
QCString dateToString(bool includeTime)