summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addon/doxmlparser/src/basehandler.h2
-rw-r--r--addon/doxmlparser/src/baseiterator.h2
-rw-r--r--addon/doxmlparser/src/compoundhandler.cpp2
-rw-r--r--addon/doxmlparser/src/compoundhandler.h2
-rw-r--r--addon/doxmlparser/src/dochandler.cpp2
-rw-r--r--addon/doxmlparser/src/dochandler.h2
-rw-r--r--addon/doxmlparser/src/doxmlintf.h2
-rw-r--r--addon/doxmlparser/src/graphhandler.h2
-rw-r--r--addon/doxmlparser/src/linkedtexthandler.cpp2
-rw-r--r--addon/doxmlparser/src/linkedtexthandler.h2
-rw-r--r--addon/doxmlparser/src/loamhandler.h2
-rw-r--r--addon/doxmlparser/src/mainhandler.cpp2
-rw-r--r--addon/doxmlparser/src/mainhandler.h2
-rw-r--r--addon/doxmlparser/src/memberhandler.cpp2
-rw-r--r--addon/doxmlparser/src/memberhandler.h2
-rw-r--r--addon/doxmlparser/src/paramhandler.cpp2
-rw-r--r--addon/doxmlparser/src/paramhandler.h2
-rw-r--r--addon/doxmlparser/src/sectionhandler.cpp2
-rw-r--r--addon/doxmlparser/src/sectionhandler.h2
-rw-r--r--addon/doxyapp/doxyapp.cpp2
-rw-r--r--addon/doxyapp/doxyapp.pro.in2
-rw-r--r--addon/doxysearch/doxyindexer.cpp2
-rw-r--r--addon/doxysearch/doxysearch.cpp2
-rw-r--r--addon/doxywizard/Makefile.in4
-rw-r--r--addon/doxywizard/config.l2
-rw-r--r--addon/doxywizard/config_doxyw.l45
-rw-r--r--addon/doxywizard/doxywizard.cpp2
-rw-r--r--addon/doxywizard/inputbool.cpp2
-rw-r--r--addon/doxywizard/inputbool.h2
-rw-r--r--addon/doxywizard/inputint.cpp2
-rw-r--r--addon/doxywizard/inputint.h2
-rw-r--r--addon/doxywizard/inputstring.cpp2
-rw-r--r--addon/doxywizard/inputstring.h2
-rw-r--r--addon/doxywizard/inputstrlist.cpp2
-rw-r--r--addon/doxywizard/inputstrlist.h2
-rw-r--r--addon/doxywizard/version.h2
-rw-r--r--addon/doxywizard/wizard.h2
-rwxr-xr-xconfigure30
-rw-r--r--doc/.gitignore3
-rw-r--r--doc/Makefile.in2
-rw-r--r--doc/Makefile.latex2
-rw-r--r--doc/Makefile.win_make.in2
-rw-r--r--doc/Makefile.win_nmake.in2
-rw-r--r--doc/arch.doc2
-rw-r--r--doc/autolink.doc2
-rw-r--r--doc/changelog.doc23
-rw-r--r--doc/commands.doc50
-rw-r--r--doc/custcmd.doc2
-rw-r--r--doc/customize.doc6
-rw-r--r--doc/diagrams.doc10
-rw-r--r--doc/docblocks.doc2
-rw-r--r--doc/doxygen.12
-rw-r--r--doc/doxygen_manual.tex2
-rw-r--r--doc/doxygen_usage.doc2
-rw-r--r--doc/doxywizard_usage.doc2
-rw-r--r--doc/external.doc2
-rw-r--r--doc/extsearch.doc2
-rw-r--r--doc/faq.doc2
-rw-r--r--doc/features.doc2
-rw-r--r--doc/formulas.doc2
-rw-r--r--doc/grouping.doc2
-rw-r--r--doc/htmlcmds.doc2
-rw-r--r--doc/index.doc4
-rw-r--r--doc/install.doc2
-rw-r--r--doc/language.tpl2
-rw-r--r--doc/markdown.doc8
-rw-r--r--doc/output.doc2
-rw-r--r--doc/preprocessing.doc2
-rw-r--r--doc/searching.doc2
-rw-r--r--doc/starting.doc2
-rw-r--r--doc/translator.py11
-rw-r--r--doc/trouble.doc2
-rw-r--r--doc/xmlcmds.doc2
-rw-r--r--examples/example.cfg2
-rw-r--r--jquery/jquery.ui-1.8.18.core.js2
-rw-r--r--qtools/Doxyfile2
-rw-r--r--qtools/qcstring.cpp50
-rw-r--r--qtools/qcstring.h52
-rw-r--r--qtools/qfeatures.h2
-rw-r--r--qtools/qglobal.h28
-rw-r--r--qtools/qstring.cpp6
-rw-r--r--qtools/qtextcodec.cpp4
-rw-r--r--qtools/qtextstream.cpp6
-rw-r--r--qtools/qutfcodec.cpp6
-rw-r--r--src/Makefile.in2
-rw-r--r--src/arguments.cpp2
-rw-r--r--src/arguments.h41
-rw-r--r--src/bufstr.h2
-rw-r--r--src/cite.cpp3
-rw-r--r--src/classdef.cpp132
-rw-r--r--src/classdef.h66
-rw-r--r--src/classlist.cpp2
-rw-r--r--src/classlist.h2
-rw-r--r--src/cmdmapper.cpp2
-rw-r--r--src/cmdmapper.h2
-rw-r--r--src/code.h2
-rw-r--r--src/code.l3
-rw-r--r--src/commentcnv.h2
-rw-r--r--src/commentcnv.l3
-rw-r--r--src/commentscan.h2
-rw-r--r--src/commentscan.l28
-rw-r--r--src/condparser.cpp2
-rw-r--r--src/condparser.h2
-rw-r--r--src/config.h20
-rw-r--r--src/config.l147
-rw-r--r--src/config.xml47
-rwxr-xr-xsrc/configgen.py2
-rw-r--r--src/configoptions.h2
-rw-r--r--src/constexp.h2
-rw-r--r--src/constexp.l2
-rw-r--r--src/constexp.y2
-rw-r--r--src/context.cpp8
-rw-r--r--src/context.h2
-rw-r--r--src/cppvalue.cpp2
-rw-r--r--src/cppvalue.h2
-rw-r--r--src/dbusxmlscanner.cpp3
-rw-r--r--src/debug.cpp2
-rw-r--r--src/debug.h2
-rw-r--r--src/declinfo.h2
-rw-r--r--src/declinfo.l3
-rw-r--r--src/defargs.h2
-rw-r--r--src/defargs.l45
-rw-r--r--src/defgen.cpp2
-rw-r--r--src/defgen.h2
-rw-r--r--src/define.cpp2
-rw-r--r--src/define.h2
-rw-r--r--src/definition.cpp18
-rw-r--r--src/definition.h2
-rw-r--r--src/dia.cpp2
-rw-r--r--src/dia.h2
-rw-r--r--src/diagram.cpp2
-rw-r--r--src/diagram.h2
-rw-r--r--src/dirdef.cpp5
-rw-r--r--src/dirdef.h2
-rw-r--r--src/docbookgen.cpp7
-rw-r--r--src/docbookgen.h2
-rw-r--r--src/docbookvisitor.cpp5
-rw-r--r--src/docbookvisitor.h2
-rw-r--r--src/docparser.cpp29
-rw-r--r--src/docparser.h2
-rw-r--r--src/docsets.cpp2
-rw-r--r--src/docsets.h2
-rw-r--r--src/doctokenizer.h2
-rw-r--r--src/doctokenizer.l8
-rw-r--r--src/docvisitor.h2
-rw-r--r--src/dot.cpp154
-rw-r--r--src/dot.h4
-rw-r--r--src/doxygen.cpp211
-rw-r--r--src/doxygen.h2
-rw-r--r--src/doxygen.md4
-rw-r--r--src/doxygen.pro.in2
-rw-r--r--src/eclipsehelp.cpp2
-rw-r--r--src/eclipsehelp.h2
-rw-r--r--src/entry.cpp10
-rw-r--r--src/entry.h2
-rw-r--r--src/example.h2
-rw-r--r--src/filedef.cpp6
-rw-r--r--src/filedef.h2
-rw-r--r--src/filename.cpp2
-rw-r--r--src/filename.h2
-rw-r--r--src/fileparser.cpp2
-rw-r--r--src/fileparser.h2
-rw-r--r--src/filestorage.h2
-rw-r--r--src/formula.cpp2
-rw-r--r--src/formula.h2
-rw-r--r--src/fortrancode.h3
-rw-r--r--src/fortrancode.l33
-rw-r--r--src/fortranscanner.h2
-rw-r--r--src/fortranscanner.l121
-rw-r--r--src/ftvhelp.cpp2
-rw-r--r--src/ftvhelp.h2
-rw-r--r--src/groupdef.cpp28
-rw-r--r--src/groupdef.h4
-rw-r--r--src/htags.cpp7
-rw-r--r--src/htags.h2
-rw-r--r--src/htmlattrib.h2
-rw-r--r--src/htmldocvisitor.cpp7
-rw-r--r--src/htmldocvisitor.h2
-rw-r--r--src/htmlentity.cpp4
-rw-r--r--src/htmlentity.h2
-rw-r--r--src/htmlgen.cpp8
-rw-r--r--src/htmlgen.h2
-rw-r--r--src/htmlhelp.cpp6
-rw-r--r--src/htmlhelp.h2
-rw-r--r--src/image.cpp2
-rw-r--r--src/image.h2
-rw-r--r--src/index.cpp18
-rw-r--r--src/index.h2
-rw-r--r--src/language.cpp2
-rw-r--r--src/language.h2
-rw-r--r--src/latexdocvisitor.cpp25
-rw-r--r--src/latexdocvisitor.h2
-rw-r--r--src/latexgen.cpp23
-rw-r--r--src/latexgen.h2
-rw-r--r--src/layout.cpp2
-rw-r--r--src/layout.h2
-rw-r--r--src/libdoxycfg.pro.in2
-rw-r--r--src/libdoxycfg.t.in2
-rw-r--r--src/libdoxygen.pro.in2
-rw-r--r--src/libdoxygen.t.in2
-rw-r--r--src/logos.cpp2
-rw-r--r--src/logos.h2
-rw-r--r--src/main.cpp2
-rw-r--r--src/mandocvisitor.cpp2
-rw-r--r--src/mandocvisitor.h2
-rw-r--r--src/mangen.cpp4
-rw-r--r--src/mangen.h2
-rw-r--r--src/markdown.cpp18
-rw-r--r--src/markdown.h2
-rw-r--r--src/marshal.cpp2
-rw-r--r--src/marshal.h2
-rw-r--r--src/memberdef.cpp32
-rw-r--r--src/memberdef.h2
-rw-r--r--src/membergroup.cpp4
-rw-r--r--src/membergroup.h2
-rw-r--r--src/memberlist.cpp13
-rw-r--r--src/memberlist.h2
-rw-r--r--src/membername.cpp2
-rw-r--r--src/membername.h2
-rw-r--r--src/message.cpp20
-rw-r--r--src/message.h3
-rw-r--r--src/msc.cpp4
-rw-r--r--src/msc.h2
-rw-r--r--src/namespacedef.cpp12
-rw-r--r--src/namespacedef.h2
-rw-r--r--src/objcache.cpp2
-rw-r--r--src/objcache.h2
-rw-r--r--src/outputgen.cpp2
-rw-r--r--src/outputgen.h2
-rw-r--r--src/outputlist.cpp2
-rw-r--r--src/outputlist.h2
-rw-r--r--src/pagedef.cpp2
-rw-r--r--src/pagedef.h2
-rw-r--r--src/parserintf.h2
-rw-r--r--src/perlmodgen.cpp3
-rw-r--r--src/perlmodgen.h2
-rw-r--r--src/plantuml.cpp4
-rw-r--r--src/plantuml.h2
-rw-r--r--src/portable.cpp7
-rw-r--r--src/pre.h2
-rw-r--r--src/pre.l34
-rw-r--r--src/printdocvisitor.h4
-rw-r--r--src/pycode.h2
-rw-r--r--src/pycode.l3
-rw-r--r--src/pyscanner.h2
-rw-r--r--src/pyscanner.l5
-rw-r--r--src/qtbc.h2
-rw-r--r--src/reflist.cpp2
-rw-r--r--src/reflist.h2
-rwxr-xr-xsrc/res2cc_cmd.py2
-rw-r--r--src/resourcemgr.cpp6
-rw-r--r--src/resourcemgr.h2
-rw-r--r--src/rtfdocvisitor.cpp10
-rw-r--r--src/rtfdocvisitor.h2
-rw-r--r--src/rtfgen.cpp28
-rw-r--r--src/rtfgen.h2
-rw-r--r--src/rtfstyle.cpp2
-rw-r--r--src/rtfstyle.h2
-rw-r--r--src/scanner.h2
-rw-r--r--src/scanner.l99
-rw-r--r--src/searchindex.cpp4
-rw-r--r--src/searchindex.h2
-rw-r--r--src/section.h2
-rw-r--r--src/sortdict.h2
-rw-r--r--src/sqlite3gen.cpp17
-rw-r--r--src/sqlite3gen.h2
-rw-r--r--src/store.cpp2
-rw-r--r--src/store.h2
-rw-r--r--src/tagreader.cpp2
-rw-r--r--src/tagreader.h2
-rw-r--r--src/tclscanner.h2
-rw-r--r--src/tclscanner.l19
-rw-r--r--src/template.cpp7
-rw-r--r--src/template.h2
-rw-r--r--src/textdocvisitor.cpp2
-rw-r--r--src/textdocvisitor.h2
-rw-r--r--src/tooltip.cpp4
-rw-r--r--src/tooltip.h2
-rw-r--r--src/translator.h2
-rw-r--r--src/translator_am.h4
-rw-r--r--src/translator_ar.h6
-rw-r--r--src/translator_br.h4
-rw-r--r--src/translator_ca.h4
-rw-r--r--src/translator_cn.h4
-rw-r--r--src/translator_cz.h4
-rw-r--r--src/translator_de.h4
-rw-r--r--src/translator_dk.h4
-rw-r--r--src/translator_en.h6
-rw-r--r--src/translator_eo.h4
-rw-r--r--src/translator_es.h4
-rw-r--r--src/translator_fa.h6
-rw-r--r--src/translator_fi.h6
-rw-r--r--src/translator_fr.h6
-rw-r--r--src/translator_gr.h4
-rw-r--r--src/translator_hr.h4
-rw-r--r--src/translator_hu.h4
-rw-r--r--src/translator_id.h4
-rw-r--r--src/translator_it.h4
-rw-r--r--src/translator_je.h2
-rw-r--r--src/translator_jp.h4
-rw-r--r--src/translator_ke.h2
-rw-r--r--src/translator_kr.h4
-rw-r--r--src/translator_lt.h6
-rw-r--r--src/translator_lv.h6
-rw-r--r--src/translator_mk.h4
-rw-r--r--src/translator_nl.h4
-rw-r--r--src/translator_no.h4
-rw-r--r--src/translator_pl.h4
-rw-r--r--src/translator_pt.h4
-rw-r--r--src/translator_ro.h4
-rw-r--r--src/translator_ru.h4
-rw-r--r--src/translator_sc.h4
-rw-r--r--src/translator_si.h6
-rw-r--r--src/translator_sk.h4
-rw-r--r--src/translator_sr.h4
-rw-r--r--src/translator_sv.h49
-rw-r--r--src/translator_tr.h4
-rw-r--r--src/translator_tw.h41
-rw-r--r--src/translator_ua.h4
-rw-r--r--src/translator_vi.h4
-rw-r--r--src/translator_za.h4
-rw-r--r--src/types.h2
-rw-r--r--src/util.cpp95
-rw-r--r--src/util.h4
-rw-r--r--src/version.h2
-rwxr-xr-xsrc/version.py5
-rw-r--r--src/vhdlcode.l12
-rw-r--r--src/vhdldocgen.cpp38
-rw-r--r--src/vhdldocgen.h2
-rw-r--r--src/vhdljjparser.cpp42
-rw-r--r--src/xmldocvisitor.cpp4
-rw-r--r--src/xmldocvisitor.h2
-rw-r--r--src/xmlgen.cpp10
-rw-r--r--src/xmlgen.h2
-rw-r--r--templates/xml/compound.xsd2
-rw-r--r--testing/011/category_integer_07_arithmetic_08.xml2
-rw-r--r--testing/011_category.m2
-rw-r--r--testing/049/indexpage.xml2
-rw-r--r--testing/049_snippet.cpp2
-rwxr-xr-xtesting/runtests.pl2
-rw-r--r--vhdlparser/CharStream.h4
-rw-r--r--vhdlparser/ErrorHandler.h12
-rw-r--r--vhdlparser/TokenManager.h5
-rw-r--r--vhdlparser/VhdlParser.cc248
-rw-r--r--vhdlparser/VhdlParser.h3473
-rw-r--r--vhdlparser/VhdlParserConstants.h7
-rw-r--r--vhdlparser/VhdlParserTokenManager.cc34
-rw-r--r--vhdlparser/vhdlparser.jj26
-rw-r--r--vhdlparser/vhdlstring.h1
349 files changed, 3647 insertions, 3058 deletions
diff --git a/addon/doxmlparser/src/basehandler.h b/addon/doxmlparser/src/basehandler.h
index 31fbf24..5715dda 100644
--- a/addon/doxmlparser/src/basehandler.h
+++ b/addon/doxmlparser/src/basehandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/baseiterator.h b/addon/doxmlparser/src/baseiterator.h
index 2ee9c2f..3325f54 100644
--- a/addon/doxmlparser/src/baseiterator.h
+++ b/addon/doxmlparser/src/baseiterator.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/compoundhandler.cpp b/addon/doxmlparser/src/compoundhandler.cpp
index 87b0440..3e729e9 100644
--- a/addon/doxmlparser/src/compoundhandler.cpp
+++ b/addon/doxmlparser/src/compoundhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/compoundhandler.h b/addon/doxmlparser/src/compoundhandler.h
index c7e5ac0..f669133 100644
--- a/addon/doxmlparser/src/compoundhandler.h
+++ b/addon/doxmlparser/src/compoundhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/dochandler.cpp b/addon/doxmlparser/src/dochandler.cpp
index df71e6a..4e25813 100644
--- a/addon/doxmlparser/src/dochandler.cpp
+++ b/addon/doxmlparser/src/dochandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/dochandler.h b/addon/doxmlparser/src/dochandler.h
index 6bc2bd9..4340dbd 100644
--- a/addon/doxmlparser/src/dochandler.h
+++ b/addon/doxmlparser/src/dochandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/doxmlintf.h b/addon/doxmlparser/src/doxmlintf.h
index ba863d4..22cecdb 100644
--- a/addon/doxmlparser/src/doxmlintf.h
+++ b/addon/doxmlparser/src/doxmlintf.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/graphhandler.h b/addon/doxmlparser/src/graphhandler.h
index 090c62a..783b9f2 100644
--- a/addon/doxmlparser/src/graphhandler.h
+++ b/addon/doxmlparser/src/graphhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/linkedtexthandler.cpp b/addon/doxmlparser/src/linkedtexthandler.cpp
index fe45133..1164688 100644
--- a/addon/doxmlparser/src/linkedtexthandler.cpp
+++ b/addon/doxmlparser/src/linkedtexthandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/linkedtexthandler.h b/addon/doxmlparser/src/linkedtexthandler.h
index cebdeb0..816726e 100644
--- a/addon/doxmlparser/src/linkedtexthandler.h
+++ b/addon/doxmlparser/src/linkedtexthandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/loamhandler.h b/addon/doxmlparser/src/loamhandler.h
index a113aa9..48a9952 100644
--- a/addon/doxmlparser/src/loamhandler.h
+++ b/addon/doxmlparser/src/loamhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/mainhandler.cpp b/addon/doxmlparser/src/mainhandler.cpp
index 48c77fa..93525f0 100644
--- a/addon/doxmlparser/src/mainhandler.cpp
+++ b/addon/doxmlparser/src/mainhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/mainhandler.h b/addon/doxmlparser/src/mainhandler.h
index 270f417..21e9b0a 100644
--- a/addon/doxmlparser/src/mainhandler.h
+++ b/addon/doxmlparser/src/mainhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/memberhandler.cpp b/addon/doxmlparser/src/memberhandler.cpp
index ea55333..7a3f228 100644
--- a/addon/doxmlparser/src/memberhandler.cpp
+++ b/addon/doxmlparser/src/memberhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/memberhandler.h b/addon/doxmlparser/src/memberhandler.h
index a84cc79..7438172 100644
--- a/addon/doxmlparser/src/memberhandler.h
+++ b/addon/doxmlparser/src/memberhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/paramhandler.cpp b/addon/doxmlparser/src/paramhandler.cpp
index e6d3db1..831d5e4 100644
--- a/addon/doxmlparser/src/paramhandler.cpp
+++ b/addon/doxmlparser/src/paramhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/paramhandler.h b/addon/doxmlparser/src/paramhandler.h
index 7ecf711..3f0f09b 100644
--- a/addon/doxmlparser/src/paramhandler.h
+++ b/addon/doxmlparser/src/paramhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/sectionhandler.cpp b/addon/doxmlparser/src/sectionhandler.cpp
index bb43925..1137901 100644
--- a/addon/doxmlparser/src/sectionhandler.cpp
+++ b/addon/doxmlparser/src/sectionhandler.cpp
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxmlparser/src/sectionhandler.h b/addon/doxmlparser/src/sectionhandler.h
index 2730307..a212e62 100644
--- a/addon/doxmlparser/src/sectionhandler.h
+++ b/addon/doxmlparser/src/sectionhandler.h
@@ -3,7 +3,7 @@
* $Id$
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxyapp/doxyapp.cpp b/addon/doxyapp/doxyapp.cpp
index e73d12a..466a77d 100644
--- a/addon/doxyapp/doxyapp.cpp
+++ b/addon/doxyapp/doxyapp.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxyapp/doxyapp.pro.in b/addon/doxyapp/doxyapp.pro.in
index 7a8c5ee..207967d 100644
--- a/addon/doxyapp/doxyapp.pro.in
+++ b/addon/doxyapp/doxyapp.pro.in
@@ -2,7 +2,7 @@ TEMPLATE = app.t
CONFIG = console warn_on debug
HEADERS =
SOURCES = doxyapp.cpp
-LIBS += -L../../lib -ldoxygen -lqtools -lmd5 -ldoxycfg -lpthread -liconv
+LIBS += -L../../lib -ldoxygen -lqtools -lmd5 -ldoxycfg -lvhdlparser -lpthread -liconv
DESTDIR =
OBJECTS_DIR = ../../objects/doxyapp
TARGET = ../../bin/doxyapp
diff --git a/addon/doxysearch/doxyindexer.cpp b/addon/doxysearch/doxyindexer.cpp
index e1006be..12d3e9a 100644
--- a/addon/doxysearch/doxyindexer.cpp
+++ b/addon/doxysearch/doxyindexer.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxysearch/doxysearch.cpp b/addon/doxysearch/doxysearch.cpp
index f6946ef..1c4effd 100644
--- a/addon/doxysearch/doxysearch.cpp
+++ b/addon/doxysearch/doxysearch.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/Makefile.in b/addon/doxywizard/Makefile.in
index 9b14174..79b885e 100644
--- a/addon/doxywizard/Makefile.in
+++ b/addon/doxywizard/Makefile.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
@@ -10,7 +10,7 @@
# See the GNU General Public License for more details.
#
-QMAKE=$(QTDIR)/bin/qmake $(MKSPECS)
+QMAKE=$(QTDIR)/bin/$(QMAKEEXE) $(MKSPECS)
INCBUFSIZE=$(PYTHON) ../../src/increasebuffer.py
all: Makefile.doxywizard
diff --git a/addon/doxywizard/config.l b/addon/doxywizard/config.l
index f11bc46..177e8d4 100644
--- a/addon/doxywizard/config.l
+++ b/addon/doxywizard/config.l
@@ -2,7 +2,7 @@
*
* $Id: config_templ.l,v 1.8 2001/01/01 10:15:16 root Exp $
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/config_doxyw.l b/addon/doxywizard/config_doxyw.l
index 400330f..6402674 100644
--- a/addon/doxywizard/config_doxyw.l
+++ b/addon/doxywizard/config_doxyw.l
@@ -2,7 +2,7 @@
*
* $Id: config_templ.l,v 1.8 2001/01/01 10:15:16 root Exp $
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -71,18 +71,21 @@ static int yyread(char *buf,int maxSize)
}
}
+static QString warning_str = QString::fromAscii("warning: ");
+static QString error_str = QString::fromAscii("error: ");
+
void config_err(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
- vfprintf(stderr, fmt, args);
+ vfprintf(stderr, qPrintable(error_str.append(QString::fromAscii(fmt))), args);
va_end(args);
}
void config_warn(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
- vfprintf(stderr, fmt, args);
+ vfprintf(stderr, qPrintable(warning_str.append(QString::fromAscii(fmt))), args);
va_end(args);
}
@@ -111,7 +114,7 @@ static FILE *tryPath(const QString &path,const QString &fileName)
{
FILE *f = fopen(absName.toLocal8Bit(),"r");
if (f==NULL)
- config_err("Error: could not open file %s for reading\n",absName.toLatin1().data());
+ config_err("could not open file %s for reading\n",qPrintable(absName));
else
return f;
}
@@ -141,7 +144,7 @@ static void readIncludeFile(const QString &incName)
{
if (g_includeDepth==MAX_INCLUDE_DEPTH)
{
- config_err("Error: maximum include depth (%d) reached, %s is not included. Aborting...\n",
+ config_err("maximum include depth (%d) reached, %s is not included. Aborting...\n",
MAX_INCLUDE_DEPTH,qPrintable(incName));
exit(1);
}
@@ -162,7 +165,7 @@ static void readIncludeFile(const QString &incName)
// For debugging
#if SHOW_INCLUDES
for (i=0;i<includeStack.count();i++) msg(" ");
- msg("@INCLUDE = %s: parsing...\n",inc.toLatin1().data());
+ msg("@INCLUDE = %s: parsing...\n",qPrintable(inc));
#endif
// store the state of the old file
@@ -180,7 +183,7 @@ static void readIncludeFile(const QString &incName)
}
else
{
- config_err("Error: @INCLUDE = %s: not found!\n",inc.toLatin1().data());
+ config_err("@INCLUDE = %s: not found!\n",qPrintable(inc));
exit(1);
}
}
@@ -210,7 +213,7 @@ static void readIncludeFile(const QString &incName)
g_curOption = g_options->value(cmd);
if (g_curOption==0) // oops not known
{
- config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
+ config_warn("ignoring unsupported tag `%s' at line %d, file %s\n",
qPrintable(cmd),yylineno,qPrintable(g_yyFileName));
BEGIN(SkipInvalid);
}
@@ -235,7 +238,7 @@ static void readIncludeFile(const QString &incName)
BEGIN(GetString);
break;
case Input::Obsolete:
- config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n"
+ config_warn("Tag `%s' at line %d of file %s has become obsolete.\n"
"To avoid this warning please update your configuration "
"file using \"doxygen -u\"\n", qPrintable(cmd),
yylineno,qPrintable(g_yyFileName));
@@ -249,7 +252,7 @@ static void readIncludeFile(const QString &incName)
g_curOption = g_options->value(cmd);
if (g_curOption==0) // oops not known
{
- config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
+ config_warn("ignoring unsupported tag `%s' at line %d, file %s\n",
yytext,yylineno,qPrintable(g_yyFileName));
BEGIN(SkipInvalid);
}
@@ -265,12 +268,12 @@ static void readIncludeFile(const QString &incName)
case Input::String:
case Input::Int:
case Input::Bool:
- config_err("Warning: operator += not supported for `%s'. Ignoring line at line %d, file %s\n",
+ config_warn("operator += not supported for `%s'. Ignoring line at line %d, file %s\n",
yytext,yylineno,qPrintable(g_yyFileName));
BEGIN(SkipInvalid);
break;
case Input::Obsolete:
- config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n"
+ config_warn("Tag `%s' at line %d of file %s has become obsolete.\n"
"To avoid this warning please update your configuration "
"file using \"doxygen -u\"\n",
qPrintable(cmd),yylineno,qPrintable(g_yyFileName));
@@ -307,12 +310,12 @@ static void readIncludeFile(const QString &incName)
}
}
-<Start>[a-z_A-Z0-9]+ { config_err("Warning: ignoring unknown tag `%s' at line %d, file %s\n",yytext,yylineno,qPrintable(g_yyFileName)); }
+<Start>[a-z_A-Z0-9]+ { config_warn("ignoring unknown tag `%s' at line %d, file %s\n",yytext,yylineno,qPrintable(g_yyFileName)); }
<GetString,SkipInvalid>\n { BEGIN(Start); }
<GetStrList>\n {
if (!g_elemStr.isEmpty())
{
- //printf("elemStr1=`%s'\n",elemStr.toLatin1().data());
+ //printf("elemStr1=`%s'\n",qPrintable(elemStr));
*g_arg = QVariant(g_arg->toStringList() << g_elemStr);
}
BEGIN(Start);
@@ -320,7 +323,7 @@ static void readIncludeFile(const QString &incName)
<GetStrList>[ \t]+ {
if (!g_elemStr.isEmpty())
{
- //printf("elemStr2=`%s'\n",elemStr.toLatin1().data());
+ //printf("elemStr2=`%s'\n",qPrintable(elemStr));
*g_arg = QVariant(g_arg->toStringList() << g_elemStr);
}
g_elemStr = QString();
@@ -336,7 +339,7 @@ static void readIncludeFile(const QString &incName)
<GetQuotedString>"\""|"\n" {
// we add a bogus space to signal that the string was quoted. This space will be stripped later on.
g_tmpString+=" ";
- //printf("Quoted String = `%s'\n",tmpString.toLatin1().data());
+ //printf("Quoted String = `%s'\n",qPrintable(tmpString));
if (g_lastState==GetString)
{
*g_arg = g_codec->toUnicode(g_tmpString);
@@ -348,7 +351,7 @@ static void readIncludeFile(const QString &incName)
}
if (*yytext=='\n')
{
- config_err("Warning: Missing end quote (\") on line %d, file %s\n",yylineno,
+ config_warn("Missing end quote (\") on line %d, file %s\n",yylineno,
qPrintable(g_yyFileName));
}
BEGIN(g_lastState);
@@ -377,11 +380,11 @@ static void substEnvVarsInString(QString &s)
if (s.isEmpty()) return;
int p=0;
int i,l;
- //printf("substEnvVarInString(%s) start\n",s.toLatin1().data());
+ //printf("substEnvVarInString(%s) start\n",qPrintable(s));
while ((i=re.indexIn(s,p))!=-1)
{
l = re.matchedLength();
- //printf("Found environment var s.mid(%d,%d)=`%s'\n",i+2,l-3,s.mid(i+2,l-3).toLatin1().data());
+ //printf("Found environment var s.mid(%d,%d)=`%s'\n",i+2,l-3,qPrintable(s.mid(i+2,l-3)));
QString env=g_codec->toUnicode(getenv(s.mid(i+2,l-3).toLatin1()));
substEnvVarsInString(env); // recursively expand variables if needed.
s = s.left(i)+env+s.right(s.length()-i-l);
@@ -389,7 +392,7 @@ static void substEnvVarsInString(QString &s)
}
s=s.trimmed(); // to strip the bogus space that was added when an argument
// has quotes
- //printf("substEnvVarInString(%s) end\n",s.toLatin1().data());
+ //printf("substEnvVarInString(%s) end\n",qPrintable(s));
}
static void substEnvVarsInStrList(QStringList &sl)
@@ -404,7 +407,7 @@ static void substEnvVarsInStrList(QStringList &sl)
// here we strip the quote again
substEnvVarsInString(result);
- //printf("Result %s was quoted=%d\n",result.toLatin1().data(),wasQuoted);
+ //printf("Result %s was quoted=%d\n",qPrintable(result),wasQuoted);
if (!wasQuoted) /* as a result of the expansion, a single string
may have expanded into a list, which we'll
diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp
index d0728ae..4c577cd 100644
--- a/addon/doxywizard/doxywizard.cpp
+++ b/addon/doxywizard/doxywizard.cpp
@@ -193,7 +193,7 @@ void MainWindow::about()
t << QString::fromAscii("<qt><center>A tool to configure and run doxygen version ")+
QString::fromAscii(versionString)+
QString::fromAscii(" on your source files.</center><p><br>"
- "<center>Written by<br> Dimitri van Heesch<br>&copy; 2000-2014</center><p>"
+ "<center>Written by<br> Dimitri van Heesch<br>&copy; 2000-2015</center><p>"
"</qt>");
QMessageBox::about(this,tr("Doxygen GUI"),msg);
}
diff --git a/addon/doxywizard/inputbool.cpp b/addon/doxywizard/inputbool.cpp
index be99b0a..ec2035a 100644
--- a/addon/doxywizard/inputbool.cpp
+++ b/addon/doxywizard/inputbool.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputbool.h b/addon/doxywizard/inputbool.h
index 03bb76e..5a90477 100644
--- a/addon/doxywizard/inputbool.h
+++ b/addon/doxywizard/inputbool.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputint.cpp b/addon/doxywizard/inputint.cpp
index e0c426c..8fa46e8 100644
--- a/addon/doxywizard/inputint.cpp
+++ b/addon/doxywizard/inputint.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputint.h b/addon/doxywizard/inputint.h
index 6662865..457c942 100644
--- a/addon/doxywizard/inputint.h
+++ b/addon/doxywizard/inputint.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputstring.cpp b/addon/doxywizard/inputstring.cpp
index 48ede55..75de0b5 100644
--- a/addon/doxywizard/inputstring.cpp
+++ b/addon/doxywizard/inputstring.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputstring.h b/addon/doxywizard/inputstring.h
index 90ea87d..dba31f6 100644
--- a/addon/doxywizard/inputstring.h
+++ b/addon/doxywizard/inputstring.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputstrlist.cpp b/addon/doxywizard/inputstrlist.cpp
index 0a0f01f..777af6a 100644
--- a/addon/doxywizard/inputstrlist.cpp
+++ b/addon/doxywizard/inputstrlist.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputstrlist.h b/addon/doxywizard/inputstrlist.h
index 0d7efe7..53f3bcc 100644
--- a/addon/doxywizard/inputstrlist.h
+++ b/addon/doxywizard/inputstrlist.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/version.h b/addon/doxywizard/version.h
index b31fe4f..16bf9df 100644
--- a/addon/doxywizard/version.h
+++ b/addon/doxywizard/version.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/wizard.h b/addon/doxywizard/wizard.h
index 4d5eb9d..11a42be 100644
--- a/addon/doxywizard/wizard.h
+++ b/addon/doxywizard/wizard.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/configure b/configure
index 39d5057..8d9f1bb 100755
--- a/configure
+++ b/configure
@@ -17,7 +17,7 @@
doxygen_version_major=1
doxygen_version_minor=8
-doxygen_version_revision=9
+doxygen_version_revision=9.1
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn=NO
@@ -363,18 +363,27 @@ if test "$f_wizard" = YES; then
echo " QTDIR environment variable not set!"
printf " Checking for Qt..."
for d in /usr/{lib,share,qt}/{qt-4,qt4,qt,qt*,4} /usr; do
- if test -x "$d/bin/qmake"; then
- QTDIR=$d
- break 2
- fi
+ for e in qmake qmake-qt4; do
+ if test -x "$d/bin/$e"; then
+ QTDIR=$d
+ QMAKEEXE=$e
+ break 2
+ fi
+ done
done
else
- if test -e "$QTDIR/bin/qmake"; then
- printf " Detected Qt via the QTDIR environment variable..."
- else
+ for e in qmake qmake-qt4; do
+ if test -x "$QTDIR/bin/$e"; then
+ if test -e "$QTDIR/bin/$e"; then
+ printf " Detected Qt via the QTDIR environment variable..."
+ QMAKEEXE=$e
+ fi
+ fi
+ done
+ if test -z "$QMAKEEXE"; then
printf "ERROR Detected Qt via the QTDIR environment variable..."
- echo ", but $QTDIR/bin/qmake does not exist."
- echo " Set the QTDIR environment variable such that \$QTDIR/bin/qmake exists."
+ echo ", but $QTDIR/bin/qmake or variant does not exist."
+ echo " Set the QTDIR environment variable such that \$QTDIR/bin/qmake or variant exists."
exit 2
fi
fi
@@ -771,6 +780,7 @@ INSTTOOL = $f_insttool
DOXYDOCS = ..
DOCDIR = $f_docdir
QTDIR = $QTDIR
+QMAKEEXE = $QMAKEEXE
EOF
if test "$f_dot" != NO; then
diff --git a/doc/.gitignore b/doc/.gitignore
index a464770..d1d1371 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -1 +1,2 @@
-mailto.txt \ No newline at end of file
+*.bak
+mailto.txt
diff --git a/doc/Makefile.in b/doc/Makefile.in
index f0c3a03..e3a833c 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/Makefile.latex b/doc/Makefile.latex
index 803b75d..d4b48ff 100644
--- a/doc/Makefile.latex
+++ b/doc/Makefile.latex
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/Makefile.win_make.in b/doc/Makefile.win_make.in
index 1d22dbf..a8fc5fb 100644
--- a/doc/Makefile.win_make.in
+++ b/doc/Makefile.win_make.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/Makefile.win_nmake.in b/doc/Makefile.win_nmake.in
index 99ac2f1..af9c6d1 100644
--- a/doc/Makefile.win_nmake.in
+++ b/doc/Makefile.win_nmake.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/arch.doc b/doc/arch.doc
index fc80659..95cb270 100644
--- a/doc/arch.doc
+++ b/doc/arch.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/autolink.doc b/doc/autolink.doc
index b872f7d..506b1f6 100644
--- a/doc/autolink.doc
+++ b/doc/autolink.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/changelog.doc b/doc/changelog.doc
index 4810633..1f596a1 100644
--- a/doc/changelog.doc
+++ b/doc/changelog.doc
@@ -2,6 +2,29 @@
\tableofcontents
\section log_1_8 1.8 Series
+\subsection log_1_8_9_1 Release 1.8.9.1
+\htmlonly
+<b>(release date 04-01-2015)</b>
+<a name="1.8.9.1"></a>
+<ul>
+<li>Fixed a couple of cases where sharing string data could lead to corruption [<a href="http://github.com/doxygen/doxygen/commit/312bef563a5be72f6423377247db1b80044bf711">view</a>]</li>
+<li>Various VHDL related fixes [<a href="http://github.com/doxygen/doxygen/commit/34b00c442308efe169cc89fad62588fdce1d84e8">view</a>]</li>
+<li>Bug <a href="https://bugzilla.gnome.org/show_bug.cgi?id=742151">742151</a> - Bogus warning: citelist: Unexpected new line character [<a href="http://github.com/doxygen/doxygen/commit/5c321cbb6359bc1bb875729c08beba2edc084500">view</a>]</li>
+<li>Bug <a href="https://bugzilla.gnome.org/show_bug.cgi?id=742230">742230</a> - @todo paragraphs incorrectly placed in rtf output [<a href="http://github.com/doxygen/doxygen/commit/600d5859d7bcb94b08ef656fd427914766ae9afe">view</a>]</li>
+<li>Bug <a href="https://bugzilla.gnome.org/show_bug.cgi?id=742235">742235</a> - Bogus message with addtogroup [<a href="http://github.com/doxygen/doxygen/commit/b75af9180ae53f7c7abb94ccf906333169247785">view</a>]</li>
+<li>Documentation HTML Header, Footer, and Stylesheet changes [<a href="http://github.com/doxygen/doxygen/commit/478207365d7f09f0e676a76f654502c084806e4e">view</a>]</li>
+<li>Documenting RESULT variable of Fortran FUNCTION [<a href="http://github.com/doxygen/doxygen/commit/4d52beec3760244d959ab4d5528aea1acba505e7">view</a>]</li>
+<li>Fix potential null pointer dereference in src/context.cpp [<a href="http://github.com/doxygen/doxygen/commit/2690774f87b9fcb12b35153de82cde22248b3949">view</a>]</li>
+<li>Fixed compilation issue on Windows [<a href="http://github.com/doxygen/doxygen/commit/d75455eef7c91f11c2b9061d9a086ce93c4231b2">view</a>]</li>
+<li>Fortran FUNCTION source code [<a href="http://github.com/doxygen/doxygen/commit/25a90990662449808c5ba58c243a7835d13ba750">view</a>]</li>
+<li>Fortran: code color GOTO as flow keyword. [<a href="http://github.com/doxygen/doxygen/commit/8090675790ad9265bcffdf07ab4d48fc8c037276">view</a>]</li>
+<li>Help message regarding layout file [<a href="http://github.com/doxygen/doxygen/commit/7569f42d95332a5948e9d35e94e88d56d11634a9">view</a>]</li>
+<li>Remove unused local and static global variables [<a href="http://github.com/doxygen/doxygen/commit/d03e4c2ae1864c6f27a4341449ce97133aeb6847">view</a>]</li>
+<li>Suggestion to use stripPrefix has been implemented for RESULT. For consistency also implemented for arguments. [<a href="http://github.com/doxygen/doxygen/commit/6720a714461b9454c7cdbae7ceff7eb735feeb3b">view</a>]</li>
+<li>Switched back to version 6.2 of JavaCC for VHDL parser generation. [<a href="http://github.com/doxygen/doxygen/commit/088896f27f460b6ac03c2d64df148e3617c1e519">view</a>]</li>
+</ul>
+\endhtmlonly
+
\subsection log_1_8_9 Release 1.8.9
\htmlonly
<b>(release date 25-12-2014)</b>
diff --git a/doc/commands.doc b/doc/commands.doc
index 12fe9a6..c8f77eb 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -49,8 +49,8 @@ documentation:
\refitem cmdbrief \\brief
\refitem cmdbug \\bug
\refitem cmdc \\c
-\refitem cmdcallgraph \\callgraph
\refitem cmdcallergraph \\callergraph
+\refitem cmdcallgraph \\callgraph
\refitem cmdcategory \\category
\refitem cmdcite \\cite
\refitem cmdclass \\class
@@ -104,6 +104,8 @@ documentation:
\refitem cmdfile \\file
\refitem cmdfn \\fn
\refitem cmdheaderfile \\headerfile
+\refitem cmdhidecallergraph \\hidecallergraph
+\refitem cmdhidecallgraph \\hidecallgraph
\refitem cmdhideinitializer \\hideinitializer
\refitem cmdhtmlinclude \\htmlinclude
\refitem cmdhtmlonly \\htmlonly
@@ -273,7 +275,26 @@ Structural indicators
\note The completeness (and correctness) of the call graph depends on the
doxygen code parser which is not perfect.
- \sa section \ref cmdcallergraph "\\callergraph".
+ \sa section \ref cmdcallergraph "\\callergraph",
+ section \ref cmdhidecallgraph "\\hidecallgraph",
+ section \ref cmdhidecallergraph "\\hidecallergraph" and
+ option \ref cfg_call_graph "CALL_GRAPH"
+
+<hr>
+\section cmdhidecallgraph \\hidecallgraph
+
+ \addindex \\hidecallgraph
+ When this command is put in a comment block of a function or method
+ and then doxygen will not generate a call graph for that function. The
+ call graph will not be generated regardless of the value of
+ \ref cfg_call_graph "CALL_GRAPH".
+ \note The completeness (and correctness) of the call graph depends on the
+ doxygen code parser which is not perfect.
+
+ \sa section \ref cmdcallergraph "\\callergraph",
+ section \ref cmdcallgraph "\\callgraph",
+ section \ref cmdhidecallergraph "\\hidecallergraph" and
+ option \ref cfg_call_graph "CALL_GRAPH"
<hr>
\section cmdcallergraph \\callergraph
@@ -287,7 +308,26 @@ Structural indicators
\note The completeness (and correctness) of the caller graph depends on the
doxygen code parser which is not perfect.
- \sa section \ref cmdcallgraph "\\callgraph".
+ \sa section \ref cmdcallgraph "\\callgraph",
+ section \ref cmdhidecallgraph "\\hidecallgraph",
+ section \ref cmdhidecallergraph "\\hidecallergraph" and
+ option \ref cfg_caller_graph "CALLER_GRAPH"
+
+<hr>
+\section cmdhidecallergraph \\hidecallergraph
+
+ \addindex \\hidecallergraph
+ When this command is put in a comment block of a function or method
+ and then doxygen will not generate a caller graph for that function. The
+ caller graph will not be generated regardless of the value of
+ \ref cfg_caller_graph "CALLER_GRAPH".
+ \note The completeness (and correctness) of the caller graph depends on the
+ doxygen code parser which is not perfect.
+
+ \sa section \ref cmdcallergraph "\\callergraph",
+ section \ref cmdcallgraph "\\callgraph",
+ section \ref cmdhidecallgraph "\\hidecallgraph" and
+ option \ref cfg_caller_graph "CALLER_GRAPH"
<hr>
\section cmdcategory \\category <name> [<header-file>] [<header-name>]
@@ -3190,7 +3230,7 @@ class Receiver
\addindex \\\.
This command writes a dot (`.`) to the output. This can be useful to
- prevent ending a brief description when JAVADOC_AUTOBRIEF is enabled
+ prevent ending a brief description when \ref cfg_javadoc_autobrief "JAVADOC_AUTOBRIEF" is enabled
or to prevent starting a numbered list when the dot follows a number at
the start of a line.
diff --git a/doc/custcmd.doc b/doc/custcmd.doc
index db41f95..8ac2a65 100644
--- a/doc/custcmd.doc
+++ b/doc/custcmd.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/customize.doc b/doc/customize.doc
index 46b1d8b..f98ce0b 100644
--- a/doc/customize.doc
+++ b/doc/customize.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -117,9 +117,9 @@ This will create 3 files:
You should edit these files and then reference them from the config file.
- \ref cfg_html_header "HTML_HEADER" = \c header.html
- \ref cfg_html_footer "HTML_FOOTER" = \c footer.html
-- \ref cfg_html_stylesheet "HTML_STYLESHEET" = \c customdoxygen.css <b>&larr;obsolete</b>
+- \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET" = \c my_customdoxygen.css
-\note it is not longer recommended to use HTML_STYLESHEET this way,
+\note it is not longer recommended to use \ref cfg_html_stylesheet "HTML_STYLESHEET",
as it make it difficult to upgrade to a newer version of doxygen. Use
\ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET" instead.
diff --git a/doc/diagrams.doc b/doc/diagrams.doc
index bafb21d..ddc3d2a 100644
--- a/doc/diagrams.doc
+++ b/doc/diagrams.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -52,10 +52,14 @@
</ul>
<li>if \ref cfg_call_graph "CALL_GRAPH" is set to YES, a
graphical call graph is drawn for each function showing the
- functions that the function directly or indirectly calls.
+ functions that the function directly or indirectly calls
+ (see also section \ref cmdcallgraph "\\callgraph" and
+ section \ref cmdhidecallgraph "\\hidecallgraph").
<li>if \ref cfg_caller_graph "CALLER_GRAPH" is set to YES, a
graphical caller graph is drawn for each function showing the
- functions that the function is directly or indirectly called by.
+ functions that the function is directly or indirectly called by
+ (see also section \ref cmdcallergraph "\\callergraph" and
+ section \ref cmdhidecallergraph "\\hidecallergraph").
</ul>
Using a \ref customize "layout file" you can determine which of the
diff --git a/doc/docblocks.doc b/doc/docblocks.doc
index 333e5d2..3673e73 100644
--- a/doc/docblocks.doc
+++ b/doc/docblocks.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxygen.1 b/doc/doxygen.1
index f3a7abc..6861c22 100644
--- a/doc/doxygen.1
+++ b/doc/doxygen.1
@@ -45,6 +45,6 @@ doxygen \fB\-e\fR rtf extensionsFile
If \fB\-s\fR is specified the comments in the config file will be omitted.
If configName is omitted `Doxyfile' will be used as a default.
.SH AUTHOR
-Doxygen version VERSION, Copyright Dimitri van Heesch 1997-2014
+Doxygen version VERSION, Copyright Dimitri van Heesch 1997-2015
.SH SEE ALSO
doxywizard(1).
diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex
index 4bac9a9..c97c5f0 100644
--- a/doc/doxygen_manual.tex
+++ b/doc/doxygen_manual.tex
@@ -1,7 +1,7 @@
%
%
%
-% Copyright (C) 1997-2014 by Dimitri van Heesch.
+% Copyright (C) 1997-2015 by Dimitri van Heesch.
%
% Permission to use, copy, modify, and distribute this software and its
% documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxygen_usage.doc b/doc/doxygen_usage.doc
index d84432e..bcb14e8 100644
--- a/doc/doxygen_usage.doc
+++ b/doc/doxygen_usage.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxywizard_usage.doc b/doc/doxywizard_usage.doc
index bec143c..310c358 100644
--- a/doc/doxywizard_usage.doc
+++ b/doc/doxywizard_usage.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/external.doc b/doc/external.doc
index be7d764..c3ec811 100644
--- a/doc/external.doc
+++ b/doc/external.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/extsearch.doc b/doc/extsearch.doc
index e07edd7..6429766 100644
--- a/doc/extsearch.doc
+++ b/doc/extsearch.doc
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/faq.doc b/doc/faq.doc
index 356c42b..0f12a44 100644
--- a/doc/faq.doc
+++ b/doc/faq.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/features.doc b/doc/features.doc
index bd548c2..dd75a9d 100644
--- a/doc/features.doc
+++ b/doc/features.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/formulas.doc b/doc/formulas.doc
index 1a6208e..937ff86 100644
--- a/doc/formulas.doc
+++ b/doc/formulas.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/grouping.doc b/doc/grouping.doc
index 4397b76..2e11e7e 100644
--- a/doc/grouping.doc
+++ b/doc/grouping.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/htmlcmds.doc b/doc/htmlcmds.doc
index d041f1e..b8324f8 100644
--- a/doc/htmlcmds.doc
+++ b/doc/htmlcmds.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/index.doc b/doc/index.doc
index 0cb1e59..8b0d403 100644
--- a/doc/index.doc
+++ b/doc/index.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -118,7 +118,7 @@ The third part provides information for developers:
\addindex license
\addindex GPL
-Copyright &copy; 1997-2014 by
+Copyright &copy; 1997-2015 by
<a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>.<p>
Permission to use, copy, modify, and distribute this software and its
diff --git a/doc/install.doc b/doc/install.doc
index 9648ade..3f5d8ab 100644
--- a/doc/install.doc
+++ b/doc/install.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/language.tpl b/doc/language.tpl
index 78e3e97..01d906b 100644
--- a/doc/language.tpl
+++ b/doc/language.tpl
@@ -5,7 +5,7 @@ change the language.doc, make the changes here and inside maintainers.txt.
/******************************************************************************
* %(editnote)s
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/markdown.doc b/doc/markdown.doc
index e97b29e..87af3d8 100644
--- a/doc/markdown.doc
+++ b/doc/markdown.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -390,6 +390,12 @@ int func(int a,int b) { return a*b; }
The curly braces and dot are optional by the way.
+Another way to denote fenced code blocks is to use 3 or more backticks (```):
+
+ ```
+ also a fenced code block
+ ```
+
\subsection md_header_id Header Id Attributes
Standard Markdown has no support for labeling headers, which
diff --git a/doc/output.doc b/doc/output.doc
index 2cb81bd..3a24a60 100644
--- a/doc/output.doc
+++ b/doc/output.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/preprocessing.doc b/doc/preprocessing.doc
index 0ba9b12..d62bbb3 100644
--- a/doc/preprocessing.doc
+++ b/doc/preprocessing.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/searching.doc b/doc/searching.doc
index 25dcc3a..dcf858f 100644
--- a/doc/searching.doc
+++ b/doc/searching.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/starting.doc b/doc/starting.doc
index a465d3f..081ef8b 100644
--- a/doc/starting.doc
+++ b/doc/starting.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/translator.py b/doc/translator.py
index 19277be..69e7de8 100644
--- a/doc/translator.py
+++ b/doc/translator.py
@@ -1796,7 +1796,9 @@ class TrManager:
# document template.
tplDic = {}
- s = 'Do not edit this file. It was generated by the %s script. * Instead edit %s and %s' % (self.script_name, self.languageTplFileName, self.maintainersFileName)
+ s = ('Do not edit this file. It was generated by the %s script.\n' +\
+ ' * Edit the %s and %s files instead.') % (
+ self.script_name, self.languageTplFileName, self.maintainersFileName)
tplDic['editnote'] = s
tplDic['doxVersion'] = self.doxVersion
@@ -1987,17 +1989,14 @@ if __name__ == '__main__':
# The Python 2.6+ or 3.3+ is required.
major, minor, patch = (int(e) for e in platform.python_version_tuple())
- print(major, minor, patch)
if (major == 2 and minor < 6) or (major == 3 and minor < 0):
print('Python 2.6+ or Python 3.0+ are required for the script')
sys.exit(1)
- # The translator manager builds the transl objects, parses the related
+ # The translator manager builds the Transl objects, parses the related
# sources, and keeps them in memory.
trMan = TrManager()
- # Generate the language.doc.
+ # Process the Transl objects and generate the output files.
trMan.generateLanguageDoc()
-
- # Generate the translator report.
trMan.generateTranslatorReport()
diff --git a/doc/trouble.doc b/doc/trouble.doc
index d36e330..718c7bc 100644
--- a/doc/trouble.doc
+++ b/doc/trouble.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/xmlcmds.doc b/doc/xmlcmds.doc
index 0e8aa64..501bf91 100644
--- a/doc/xmlcmds.doc
+++ b/doc/xmlcmds.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/examples/example.cfg b/examples/example.cfg
index 4c5c869..a25df24 100644
--- a/examples/example.cfg
+++ b/examples/example.cfg
@@ -1,6 +1,6 @@
PROJECT_NAME = "Example Command"
OUTPUT_DIRECTORY = example
-GENERATE_TAGFILE = example.tag
+#GENERATE_TAGFILE = example.tag
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
diff --git a/jquery/jquery.ui-1.8.18.core.js b/jquery/jquery.ui-1.8.18.core.js
index 98b4f9b..e6f1212 100644
--- a/jquery/jquery.ui-1.8.18.core.js
+++ b/jquery/jquery.ui-1.8.18.core.js
@@ -226,7 +226,7 @@ $(function() {
div = body.appendChild( div = document.createElement( "div" ) );
// access offsetHeight before setting the style to prevent a layout bug
- // in IE 9 which causes the elemnt to continue to take up space even
+ // in IE 9 which causes the element to continue to take up space even
// after it is removed from the DOM (#8026)
div.offsetHeight;
diff --git a/qtools/Doxyfile b/qtools/Doxyfile
index 644eee5..41f2ad9 100644
--- a/qtools/Doxyfile
+++ b/qtools/Doxyfile
@@ -196,7 +196,7 @@ EXTRA_SEARCH_MAPPINGS =
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
+GENERATE_LATEX = YES
LATEX_OUTPUT =
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
diff --git a/qtools/qcstring.cpp b/qtools/qcstring.cpp
index 49bf842..45ccef9 100644
--- a/qtools/qcstring.cpp
+++ b/qtools/qcstring.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2004 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -31,7 +31,7 @@ QCString &QCString::sprintf( const char *format, ... )
const int minlen=256;
int l = length();
if (l<minlen) { resize(minlen); l=minlen; }
- int n=vsnprintf( data(), l, format, ap);
+ int n=vsnprintf( rawData(), l, format, ap);
if (n<0) n=l;
resize(n+1);
va_end( ap );
@@ -62,7 +62,7 @@ int QCString::find( const char *str, int index, bool cs ) const
if (index<0 || index>=l) return -1; // index outside string
if (!str) return -1; // no string to search for
if (!*str) return index; // empty string matching at index
- register char *pos;
+ register const char *pos;
if (cs) // case sensitive
{
pos = strstr(data()+index,str);
@@ -132,7 +132,7 @@ int QCString::findRev( const char *str, int index, bool cs) const
else if (index>len) return -1; // bad index
else if (index+slen>len) index=len-slen; // str would be too long
if (index<0) return -1; // no match possible
- register char *pos = data()+index;
+ register const char *pos = data()+index;
if (cs) // case sensitive
{
for (int i=index; i>=0; i--) if (qstrncmp(pos--,str,slen)==0) return i;
@@ -204,9 +204,7 @@ bool QCString::stripPrefix(const char *prefix)
int len = qstrlen(prefix);
if (qstrncmp(prefix,data(),len)==0)
{
- int newlen = length()-len+1;
- qmemmove(data(),data()+len,newlen);
- resize(newlen);
+ m_rep=mid(len,length()-len).m_rep; // need to make a deep copy
return TRUE;
}
return FALSE;
@@ -225,7 +223,7 @@ QCString QCString::left( uint len ) const
else
{
QCString s( len+1 );
- memcpy( s.data(), data(), len);
+ memcpy( s.rawData(), data(), len);
return s;
}
}
@@ -255,9 +253,9 @@ QCString QCString::mid( uint index, uint len) const
}
else
{
- register char *p = data()+index;
+ register const char *p = data()+index;
QCString s(len+1);
- qstrncpy( s.data(), p, len+1 );
+ qstrncpy( s.rawData(), p, len+1 );
return s;
}
}
@@ -266,7 +264,7 @@ QCString QCString::lower() const
{
if (length()==0) return QCString();
QCString s(data());
- register char *pos = s.data();
+ register char *pos = s.rawData();
if (pos)
{
while (*pos)
@@ -282,7 +280,7 @@ QCString QCString::upper() const
{
if (length()==0) return QCString();
QCString s(data());
- register char *pos = s.data();
+ register char *pos = s.rawData();
if (pos)
{
while (*pos)
@@ -299,13 +297,13 @@ QCString QCString::stripWhiteSpace() const
if ( isEmpty() ) // nothing to do
return *this;
- register char *s = data();
+ register const char *cs = data();
int reslen = length();
- if ( !isspace((uchar)s[0]) && !isspace((uchar)s[reslen-1]) )
+ if ( !isspace((uchar)cs[0]) && !isspace((uchar)cs[reslen-1]) )
return *this; // returns a copy
- QCString result(s);
- s = result.data();
+ QCString result(cs);
+ register char *s = result.rawData();
int start = 0;
int end = reslen - 1;
while ( isspace((uchar) s[start]) ) // skip white space from start
@@ -317,7 +315,7 @@ QCString QCString::stripWhiteSpace() const
while ( end && isspace((uchar) s[end]) ) // skip white space from end
end--;
end -= start - 1;
- qmemmove( result.data(), &s[start], end );
+ qmemmove( s, &s[start], end );
result.resize( end + 1 );
return result;
}
@@ -328,8 +326,8 @@ QCString QCString::simplifyWhiteSpace() const
return *this;
QCString result( length()+1 );
- char *from = data();
- char *to = result.data();
+ const char *from = data();
+ char *to = result.rawData();
char *first = to;
while ( TRUE )
{
@@ -363,14 +361,14 @@ QCString &QCString::insert( uint index, const char *s )
if ((int)index>=olen)
{
resize(nlen+index-olen+1);
- memset(data()+olen, ' ', index-olen);
- memcpy(data()+index,s, len+1);
+ memset(rawData()+olen, ' ', index-olen);
+ memcpy(rawData()+index,s, len+1);
}
else
{
resize(nlen+1);
- qmemmove(data()+index+len,data()+index,olen-index+1);
- memcpy(data()+index,s,len);
+ qmemmove(rawData()+index+len,data()+index,olen-index+1);
+ memcpy(rawData()+index,s,len);
}
return *this;
}
@@ -402,8 +400,10 @@ QCString &QCString::remove( uint index, uint len )
}
else if ( len != 0 )
{
- qmemmove( data()+index, data()+index+len, olen-index-len+1 );
+ QCString tmp(olen-index-len+1);
+ qmemmove( tmp.rawData(), data()+index+len, olen-index-len+1 );
resize( olen-len+1 );
+ memcpy( rawData()+index,tmp.data(),tmp.length() );
}
return *this;
}
@@ -635,7 +635,7 @@ QDataStream &operator>>( QDataStream &s, QCString &str )
len = 0;
}
if ( len > 0 ) // not null array
- s.readRawBytes( str.data(), (uint)len );
+ s.readRawBytes( str.rawData(), (uint)len );
return s;
}
diff --git a/qtools/qcstring.h b/qtools/qcstring.h
index bc3a091..d8ce074 100644
--- a/qtools/qcstring.h
+++ b/qtools/qcstring.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 1997-2004 by Dimitri van Heesch.
+** Copyright (C) 1997-2015 by Dimitri van Heesch.
**
** Permission to use, copy, modify, and distribute this software and its
** documentation under the terms of the GNU General Public License is hereby
@@ -204,11 +204,20 @@ public:
}
/** Returns a pointer to the contents of the string in the form of a 0-terminated C string */
- char *data() const
+ const char *data() const
{
return m_rep.data();
}
+ /** Returns a writable pointer to the data.
+ * @warning if the string is shared it will modifying the string directly and
+ * this will overwrite all copies as well!
+ */
+ char *rawData() const
+ {
+ return m_rep.rawData();
+ }
+
/** Resizes the string to hold \a newlen characters
* (this value should include the 0-terminator). If the string is enlarged the contents will
* be left unmodified.
@@ -242,7 +251,7 @@ public:
{
if (length()==0) return QCString();
QCString cs(length()+1);
- memcpy(cs.data(),data(),length());
+ memcpy(cs.rawData(),data(),length());
return cs;
}
@@ -299,7 +308,7 @@ public:
int len1 = length();
int len2 = (int)strlen(str);
resize(len1+len2+1);
- memcpy(data()+len1,str,len2);
+ memcpy(rawData()+len1,str,len2);
return *this;
}
@@ -308,7 +317,7 @@ public:
{
int len = length();
resize(len+2);
- data()[len]=c;
+ rawData()[len]=c;
return *this;
}
@@ -568,9 +577,21 @@ public:
}
uint length() const
{
- return u.s.isShort ? u.s.len : u.l.d->len;
+ uint l = u.s.isShort ? u.s.len : u.l.d->len;
+ return l;
}
- char *data() const
+ const char *data() const
+ {
+ if (u.s.isShort)
+ {
+ return u.s.len==0 ? 0 : u.s.str;
+ }
+ else
+ {
+ return u.l.d->len==0 ? 0 : u.l.d->toStr();
+ }
+ }
+ char *rawData() const
{
if (u.s.isShort)
{
@@ -578,6 +599,7 @@ public:
}
else
{
+ //assert(u.l.d->refCount==0); // string may not be shared when accessed raw
return u.l.d->len==0 ? 0 : u.l.d->toStr();
}
}
@@ -645,24 +667,20 @@ public:
bool fill( char c, int len )
{
if (len<0) len=length();
- if (len!=(int)length())
+ if (!u.s.isShort) // detach from shared string
+ {
+ resize(len+1);
+ }
+ else if (len!=(int)length())
{
if (len>0)
{
resize(len+1);
}
- else
- {
- if (!u.s.isShort)
- {
- u.l.d->dispose();
- }
- initEmpty();
- }
}
if (len>0)
{
- memset(data(),c,len);
+ memset(rawData(),c,len);
}
return TRUE;
}
diff --git a/qtools/qfeatures.h b/qtools/qfeatures.h
index d6c2882..1042ce6 100644
--- a/qtools/qfeatures.h
+++ b/qtools/qfeatures.h
@@ -378,7 +378,7 @@
*/
//#define QT_NO_QWS_DEPTH_1
/*!
- 4-bit greyscale
+ 4-bit grayscale
*/
//#define QT_NO_QWS_DEPTH_4
/*!
diff --git a/qtools/qglobal.h b/qtools/qglobal.h
index aa11f01..c3f7594 100644
--- a/qtools/qglobal.h
+++ b/qtools/qglobal.h
@@ -76,34 +76,6 @@
# undef MAC_OS_X_VERSION_MIN_REQUIRED
# endif
# define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_3
-# include <AvailabilityMacros.h>
-# if !defined(MAC_OS_X_VERSION_10_3)
-# define MAC_OS_X_VERSION_10_3 MAC_OS_X_VERSION_10_2 + 10
-# endif
-# if !defined(MAC_OS_X_VERSION_10_4)
-# define MAC_OS_X_VERSION_10_4 MAC_OS_X_VERSION_10_3 + 10
-# endif
-# if !defined(MAC_OS_X_VERSION_10_5)
-# define MAC_OS_X_VERSION_10_5 MAC_OS_X_VERSION_10_4 + 10
-# endif
-# if !defined(MAC_OS_X_VERSION_10_6)
-# define MAC_OS_X_VERSION_10_6 MAC_OS_X_VERSION_10_5 + 10
-# endif
-# if !defined(MAC_OS_X_VERSION_10_7)
-# define MAC_OS_X_VERSION_10_7 MAC_OS_X_VERSION_10_6 + 10
-# endif
-# if !defined(MAC_OS_X_VERSION_10_8)
-# define MAC_OS_X_VERSION_10_8 MAC_OS_X_VERSION_10_7 + 10
-# endif
-# if !defined(MAC_OS_X_VERSION_10_9)
-# define MAC_OS_X_VERSION_10_9 MAC_OS_X_VERSION_10_8 + 10
-# endif
-# if !defined(MAC_OS_X_VERSION_10_10)
-# define MAC_OS_X_VERSION_10_10 MAC_OS_X_VERSION_10_9 + 10
-# endif
-# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_10)
-# warning "This version of Mac OS X is unsupported"
-# endif
#elif defined(MSDOS) || defined(_MSDOS) || defined(__MSDOS__)
#define _OS_MSDOS_
#elif defined(OS2) || defined(_OS2) || defined(__OS2__)
diff --git a/qtools/qstring.cpp b/qtools/qstring.cpp
index 3673c20..f51c0d4 100644
--- a/qtools/qstring.cpp
+++ b/qtools/qstring.cpp
@@ -11963,7 +11963,7 @@ QChar* QString::asciiToUnicode( const QByteArray& ba, uint* len )
int l = 0;
while ( l < (int)ba.size() && ba[l] )
l++;
- char* str = ba.data();
+ const char* str = ba.data();
QChar *uc = new QChar[ l ]; // Can't use macro, since function is public
QChar *result = uc;
if ( len )
@@ -11982,7 +11982,7 @@ static QChar* internalAsciiToUnicode( const QByteArray& ba, uint* len )
int l = 0;
while ( l < (int)ba.size() && ba[l] )
l++;
- char* str = ba.data();
+ const char* str = ba.data();
QChar *uc = QT_ALLOC_QCHAR_VEC( l );
QChar *result = uc;
if ( len )
@@ -15257,7 +15257,7 @@ QCString qt_winQString2MB( const QString& s, int uclen )
QCString mb(bufSize);
int len;
while ( !(len=WideCharToMultiByte(CP_ACP, 0, (const WCHAR*)s.unicode(), uclen,
- mb.data(), bufSize-1, 0, &used_def)) )
+ mb.rawData(), bufSize-1, 0, &used_def)) )
{
int r = GetLastError();
if ( r == ERROR_INSUFFICIENT_BUFFER ) {
diff --git a/qtools/qtextcodec.cpp b/qtools/qtextcodec.cpp
index 168445f..bd874bb 100644
--- a/qtools/qtextcodec.cpp
+++ b/qtools/qtextcodec.cpp
@@ -1192,7 +1192,7 @@ public:
lenInOut = uc.length();
int rlen = lenInOut*max_bytes_per_char;
QCString rstr(rlen);
- char* cursor = rstr.data();
+ char* cursor = rstr.rawData();
char* s=0;
int l = lenInOut;
int lout = 0;
@@ -1881,7 +1881,7 @@ QCString QSimpleTextCodec::fromUnicode(const QString& uc, int& len ) const
int i = len;
int u;
const QChar* ucp = uc.unicode();
- char* rp = r.data();
+ char* rp = r.rawData();
char* rmp = reverseMap->data();
int rmsize = (int) reverseMap->size();
while( i-- )
diff --git a/qtools/qtextstream.cpp b/qtools/qtextstream.cpp
index bae072d..4ebf59e 100644
--- a/qtools/qtextstream.cpp
+++ b/qtools/qtextstream.cpp
@@ -1443,17 +1443,17 @@ QTextStream &QTextStream::operator>>( QCString &str )
if ( i >= buflen-1 ) {
if ( !dynbuf ) { // create dynamic buffer
dynbuf = new QCString(buflen*2);
- memcpy( dynbuf->data(), s, i ); // copy old data
+ memcpy( dynbuf->rawData(), s, i ); // copy old data
} else if ( i >= (int)dynbuf->size()-1 ) {
dynbuf->resize( dynbuf->size()*2 );
}
- s = dynbuf->data();
+ s = dynbuf->rawData();
}
s[i++] = c;
c = ts_getc();
}
str.resize( i+1 );
- memcpy( str.data(), s, i );
+ memcpy( str.rawData(), s, i );
delete dynbuf;
return *this;
}
diff --git a/qtools/qutfcodec.cpp b/qtools/qutfcodec.cpp
index c7094ad..a37e37f 100644
--- a/qtools/qutfcodec.cpp
+++ b/qtools/qutfcodec.cpp
@@ -203,14 +203,14 @@ public:
if ( headerdone ) {
len_in_out = uc.length()*(int)sizeof(QChar);
QCString d(len_in_out);
- memcpy(d.data(),uc.unicode(),len_in_out);
+ memcpy(d.rawData(),uc.unicode(),len_in_out);
return d;
} else {
headerdone = TRUE;
len_in_out = (1+uc.length())*(int)sizeof(QChar);
QCString d(len_in_out);
- memcpy(d.data(),&QChar::byteOrderMark,sizeof(QChar));
- memcpy(d.data()+sizeof(QChar),uc.unicode(),uc.length()*sizeof(QChar));
+ memcpy(d.rawData(),&QChar::byteOrderMark,sizeof(QChar));
+ memcpy(d.rawData()+sizeof(QChar),uc.unicode(),uc.length()*sizeof(QChar));
return d;
}
}
diff --git a/src/Makefile.in b/src/Makefile.in
index 865740d..ac7efaa 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -2,7 +2,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/src/arguments.cpp b/src/arguments.cpp
index 2acf855..87d0438 100644
--- a/src/arguments.cpp
+++ b/src/arguments.cpp
@@ -54,6 +54,7 @@ ArgumentList *ArgumentList::unmarshal(StorageIntf *s)
a->array = unmarshalQCString(s);
a->defval = unmarshalQCString(s);
a->docs = unmarshalQCString(s);
+ a->typeConstraint = unmarshalQCString(s);
result->append(a);
}
result->constSpecifier = unmarshalBool(s);
@@ -85,6 +86,7 @@ void ArgumentList::marshal(StorageIntf *s,ArgumentList *argList)
marshalQCString(s,a->array);
marshalQCString(s,a->defval);
marshalQCString(s,a->docs);
+ marshalQCString(s,a->typeConstraint);
}
}
marshalBool(s,argList->constSpecifier);
diff --git a/src/arguments.h b/src/arguments.h
index ed09869..8b3d211 100644
--- a/src/arguments.h
+++ b/src/arguments.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -30,37 +30,39 @@ struct Argument
/*! Construct a new argument. */
Argument() {}
/*! Copy an argument (does a deep copy of all strings). */
- Argument(const Argument &a)
- {
- attrib=a.attrib.copy();
- type=a.type.copy();
- name=a.name.copy();
- defval=a.defval.copy();
- docs=a.docs.copy();
- array=a.array.copy();
+ Argument(const Argument &a)
+ {
+ attrib=a.attrib;
+ type=a.type;
+ name=a.name;
+ array=a.array;
+ defval=a.defval;
+ docs=a.docs;
+ typeConstraint=a.typeConstraint;
}
/*! Assignment of an argument (does a deep copy of all strings). */
Argument &operator=(const Argument &a)
{
if (this!=&a)
{
- attrib=a.attrib.copy();
- type=a.type.copy();
- name=a.name.copy();
- defval=a.defval.copy();
- docs=a.docs.copy();
- array=a.array.copy();
+ attrib=a.attrib;
+ type=a.type;
+ name=a.name;
+ array=a.array;
+ defval=a.defval;
+ docs=a.docs;
+ typeConstraint=a.typeConstraint;
}
return *this;
}
/*! return TRUE if this argument is documentation and the argument has a
* non empty name.
*/
- bool hasDocumentation() const
- {
- return !name.isEmpty() && !docs.isEmpty();
+ bool hasDocumentation() const
+ {
+ return !name.isEmpty() && !docs.isEmpty();
}
-
+
QCString attrib; /*!< Argument's attribute (IDL only) */
QCString type; /*!< Argument's type */
QCString canType; /*!< Cached value of canonical type (after type resolution). Empty initially. */
@@ -68,6 +70,7 @@ struct Argument
QCString array; /*!< Argument's array specifier (may be empty) */
QCString defval; /*!< Argument's default value (may be empty) */
QCString docs; /*!< Argument's documentation (may be empty) */
+ QCString typeConstraint; /*!< Used for Java generics: \<T extends C\> */
};
/*! \brief This class represents an function or template argument list.
diff --git a/src/bufstr.h b/src/bufstr.h
index 7fb7d40..331def2 100644
--- a/src/bufstr.h
+++ b/src/bufstr.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/cite.cpp b/src/cite.cpp
index f0d7d66..2ea6300 100644
--- a/src/cite.cpp
+++ b/src/cite.cpp
@@ -63,7 +63,6 @@ void CiteDict::writeLatexBibliography(FTextStream &t)
t << "\\bibliographystyle{" << style << "}\n"
"\\bibliography{";
QStrList &citeDataList = Config_getList("CITE_BIB_FILES");
- QCString latexOutputDir = Config_getString("LATEX_OUTPUT")+"/";
int i = 0;
const char *bibdata = citeDataList.first();
while (bibdata)
@@ -211,7 +210,7 @@ void CiteDict::generatePage() const
QCString doc;
QFileInfo fi(citeListFile);
QCString input(fi.size()+1);
- f.readBlock(input.data(),fi.size());
+ f.readBlock(input.rawData(),fi.size());
f.close();
input.at(fi.size())='\0';
int p=0,s;
diff --git a/src/classdef.cpp b/src/classdef.cpp
index 5c42f57..95428d6 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -118,6 +118,8 @@ class ClassDefImpl
UsesClassDict *usedByImplClassDict;
UsesClassDict *usesIntfClassDict;
+ ConstraintClassDict *constraintClassDict;
+
/*! Template instances that exists of this class, the key in the
* dictionary is the template argument list.
*/
@@ -216,6 +218,7 @@ void ClassDefImpl::init(const char *defFileName, const char *name,
usesImplClassDict=0;
usedByImplClassDict=0;
usesIntfClassDict=0;
+ constraintClassDict=0;
memberGroupSDict = 0;
innerClasses = 0;
subGrouping=Config_getBool("SUBGROUPING");
@@ -267,6 +270,7 @@ ClassDefImpl::~ClassDefImpl()
delete usesImplClassDict;
delete usedByImplClassDict;
delete usesIntfClassDict;
+ delete constraintClassDict;
delete incInfo;
delete memberGroupSDict;
delete innerClasses;
@@ -2526,20 +2530,67 @@ bool ClassDef::hasExamples() const
return result;
}
+void ClassDef::addTypeConstraint(const QCString &typeConstraint,const QCString &type)
+{
+ //printf("addTypeContraint(%s,%s)\n",type.data(),typeConstraint.data());
+ static bool hideUndocRelation = Config_getBool("HIDE_UNDOC_RELATIONS");
+ if (typeConstraint.isEmpty() || type.isEmpty()) return;
+ ClassDef *cd = getResolvedClass(this,getFileDef(),typeConstraint);
+ if (cd==0 && !hideUndocRelation)
+ {
+ cd = new ClassDef(getDefFileName(),getDefLine(),getDefColumn(),typeConstraint,ClassDef::Class);
+ cd->setUsedOnly(TRUE);
+ cd->setLanguage(getLanguage());
+ Doxygen::hiddenClasses->append(typeConstraint,cd);
+ //printf("Adding undocumented constraint '%s' to class %s on type %s\n",
+ // typeConstraint.data(),name().data(),type.data());
+ }
+ if (cd)
+ {
+ if (m_impl->constraintClassDict==0)
+ {
+ m_impl->constraintClassDict = new ConstraintClassDict(17);
+ m_impl->constraintClassDict->setAutoDelete(TRUE);
+ }
+ ConstraintClassDef *ccd=m_impl->constraintClassDict->find(typeConstraint);
+ if (ccd==0)
+ {
+ ccd = new ConstraintClassDef(cd);
+ m_impl->constraintClassDict->insert(typeConstraint,ccd);
+ }
+ ccd->addAccessor(type);
+ //printf("Adding constraint '%s' to class %s on type %s\n",
+ // typeConstraint.data(),name().data(),type.data());
+ }
+}
-void ClassDef::setTemplateArguments(ArgumentList *al)
+// Java Type Constrains: A<T extends C & I>
+void ClassDef::addTypeConstraints()
{
- if (al==0) return;
- if (!m_impl->tempArgs) delete m_impl->tempArgs; // delete old list if needed
- m_impl->tempArgs=new ArgumentList;
- ArgumentListIterator ali(*al);
- Argument *a;
- for (;(a=ali.current());++ali)
+ if (m_impl->tempArgs)
{
- m_impl->tempArgs->append(new Argument(*a));
+ ArgumentListIterator ali(*m_impl->tempArgs);
+ Argument *a;
+ for (;(a=ali.current());++ali)
+ {
+ if (!a->typeConstraint.isEmpty())
+ {
+ QCString typeConstraint;
+ int i=0,p=0;
+ while ((i=a->typeConstraint.find('&',p))!=-1) // typeConstraint="A &I" for C<T extends A & I>
+ {
+ typeConstraint = a->typeConstraint.mid(p,i-p).stripWhiteSpace();
+ addTypeConstraint(typeConstraint,a->type);
+ p=i+1;
+ }
+ typeConstraint = a->typeConstraint.right(a->typeConstraint.length()-p).stripWhiteSpace();
+ addTypeConstraint(typeConstraint,a->type);
+ }
+ }
}
}
+// C# Type Constraints: D<T> where T : C, I
void ClassDef::setTypeConstraints(ArgumentList *al)
{
if (al==0) return;
@@ -2553,6 +2604,20 @@ void ClassDef::setTypeConstraints(ArgumentList *al)
}
}
+void ClassDef::setTemplateArguments(ArgumentList *al)
+{
+ if (al==0) return;
+ if (!m_impl->tempArgs) delete m_impl->tempArgs; // delete old list if needed
+ //printf("setting template args '%s' for '%s'\n",tempArgListToString(al,getLanguage()).data(),name().data());
+ m_impl->tempArgs=new ArgumentList;
+ ArgumentListIterator ali(*al);
+ Argument *a;
+ for (;(a=ali.current());++ali)
+ {
+ m_impl->tempArgs->append(new Argument(*a));
+ }
+}
+
/*! Returns \c TRUE iff this class or a class inheriting from this class
* is \e not defined in an external tag file.
*/
@@ -3123,18 +3188,19 @@ void ClassDef::mergeCategory(ClassDef *category)
Protection prot = mi->prot;
//if (makePrivate) prot = Private;
MemberDef *newMd = mi->memberDef->deepCopy();
- //printf("Copying member %s\n",mi->memberDef->name().data());
- newMd->moveTo(this);
-
- MemberInfo *newMi=new MemberInfo(newMd,prot,mi->virt,mi->inherited);
- newMi->scopePath=mi->scopePath;
- newMi->ambigClass=mi->ambigClass;
- newMi->ambiguityResolutionScope=mi->ambiguityResolutionScope;
- newMni->append(newMi);
-
- // also add the newly created member to the global members list
if (newMd)
{
+ //printf("Copying member %s\n",mi->memberDef->name().data());
+ newMd->moveTo(this);
+
+ MemberInfo *newMi=new MemberInfo(newMd,prot,mi->virt,mi->inherited);
+ newMi->scopePath=mi->scopePath;
+ newMi->ambigClass=mi->ambigClass;
+ newMi->ambiguityResolutionScope=mi->ambiguityResolutionScope;
+ newMni->append(newMi);
+
+ // also add the newly created member to the global members list
+
MemberName *mn;
QCString name = newMd->name();
if ((mn=Doxygen::memberNameSDict->find(name)))
@@ -3147,17 +3213,17 @@ void ClassDef::mergeCategory(ClassDef *category)
mn->append(newMd);
Doxygen::memberNameSDict->append(name,mn);
}
+
+ newMd->setCategory(category);
+ newMd->setCategoryRelation(mi->memberDef);
+ mi->memberDef->setCategoryRelation(newMd);
+ if (makePrivate || isExtension)
+ {
+ newMd->makeImplementationDetail();
+ }
+ internalInsertMember(newMd,prot,FALSE);
}
-
- newMd->setCategory(category);
- newMd->setCategoryRelation(mi->memberDef);
- mi->memberDef->setCategoryRelation(newMd);
- if (makePrivate || isExtension)
- {
- newMd->makeImplementationDetail();
- }
- internalInsertMember(newMd,prot,FALSE);
- }
+ }
// add it to the dictionary
dstMnd->append(newMni->memberName(),newMni);
@@ -3648,7 +3714,7 @@ ClassDef *ClassDef::insertTemplateInstance(const QCString &fileName,
ClassDef *templateClass=m_impl->templateInstances->find(templSpec);
if (templateClass==0)
{
- Debug::print(Debug::Classes,0," New template instance class `%s'`%s'\n",name().data(),templSpec.data());
+ Debug::print(Debug::Classes,0," New template instance class `%s'`%s'\n",qPrint(name()),qPrint(templSpec));
QCString tcname = removeRedundantWhiteSpace(localName()+templSpec);
templateClass = new ClassDef(
fileName,startLine,startColumn,tcname,ClassDef::Class);
@@ -4031,7 +4097,6 @@ int ClassDef::countMemberDeclarations(MemberListType lt,ClassDef *inheritedFrom,
static bool inlineInheritedMembers = Config_getBool("INLINE_INHERITED_MEMB");
if (!inlineInheritedMembers) // show inherited members as separate lists
{
- QPtrDict<void> visited(17);
count+=countInheritedDecMembers(lt,inheritedFrom,invert,showAlways,visitedClasses);
}
}
@@ -4405,6 +4470,11 @@ UsesClassDict *ClassDef::usedInterfaceClasses() const
return m_impl->usesIntfClassDict;
}
+ConstraintClassDict *ClassDef::templateTypeConstraints() const
+{
+ return m_impl->constraintClassDict;
+}
+
bool ClassDef::isTemplateArgument() const
{
return m_impl->isTemplArg;
diff --git a/src/classdef.h b/src/classdef.h
index 0729d20..6cdd491 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -24,6 +24,7 @@
#include "definition.h"
+struct Argument;
class MemberDef;
class MemberList;
class MemberDict;
@@ -38,6 +39,7 @@ class MemberDef;
class ExampleSDict;
class MemberNameInfoSDict;
class UsesClassDict;
+class ConstraintClassDict;
class MemberGroupSDict;
class QTextStream;
class PackageDef;
@@ -229,6 +231,8 @@ class ClassDef : public Definition
UsesClassDict *usedInterfaceClasses() const;
+ ConstraintClassDict *templateTypeConstraints() const;
+
bool isTemplateArgument() const;
/** Returns the definition of a nested compound if
@@ -371,6 +375,7 @@ class ClassDef : public Definition
void findSectionsInDocumentation();
void addMembersToMemberGroup();
void addListReferences();
+ void addTypeConstraints();
void computeAnchors();
void mergeMembers();
void sortMemberLists();
@@ -441,12 +446,13 @@ class ClassDef : public Definition
void getTitleForMemberListType(MemberListType type,
QCString &title,QCString &subtitle);
QCString includeStatement() const;
+ void addTypeConstraint(const QCString &typeConstraint,const QCString &type);
-
ClassDefImpl *m_impl;
-
};
+//------------------------------------------------------------------------
+
/** Class that contains information about a usage relation.
*/
struct UsesClassDef
@@ -500,6 +506,8 @@ class UsesClassDictIterator : public QDictIterator<UsesClassDef>
~UsesClassDictIterator() {}
};
+//------------------------------------------------------------------------
+
/** Class that contains information about an inheritance relation.
*/
struct BaseClassDef
@@ -558,4 +566,56 @@ class BaseClassListIterator : public QListIterator<BaseClassDef>
QListIterator<BaseClassDef>(bcl) {}
};
+//------------------------------------------------------------------------
+
+
+/** Class that contains information about a type constraint relations.
+ */
+struct ConstraintClassDef
+{
+ ConstraintClassDef(ClassDef *cd) : classDef(cd)
+ {
+ accessors = new QDict<void>(17);
+ }
+ ~ConstraintClassDef()
+ {
+ delete accessors;
+ }
+ void addAccessor(const char *s)
+ {
+ if (accessors->find(s)==0)
+ {
+ accessors->insert(s,(void *)666);
+ }
+ }
+ /** Class definition that this relation uses. */
+ ClassDef *classDef;
+
+ /** Dictionary of member types names that form the edge labels of the
+ * constraint relation.
+ */
+ QDict<void> *accessors;
+};
+
+/** Dictionary of constraint relations.
+ */
+class ConstraintClassDict : public QDict<ConstraintClassDef>
+{
+ public:
+ ConstraintClassDict(int size) : QDict<ConstraintClassDef>(size) {}
+ ~ConstraintClassDict() {}
+};
+
+/** Iterator class to iterate over a dictionary of constraint relations.
+ */
+class ConstraintClassDictIterator : public QDictIterator<ConstraintClassDef>
+{
+ public:
+ ConstraintClassDictIterator(const QDict<ConstraintClassDef> &d)
+ : QDictIterator<ConstraintClassDef>(d) {}
+ ~ConstraintClassDictIterator() {}
+};
+
+//------------------------------------------------------------------------
+
#endif
diff --git a/src/classlist.cpp b/src/classlist.cpp
index 6615a99..81b7d26 100644
--- a/src/classlist.cpp
+++ b/src/classlist.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/classlist.h b/src/classlist.h
index 3f15b3e..2ae7de8 100644
--- a/src/classlist.h
+++ b/src/classlist.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp
index eeb7f78..5c38b5a 100644
--- a/src/cmdmapper.cpp
+++ b/src/cmdmapper.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/cmdmapper.h b/src/cmdmapper.h
index fd33b10..5a59f39 100644
--- a/src/cmdmapper.h
+++ b/src/cmdmapper.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/code.h b/src/code.h
index 72a906c..1b4c0ac 100644
--- a/src/code.h
+++ b/src/code.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/code.l b/src/code.l
index d96067e..d06fab6 100644
--- a/src/code.l
+++ b/src/code.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1236,7 +1236,6 @@ static void generateMemberLink(CodeOutputInterface &ol,const QCString &varName,
{
int vi;
QCString vn=varName;
- QCString scope;
if ((vi=vn.findRev("::"))!=-1 || (vi=vn.findRev('.'))!=-1) // explicit scope A::b(), probably static member
{
ClassDef *jcd = getClass(vn.left(vi));
diff --git a/src/commentcnv.h b/src/commentcnv.h
index 6255a73..a45d29c 100644
--- a/src/commentcnv.h
+++ b/src/commentcnv.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/commentcnv.l b/src/commentcnv.l
index 64e18be..979e6ee 100644
--- a/src/commentcnv.l
+++ b/src/commentcnv.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1028,6 +1028,7 @@ void convertCppComments(BufStr *inBuf,BufStr *outBuf,const char *fileName)
"Nesting level %d %s",g_nestingCount+1,tmp.data()); // add one for "normal" expected end of comment
}
g_commentStack.clear();
+ g_nestingCount = 0;
if (Debug::isFlagSet(Debug::CommentCnv))
{
g_outBuf->at(g_outBuf->curPos())='\0';
diff --git a/src/commentscan.h b/src/commentscan.h
index ce28ea2..e202f0a 100644
--- a/src/commentscan.h
+++ b/src/commentscan.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/commentscan.l b/src/commentscan.l
index 702a616..54adbd8 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -1,6 +1,6 @@
/*****************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -101,7 +101,9 @@ static bool handleNoSubGrouping(const QCString &);
static bool handleShowInitializer(const QCString &);
static bool handleHideInitializer(const QCString &);
static bool handleCallgraph(const QCString &);
+static bool handleHideCallgraph(const QCString &);
static bool handleCallergraph(const QCString &);
+static bool handleHideCallergraph(const QCString &);
static bool handleInternal(const QCString &);
static bool handleLineBr(const QCString &);
static bool handleStatic(const QCString &);
@@ -204,7 +206,9 @@ static DocCmdMap docCmdMap[] =
{ "showinitializer", &handleShowInitializer, FALSE },
{ "hideinitializer", &handleHideInitializer, FALSE },
{ "callgraph", &handleCallgraph, FALSE },
+ { "hidecallgraph", &handleHideCallgraph, FALSE },
{ "callergraph", &handleCallergraph, FALSE },
+ { "hidecallergraph", &handleHideCallergraph, FALSE },
{ "internal", &handleInternal, TRUE },
{ "_linebr", &handleLineBr, FALSE },
{ "static", &handleStatic, FALSE },
@@ -2689,12 +2693,24 @@ static bool handleCallgraph(const QCString &)
return FALSE;
}
+static bool handleHideCallgraph(const QCString &)
+{
+ current->callGraph = FALSE; // OFF
+ return FALSE;
+}
+
static bool handleCallergraph(const QCString &)
{
current->callerGraph = TRUE; // ON
return FALSE;
}
+static bool handleHideCallergraph(const QCString &)
+{
+ current->callerGraph = FALSE; // OFF
+ return FALSE;
+}
+
static bool handleInternal(const QCString &)
{
if (!Config_getBool("INTERNAL_DOCS"))
@@ -2899,7 +2915,7 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
}
Debug::print(Debug::CommentScan,0,"-----------\nCommentScanner: %s:%d\n"
- "input=[\n%s]\n",fileName.data(),lineNr,comment.data()
+ "input=[\n%s]\n",qPrint(fileName),lineNr,qPrint(comment)
);
commentscanYYrestart( commentscanYYin );
@@ -2946,9 +2962,9 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
Debug::print(Debug::CommentScan,0,
"brief=[line=%d\n%s]\ndocs=[line=%d\n%s]\ninbody=[line=%d\n%s]\n===========\n",
- current->briefLine,current->brief.data(),
- current->docLine,current->doc.data(),
- current->inbodyLine,current->inbodyDocs.data()
+ current->briefLine,qPrint(current->brief),
+ current->docLine,qPrint(current->doc),
+ current->inbodyLine,qPrint(current->inbodyDocs)
);
checkFormula();
@@ -3098,7 +3114,7 @@ void closeGroup(Entry *e,const char *fileName,int,bool foundInline)
g_memberGroupId=DOX_NOGROUP;
g_memberGroupRelates.resize(0);
g_memberGroupDocs.resize(0);
- e->mGrpId=DOX_NOGROUP;
+ if (!foundInline) e->mGrpId=DOX_NOGROUP;
//printf("new group id=%d\n",g_memberGroupId);
}
else if (!g_autoGroupStack.isEmpty()) // end of auto group
diff --git a/src/condparser.cpp b/src/condparser.cpp
index 67da1e3..b3bea3a 100644
--- a/src/condparser.cpp
+++ b/src/condparser.cpp
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/condparser.h b/src/condparser.h
index 7c65411..09a4f74 100644
--- a/src/condparser.h
+++ b/src/condparser.h
@@ -2,7 +2,7 @@
#define CONDPARSER_H
/**
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/config.h b/src/config.h
index 981f6fe..344e007 100644
--- a/src/config.h
+++ b/src/config.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -69,7 +69,7 @@ class ConfigOption
QCString dependsOn() const { return m_dependency; }
void addDependency(const char *dep) { m_dependency = dep; }
void setEncoding(const QCString &e) { m_encoding = e; }
- void setUserComment(const QCString &u) { m_userComment = u; }
+ void setUserComment(const QCString &u) { m_userComment += u; }
protected:
virtual void writeTemplate(FTextStream &t,bool sl,bool upd) = 0;
@@ -507,12 +507,27 @@ class Config
*/
void create();
+ /*! Append user start comment
+ */
+ void appendStartComment(const QCString &u)
+ {
+ m_startComment += u;
+ }
/*! Append user comment
*/
void appendUserComment(const QCString &u)
{
m_userComment += u;
}
+ /*! Take the user start comment and reset it internally
+ * \returns user start comment
+ */
+ QCString takeStartComment()
+ {
+ QCString result=m_startComment;
+ m_startComment.resize(0);
+ return result.replace(QRegExp("\r"),"");
+ }
/*! Take the user comment and reset it internally
* \returns user comment
*/
@@ -552,6 +567,7 @@ class Config
QList<ConfigOption> *m_disabled;
QDict<ConfigOption> *m_dict;
static Config *m_instance;
+ QCString m_startComment;
QCString m_userComment;
bool m_initialized;
QCString m_header;
diff --git a/src/config.l b/src/config.l
index a237faf..2ed9973 100644
--- a/src/config.l
+++ b/src/config.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -53,18 +53,21 @@
#define Config_getEnum(val) getEnum(__FILE__,__LINE__,val)
#define Config_getBool(val) getBool(__FILE__,__LINE__,val)
+static const char *warning_str = "warning: ";
+static const char *error_str = "error: ";
+
void config_err(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
- vfprintf(stderr, fmt, args);
+ vfprintf(stderr, (QCString(error_str) + fmt).data(), args);
va_end(args);
}
void config_warn(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
- vfprintf(stderr, fmt, args);
+ vfprintf(stderr, (QCString(warning_str) + fmt).data(), args);
va_end(args);
}
@@ -85,7 +88,7 @@ static QCString convertToComment(const QCString &s, const QCString &u)
if (!s.isEmpty())
{
QCString tmp=s.stripWhiteSpace();
- char *p=tmp.data();
+ const char *p=tmp.data();
char c;
result+="#";
if (*p && *p!='\n')
@@ -181,7 +184,7 @@ void ConfigInt::convertStrToVal()
int val = m_valueString.toInt(&ok);
if (!ok || val<m_minVal || val>m_maxVal)
{
- config_warn("Warning: argument `%s' for option %s is not a valid number in the range [%d..%d]!\n"
+ config_warn("argument `%s' for option %s is not a valid number in the range [%d..%d]!\n"
"Using the default: %d!\n",m_valueString.data(),m_name.data(),m_minVal,m_maxVal,m_value);
}
else
@@ -206,7 +209,7 @@ void ConfigBool::convertStrToVal()
}
else
{
- config_warn("Warning: argument `%s' for option %s is not a valid boolean value\n"
+ config_warn("argument `%s' for option %s is not a valid boolean value\n"
"Using the default: %s!\n",m_valueString.data(),m_name.data(),m_value?"YES":"NO");
}
}
@@ -431,19 +434,11 @@ static bool *b=0;
static QStrList *l=0;
static int lastState;
static QCString elemStr;
-static QCString includeName;
static QStrList includePathList;
static QStack<ConfigFileState> includeStack;
static int includeDepth;
static bool config_upd = FALSE;
-static QCString tabSizeString;
-static QCString maxInitLinesString;
-static QCString colsInAlphaIndexString;
-static QCString enumValuesPerLineString;
-static QCString treeViewWidthString;
-static QCString maxDotGraphWidthString;
-static QCString maxDotGraphHeightString;
static QCString encoding;
static Config *config;
@@ -495,8 +490,8 @@ static QCString configStringRecode(
}
size_t iLeft=(size_t)inputSize;
size_t oLeft=(size_t)outputSize;
- char *inputPtr = str.data();
- char *outputPtr = output.data();
+ char *inputPtr = str.rawData();
+ char *outputPtr = output.rawData();
if (!portable_iconv(cd, &inputPtr, &iLeft, &outputPtr, &oLeft))
{
outputSize-=(int)oLeft;
@@ -527,7 +522,7 @@ static FILE *tryPath(const char *path,const char *fileName)
if (fi.exists() && fi.isFile())
{
FILE *f=portable_fopen(absName,"r");
- if (!f) config_err("Error: could not open file %s for reading\n",absName.data());
+ if (!f) config_err("could not open file %s for reading\n",absName.data());
return f;
}
return 0;
@@ -561,7 +556,7 @@ static FILE *findFile(const char *fileName)
static void readIncludeFile(const char *incName)
{
if (includeDepth==MAX_INCLUDE_DEPTH) {
- config_err("Error: maximum include depth (%d) reached, %s is not included. Aborting...\n",
+ config_err("maximum include depth (%d) reached, %s is not included. Aborting...\n",
MAX_INCLUDE_DEPTH,incName);
exit(1);
}
@@ -601,7 +596,7 @@ static void readIncludeFile(const char *incName)
}
else
{
- config_err("Error: @INCLUDE = %s: not found!\n",inc.data());
+ config_err("@INCLUDE = %s: not found!\n",inc.data());
exit(1);
}
}
@@ -609,9 +604,9 @@ static void readIncludeFile(const char *incName)
%}
-%option nounput
%option noyywrap
+%x PreStart
%x Start
%x SkipComment
%x SkipInvalid
@@ -625,6 +620,11 @@ static void readIncludeFile(const char *incName)
%%
<*>\0x0d
+<PreStart>"##".*"\n" { config->appendStartComment(yytext);}
+<PreStart>. {
+ BEGIN(Start);
+ unput(*yytext);
+ }
<Start,GetString,GetStrList,GetBool,SkipInvalid>"##".*"\n" { config->appendUserComment(yytext);}
<Start,GetString,GetStrList,GetBool,SkipInvalid>"#" { BEGIN(SkipComment); }
<Start>[a-z_A-Z][a-z_A-Z0-9]*[ \t]*"=" { QCString cmd=yytext;
@@ -632,7 +632,7 @@ static void readIncludeFile(const char *incName)
ConfigOption *option = config->get(cmd);
if (option==0) // oops not known
{
- config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
+ config_warn("ignoring unsupported tag `%s' at line %d, file %s\n",
yytext,yyLineNr,yyFileName.data());
BEGIN(SkipInvalid);
}
@@ -675,12 +675,12 @@ static void readIncludeFile(const char *incName)
case ConfigOption::O_Obsolete:
if (config_upd)
{
- config_err("Warning: Tag `%s' at line %d of file `%s' has become obsolete.\n"
+ config_warn("Tag `%s' at line %d of file `%s' has become obsolete.\n"
" This tag has been removed.\n", cmd.data(),yyLineNr,yyFileName.data());
}
else
{
- config_err("Warning: Tag `%s' at line %d of file `%s' has become obsolete.\n"
+ config_warn("Tag `%s' at line %d of file `%s' has become obsolete.\n"
" To avoid this warning please remove this line from your configuration "
"file or upgrade it using \"doxygen -u\"\n", cmd.data(),yyLineNr,yyFileName.data());
}
@@ -689,12 +689,12 @@ static void readIncludeFile(const char *incName)
case ConfigOption::O_Disabled:
if (config_upd)
{
- config_err("Warning: Tag `%s' at line %d of file `%s' belongs to an option that was not enabled at compile time.\n"
+ config_warn("Tag `%s' at line %d of file `%s' belongs to an option that was not enabled at compile time.\n"
" This tag has been removed.\n", cmd.data(),yyLineNr,yyFileName.data());
}
else
{
- config_err("Warning: Tag `%s' at line %d of file `%s' belongs to an option that was not enabled at compile time.\n"
+ config_warn("Tag `%s' at line %d of file `%s' belongs to an option that was not enabled at compile time.\n"
" To avoid this warning please remove this line from your configuration "
"file or upgrade it using \"doxygen -u\", or recompile doxygen with this feature enabled.\n", cmd.data(),yyLineNr,yyFileName.data());
}
@@ -708,7 +708,7 @@ static void readIncludeFile(const char *incName)
ConfigOption *option = config->get(cmd);
if (option==0) // oops not known
{
- config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
+ config_warn("ignoring unsupported tag `%s' at line %d, file %s\n",
yytext,yyLineNr,yyFileName.data());
BEGIN(SkipInvalid);
}
@@ -730,18 +730,18 @@ static void readIncludeFile(const char *incName)
case ConfigOption::O_String:
case ConfigOption::O_Int:
case ConfigOption::O_Bool:
- config_err("Warning: operator += not supported for `%s'. Ignoring line at line %d, file %s\n",
+ config_warn("operator += not supported for `%s'. Ignoring line at line %d, file %s\n",
yytext,yyLineNr,yyFileName.data());
BEGIN(SkipInvalid);
break;
case ConfigOption::O_Obsolete:
- config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n"
+ config_warn("Tag `%s' at line %d of file %s has become obsolete.\n"
"To avoid this warning please update your configuration "
"file using \"doxygen -u\"\n", cmd.data(),yyLineNr,yyFileName.data());
BEGIN(SkipInvalid);
break;
case ConfigOption::O_Disabled:
- config_err("Warning: Tag `%s' at line %d of file %s belongs to an option that was not enabled at compile time.\n"
+ config_warn("Tag `%s' at line %d of file %s belongs to an option that was not enabled at compile time.\n"
"To avoid this warning please remove this line from your configuration "
"file, upgrade it using \"doxygen -u\", or recompile doxygen with this feature enabled.\n", cmd.data(),yyLineNr,yyFileName.data());
BEGIN(SkipInvalid);
@@ -778,7 +778,7 @@ static void readIncludeFile(const char *incName)
}
}
-<Start>[a-z_A-Z0-9]+ { config_err("Warning: ignoring unknown tag `%s' at line %d, file %s\n",yytext,yyLineNr,yyFileName.data()); }
+<Start>[a-z_A-Z0-9]+ { config_warn("ignoring unknown tag `%s' at line %d, file %s\n",yytext,yyLineNr,yyFileName.data()); }
<GetString,GetBool,SkipInvalid>\n { yyLineNr++; BEGIN(Start); }
<GetStrList>\n {
yyLineNr++;
@@ -819,7 +819,7 @@ static void readIncludeFile(const char *incName)
}
if (*yytext=='\n')
{
- config_err("Warning: Missing end quote (\") on line %d, file %s\n",yyLineNr,yyFileName.data());
+ config_warn("Missing end quote (\") on line %d, file %s\n",yyLineNr,yyFileName.data());
yyLineNr++;
}
BEGIN(lastState);
@@ -838,7 +838,7 @@ static void readIncludeFile(const char *incName)
else
{
*b=FALSE;
- config_warn("Warning: Invalid value `%s' for "
+ config_warn("Invalid value `%s' for "
"boolean tag in line %d, file %s; use YES or NO\n",
bs.data(),yyLineNr,yyFileName.data());
}
@@ -859,6 +859,11 @@ static void readIncludeFile(const char *incName)
void Config::writeTemplate(FTextStream &t,bool sl,bool upd)
{
+ /* print first lines of user comment that were at the beginning of the file, might have special meaning for editors */
+ if (m_startComment)
+ {
+ t << takeStartComment() << endl;
+ }
t << "# Doxyfile " << versionString << endl << endl;
if (!sl)
{
@@ -1070,7 +1075,7 @@ void Config::checkFileName(const char *optionName)
if ((val=="yes" || val=="true" || val=="1" || val=="all") ||
(val=="no" || val=="false" || val=="0" || val=="none"))
{
- config_err("Error: file name expected for option %s, got %s instead. Ignoring...\n",optionName,s.data());
+ config_err("file name expected for option %s, got %s instead. Ignoring...\n",optionName,s.data());
s=""; // note tihe use of &s above: this will change the option value!
}
}
@@ -1091,15 +1096,15 @@ void Config::check()
{
if (warnFormat.find("$file")==-1)
{
- config_err("Warning: warning format does not contain a $file tag!\n");
+ config_warn("warning format does not contain a $file tag!\n");
}
if (warnFormat.find("$line")==-1)
{
- config_err("Warning: warning format does not contain a $line tag!\n");
+ config_warn("warning format does not contain a $line tag!\n");
}
if (warnFormat.find("$text")==-1)
{
- config_err("Warning: warning format foes not contain a $text tag!\n");
+ config_warn("warning format foes not contain a $text tag!\n");
}
}
@@ -1120,7 +1125,7 @@ void Config::check()
if (paperType!="a4" && paperType!="a4wide" && paperType!="letter" &&
paperType!="legal" && paperType!="executive")
{
- config_err("Error: Unknown page type specified\n");
+ config_err("Unknown page type specified\n");
}
QCString &outputLanguage=Config_getEnum("OUTPUT_LANGUAGE");
@@ -1160,7 +1165,7 @@ void Config::check()
QFileInfo fi(headerFile);
if (!fi.exists())
{
- config_err("Error: tag HTML_HEADER: header file `%s' "
+ config_err("tag HTML_HEADER: header file `%s' "
"does not exist\n",headerFile.data());
exit(1);
}
@@ -1172,11 +1177,12 @@ void Config::check()
QFileInfo fi(footerFile);
if (!fi.exists())
{
- config_err("Error: tag HTML_FOOTER: footer file `%s' "
+ config_err("tag HTML_FOOTER: footer file `%s' "
"does not exist\n",footerFile.data());
exit(1);
}
}
+
// Test to see if MathJax code file is valid
if (Config_getBool("USE_MATHJAX"))
{
@@ -1186,12 +1192,13 @@ void Config::check()
QFileInfo fi(MathJaxCodefile);
if (!fi.exists())
{
- config_err("Error: tag MATHJAX_CODEFILE file `%s' "
+ config_err("tag MATHJAX_CODEFILE file `%s' "
"does not exist\n",MathJaxCodefile.data());
exit(1);
}
}
}
+
// Test to see if LaTeX header is valid
QCString &latexHeaderFile = Config_getString("LATEX_HEADER");
if (!latexHeaderFile.isEmpty())
@@ -1199,18 +1206,31 @@ void Config::check()
QFileInfo fi(latexHeaderFile);
if (!fi.exists())
{
- config_err("Error: tag LATEX_HEADER: header file `%s' "
+ config_err("tag LATEX_HEADER: header file `%s' "
"does not exist\n",latexHeaderFile.data());
exit(1);
}
}
+ // Test to see if LaTeX footer is valid
+ QCString &latexFooterFile = Config_getString("LATEX_FOOTER");
+ if (!latexFooterFile.isEmpty())
+ {
+ QFileInfo fi(latexFooterFile);
+ if (!fi.exists())
+ {
+ config_err("tag LATEX_FOOTER: footer file `%s' "
+ "does not exist\n",latexFooterFile.data());
+ exit(1);
+ }
+ }
+
// check include path
QStrList &includePath = Config_getList("INCLUDE_PATH");
char *s=includePath.first();
while (s)
{
QFileInfo fi(s);
- if (!fi.exists()) config_err("Warning: tag INCLUDE_PATH: include path `%s' "
+ if (!fi.exists()) config_warn("tag INCLUDE_PATH: include path `%s' "
"does not exist\n",s);
s=includePath.next();
}
@@ -1226,7 +1246,7 @@ void Config::check()
alias=alias.stripWhiteSpace();
if (alias.find(re1)!=0 && alias.find(re2)!=0)
{
- config_err("Error: Illegal alias format `%s'. Use \"name=value\" or \"name(n)=value\", where n is the number of arguments\n",
+ config_err("Illegal alias format `%s'. Use \"name=value\" or \"name(n)=value\", where n is the number of arguments\n",
alias.data());
}
s=aliasList.next();
@@ -1235,19 +1255,19 @@ void Config::check()
// check if GENERATE_TREEVIEW and GENERATE_HTMLHELP are both enabled
if (Config_getBool("GENERATE_TREEVIEW") && Config_getBool("GENERATE_HTMLHELP"))
{
- config_err("Error: When enabling GENERATE_HTMLHELP the tree view (GENERATE_TREEVIEW) should be disabled. I'll do it for you.\n");
+ config_err("When enabling GENERATE_HTMLHELP the tree view (GENERATE_TREEVIEW) should be disabled. I'll do it for you.\n");
Config_getBool("GENERATE_TREEVIEW")=FALSE;
}
if (Config_getBool("SEARCHENGINE") && Config_getBool("GENERATE_HTMLHELP"))
{
- config_err("Error: When enabling GENERATE_HTMLHELP the search engine (SEARCHENGINE) should be disabled. I'll do it for you.\n");
+ config_err("When enabling GENERATE_HTMLHELP the search engine (SEARCHENGINE) should be disabled. I'll do it for you.\n");
Config_getBool("SEARCHENGINE")=FALSE;
}
// check if SEPARATE_MEMBER_PAGES and INLINE_GROUPED_CLASSES are both enabled
if (Config_getBool("SEPARATE_MEMBER_PAGES") && Config_getBool("INLINE_GROUPED_CLASSES"))
{
- config_err("Error: When enabling INLINE_GROUPED_CLASSES the SEPARATE_MEMBER_PAGES option should be disabled. I'll do it for you.\n");
+ config_err("When enabling INLINE_GROUPED_CLASSES the SEPARATE_MEMBER_PAGES option should be disabled. I'll do it for you.\n");
Config_getBool("SEPARATE_MEMBER_PAGES")=FALSE;
}
@@ -1267,7 +1287,7 @@ void Config::check()
QCString &dotFontName=Config_getString("DOT_FONTNAME");
if (dotFontName=="FreeSans" || dotFontName=="FreeSans.ttf")
{
- config_err("Warning: doxygen no longer ships with the FreeSans font.\n"
+ config_warn("doxygen no longer ships with the FreeSans font.\n"
"You may want to clear or change DOT_FONTNAME.\n"
"Otherwise you run the risk that the wrong font is being used for dot generated graphs.\n");
}
@@ -1287,7 +1307,7 @@ void Config::check()
QFileInfo dp(dotPath+"/dot"+portable_commandExtension());
if (!dp.exists() || !dp.isFile())
{
- config_err("Warning: the dot tool could not be found at %s\n",dotPath.data());
+ config_warn("the dot tool could not be found at %s\n",dotPath.data());
dotPath="";
}
else
@@ -1312,7 +1332,7 @@ void Config::check()
QFileInfo dp(mscgenPath+"/mscgen"+portable_commandExtension());
if (!dp.exists() || !dp.isFile())
{
- config_err("Warning: the mscgen tool could not be found at %s\n",mscgenPath.data());
+ config_warn("the mscgen tool could not be found at %s\n",mscgenPath.data());
mscgenPath="";
}
else
@@ -1367,7 +1387,7 @@ void Config::check()
QFileInfo dp(diaPath+"/dia"+portable_commandExtension());
if (!dp.exists() || !dp.isFile())
{
- config_err("Warning: dia could not be found at %s\n",diaPath.data());
+ config_warn("dia could not be found at %s\n",diaPath.data());
diaPath="";
}
else
@@ -1399,7 +1419,7 @@ void Config::check()
QFileInfo fi(s);
if (!fi.exists())
{
- config_err("Warning: tag INPUT: input source `%s' does not exist\n",s);
+ config_warn("tag INPUT: input source `%s' does not exist\n",s);
}
s=inputSources.next();
}
@@ -1486,18 +1506,19 @@ void Config::check()
!Config_getBool("GENERATE_XML") &&
!Config_getBool("GENERATE_PERLMOD") &&
!Config_getBool("GENERATE_RTF") &&
+ !Config_getBool("GENERATE_DOCBOOK") &&
!Config_getBool("GENERATE_AUTOGEN_DEF") &&
Config_getString("GENERATE_TAGFILE").isEmpty()
)
{
- config_err("Warning: No output formats selected! Set at least one of the main GENERATE_* options to YES.\n");
+ config_warn("No output formats selected! Set at least one of the main GENERATE_* options to YES.\n");
}
// check HTMLHELP creation requirements
if (!Config_getBool("GENERATE_HTML") &&
Config_getBool("GENERATE_HTMLHELP"))
{
- config_err("Warning: GENERATE_HTMLHELP=YES requires GENERATE_HTML=YES.\n");
+ config_warn("GENERATE_HTMLHELP=YES requires GENERATE_HTML=YES.\n");
}
// check QHP creation requirements
@@ -1505,13 +1526,13 @@ void Config::check()
{
if (Config_getString("QHP_NAMESPACE").isEmpty())
{
- config_err("Error: GENERATE_QHP=YES requires QHP_NAMESPACE to be set. Using 'org.doxygen.doc' as default!.\n");
+ config_err("GENERATE_QHP=YES requires QHP_NAMESPACE to be set. Using 'org.doxygen.doc' as default!.\n");
Config_getString("QHP_NAMESPACE")="org.doxygen.doc";
}
if (Config_getString("QHP_VIRTUAL_FOLDER").isEmpty())
{
- config_err("Error: GENERATE_QHP=YES requires QHP_VIRTUAL_FOLDER to be set. Using 'doc' as default!\n");
+ config_err("GENERATE_QHP=YES requires QHP_VIRTUAL_FOLDER to be set. Using 'doc' as default!\n");
Config_getString("QHP_VIRTUAL_FOLDER")="doc";
}
}
@@ -1562,7 +1583,7 @@ void Config::check()
if (!mathJaxFormat.isEmpty() && mathJaxFormat!="HTML-CSS" &&
mathJaxFormat!="NativeMML" && mathJaxFormat!="SVG")
{
- config_err("Error: Unsupported value for MATHJAX_FORMAT: Should be one of HTML-CSS, NativeMML, or SVG\n");
+ config_err("Unsupported value for MATHJAX_FORMAT: Should be one of HTML-CSS, NativeMML, or SVG\n");
Config_getEnum("MATHJAX_FORMAT")="HTML-CSS";
}
@@ -1608,7 +1629,7 @@ void Config::check()
if (!b6) s6=" EXTRACT_PACKAGE = YES (was NO)\n"; else s6="";
- config_err("Warning: enabling OPTIMIZE_OUTPUT_VHDL assumes the following settings:\n"
+ config_warn("enabling OPTIMIZE_OUTPUT_VHDL assumes the following settings:\n"
"%s%s%s%s%s%s",s1,s2,s3,s4,s5,s6
);
@@ -1665,7 +1686,7 @@ void Config::init()
ConfigOption * opt = Config::instance()->get(depName);
if (opt==0)
{
- config_err("Warning: Config option '%s' has invalid depends relation on unknown option '%s'\n",
+ config_warn("Config option '%s' has invalid depends relation on unknown option '%s'\n",
option->name().data(),depName.data());
exit(1);
}
@@ -1695,7 +1716,7 @@ static QCString configFileToString(const char *name)
QCString contents(bSize);
int totalSize=0;
int size;
- while ((size=f.readBlock(contents.data()+totalSize,bSize))==bSize)
+ while ((size=f.readBlock(contents.rawData()+totalSize,bSize))==bSize)
{
totalSize+=bSize;
contents.resize(totalSize+bSize);
@@ -1712,7 +1733,7 @@ static QCString configFileToString(const char *name)
QFileInfo fi(name);
if (!fi.exists() || !fi.isFile())
{
- config_err("Error: file `%s' not found\n",name);
+ config_err("file `%s' not found\n",name);
return "";
}
f.setName(name);
@@ -1721,7 +1742,7 @@ static QCString configFileToString(const char *name)
{
int fsize=f.size();
QCString contents(fsize+2);
- f.readBlock(contents.data(),fsize);
+ f.readBlock(contents.rawData(),fsize);
f.close();
if (fsize==0 || contents[fsize-1]=='\n')
contents[fsize]='\0';
@@ -1733,7 +1754,7 @@ static QCString configFileToString(const char *name)
}
if (!fileOpened)
{
- config_err("Error: cannot open file `%s' for reading\n",name);
+ config_err("cannot open file `%s' for reading\n",name);
}
return "";
}
@@ -1749,7 +1770,7 @@ bool Config::parseString(const char *fn,const char *str,bool update)
includeStack.clear();
includeDepth = 0;
configYYrestart( configYYin );
- BEGIN( Start );
+ BEGIN( PreStart );
config_upd = update;
configYYlex();
config_upd = FALSE;
diff --git a/src/config.xml b/src/config.xml
index 994190d..9eb9feb 100644
--- a/src/config.xml
+++ b/src/config.xml
@@ -6,7 +6,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -29,7 +29,9 @@ parsed by \c doxygen. The file may contain tabs and newlines for
formatting purposes. The statements in the file are case-sensitive.
Comments may be placed anywhere within the file (except within quotes).
Comments beginning with two hash characters (\c \#\#) are kept when updating
-the configuration file and are placed in front of the TAG are in front of.
+the configuration file and are placed in front of the TAG they are in front of.
+Comments beginning with two hash characters (\c \#\#) at the beginning of the
+configuration file are also kept and placed at the beginning of the file.
Comments beginning with two hash characters (\c \#\#) at the end of the
configuration file are also kept and placed at the end of the file.
Comments begin with the hash character (\c \#) and ends at the end of the line.
@@ -1887,13 +1889,13 @@ hr.footer {
]]>
</docs>
</option>
- <option type='bool' id='HTML_TIMESTAMP' defval='1' depends='GENERATE_HTML'>
+ <option type='bool' id='HTML_TIMESTAMP' defval='0' depends='GENERATE_HTML'>
<docs>
<![CDATA[
If the \c HTML_TIMESTAMP tag is set to \c YES then the footer of
each generated HTML page will contain the date and time when the page
- was generated. Setting this to \c NO can help when comparing the output of
- multiple runs.
+ was generated. Setting this to \c YES can help to show when doxygen was last run
+ and thus if the documentation is up to date.
]]>
</docs>
</option>
@@ -2490,10 +2492,19 @@ EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
<docs>
<![CDATA[
The \c EXTRA_PACKAGES tag can be used to specify one or more \f$\mbox{\LaTeX}\f$
- package names that should be included in the \f$\mbox{\LaTeX}\f$ output.
- To get the times font for instance you can specify
+ package names that should be included in the \f$\mbox{\LaTeX}\f$ output. The package
+ can be specified just by its name or with the correct syntax as to be used with the
+ \f$\mbox{\LaTeX}\f$ `\usepackage` command.
+
+ To get the `times` font for instance you can specify :
+\verbatim
+ EXTRA_PACKAGES=times
+or
+ EXTRA_PACKAGES={times}
+\endverbatim
+ To use the option `intlimits` with the `amsmath` package you can specify:
\verbatim
-EXTRA_PACKAGES=times
+ EXTRA_PACKAGES=[intlimits]{amsmath}
\endverbatim
If left blank no extra packages will be included.
]]>
@@ -3232,7 +3243,9 @@ to be found in the default search path.
generate a call dependency graph for every global function or class method.
<br>Note that enabling this option will significantly increase the time of a run.
So in most cases it will be better to enable call graphs for selected
- functions only using the \ref cmdcallgraph "\\callgraph" command.
+ functions only using the \ref cmdcallgraph "\\callgraph" command.
+ Disabling a call graph can be accomplished by means of the command
+ \ref cmdhidecallgraph "\\hidecallgraph".
]]>
</docs>
</option>
@@ -3243,7 +3256,9 @@ to be found in the default search path.
generate a caller dependency graph for every global function or class method.
<br>Note that enabling this option will significantly increase the time of a run.
So in most cases it will be better to enable caller graphs for selected
- functions only using the \ref cmdcallergraph "\\callergraph" command.
+ functions only using the \ref cmdcallergraph "\\callergraph" command.
+ Disabling a caller graph can be accomplished by means of the command
+ \ref cmdhidecallergraph "\\hidecallergraph".
]]>
</docs>
</option>
@@ -3269,7 +3284,9 @@ to be found in the default search path.
<docs>
<![CDATA[
The \c DOT_IMAGE_FORMAT tag can be used to set the image format of the images
- generated by \c dot.
+ generated by \c dot. For an explanation of the image formats see the section output formats
+ in the documentation of the \c dot tool
+ (<a href="http://www.graphviz.org/">Graphviz</a>).
\note If you choose \c svg you need to set
\ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order to make the SVG files
visible in IE 9+ (other browsers do not have this requirement).
@@ -3279,6 +3296,14 @@ to be found in the default search path.
<value name='jpg'/>
<value name='gif'/>
<value name='svg'/>
+ <value name='png:gd'/>
+ <value name='png:gd:gd'/>
+ <value name='png:cairo'/>
+ <value name='png:cairo:gd'/>
+ <value name='png:cairo:cairo'/>
+ <value name='png:cairo:gdiplus'/>
+ <value name='png:gdiplus'/>
+ <value name='png:gdiplus:gdiplus'/>
</option>
<option type='bool' id='INTERACTIVE_SVG' defval='0' depends='HAVE_DOT'>
<docs>
diff --git a/src/configgen.py b/src/configgen.py
index 7115dba..1647fa2 100755
--- a/src/configgen.py
+++ b/src/configgen.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
# python script to generate configoptions.cpp and config.doc from config.xml
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/src/configoptions.h b/src/configoptions.h
index be8ecf6..3979f7a 100644
--- a/src/configoptions.h
+++ b/src/configoptions.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/constexp.h b/src/constexp.h
index 27ca039..d84e94e 100644
--- a/src/constexp.h
+++ b/src/constexp.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/constexp.l b/src/constexp.l
index bb4f842..f1f8cd4 100644
--- a/src/constexp.l
+++ b/src/constexp.l
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/constexp.y b/src/constexp.y
index 1475c1c..c63fa5e 100644
--- a/src/constexp.y
+++ b/src/constexp.y
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/context.cpp b/src/context.cpp
index 551db1a..f76c49b 100644
--- a/src/context.cpp
+++ b/src/context.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -4056,8 +4056,7 @@ class MemberContext::Private : public DefinitionContext<MemberContext::Private>
TemplateVariant hasCallGraph() const
{
static bool haveDot = Config_getBool("HAVE_DOT");
- static bool callGraph = Config_getBool("CALL_GRAPH");
- if ((callGraph || m_memberDef->hasCallGraph()) && haveDot &&
+ if (m_memberDef->hasCallGraph() && haveDot &&
(m_memberDef->isFunction() || m_memberDef->isSlot() || m_memberDef->isSignal()))
{
DotCallGraph *cg = getCallGraph();
@@ -4096,8 +4095,7 @@ class MemberContext::Private : public DefinitionContext<MemberContext::Private>
TemplateVariant hasCallerGraph() const
{
static bool haveDot = Config_getBool("HAVE_DOT");
- static bool callerGraph = Config_getBool("CALLER_GRAPH");
- if ((callerGraph || m_memberDef->hasCallerGraph()) && haveDot &&
+ if (m_memberDef->hasCallerGraph() && haveDot &&
(m_memberDef->isFunction() || m_memberDef->isSlot() || m_memberDef->isSignal()))
{
DotCallGraph *cg = getCallerGraph();
diff --git a/src/context.h b/src/context.h
index 6b5b810..cb20313 100644
--- a/src/context.h
+++ b/src/context.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/cppvalue.cpp b/src/cppvalue.cpp
index a99ec56..176931d 100644
--- a/src/cppvalue.cpp
+++ b/src/cppvalue.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/cppvalue.h b/src/cppvalue.h
index 67c5433..59dd594 100644
--- a/src/cppvalue.h
+++ b/src/cppvalue.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/dbusxmlscanner.cpp b/src/dbusxmlscanner.cpp
index 90d51cd..ff1097f 100644
--- a/src/dbusxmlscanner.cpp
+++ b/src/dbusxmlscanner.cpp
@@ -666,9 +666,6 @@ private:
entry->startLine = lineNumber();
entry->bodyLine = lineNumber();
- entry->callGraph = false;
- entry->callerGraph = false;
-
initGroupInfo(entry);
m_currentEntry = entry;
diff --git a/src/debug.cpp b/src/debug.cpp
index e27ce11..c81a1af 100644
--- a/src/debug.cpp
+++ b/src/debug.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/debug.h b/src/debug.h
index e17c03c..8a28c7a 100644
--- a/src/debug.h
+++ b/src/debug.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/declinfo.h b/src/declinfo.h
index 5f11a1c..d226c7d 100644
--- a/src/declinfo.h
+++ b/src/declinfo.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/declinfo.l b/src/declinfo.l
index f238be3..b7689c7 100644
--- a/src/declinfo.l
+++ b/src/declinfo.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -45,7 +45,6 @@ static QCString funcTempList;
static QCString type;
static QCString name;
static QCString args;
-static QCString tmpType;
static int sharpCount;
static bool classTempListFound;
static bool funcTempListFound;
diff --git a/src/defargs.h b/src/defargs.h
index 6ebfe1d..34a19a2 100644
--- a/src/defargs.h
+++ b/src/defargs.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/defargs.l b/src/defargs.l
index 164c100..40a77fb 100644
--- a/src/defargs.l
+++ b/src/defargs.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -73,6 +73,7 @@ static QCString g_curArgName;
static QCString g_curArgDocs;
static QCString g_curArgAttrib;
static QCString g_curArgArray;
+static QCString g_curTypeConstraint;
static QCString g_extraTypeChars;
static int g_argRoundCount;
static int g_argSharpCount;
@@ -80,6 +81,7 @@ static int g_argCurlyCount;
static int g_readArgContext;
static int g_lastDocContext;
static int g_lastDocChar;
+static int g_lastExtendsContext;
static QCString g_delimiter;
/* -----------------------------------------------------------------
@@ -120,6 +122,7 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
%x FuncQual
%x ReadDocBlock
%x ReadDocLine
+%x ReadTypeConstraint
%x TrailingReturn
@@ -332,8 +335,9 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
int i=l-1;
while (i>=0 && (isspace((uchar)g_curArgTypeName.at(i)) || g_curArgTypeName.at(i)=='.')) i--;
while (i>=0 && (isId(g_curArgTypeName.at(i)) || g_curArgTypeName.at(i)=='$')) i--;
- Argument *a = new Argument;
- a->attrib = g_curArgAttrib.copy();
+ Argument *a = new Argument;
+ a->attrib = g_curArgAttrib.copy();
+ a->typeConstraint = g_curTypeConstraint.stripWhiteSpace();
//printf("a->type=%s a->name=%s i=%d l=%d\n",
// a->type.data(),a->name.data(),i,l);
a->array.resize(0);
@@ -366,18 +370,18 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
if (a->type.left(6)=="const ") sv=6;
else if (a->type.left(9)=="volatile ") sv=9;
- if (a->type.mid(sv)=="struct" ||
- a->type.mid(sv)=="union" ||
- a->type.mid(sv)=="class" ||
- a->type.mid(sv)=="typename" ||
- a->type=="const" ||
+ if (a->type.mid(sv,6)=="struct" ||
+ a->type.mid(sv,5)=="union" ||
+ a->type.mid(sv,5)=="class" ||
+ a->type.mid(sv,8)=="typename" ||
+ a->type=="const" ||
a->type=="volatile"
)
{
a->type = a->type + " " + a->name;
a->name.resize(0);
}
- //printf(" --> a->type='%s'\n",a->type.data());
+ //printf(" --> a->type='%s' a->name='%s'\n",a->type.data(),a->name.data());
}
else // assume only the type was specified, try to determine name later
{
@@ -413,6 +417,7 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
g_curArgDefValue.resize(0);
g_curArgArray.resize(0);
g_curArgDocs.resize(0);
+ g_curTypeConstraint.resize(0);
if (*yytext==')')
{
BEGIN(FuncQual);
@@ -424,6 +429,11 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
}
}
}
+<ReadFuncArgType,ReadFuncArgPtr>"extends" {
+ g_curTypeConstraint.resize(0);
+ g_lastExtendsContext=YY_START;
+ BEGIN(ReadTypeConstraint);
+ }
<ReadFuncArgType,ReadFuncArgPtr>"$"?{ID} {
QCString name=yytext; //resolveDefines(yytext);
if (YY_START==ReadFuncArgType && g_curArgArray=="[]") // Java style array
@@ -451,13 +461,23 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
<CopyArgRound,CopyArgRound2,CopyArgSharp,CopyArgCurly>. {
*g_copyArgValue += *yytext;
}
-<FuncQual>"const" {
+<ReadTypeConstraint>[,)>] {
+ unput(*yytext);
+ BEGIN(g_lastExtendsContext);
+ }
+<ReadTypeConstraint>. {
+ g_curTypeConstraint+=yytext;
+ }
+<ReadTypeConstraint>\n {
+ g_curTypeConstraint+=' ';
+ }
+<FuncQual>"const" {
g_argList->constSpecifier=TRUE;
}
-<FuncQual>"volatile" {
+<FuncQual>"volatile" {
g_argList->volatileSpecifier=TRUE;
}
-<FuncQual,TrailingReturn>"="{B}*"0" {
+<FuncQual,TrailingReturn>"="{B}*"0" {
g_argList->pureSpecifier=TRUE;
BEGIN(FuncQual);
}
@@ -534,6 +554,7 @@ void stringToArgumentList(const char *argsString,ArgumentList* al,QCString *extr
g_curArgDocs.resize(0);
g_curArgAttrib.resize(0);
g_curArgArray.resize(0);
+ g_curTypeConstraint.resize(0);
g_extraTypeChars.resize(0);
g_argRoundCount = 0;
g_argSharpCount = 0;
diff --git a/src/defgen.cpp b/src/defgen.cpp
index 358cd24..90ae0a2 100644
--- a/src/defgen.cpp
+++ b/src/defgen.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/defgen.h b/src/defgen.h
index 696fb5c..a56c823 100644
--- a/src/defgen.h
+++ b/src/defgen.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/define.cpp b/src/define.cpp
index 2f4e43a..121f5cb 100644
--- a/src/define.cpp
+++ b/src/define.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/define.h b/src/define.h
index 7971cc4..cc1e390 100644
--- a/src/define.h
+++ b/src/define.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/definition.cpp b/src/definition.cpp
index 6cb26de..457c6ea 100644
--- a/src/definition.cpp
+++ b/src/definition.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -495,7 +495,11 @@ void Definition::addSectionsToIndex()
}
QCString title = si->title;
if (title.isEmpty()) title = si->label;
- Doxygen::indexList->addContentsItem(TRUE,title,
+ // determine if there is a next level inside this item
+ ++li;
+ bool isDir = ((li.current()) ? (int)(li.current()->type > nextLevel):FALSE);
+ --li;
+ Doxygen::indexList->addContentsItem(isDir,title,
getReference(),
getOutputFileBase(),
si->label,
@@ -543,7 +547,7 @@ bool Definition::_docsAlreadyAdded(const QCString &doc,QCString &sigList)
// double whitespaces...
QCString docStr = doc.simplifyWhiteSpace();
MD5Buffer((const unsigned char *)docStr.data(),docStr.length(),md5_sig);
- MD5SigToString(md5_sig,sigStr.data(),33);
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
//printf("%s:_docsAlreadyAdded doc='%s' sig='%s' docSigs='%s'\n",
// name().data(),doc.data(),sigStr.data(),sigList.data());
if (sigList.find(sigStr)==-1) // new docs, add signature to prevent re-adding it
@@ -737,7 +741,7 @@ bool readCodeFragment(const char *fileName,
else // use filter
{
QCString cmd=filter+" \""+fileName+"\"";
- Debug::print(Debug::ExtCmd,0,"Executing popen(`%s`)\n",cmd.data());
+ Debug::print(Debug::ExtCmd,0,"Executing popen(`%s`)\n",qPrint(cmd));
f = portable_popen(cmd,"r");
}
bool found = lang==SrcLangExt_VHDL ||
@@ -864,7 +868,7 @@ bool readCodeFragment(const char *fileName,
{
portable_pclose(f);
Debug::print(Debug::FilterOutput, 0, "Filter output\n");
- Debug::print(Debug::FilterOutput,0,"-------------\n%s\n-------------\n",result.data());
+ Debug::print(Debug::FilterOutput,0,"-------------\n%s\n-------------\n",qPrint(result));
}
else
{
@@ -893,6 +897,7 @@ QCString Definition::getSourceAnchor() const
{
const int maxAnchorStrLen = 20;
char anchorStr[maxAnchorStrLen];
+ anchorStr[0]='\0';
if (m_impl->body && m_impl->body->startLine!=-1)
{
if (Htags::useHtags)
@@ -1662,7 +1667,8 @@ void Definition::writeToc(OutputList &ol)
}
cs[0]='0'+nextLevel;
if (inLi[nextLevel]) ol.writeString("</li>\n");
- ol.writeString("<li class=\"level"+QCString(cs)+"\"><a href=\"#"+si->label+"\">"+(si->title.isEmpty()?si->label:si->title)+"</a>");
+ QCString titleDoc = convertToHtml(si->title);
+ ol.writeString("<li class=\"level"+QCString(cs)+"\"><a href=\"#"+si->label+"\">"+(si->title.isEmpty()?si->label:titleDoc)+"</a>");
inLi[nextLevel]=TRUE;
level = nextLevel;
}
diff --git a/src/definition.h b/src/definition.h
index b1f118d..5905a55 100644
--- a/src/definition.h
+++ b/src/definition.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/dia.cpp b/src/dia.cpp
index 955171c..347acba 100644
--- a/src/dia.cpp
+++ b/src/dia.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/dia.h b/src/dia.h
index ca10332..93d7b04 100644
--- a/src/dia.h
+++ b/src/dia.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/diagram.cpp b/src/diagram.cpp
index cc16b50..994c1a4 100644
--- a/src/diagram.cpp
+++ b/src/diagram.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/diagram.h b/src/diagram.h
index 6ce83f3..2922657 100644
--- a/src/diagram.h
+++ b/src/diagram.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/dirdef.cpp b/src/dirdef.cpp
index d4af3f0..067daa0 100644
--- a/src/dirdef.cpp
+++ b/src/dirdef.cpp
@@ -80,16 +80,15 @@ void DirDef::addFile(FileDef *fd)
static QCString encodeDirName(const QCString &anchor)
{
- QCString result;
-
// convert to md5 hash
uchar md5_sig[16];
QCString sigStr(33);
MD5Buffer((const unsigned char *)anchor.data(),anchor.length(),md5_sig);
- MD5SigToString(md5_sig,sigStr.data(),33);
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
return sigStr;
// old algorithm
+// QCString result;
// int l = anchor.length(),i;
// for (i=0;i<l;i++)
diff --git a/src/dirdef.h b/src/dirdef.h
index 9a8a5ad..1a87f5b 100644
--- a/src/dirdef.h
+++ b/src/dirdef.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/docbookgen.cpp b/src/docbookgen.cpp
index edcafdb..d7a4020 100644
--- a/src/docbookgen.cpp
+++ b/src/docbookgen.cpp
@@ -2,7 +2,7 @@
*
*
*
-* Copyright (C) 1997-2014 by Dimitri van Heesch.
+* Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -589,11 +589,9 @@ static void generateDocbookForMember(MemberDef *md,FTextStream &t,Definition *de
t << "_1" << md->anchor() << "\">" << convertToXML(md->name()) << "</link>";
t << " (" << endl;
ArgumentList *declAl = md->declArgumentList();
- ArgumentList *defAl = md->argumentList();
if (declAl && declAl->count()>0)
{
ArgumentListIterator declAli(*declAl);
- ArgumentListIterator defAli(*defAl);
Argument *a;
int cnt=0;
for (declAli.toFirst();(a=declAli.current());++declAli)
@@ -812,7 +810,7 @@ static void generateDocbookForMember(MemberDef *md,FTextStream &t,Definition *de
}
}
-static void generateDocbookSection(Definition *d,FTextStream &t,MemberList *ml,const char *kind,
+static void generateDocbookSection(Definition *d,FTextStream &t,MemberList *ml,const char *,
bool detailed=0, const char *header=0,const char *documentation=0)
{
if (ml==0) return;
@@ -820,7 +818,6 @@ static void generateDocbookSection(Definition *d,FTextStream &t,MemberList *ml,c
MemberDef *md;
int count=0;
int doc_count=0;
- QCString compkind = kind;
QCString title, desctitle;
for (mli.toFirst();(md=mli.current());++mli)
diff --git a/src/docbookgen.h b/src/docbookgen.h
index 0431cf2..866d056 100644
--- a/src/docbookgen.h
+++ b/src/docbookgen.h
@@ -2,7 +2,7 @@
*
*
*
-* Copyright (C) 1997-2014 by Dimitri van Heesch.
+* Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/docbookvisitor.cpp b/src/docbookvisitor.cpp
index 90262e3..70e9c53 100644
--- a/src/docbookvisitor.cpp
+++ b/src/docbookvisitor.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1326,7 +1326,6 @@ void DocbookDocVisitor::writeDotFile(const QCString &baseName, DocVerbatim *s)
shortName=shortName.right(shortName.length()-i-1);
}
QCString outDir = Config_getString("DOCBOOK_OUTPUT");
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
writeDotGraphFromFile(baseName+".dot",outDir,shortName,GOF_BITMAP);
visitPreStart(m_t, s->hasCaption(), baseName + ".dot", s->width(),s->height());
visitCaption(this, s->children());
@@ -1351,7 +1350,7 @@ void DocbookDocVisitor::startDotFile(const QCString &fileName,
}
baseName.prepend("dot_");
QCString outDir = Config_getString("DOCBOOK_OUTPUT");
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
writeDotGraphFromFile(fileName,outDir,baseName,GOF_BITMAP);
m_t << "<para>" << endl;
visitPreStart(m_t, hasCaption, baseName + "." + imgExt, width, height);
diff --git a/src/docbookvisitor.h b/src/docbookvisitor.h
index 3796d8a..6c7976c 100644
--- a/src/docbookvisitor.h
+++ b/src/docbookvisitor.h
@@ -2,7 +2,7 @@
*
*
*
-* Copyright (C) 1997-2014 by Dimitri van Heesch.
+* Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 9a120dc..7944bf7 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -236,7 +236,8 @@ static void docParserPopContext(bool keepParamInfo=FALSE)
// replaces &gt; with < and &gt; with > within string s
static void unescapeCRef(QCString &s)
{
- char *p = s.data();
+ QCString tmp(s);
+ char *p = tmp.rawData();
if (p)
{
char c;
@@ -247,8 +248,9 @@ static void unescapeCRef(QCString &s)
}
}
- s=substitute(s,"&lt;","<");
- s=substitute(s,"&gt;",">");
+ tmp=substitute(tmp,"&lt;","<");
+ tmp=substitute(tmp,"&gt;",">");
+ s = tmp;
}
//---------------------------------------------------------------------------
@@ -517,8 +519,8 @@ static void checkUndocumentedParams()
}
else
{
- warn_doc_error(g_memberDef->docFile(),
- g_memberDef->docLine(),
+ warn_doc_error(g_memberDef->getDefFileName(),
+ g_memberDef->getDefLine(),
substitute(errMsg,"%","%%"));
}
}
@@ -844,7 +846,6 @@ static int handleStyleArgument(DocNode *parent,QList<DocNode> &children,
const QCString &cmdName)
{
DBG(("handleStyleArgument(%s)\n",qPrint(cmdName)));
- QCString tokenName = g_token->name;
int tok=doctokenizerYYlex();
if (tok!=TK_WHITESPACE)
{
@@ -1178,7 +1179,6 @@ static void handleParameterType(DocNode *parent,QList<DocNode> &children,const Q
{
QCString name = g_token->name;
int p=0,i;
- QCString type;
while ((i=paramTypes.find('|',p))!=-1)
{
g_token->name = paramTypes.mid(p,i-p);
@@ -1743,6 +1743,15 @@ static int internalValidatingParseDoc(DocNode *parent,QList<DocNode> &children,
static void readTextFileByName(const QCString &file,QCString &text)
{
+ if (portable_isAbsolutePath(file.data()))
+ {
+ QFileInfo fi(file);
+ if (fi.exists())
+ {
+ text = fileToString(file,Config_getBool("FILTER_SOURCE_FILES"));
+ return;
+ }
+ }
QStrList &examplePathList = Config_getList("EXAMPLE_PATH");
char *s=examplePathList.first();
while (s)
@@ -2137,7 +2146,6 @@ DocXRefItem::DocXRefItem(DocNode *parent,int id,const char *key) :
bool DocXRefItem::parse()
{
- QCString listName;
RefList *refList = Doxygen::xrefLists->find(m_key);
if (refList &&
(
@@ -2571,7 +2579,6 @@ DocCite::DocCite(DocNode *parent,const QCString &target,const QCString &) //cont
{
static uint numBibFiles = Config_getList("CITE_BIB_FILES").count();
m_parent = parent;
- QCString anchor;
//printf("DocCite::DocCite(target=%s)\n",target.data());
ASSERT(!target.isEmpty());
m_relPath = g_relPath;
@@ -6939,7 +6946,7 @@ static QCString extractCopyDocId(const char *data, uint &j, uint len)
}
e=j;
QCString id(e-s+1);
- if (e>s) memcpy(id.data(),data+s,e-s);
+ if (e>s) memcpy(id.rawData(),data+s,e-s);
id.at(e-s)='\0';
//printf("extractCopyDocId='%s' input='%s'\n",id.data(),&data[s]);
return id;
diff --git a/src/docparser.h b/src/docparser.h
index e8ef754..1abb687 100644
--- a/src/docparser.h
+++ b/src/docparser.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/docsets.cpp b/src/docsets.cpp
index 52d24bb..cde317d 100644
--- a/src/docsets.cpp
+++ b/src/docsets.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/docsets.h b/src/docsets.h
index eac5bfc..548ba75 100644
--- a/src/docsets.h
+++ b/src/docsets.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/doctokenizer.h b/src/doctokenizer.h
index ead8da1..eb39906 100644
--- a/src/doctokenizer.h
+++ b/src/doctokenizer.h
@@ -3,7 +3,7 @@
* $Id: $
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index d018450..c642fc1 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -3,7 +3,7 @@
* $Id: $
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1035,7 +1035,7 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{REFWORD4}
<St_IntRef>{BLANK}+"\"" {
BEGIN(St_Ref2);
}
-<St_SetScope>{SCOPEMASK}{BLANK} {
+<St_SetScope>({SCOPEMASK}|{ANONNS}){BLANK} {
g_token->name = yytext;
g_token->name = g_token->name.stripWhiteSpace();
return TK_WORD;
@@ -1150,8 +1150,8 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{REFWORD4}
<St_Comment>"-->" { /* end of html comment */
BEGIN(g_commentState);
}
-<St_Comment>[^-\n]+ /* inside html comment */
-<St_Comment>. /* inside html comment */
+<St_Comment>[^-]+ /* inside html comment */
+<St_Comment>. /* inside html comment */
/* State for skipping title (all chars until the end of the line) */
diff --git a/src/docvisitor.h b/src/docvisitor.h
index a444b47..18fb743 100644
--- a/src/docvisitor.h
+++ b/src/docvisitor.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/dot.cpp b/src/dot.cpp
index f9b4302..705aa27 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -156,8 +156,6 @@ static const char svgZoomFooter[] =
//--------------------------------------------------------------------
-static const int maxCmdLine = 40960;
-
/*! mapping from protection levels to color names */
static const char *normalEdgeColorMap[] =
{
@@ -166,7 +164,8 @@ static const char *normalEdgeColorMap[] =
"firebrick4", // Private
"darkorchid3", // "use" relation
"grey75", // Undocumented
- "orange" // template relation
+ "orange", // template relation
+ "orange" // type constraint
};
static const char *normalArrowStyleMap[] =
@@ -192,7 +191,8 @@ static const char *umlEdgeColorMap[] =
"firebrick4", // Private
"grey25", // "use" relation
"grey75", // Undocumented
- "orange" // template relation
+ "orange", // template relation
+ "orange" // type constraint
};
static const char *umlArrowStyleMap[] =
@@ -383,12 +383,15 @@ static bool convertMapFile(FTextStream &t,const char *mapName,
while (!f.atEnd()) // foreach line
{
QCString buf(maxLineLen);
- int numBytes = f.readLine(buf.data(),maxLineLen);
- buf[numBytes-1]='\0';
-
- if (buf.left(5)=="<area")
+ int numBytes = f.readLine(buf.rawData(),maxLineLen);
+ if (numBytes>0)
{
- t << replaceRef(buf,relPath,urlOnly,context);
+ buf.resize(numBytes+1);
+
+ if (buf.left(5)=="<area")
+ {
+ t << replaceRef(buf,relPath,urlOnly,context);
+ }
}
}
return TRUE;
@@ -658,7 +661,8 @@ static bool writeSVGFigureLink(FTextStream &out,const QCString &relPath,
// support the PNG format, we need to check the result.
static void checkDotResult(const QCString &imgName)
{
- if (Config_getEnum("DOT_IMAGE_FORMAT")=="png")
+ QCString imgExt = getDotImageExtension();
+ if (imgExt=="png")
{
FILE *f = portable_fopen(imgName,"rb");
if (f)
@@ -733,7 +737,7 @@ static bool checkAndUpdateMd5Signature(const QCString &baseName,
{
// read checksum
QCString md5stored(33);
- int bytesRead=f.readBlock(md5stored.data(),32);
+ int bytesRead=f.readBlock(md5stored.rawData(),32);
md5stored[32]='\0';
// compare checksum
if (bytesRead==32 && md5==md5stored)
@@ -812,7 +816,11 @@ void DotRunner::addPostProcessing(const char *cmd,const char *args)
bool DotRunner::run()
{
int exitCode=0;
- QCString dotExe = Config_getString("DOT_PATH")+"dot";
+ // we need to use data here to make a copy of the string, as Config_getString can be called by
+ // multiple threads simulaneously and the reference counting is not thread safe.
+ QCString dotExe = Config_getString("DOT_PATH").data();
+ dotExe+="dot";
+
bool multiTargets = Config_getBool("DOT_MULTI_TARGETS");
QCString dotArgs;
QListIterator<QCString> li(m_jobs);
@@ -988,11 +996,12 @@ bool DotFilePatcher::run()
while (!fi.atEnd()) // foreach line
{
QCString line(maxLineLen);
- int numBytes = fi.readLine(line.data(),maxLineLen);
+ int numBytes = fi.readLine(line.rawData(),maxLineLen);
if (numBytes<=0)
{
break;
}
+ line.resize(numBytes+1);
//printf("line=[%s]\n",line.stripWhiteSpace().data());
int i;
@@ -1135,11 +1144,12 @@ bool DotFilePatcher::run()
while (!fi.atEnd()) // foreach line
{
QCString line(maxLineLen);
- int numBytes = fi.readLine(line.data(),maxLineLen);
+ int numBytes = fi.readLine(line.rawData(),maxLineLen);
if (numBytes<=0)
{
break;
}
+ line.resize(numBytes+1);
Map *map = m_maps.at(0); // there is only one 'map' for a SVG file
t << replaceRef(line,map->relPath,map->urlOnly,map->context,"_top");
}
@@ -1964,8 +1974,8 @@ void DotNode::writeXML(FTextStream &t,bool isClassGraph)
if (!m_url.isEmpty())
{
QCString url(m_url);
- char *refPtr = url.data();
- char *urlPtr = strchr(url.data(),'$');
+ const char *refPtr = url.data();
+ char *urlPtr = strchr(url.rawData(),'$');
if (urlPtr)
{
*urlPtr++='\0';
@@ -1996,6 +2006,7 @@ void DotNode::writeXML(FTextStream &t,bool isClassGraph)
case EdgeInfo::Red: t << "private-inheritance"; break;
case EdgeInfo::Purple: t << "usage"; break;
case EdgeInfo::Orange: t << "template-instance"; break;
+ case EdgeInfo::Orange2: t << "type-constraint"; break;
case EdgeInfo::Grey: ASSERT(0); break;
}
}
@@ -2032,8 +2043,8 @@ void DotNode::writeDocbook(FTextStream &t,bool isClassGraph)
if (!m_url.isEmpty())
{
QCString url(m_url);
- char *refPtr = url.data();
- char *urlPtr = strchr(url.data(),'$');
+ const char *refPtr = url.data();
+ char *urlPtr = strchr(url.rawData(),'$');
if (urlPtr)
{
*urlPtr++='\0';
@@ -2064,6 +2075,7 @@ void DotNode::writeDocbook(FTextStream &t,bool isClassGraph)
case EdgeInfo::Red: t << "private-inheritance"; break;
case EdgeInfo::Purple: t << "usage"; break;
case EdgeInfo::Orange: t << "template-instance"; break;
+ case EdgeInfo::Orange2: t << "type-constraint"; break;
case EdgeInfo::Grey: ASSERT(0); break;
}
}
@@ -2105,8 +2117,8 @@ void DotNode::writeDEF(FTextStream &t)
if (!m_url.isEmpty())
{
QCString url(m_url);
- char *refPtr = url.data();
- char *urlPtr = strchr(url.data(),'$');
+ const char *refPtr = url.data();
+ char *urlPtr = strchr(url.rawData(),'$');
if (urlPtr)
{
*urlPtr++='\0';
@@ -2141,6 +2153,7 @@ void DotNode::writeDEF(FTextStream &t)
case EdgeInfo::Red: t << "private-inheritance"; break;
case EdgeInfo::Purple: t << "usage"; break;
case EdgeInfo::Orange: t << "template-instance"; break;
+ case EdgeInfo::Orange2: t << "type-constraint"; break;
case EdgeInfo::Grey: ASSERT(0); break;
}
t << ';' << endl;
@@ -2266,7 +2279,8 @@ void DotGfxHierarchyTable::createGraph(DotNode *n,FTextStream &out,
{
QDir d(path);
QCString baseName;
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT");
baseName.sprintf("inherit_graph_%d",id);
QCString imgName = baseName+"."+ imgExt;
QCString mapName = baseName+".map";
@@ -2300,7 +2314,7 @@ void DotGfxHierarchyTable::createGraph(DotNode *n,FTextStream &out,
uchar md5_sig[16];
QCString sigStr(33);
MD5Buffer((const unsigned char *)theGraph.data(),theGraph.length(),md5_sig);
- MD5SigToString(md5_sig,sigStr.data(),33);
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
bool regenerate=FALSE;
if (checkAndUpdateMd5Signature(absBaseName,sigStr) ||
!checkDeliverables(absImgName,absMapName))
@@ -2316,7 +2330,7 @@ void DotGfxHierarchyTable::createGraph(DotNode *n,FTextStream &out,
resetReNumbering();
DotRunner *dotRun = new DotRunner(dotName,d.absPath().data(),TRUE,absImgName);
- dotRun->addJob(imgExt,absImgName);
+ dotRun->addJob(imgFmt,absImgName);
dotRun->addJob(MAP_CMD,absMapName);
DotManager::instance()->addRun(dotRun);
}
@@ -2584,7 +2598,7 @@ void DotClassGraph::addClass(ClassDef *cd,DotNode *n,int prot,
{
if (Config_getBool("HIDE_UNDOC_CLASSES") && !cd->isLinkable()) return;
- int edgeStyle = (label || prot==EdgeInfo::Orange) ? EdgeInfo::Dashed : EdgeInfo::Solid;
+ int edgeStyle = (label || prot==EdgeInfo::Orange || prot==EdgeInfo::Orange2) ? EdgeInfo::Dashed : EdgeInfo::Solid;
QCString className;
if (usedName) // name is a typedef
{
@@ -2790,6 +2804,7 @@ bool DotClassGraph::determineVisibleNodes(DotNode *rootNode,
void DotClassGraph::buildGraph(ClassDef *cd,DotNode *n,bool base,int distance)
{
+ static bool templateRelations = Config_getBool("TEMPLATE_RELATIONS");
//printf("DocClassGraph::buildGraph(%s,distance=%d,base=%d)\n",
// cd->name().data(),distance,base);
// ---- Add inheritance relations
@@ -2849,10 +2864,43 @@ void DotClassGraph::buildGraph(ClassDef *cd,DotNode *n,bool base,int distance)
}
}
}
+ if (templateRelations && base)
+ {
+ ConstraintClassDict *dict = cd->templateTypeConstraints();
+ if (dict)
+ {
+ ConstraintClassDictIterator ccdi(*dict);
+ ConstraintClassDef *ccd;
+ for (;(ccd=ccdi.current());++ccdi)
+ {
+ QCString label;
+ QDictIterator<void> dvi(*ccd->accessors);
+ const char *s;
+ bool first=TRUE;
+ int count=0;
+ int maxLabels=10;
+ for (;(s=dvi.currentKey()) && count<maxLabels;++dvi,++count)
+ {
+ if (first)
+ {
+ label=s;
+ first=FALSE;
+ }
+ else
+ {
+ label+=QCString("\n")+s;
+ }
+ }
+ if (count==maxLabels) label+="\n...";
+ //printf("addClass: %s templSpec=%s\n",ucd->classDef->name().data(),ucd->templSpecifiers.data());
+ addClass(ccd->classDef,n,EdgeInfo::Orange2,label,0,
+ 0,TRUE,distance);
+ }
+ }
+ }
// ---- Add template instantiation relations
- static bool templateRelations = Config_getBool("TEMPLATE_RELATIONS");
if (templateRelations)
{
if (base) // template relations for base classes
@@ -3028,7 +3076,7 @@ QCString computeMd5Signature(DotNode *root,
uchar md5_sig[16];
QCString sigStr(33);
MD5Buffer((const unsigned char *)buf.data(),buf.length(),md5_sig);
- MD5SigToString(md5_sig,sigStr.data(),33);
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
if (reNumber)
{
resetReNumbering();
@@ -3121,7 +3169,8 @@ QCString DotClassGraph::writeGraph(FTextStream &out,
baseName = convertNameToFile(diskName());
// derive target file names from baseName
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT");
QCString absBaseName = d.absPath().utf8()+"/"+baseName;
QCString absDotName = absBaseName+".dot";
QCString absMapName = absBaseName+".map";
@@ -3147,11 +3196,9 @@ QCString DotClassGraph::writeGraph(FTextStream &out,
regenerate=TRUE;
if (graphFormat==GOF_BITMAP) // run dot to create a bitmap image
{
- QCString dotArgs(maxCmdLine);
-
DotRunner *dotRun = new DotRunner(absDotName,
d.absPath().data(),TRUE,absImgName);
- dotRun->addJob(imgExt,absImgName);
+ dotRun->addJob(imgFmt,absImgName);
if (generateImageMap) dotRun->addJob(MAP_CMD,absMapName);
DotManager::instance()->addRun(dotRun);
@@ -3479,7 +3526,8 @@ QCString DotInclDepGraph::writeGraph(FTextStream &out,
QCString mapName=escapeCharsInString(m_startNode->m_label,FALSE);
if (m_inverse) mapName+="dep";
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT");
QCString absBaseName = d.absPath().utf8()+"/"+baseName;
QCString absDotName = absBaseName+".dot";
QCString absMapName = absBaseName+".map";
@@ -3506,9 +3554,8 @@ QCString DotInclDepGraph::writeGraph(FTextStream &out,
if (graphFormat==GOF_BITMAP)
{
// run dot to create a bitmap image
- QCString dotArgs(maxCmdLine);
DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),TRUE,absImgName);
- dotRun->addJob(imgExt,absImgName);
+ dotRun->addJob(imgFmt,absImgName);
if (generateImageMap) dotRun->addJob(MAP_CMD,absMapName);
DotManager::instance()->addRun(dotRun);
}
@@ -3792,7 +3839,8 @@ QCString DotCallGraph::writeGraph(FTextStream &out, GraphOutputFormat graphForma
QCString baseName = m_diskName + (m_inverse ? "_icgraph" : "_cgraph");
QCString mapName = baseName;
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT");
QCString absBaseName = d.absPath().utf8()+"/"+baseName;
QCString absDotName = absBaseName+".dot";
QCString absMapName = absBaseName+".map";
@@ -3819,9 +3867,8 @@ QCString DotCallGraph::writeGraph(FTextStream &out, GraphOutputFormat graphForma
if (graphFormat==GOF_BITMAP)
{
// run dot to create a bitmap image
- QCString dotArgs(maxCmdLine);
DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),TRUE,absImgName);
- dotRun->addJob(imgExt,absImgName);
+ dotRun->addJob(imgFmt,absImgName);
if (generateImageMap) dotRun->addJob(MAP_CMD,absMapName);
DotManager::instance()->addRun(dotRun);
@@ -3947,7 +3994,8 @@ QCString DotDirDeps::writeGraph(FTextStream &out,
QCString baseName=m_dir->getOutputFileBase()+"_dep";
QCString mapName=escapeCharsInString(baseName,FALSE);
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT");
QCString absBaseName = d.absPath().utf8()+"/"+baseName;
QCString absDotName = absBaseName+".dot";
QCString absMapName = absBaseName+".map";
@@ -3962,7 +4010,7 @@ QCString DotDirDeps::writeGraph(FTextStream &out,
uchar md5_sig[16];
QCString sigStr(33);
MD5Buffer((const unsigned char *)theGraph.data(),theGraph.length(),md5_sig);
- MD5SigToString(md5_sig,sigStr.data(),33);
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
bool regenerate=FALSE;
if (checkAndUpdateMd5Signature(absBaseName,sigStr) ||
!checkDeliverables(graphFormat==GOF_BITMAP ? absImgName :
@@ -3984,9 +4032,8 @@ QCString DotDirDeps::writeGraph(FTextStream &out,
if (graphFormat==GOF_BITMAP)
{
// run dot to create a bitmap image
- QCString dotArgs(maxCmdLine);
DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),TRUE,absImgName);
- dotRun->addJob(imgExt,absImgName);
+ dotRun->addJob(imgFmt,absImgName);
if (generateImageMap) dotRun->addJob(MAP_CMD,absMapName);
DotManager::instance()->addRun(dotRun);
}
@@ -4108,10 +4155,11 @@ void generateGraphLegend(const char *path)
uchar md5_sig[16];
QCString sigStr(33);
MD5Buffer((const unsigned char *)theGraph.data(),theGraph.length(),md5_sig);
- MD5SigToString(md5_sig,sigStr.data(),33);
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
QCString absBaseName = (QCString)path+"/graph_legend";
QCString absDotName = absBaseName+".dot";
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT");
QCString imgName = "graph_legend."+imgExt;
QCString absImgName = absBaseName+"."+imgExt;
if (checkAndUpdateMd5Signature(absBaseName,sigStr) ||
@@ -4131,7 +4179,7 @@ void generateGraphLegend(const char *path)
// run dot to generate the a bitmap image from the graph
DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),TRUE,absImgName);
- dotRun->addJob(imgExt,absImgName);
+ dotRun->addJob(imgFmt,absImgName);
DotManager::instance()->addRun(dotRun);
}
else
@@ -4159,14 +4207,15 @@ void writeDotGraphFromFile(const char *inFile,const char *outDir,
err("Output dir %s does not exist!\n",outDir); exit(1);
}
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT");
QCString imgName = (QCString)outFile+"."+imgExt;
QCString absImgName = d.absPath().utf8()+"/"+imgName;
QCString absOutFile = d.absPath().utf8()+"/"+outFile;
DotRunner dotRun(inFile,d.absPath().data(),FALSE,absImgName);
if (format==GOF_BITMAP)
- dotRun.addJob(imgExt,absImgName);
+ dotRun.addJob(imgFmt,absImgName);
else // format==GOF_EPS
{
if (Config_getBool("USE_PDFLATEX"))
@@ -4214,7 +4263,8 @@ void writeDotImageMapFromFile(FTextStream &t,
}
QCString mapName = baseName+".map";
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT");
QCString imgName = baseName+"."+imgExt;
QCString absOutFile = d.absPath().utf8()+"/"+mapName;
@@ -4508,11 +4558,11 @@ QCString DotGroupCollaboration::writeGraph( FTextStream &t,
uchar md5_sig[16];
QCString sigStr(33);
MD5Buffer((const unsigned char *)theGraph.data(),theGraph.length(),md5_sig);
- MD5SigToString(md5_sig,sigStr.data(),33);
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
+ QCString imgExt = getDotImageExtension();
+ QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT");
QCString baseName = m_diskName;
QCString imgName = baseName+"."+imgExt;
- QCString mapName = baseName+".map";
QCString absPath = d.absPath().data();
QCString absBaseName = absPath+"/"+baseName;
QCString absDotName = absBaseName+".dot";
@@ -4539,10 +4589,8 @@ QCString DotGroupCollaboration::writeGraph( FTextStream &t,
if (graphFormat==GOF_BITMAP) // run dot to create a bitmap image
{
- QCString dotArgs(maxCmdLine);
-
DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),FALSE);
- dotRun->addJob(imgExt,absImgName);
+ dotRun->addJob(imgFmt,absImgName);
if (writeImageMap) dotRun->addJob(MAP_CMD,absMapName);
DotManager::instance()->addRun(dotRun);
diff --git a/src/dot.h b/src/dot.h
index 41a416e..3de7d79 100644
--- a/src/dot.h
+++ b/src/dot.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -45,7 +45,7 @@ enum EmbeddedOutputFormat { EOF_Html, EOF_LaTeX, EOF_Rtf, EOF_DocBook };
/** Attributes of an edge of a dot graph */
struct EdgeInfo
{
- enum Colors { Blue=0, Green=1, Red=2, Purple=3, Grey=4, Orange=5 };
+ enum Colors { Blue=0, Green=1, Red=2, Purple=3, Grey=4, Orange=5, Orange2=6 };
enum Styles { Solid=0, Dashed=1 };
EdgeInfo() : m_color(0), m_style(0), m_labColor(0) {}
~EdgeInfo() {}
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index e127b8e..c3d2063 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1265,12 +1265,12 @@ static void addClassToContext(EntryNav *rootNav)
ClassDef *cd = getClass(qualifiedName);
Debug::print(Debug::Classes,0, " Found class with name %s (qualifiedName=%s -> cd=%p)\n",
- cd ? cd->name().data() : root->name.data(), qualifiedName.data(),cd);
+ cd ? qPrint(cd->name()) : qPrint(root->name), qPrint(qualifiedName),cd);
if (cd)
{
fullName=cd->name();
- Debug::print(Debug::Classes,0," Existing class %s!\n",cd->name().data());
+ Debug::print(Debug::Classes,0," Existing class %s!\n",qPrint(cd->name()));
//if (cd->templateArguments()==0)
//{
// //printf("existing ClassDef tempArgList=%p specScope=%s\n",root->tArgList,root->scopeSpec.data());
@@ -1341,7 +1341,7 @@ static void addClassToContext(EntryNav *rootNav)
cd=new ClassDef(tagInfo?tagName:root->fileName,root->startLine,root->startColumn,
fullName,sec,tagName,refFileName,TRUE,root->spec&Entry::Enum);
Debug::print(Debug::Classes,0," New class `%s' (sec=0x%08x)! #tArgLists=%d tagInfo=%p\n",
- fullName.data(),sec,root->tArgLists ? (int)root->tArgLists->count() : -1, tagInfo);
+ qPrint(fullName),sec,root->tArgLists ? (int)root->tArgLists->count() : -1, tagInfo);
cd->setDocumentation(root->doc,root->docFile,root->docLine); // copy docs to definition
cd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
cd->setLanguage(root->lang);
@@ -1353,7 +1353,7 @@ static void addClassToContext(EntryNav *rootNav)
//printf("new ClassDef %s tempArgList=%p specScope=%s\n",fullName.data(),root->tArgList,root->scopeSpec.data());
//printf("class %s template args=%s\n",fullName.data(),
- // tArgList ? tempArgListToString(tArgList).data() : "<none>");
+ // tArgList ? tempArgListToString(tArgList,root->lang).data() : "<none>");
cd->setTemplateArguments(tArgList);
cd->setProtection(root->protection);
cd->setIsStatic(root->stat);
@@ -2056,7 +2056,7 @@ static void findUsingDeclarations(EntryNav *rootNav)
if (usingCd==0) // definition not in the input => add an artificial class
{
Debug::print(Debug::Classes,0," New using class `%s' (sec=0x%08x)! #tArgLists=%d\n",
- name.data(),root->section,root->tArgLists ? (int)root->tArgLists->count() : -1);
+ qPrint(name),root->section,root->tArgLists ? (int)root->tArgLists->count() : -1);
usingCd = new ClassDef(
"<using>",1,1,
name,
@@ -2068,7 +2068,7 @@ static void findUsingDeclarations(EntryNav *rootNav)
else
{
Debug::print(Debug::Classes,0," Found used class %s in scope=%s\n",
- usingCd->name().data(),nd?nd->name().data():fd->name().data());
+ qPrint(usingCd->name()),nd?qPrint(nd->name()):qPrint(fd->name()));
}
if (nd)
@@ -2249,13 +2249,13 @@ static MemberDef *addVariableToClass(
Debug::print(Debug::Variables,0,
" class variable:\n"
" `%s' `%s'::`%s' `%s' prot=`%d ann=%d init=`%s'\n",
- root->type.data(),
- qualScope.data(),
- name.data(),
- root->args.data(),
+ qPrint(root->type),
+ qPrint(qualScope),
+ qPrint(name),
+ qPrint(root->args),
root->protection,
fromAnnScope,
- root->initializer.data()
+ qPrint(root->initializer)
);
QCString def;
@@ -2416,10 +2416,10 @@ static MemberDef *addVariableToFile(
Debug::print(Debug::Variables,0,
" global variable:\n"
" type=`%s' scope=`%s' name=`%s' args=`%s' prot=`%d mtype=%d lang=%d\n",
- root->type.data(),
- scope.data(),
- name.data(),
- root->args.data(),
+ qPrint(root->type),
+ qPrint(scope),
+ qPrint(name),
+ qPrint(root->args),
root->protection,
mtype,
root->lang
@@ -2458,7 +2458,6 @@ static MemberDef *addVariableToFile(
// see if the function is inside a namespace
NamespaceDef *nd = 0;
- QCString nscope;
if (!scope.isEmpty())
{
if (scope.find('@')!=-1) return 0; // anonymous scope!
@@ -2562,7 +2561,7 @@ static MemberDef *addVariableToFile(
{
Debug::print(Debug::Variables,0,
- " variable already found: scope=%s\n",md->getOuterScope()->name().data());
+ " variable already found: scope=%s\n",qPrint(md->getOuterScope()->name()));
addMemberDocs(rootNav,md,def,0,FALSE);
md->setRefItems(root->sli);
return md;
@@ -2578,7 +2577,7 @@ static MemberDef *addVariableToFile(
}
Debug::print(Debug::Variables,0,
- " new variable, nd=%s!\n",nd?nd->name().data():"<global>");
+ " new variable, nd=%s!\n",nd?qPrint(nd->name()):"<global>");
// new global variable, enum value or typedef
MemberDef *md=new MemberDef(
fileName,root->startLine,root->startColumn,
@@ -2805,12 +2804,12 @@ static void addVariable(EntryNav *rootNav,int isFuncPtr=-1)
Debug::print(Debug::Variables,0,
"VARIABLE_SEC: \n"
" type=`%s' name=`%s' args=`%s' bodyLine=`%d' mGrpId=%d relates=%s\n",
- root->type.data(),
- root->name.data(),
- root->args.data(),
+ qPrint(root->type),
+ qPrint(root->name),
+ qPrint(root->args),
root->bodyLine,
root->mGrpId,
- root->relates.data()
+ qPrint(root->relates)
);
//printf("root->parent->name=%s\n",root->parent->name.data());
@@ -3121,10 +3120,10 @@ static void addInterfaceOrServiceToServiceOrSingleton(
" Interface Member:\n"
" `%s' `%s' proto=%d\n"
" def=`%s'\n",
- root->type.data(),
- rname.data(),
+ qPrint(root->type),
+ qPrint(rname),
root->proto,
- def.data()
+ qPrint(def)
);
// add member to the global list of all members
@@ -3167,20 +3166,20 @@ static void buildInterfaceAndServiceList(EntryNav *const rootNav)
Debug::print(Debug::Functions,0,
"EXPORTED_INTERFACE_SEC:\n"
" `%s' `%s'::`%s' `%s' relates=`%s' relatesType=`%d' file=`%s' line=`%d' bodyLine=`%d' #tArgLists=%d mGrpId=%d spec=%lld proto=%d docFile=%s\n",
- root->type.data(),
- rootNav->parent()->name().data(),
- root->name.data(),
- root->args.data(),
- root->relates.data(),
+ qPrint(root->type),
+ qPrint(rootNav->parent()->name()),
+ qPrint(root->name),
+ qPrint(root->args),
+ qPrint(root->relates),
root->relatesType,
- root->fileName.data(),
+ qPrint(root->fileName),
root->startLine,
root->bodyLine,
root->tArgLists ? (int)root->tArgLists->count() : -1,
root->mGrpId,
root->spec,
root->proto,
- root->docFile.data()
+ qPrint(root->docFile)
);
QCString const rname = removeRedundantWhiteSpace(root->name);
@@ -3373,12 +3372,12 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
" Func Member:\n"
" `%s' `%s'::`%s' `%s' proto=%d\n"
" def=`%s'\n",
- root->type.data(),
- qualScope.data(),
- rname.data(),
- root->args.data(),
+ qPrint(root->type),
+ qPrint(qualScope),
+ qPrint(rname),
+ qPrint(root->args),
root->proto,
- def.data()
+ qPrint(def)
);
// add member to the global list of all members
@@ -3416,20 +3415,20 @@ static void buildFunctionList(EntryNav *rootNav)
Debug::print(Debug::Functions,0,
"FUNCTION_SEC:\n"
" `%s' `%s'::`%s' `%s' relates=`%s' relatesType=`%d' file=`%s' line=`%d' bodyLine=`%d' #tArgLists=%d mGrpId=%d spec=%lld proto=%d docFile=%s\n",
- root->type.data(),
- rootNav->parent()->name().data(),
- root->name.data(),
- root->args.data(),
- root->relates.data(),
+ qPrint(root->type),
+ qPrint(rootNav->parent()->name()),
+ qPrint(root->name),
+ qPrint(root->args),
+ qPrint(root->relates),
root->relatesType,
- root->fileName.data(),
+ qPrint(root->fileName),
root->startLine,
root->bodyLine,
root->tArgLists ? (int)root->tArgLists->count() : -1,
root->mGrpId,
root->spec,
root->proto,
- root->docFile.data()
+ qPrint(root->docFile)
);
bool isFriend=root->type.find("friend ")!=-1;
@@ -3499,7 +3498,7 @@ static void buildFunctionList(EntryNav *rootNav)
)
{
Debug::print(Debug::Functions,0," --> member %s of class %s!\n",
- rname.data(),cd->name().data());
+ qPrint(rname),qPrint(cd->name()));
addMethodToClass(rootNav,cd,rname,isFriend);
}
else if (!((rootNav->parent()->section() & Entry::COMPOUND_MASK)
@@ -3520,7 +3519,7 @@ static void buildFunctionList(EntryNav *rootNav)
MemberDef *md=0;
if ((mn=Doxygen::functionNameSDict->find(rname)))
{
- Debug::print(Debug::Functions,0," --> function %s already found!\n",rname.data());
+ Debug::print(Debug::Functions,0," --> function %s already found!\n",qPrint(rname));
MemberNameIterator mni(*mn);
for (mni.toFirst();(!found && (md=mni.current()));++mni)
{
@@ -3663,7 +3662,7 @@ static void buildFunctionList(EntryNav *rootNav)
}
if (!found) /* global function is unique with respect to the file */
{
- Debug::print(Debug::Functions,0," --> new function %s found!\n",rname.data());
+ Debug::print(Debug::Functions,0," --> new function %s found!\n",qPrint(rname));
//printf("New function type=`%s' name=`%s' args=`%s' bodyLine=%d\n",
// root->type.data(),rname.data(),root->args.data(),root->bodyLine);
@@ -3744,12 +3743,12 @@ static void buildFunctionList(EntryNav *rootNav)
" Global Function:\n"
" `%s' `%s'::`%s' `%s' proto=%d\n"
" def=`%s'\n",
- root->type.data(),
- rootNav->parent()->name().data(),
- rname.data(),
- root->args.data(),
+ qPrint(root->type),
+ qPrint(rootNav->parent()->name()),
+ qPrint(rname),
+ qPrint(root->args),
root->proto,
- def.data()
+ qPrint(def)
);
md->setDefinition(def);
md->enableCallGraph(root->callGraph);
@@ -3812,7 +3811,7 @@ static void buildFunctionList(EntryNav *rootNav)
}
else
{
- Debug::print(Debug::Functions,0," --> %s not processed!\n",rname.data());
+ Debug::print(Debug::Functions,0," --> %s not processed!\n",qPrint(rname));
}
}
else if (rname.isEmpty())
@@ -4251,7 +4250,7 @@ static void findUsedClassesForClass(EntryNav *rootNav,
if (arg->name==usedName) // type is a template argument
{
found=TRUE;
- Debug::print(Debug::Classes,0," New used class `%s'\n", usedName.data());
+ Debug::print(Debug::Classes,0," New used class `%s'\n", qPrint(usedName));
ClassDef *usedCd = Doxygen::hiddenClasses->find(usedName);
if (usedCd==0)
@@ -4268,7 +4267,7 @@ static void findUsedClassesForClass(EntryNav *rootNav,
Doxygen::hiddenClasses->append(usedName,usedCd);
}
if (isArtificial) usedCd->setArtificial(TRUE);
- Debug::print(Debug::Classes,0," Adding used class `%s' (1)\n", usedCd->name().data());
+ Debug::print(Debug::Classes,0," Adding used class `%s' (1)\n", qPrint(usedCd->name()));
instanceCd->addUsedClass(usedCd,md->name(),md->protection());
usedCd->addUsedByClass(instanceCd,md->name(),md->protection());
}
@@ -4284,7 +4283,7 @@ static void findUsedClassesForClass(EntryNav *rootNav,
if (usedCd)
{
found=TRUE;
- Debug::print(Debug::Classes,0," Adding used class `%s' (2)\n", usedCd->name().data());
+ Debug::print(Debug::Classes,0," Adding used class `%s' (2)\n", qPrint(usedCd->name()));
instanceCd->addUsedClass(usedCd,md->name(),md->protection()); // class exists
usedCd->addUsedByClass(instanceCd,md->name(),md->protection());
}
@@ -4304,7 +4303,7 @@ static void findUsedClassesForClass(EntryNav *rootNav,
{
type+=md->argsString();
}
- Debug::print(Debug::Classes,0," New undocumented used class `%s'\n", type.data());
+ Debug::print(Debug::Classes,0," New undocumented used class `%s'\n", qPrint(type));
usedCd = new ClassDef(
masterCd->getDefFileName(),masterCd->getDefLine(),
masterCd->getDefColumn(),
@@ -4316,7 +4315,7 @@ static void findUsedClassesForClass(EntryNav *rootNav,
if (usedCd)
{
if (isArtificial) usedCd->setArtificial(TRUE);
- Debug::print(Debug::Classes,0," Adding used class `%s' (3)\n", usedCd->name().data());
+ Debug::print(Debug::Classes,0," Adding used class `%s' (3)\n", qPrint(usedCd->name()));
instanceCd->addUsedClass(usedCd,md->name(),md->protection());
usedCd->addUsedByClass(instanceCd,md->name(),md->protection());
}
@@ -4402,7 +4401,7 @@ static bool findTemplateInstanceRelation(Entry *root,
bool isArtificial)
{
Debug::print(Debug::Classes,0," derived from template %s with parameters %s\n",
- templateClass->name().data(),templSpec.data());
+ qPrint(templateClass->name()),qPrint(templSpec));
//printf("findTemplateInstanceRelation(base=%s templSpec=%s templateNames=",
// templateClass->name().data(),templSpec.data());
//if (templateNames)
@@ -4429,7 +4428,7 @@ static bool findTemplateInstanceRelation(Entry *root,
if (freshInstance)
{
- Debug::print(Debug::Classes,0," found fresh instance '%s'!\n",instanceClass->name().data());
+ Debug::print(Debug::Classes,0," found fresh instance '%s'!\n",qPrint(instanceClass->name()));
Doxygen::classSDict->append(instanceClass->name(),instanceClass);
instanceClass->setTemplateBaseClassNames(templateNames);
@@ -4449,7 +4448,7 @@ static bool findTemplateInstanceRelation(Entry *root,
}
Debug::print(Debug::Classes,0," template root found %s templSpec=%s!\n",
- templateRoot->name.data(),templSpec.data());
+ qPrint(templateRoot->name),qPrint(templSpec));
ArgumentList *templArgs = new ArgumentList;
stringToArgumentList(templSpec,templArgs);
findBaseClassesForClass(templateRootNav,context,templateClass,instanceClass,
@@ -4659,11 +4658,11 @@ static bool findClassRelation(
{
Debug::print(
Debug::Classes,0," class relation %s inherited/used by %s found (%s and %s) templSpec='%s'\n",
- baseClassName.data(),
- rootNav->name().data(),
+ qPrint(baseClassName),
+ qPrint(rootNav->name()),
(bi->prot==Private)?"private":((bi->prot==Protected)?"protected":"public"),
(bi->virt==Normal)?"normal":"virtual",
- templSpec.data()
+ qPrint(templSpec)
);
int i=baseClassName.find('<');
@@ -4769,7 +4768,7 @@ static bool findClassRelation(
//printf("3. found=%d\n",found);
if (found)
{
- Debug::print(Debug::Classes,0," Documented base class `%s' templSpec=%s\n",biName.data(),templSpec.isEmpty()?"":templSpec.data());
+ Debug::print(Debug::Classes,0," Documented base class `%s' templSpec=%s\n",qPrint(biName),qPrint(templSpec));
// add base class to this class
// if templSpec is not empty then we should "instantiate"
@@ -4825,7 +4824,7 @@ static bool findClassRelation(
{
Debug::print(Debug::Classes,0,
" New undocumented base class `%s' baseClassName=%s templSpec=%s isArtificial=%d\n",
- biName.data(),baseClassName.data(),templSpec.data(),isArtificial
+ qPrint(biName),qPrint(baseClassName),qPrint(templSpec),isArtificial
);
baseClass=0;
if (isATemplateArgument)
@@ -4884,7 +4883,7 @@ static bool findClassRelation(
}
else
{
- Debug::print(Debug::Classes,0," Base class `%s' not found\n",biName.data());
+ Debug::print(Debug::Classes,0," Base class `%s' not found\n",qPrint(biName));
}
}
else
@@ -4993,7 +4992,7 @@ static void findInheritedTemplateInstances()
{
ClassDef *cd;
QCString bName = extractClassName(rootNav);
- Debug::print(Debug::Classes,0," Inheritance: Class %s : \n",bName.data());
+ Debug::print(Debug::Classes,0," Inheritance: Class %s : \n",qPrint(bName));
if ((cd=getClass(bName)))
{
rootNav->loadEntry(g_storage);
@@ -5014,11 +5013,12 @@ static void findUsedTemplateInstances()
{
ClassDef *cd;
QCString bName = extractClassName(rootNav);
- Debug::print(Debug::Classes,0," Usage: Class %s : \n",bName.data());
+ Debug::print(Debug::Classes,0," Usage: Class %s : \n",qPrint(bName));
if ((cd=getClass(bName)))
{
rootNav->loadEntry(g_storage);
findUsedClassesForClass(rootNav,cd,cd,cd,TRUE);
+ cd->addTypeConstraints();
rootNav->releaseEntry();
}
}
@@ -5037,7 +5037,7 @@ static void computeClassRelations()
rootNav->loadEntry(g_storage);
Entry *root = rootNav->entry();
QCString bName = extractClassName(rootNav);
- Debug::print(Debug::Classes,0," Relations: Class %s : \n",bName.data());
+ Debug::print(Debug::Classes,0," Relations: Class %s : \n",qPrint(bName));
if ((cd=getClass(bName)))
{
findBaseClassesForClass(rootNav,cd,cd,cd,DocumentedOnly,FALSE);
@@ -5079,12 +5079,12 @@ static void computeTemplateClassRelations()
QDict<ClassDef> *templInstances = 0;
if (cd && (templInstances=cd->getTemplateInstances()))
{
- Debug::print(Debug::Classes,0," Template class %s : \n",cd->name().data());
+ Debug::print(Debug::Classes,0," Template class %s : \n",qPrint(cd->name()));
QDictIterator<ClassDef> tdi(*templInstances);
ClassDef *tcd;
for (tdi.toFirst();(tcd=tdi.current());++tdi) // for each template instance
{
- Debug::print(Debug::Classes,0," Template instance %s : \n",tcd->name().data());
+ Debug::print(Debug::Classes,0," Template instance %s : \n",qPrint(tcd->name()));
QCString templSpec = tdi.currentKey();
ArgumentList *templArgs = new ArgumentList;
stringToArgumentList(templSpec,templArgs);
@@ -5453,7 +5453,7 @@ static bool findGlobalMember(EntryNav *rootNav,
Entry *root = rootNav->entry();
Debug::print(Debug::FindMembers,0,
"2. findGlobalMember(namespace=%s,type=%s,name=%s,tempArg=%s,decl=%s)\n",
- namespaceName.data(),type,name,tempArg,decl);
+ qPrint(namespaceName),qPrint(type),qPrint(name),qPrint(tempArg),qPrint(decl));
QCString n=name;
if (n.isEmpty()) return FALSE;
if (n.find("::")!=-1) return FALSE; // skip undefined class members
@@ -5492,8 +5492,7 @@ static bool findGlobalMember(EntryNav *rootNav,
)
{
Debug::print(Debug::FindMembers,0,"4. Try to add member `%s' to scope `%s'\n",
- md->name().data(),namespaceName.data());
- QCString nsName = nd ? nd->name().data() : "";
+ qPrint(md->name()),qPrint(namespaceName));
NamespaceDef *rnd = 0;
if (!namespaceName.isEmpty()) rnd = Doxygen::namespaceSDict->find(namespaceName);
@@ -5773,7 +5772,7 @@ static void findMember(EntryNav *rootNav,
"findMember(root=%p,funcDecl=`%s',related=`%s',overload=%d,"
"isFunc=%d mGrpId=%d tArgList=%p (#=%d) "
"spec=%lld lang=%x\n",
- root,funcDecl.data(),root->relates.data(),overloaded,isFunc,root->mGrpId,
+ root,qPrint(funcDecl),qPrint(root->relates),overloaded,isFunc,root->mGrpId,
root->tArgLists,root->tArgLists ? root->tArgLists->count() : 0,
root->spec,root->lang
);
@@ -6061,9 +6060,9 @@ static void findMember(EntryNav *rootNav,
" isMemberOf=%d\n"
" isFriend=%d\n"
" isFunc=%d\n\n",
- namespaceName.data(),className.data(),
- funcType.data(),funcSpec.data(),funcName.data(),funcArgs.data(),funcTempList.data(),
- funcDecl.data(),root->relates.data(),exceptions.data(),isRelated,isMemberOf,isFriend,
+ qPrint(namespaceName),qPrint(className),
+ qPrint(funcType),qPrint(funcSpec),qPrint(funcName),qPrint(funcArgs),qPrint(funcTempList),
+ qPrint(funcDecl),qPrint(root->relates),qPrint(exceptions),isRelated,isMemberOf,isFriend,
isFunc
);
@@ -6103,9 +6102,9 @@ static void findMember(EntryNav *rootNav,
Debug::print(Debug::FindMembers,0,
"3. member definition found, "
"scope needed=`%s' scope=`%s' args=`%s' fileName=%s\n",
- scopeName.data(),cd ? cd->name().data() : "<none>",
- md->argsString(),
- root->fileName.data());
+ qPrint(scopeName),cd ? qPrint(cd->name()) : "<none>",
+ qPrint(md->argsString()),
+ qPrint(root->fileName));
//printf("Member %s (member scopeName=%s) (this scopeName=%s) classTempList=%s\n",md->name().data(),cd->name().data(),scopeName.data(),classTempList.data());
FileDef *fd=rootNav->fileDef();
NamespaceDef *nd=0;
@@ -6172,8 +6171,8 @@ static void findMember(EntryNav *rootNav,
Debug::print(Debug::FindMembers,0,
"5. matching `%s'<=>`%s' className=%s namespaceName=%s\n",
- argListToString(argList,TRUE).data(),argListToString(root->argList,TRUE).data(),
- className.data(),namespaceName.data()
+ qPrint(argListToString(argList,TRUE)),qPrint(argListToString(root->argList,TRUE)),
+ qPrint(className),qPrint(namespaceName)
);
bool matching=
@@ -6198,7 +6197,7 @@ static void findMember(EntryNav *rootNav,
className+"::",""); // see bug700693 & bug732594
Debug::print(Debug::FindMembers,0,
"5b. Comparing return types '%s'<->'%s' #args %d<->%d\n",
- md->typeString(),funcType.data(),
+ qPrint(md->typeString()),qPrint(funcType),
md->templateArguments()->count(),root->tArgLists->getLast()->count());
if (md->templateArguments()->count()!=root->tArgLists->getLast()->count() ||
qstrcmp(memType,funcType))
@@ -6299,7 +6298,7 @@ static void findMember(EntryNav *rootNav,
umd = emd = cmd;
Debug::print(Debug::FindMembers,0,
"7. new candidate className=%s scope=%s args=%s exact match\n",
- className.data(),ccd->name().data(),md->argsString());
+ qPrint(className),qPrint(ccd->name()),qPrint(md->argsString()));
}
else // arguments do not match, but member name and scope do -> remember
{
@@ -6307,7 +6306,7 @@ static void findMember(EntryNav *rootNav,
umd = cmd;
Debug::print(Debug::FindMembers,0,
"7. new candidate className=%s scope=%s args=%s no match\n",
- className.data(),ccd->name().data(),md->argsString());
+ qPrint(className),qPrint(ccd->name()),qPrint(md->argsString()));
}
candidates++;
}
@@ -6428,6 +6427,7 @@ static void findMember(EntryNav *rootNav,
md->enableCallGraph(root->callGraph);
md->enableCallerGraph(root->callerGraph);
md->setDocumentation(root->doc,root->docFile,root->docLine);
+ md->setBriefDescription(root->brief,root->briefFile,root->briefLine);
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
md->setDocsForDefinition(!root->proto);
md->setPrototype(root->proto);
@@ -6495,6 +6495,7 @@ static void findMember(EntryNav *rootNav,
doc+="<p>";
doc+=root->doc;
md->setDocumentation(doc,root->docFile,root->docLine);
+ md->setBriefDescription(root->brief,root->briefFile,root->briefLine);
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
md->setDocsForDefinition(!root->proto);
md->setPrototype(root->proto);
@@ -6526,7 +6527,7 @@ static void findMember(EntryNav *rootNav,
else if (isRelated && !root->relates.isEmpty())
{
Debug::print(Debug::FindMembers,0,"2. related function\n"
- " scopeName=%s className=%s\n",scopeName.data(),className.data());
+ " scopeName=%s className=%s\n",qPrint(scopeName),qPrint(className));
if (className.isEmpty()) className=root->relates;
ClassDef *cd;
//printf("scopeName=`%s' className=`%s'\n",scopeName.data(),className.data());
@@ -6751,7 +6752,7 @@ localObjCMethod:
if (Config_getBool("EXTRACT_LOCAL_METHODS") && (cd=getClass(scopeName)))
{
Debug::print(Debug::FindMembers,0,"4. Local objective C method %s\n"
- " scopeName=%s className=%s\n",root->name.data(),scopeName.data(),className.data());
+ " scopeName=%s className=%s\n",qPrint(root->name),qPrint(scopeName),qPrint(className));
//printf("Local objective C method `%s' of class `%s' found\n",root->name.data(),cd->name().data());
MemberDef *md=new MemberDef(
root->fileName,root->startLine,root->startColumn,
@@ -6833,7 +6834,7 @@ static void filterMemberDocumentation(EntryNav *rootNav)
int i=-1,l;
Debug::print(Debug::FindMembers,0,
"findMemberDocumentation(): root->type=`%s' root->inside=`%s' root->name=`%s' root->args=`%s' section=%x root->spec=%lld root->mGrpId=%d\n",
- root->type.data(),root->inside.data(),root->name.data(),root->args.data(),root->section,root->spec,root->mGrpId
+ qPrint(root->type),qPrint(root->inside),qPrint(root->name),qPrint(root->args),root->section,root->spec,root->mGrpId
);
//printf("rootNav->parent()->name()=%s\n",rootNav->parent()->name().data());
bool isFunc=TRUE;
@@ -8727,9 +8728,8 @@ static void findMainPage(EntryNav *rootNav)
{
Entry *root = rootNav->entry();
warn(root->fileName,root->startLine,
- "found more than one \\mainpage comment block! Skipping this "
- "block."
- );
+ "found more than one \\mainpage comment block! (first occurrence: %s, line %d), Skipping current block!",
+ Doxygen::mainPage->docFile().data(),Doxygen::mainPage->docLine());
}
rootNav->releaseEntry();
@@ -9949,7 +9949,7 @@ static void devUsage()
static void usage(const char *name)
{
- msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2014\n\n",versionString);
+ msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2015\n\n",versionString);
msg("You can use doxygen in a number of ways:\n\n");
msg("1) Use doxygen to generate a template configuration file:\n");
msg(" %s [-s] -g [configName]\n\n",name);
@@ -9962,7 +9962,7 @@ static void usage(const char *name)
msg(" If - is used for configName doxygen will read from standard input.\n\n");
msg("4) Use doxygen to generate a template file controlling the layout of the\n");
msg(" generated documentation:\n");
- msg(" %s -l layoutFileName.xml\n\n",name);
+ msg(" %s -l [layoutFileName.xml]\n\n",name);
msg("5) Use doxygen to generate a template style sheet file for RTF, HTML or Latex.\n");
msg(" RTF: %s -w rtf styleSheetFile\n",name);
msg(" HTML: %s -w html headerFile footerFile styleSheetFile [configFile]\n",name);
@@ -10323,16 +10323,19 @@ void readConfiguration(int argc, char **argv)
}
else if (qstricmp(formatName,"latex")==0)
{
- if (optind+4<argc) // use config file to get settings
+ if (optind+4<argc || QFileInfo("Doxyfile").exists())
{
- if (!Config::instance()->parse(argv[optind+4]))
+ QCString df = optind+4<argc ? argv[optind+4] : QCString("Doxyfile");
+ if (!Config::instance()->parse(df))
{
err("error opening or reading configuration file %s!\n",argv[optind+4]);
+ cleanUpDoxygen();
exit(1);
}
Config::instance()->substituteEnvironmentVars();
Config::instance()->convertStrToVal();
Config_getString("LATEX_HEADER")="";
+ Config_getString("LATEX_FOOTER")="";
Config::instance()->check();
}
else // use default config
@@ -10638,7 +10641,7 @@ static void writeTagFile()
FileDef *fd;
for (fni.toFirst();(fd=fni.current());++fni)
{
- fd->writeTagFile(tagFile);
+ if (fd->isLinkableInProject()) fd->writeTagFile(tagFile);
}
}
// for each class
@@ -10646,28 +10649,28 @@ static void writeTagFile()
ClassDef *cd;
for ( ; (cd=cli.current()) ; ++cli )
{
- cd->writeTagFile(tagFile);
+ if (cd->isLinkableInProject()) cd->writeTagFile(tagFile);
}
// for each namespace
NamespaceSDict::Iterator nli(*Doxygen::namespaceSDict);
NamespaceDef *nd;
for ( ; (nd=nli.current()) ; ++nli )
{
- nd->writeTagFile(tagFile);
+ if (nd->isLinkableInProject()) nd->writeTagFile(tagFile);
}
// for each group
GroupSDict::Iterator gli(*Doxygen::groupSDict);
GroupDef *gd;
for (gli.toFirst();(gd=gli.current());++gli)
{
- gd->writeTagFile(tagFile);
+ if (gd->isLinkableInProject()) gd->writeTagFile(tagFile);
}
// for each page
PageSDict::Iterator pdi(*Doxygen::pageSDict);
PageDef *pd=0;
for (pdi.toFirst();(pd=pdi.current());++pdi)
{
- pd->writeTagFile(tagFile);
+ if (pd->isLinkableInProject()) pd->writeTagFile(tagFile);
}
if (Doxygen::mainPage) Doxygen::mainPage->writeTagFile(tagFile);
@@ -11671,7 +11674,7 @@ void generateOutput()
QString oldDir = QDir::currentDirPath();
QDir::setCurrent(Config_getString("HTML_OUTPUT"));
portable_sysTimerStart();
- if (portable_system(Config_getString("HHC_LOCATION"), "index.hhp", FALSE))
+ if (portable_system(Config_getString("HHC_LOCATION"), "index.hhp", Debug::isFlagSet(Debug::ExtCmd)))
{
err("failed to run html help compiler on index.hhp\n");
}
diff --git a/src/doxygen.h b/src/doxygen.h
index aa9b745..0d38d5b 100644
--- a/src/doxygen.h
+++ b/src/doxygen.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/doxygen.md b/src/doxygen.md
index 9a9d726..ccb47b9 100644
--- a/src/doxygen.md
+++ b/src/doxygen.md
@@ -168,6 +168,10 @@ easy ways to get debug information.
command is specified)
- validate<br>
Currently not used
+ - lex<br>
+ Provide output of the `lex` files used. When a lexer is started and when a lexer
+ ends the name of the `lex` file is given so it is possible to see in which lexer the
+ problem occurs. This makes it easier to select the file to be compiled in `lex` debug mode.
Producing output
----------------
diff --git a/src/doxygen.pro.in b/src/doxygen.pro.in
index 4f05a35..72410a6 100644
--- a/src/doxygen.pro.in
+++ b/src/doxygen.pro.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/src/eclipsehelp.cpp b/src/eclipsehelp.cpp
index 6680aeb..db5ed4f 100644
--- a/src/eclipsehelp.cpp
+++ b/src/eclipsehelp.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/eclipsehelp.h b/src/eclipsehelp.h
index f0ab78e..a7cde1e 100644
--- a/src/eclipsehelp.h
+++ b/src/eclipsehelp.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/entry.cpp b/src/entry.cpp
index b5928b3..bf45f87 100644
--- a/src/entry.cpp
+++ b/src/entry.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -24,7 +24,7 @@
#include "doxygen.h"
#include "filestorage.h"
#include "arguments.h"
-
+#include "config.h"
//------------------------------------------------------------------
#define HEADER ('D'<<24)+('O'<<16)+('X'<<8)+'!'
@@ -216,6 +216,8 @@ void Entry::addSubEntry(Entry *current)
void Entry::reset()
{
+ static bool entryCallGraph = Config_getBool("CALL_GRAPH");
+ static bool entryCallerGraph = Config_getBool("CALLER_GRAPH");
//printf("Entry::reset()\n");
name.resize(0);
type.resize(0);
@@ -245,8 +247,8 @@ void Entry::reset()
bodyLine = -1;
endBodyLine = -1;
mGrpId = -1;
- callGraph = FALSE;
- callerGraph = FALSE;
+ callGraph = entryCallGraph;
+ callerGraph = entryCallerGraph;
section = EMPTY_SEC;
mtype = Method;
virt = Normal;
diff --git a/src/entry.h b/src/entry.h
index c92038f..f1b81ef 100644
--- a/src/entry.h
+++ b/src/entry.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/example.h b/src/example.h
index 7c86554..cf30827 100644
--- a/src/example.h
+++ b/src/example.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/filedef.cpp b/src/filedef.cpp
index dd97c1c..d6e49a2 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1296,7 +1296,6 @@ void FileDef::addIncludedUsingDirectives()
visited=TRUE;
//printf("( FileDef::addIncludedUsingDirectives for file %s\n",name().data());
- NamespaceList nl;
if (m_includeList) // file contains #includes
{
{
@@ -1542,7 +1541,6 @@ static Directory *findDirNode(Directory *root,const QCString &name)
static void mergeFileDef(Directory *root,FileDef *fd)
{
- QCString rootPath = root->name();
QCString filePath = fd->absFilePath();
//printf("merging %s\n",filePath.data());
Directory *dirNode = findDirNode(root,filePath);
@@ -1743,7 +1741,7 @@ void FileDef::acquireFileVersion()
{
msg("Version of %s : ",m_filePath.data());
QCString cmd = vercmd+" \""+m_filePath+"\"";
- Debug::print(Debug::ExtCmd,0,"Executing popen(`%s`)\n",cmd.data());
+ Debug::print(Debug::ExtCmd,0,"Executing popen(`%s`)\n",qPrint(cmd));
FILE *f=portable_popen(cmd,"r");
if (!f)
{
diff --git a/src/filedef.h b/src/filedef.h
index 33eae35..17a5e60 100644
--- a/src/filedef.h
+++ b/src/filedef.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/filename.cpp b/src/filename.cpp
index 8719f3c..aa51249 100644
--- a/src/filename.cpp
+++ b/src/filename.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/filename.h b/src/filename.h
index ac7b164..fbee0e1 100644
--- a/src/filename.h
+++ b/src/filename.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/fileparser.cpp b/src/fileparser.cpp
index 1d78e1e..b54b243 100644
--- a/src/fileparser.cpp
+++ b/src/fileparser.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/fileparser.h b/src/fileparser.h
index f9a7c7b..4568a39 100644
--- a/src/fileparser.h
+++ b/src/fileparser.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/filestorage.h b/src/filestorage.h
index 0d72923..5c2a92d 100644
--- a/src/filestorage.h
+++ b/src/filestorage.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/formula.cpp b/src/formula.cpp
index 9e835e1..7b8d346 100644
--- a/src/formula.cpp
+++ b/src/formula.cpp
@@ -1,7 +1,7 @@
/******************************************************************************
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/formula.h b/src/formula.h
index 47f7d4b..422030c 100644
--- a/src/formula.h
+++ b/src/formula.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/fortrancode.h b/src/fortrancode.h
index b64ede7..c110852 100644
--- a/src/fortrancode.h
+++ b/src/fortrancode.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -34,4 +34,5 @@ void parseFortranCode(CodeOutputInterface &,const char *,const QCString &,
void resetFortranCodeParserState();
void codeFreeScanner();
+const int fixedCommentAfter = 72;
#endif
diff --git a/src/fortrancode.l b/src/fortrancode.l
index 51934cd..bf50835 100644
--- a/src/fortrancode.l
+++ b/src/fortrancode.l
@@ -50,6 +50,7 @@
#include "filedef.h"
#include "namespacedef.h"
#include "tooltip.h"
+#include "fortrancode.h"
// Toggle for some debugging info
//#define DBG_CTX(x) fprintf x
@@ -211,9 +212,14 @@ static void endFontClass()
static void startFontClass(const char *s)
{
- endFontClass();
- g_code->startFontClass(s);
- g_currentFontClass=s;
+ // if font class is already set don't stop and start it.
+ // strcmp does not like null pointers as input.
+ if (!g_currentFontClass || !s || strcmp(g_currentFontClass,s))
+ {
+ endFontClass();
+ g_code->startFontClass(s);
+ g_currentFontClass=s;
+ }
}
static void setCurrentDoc(const QCString &anchor)
@@ -724,7 +730,7 @@ ATTR_SPEC (IMPLICIT|ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC
ACCESS_SPEC (PROTECTED|PRIVATE|PUBLIC)
/* Assume that attribute statements are almost the same as attributes. */
ATTR_STMT {ATTR_SPEC}|DIMENSION
-FLOW (DO|SELECT|CASE|SELECT{BS}(CASE|TYPE)|WHERE|IF|THEN|ELSE|WHILE|FORALL|ELSEWHERE|ELSEIF|RETURN|CONTINUE|EXIT)
+FLOW (DO|SELECT|CASE|SELECT{BS}(CASE|TYPE)|WHERE|IF|THEN|ELSE|WHILE|FORALL|ELSEWHERE|ELSEIF|RETURN|CONTINUE|EXIT|GO{BS}TO)
COMMANDS (FORMAT|CONTAINS|MODULE{BS_}PROCEDURE|WRITE|READ|ALLOCATE|ALLOCATED|ASSOCIATED|PRESENT|DEALLOCATE|NULLIFY|SIZE|INQUIRE|OPEN|CLOSE|FLUSH|DATA|COMMON)
IGNORE (CALL)
PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|IMPURE|PURE|ELEMENTAL)?
@@ -1179,11 +1185,22 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
}
YY_FTN_RESET
}
-<*>^{BS}"type"{BS}"=" { g_code->codify(yytext); }
+<*>^{BS}"type"{BS}"=" { g_code->codify(yytext); }
-<*>. {
- g_code->codify(yytext);
- }
+<*>. {
+ if (g_isFixedForm && yy_my_start > fixedCommentAfter)
+ {
+ //yy_push_state(YY_START);
+ //BEGIN(DocBlock);
+ //docBlock=yytext;
+ startFontClass("comment");
+ codifyLines(yytext);
+ }
+ else
+ {
+ g_code->codify(yytext);
+ }
+ }
<*>{LOG_OPER} { // Fortran logical comparison keywords
g_code->codify(yytext);
}
diff --git a/src/fortranscanner.h b/src/fortranscanner.h
index 92a8669..bc8071b 100644
--- a/src/fortranscanner.h
+++ b/src/fortranscanner.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/fortranscanner.l b/src/fortranscanner.l
index 4875606..094bfb1 100644
--- a/src/fortranscanner.l
+++ b/src/fortranscanner.l
@@ -72,7 +72,7 @@
#define YY_NEVER_INTERACTIVE 1
#define YY_NO_INPUT 1
-enum ScanVar { V_IGNORE, V_VARIABLE, V_PARAMETER};
+enum ScanVar { V_IGNORE, V_VARIABLE, V_PARAMETER, V_RESULT};
enum InterfaceType { IF_NONE, IF_SPECIFIC, IF_GENERIC, IF_ABSTRACT };
// {{{ ----- Helper structs -----
@@ -165,7 +165,6 @@ static ScanVar v_type = V_IGNORE; // type of parsed variable
static QList<Entry> moduleProcedures; // list of all interfaces which contain unresolved
// module procedures
static QCString docBlock;
-static QCString docBlockName;
static bool docBlockInBody = FALSE;
static bool docBlockJavaStyle;
@@ -202,6 +201,7 @@ static int yyread(char *buf,int max_size);
static void startCommentBlock(bool);
static void handleCommentBlock(const QCString &doc,bool brief);
static void subrHandleCommentBlock(const QCString &doc,bool brief);
+static void subrHandleCommentBlockResult(const QCString &doc,bool brief);
static void addCurrentEntry(int case_insens);
static void addModule(const char *name, bool isModule=FALSE);
static void addSubprogram(const char *text);
@@ -485,7 +485,7 @@ SCOPENAME ({ID}{BS}"::"{BS})*
<InterfaceBody>^{BS}end{BS}interface({BS_}{ID})? {
// end scope only if GENERIC interface
- last_entry->parent()->endBodyLine = yyLineNr - 1;
+ if (ifType == IF_GENERIC)last_entry->parent()->endBodyLine = yyLineNr - 1;
if (ifType == IF_GENERIC && !endScope(current_root))
yyterminate();
@@ -844,6 +844,7 @@ private {
QCString rght;
if (strt != -1)
{
+ v_type = V_RESULT;
lft = "";
rght = "";
if (strt != 0) lft = current_root->type.left(strt).stripWhiteSpace();
@@ -864,6 +865,10 @@ private {
}
if (current_root->type.length() > 0) current_root->type += " ";
current_root->type += "function";
+ if (!docBlock.isNull())
+ {
+ subrHandleCommentBlockResult(docBlock,TRUE);
+ }
}
else
{
@@ -982,6 +987,8 @@ private {
result=result.stripWhiteSpace();
addSubprogram(result);
BEGIN(Subprog);
+ current->bodyLine = yyLineNr + lineCountPrepass + 1; // we have to be at the line after the definition and we have to take continuation lines into account.
+ current->startLine = yyLineNr;
}
<Start,ModuleBody,SubprogBody,InterfaceBody,ModuleBodyContains,SubprogBodyContains>^{BS}({PREFIX}{BS_})?{SUBPROG}{BS_} {
@@ -1105,6 +1112,10 @@ private {
{
subrHandleCommentBlock(docBlock,TRUE);
}
+ else if (v_type == V_RESULT)
+ {
+ subrHandleCommentBlockResult(docBlock,TRUE);
+ }
yy_pop_state();
docBlock.resize(0);
}
@@ -1400,11 +1411,15 @@ static const char* prepassFixedForm(const char* contents)
int prevLineLength=0;
int prevLineAmpOrExclIndex=-1;
bool emptyLabel=TRUE;
+ bool commented=FALSE;
+ bool inSingle=FALSE;
+ bool inDouble=FALSE;
+ bool inBackslash=FALSE;
int newContentsSize = strlen(contents)+3; // \000, \n (when necessary) and one spare character (to avoid reallocation)
char* newContents = (char*)malloc(newContentsSize);
for(int i=0, j=0;;i++,j++) {
- if(j>=newContentsSize-1) { // check for one spare character, which may be eventually used below (by &)
+ if(j>=newContentsSize-3) { // check for spare characters, which may be eventually used below (by & and '! ')
newContents = (char*)realloc(newContents, newContentsSize+1000);
newContentsSize = newContentsSize+1000;
}
@@ -1417,9 +1432,11 @@ static const char* prepassFixedForm(const char* contents)
prevLineAmpOrExclIndex=getAmpOrExclAtTheEnd(&contents[i-prevLineLength+1], prevLineLength);
column=0;
emptyLabel=TRUE;
+ commented=FALSE;
newContents[j]=c;
break;
case ' ':
+ case '\t':
newContents[j]=c;
break;
case '\000':
@@ -1433,21 +1450,58 @@ static const char* prepassFixedForm(const char* contents)
newContents[newContentsSize + 1] = '\000';
}
return newContents;
+ case '"':
+ case '\'':
+ case '\\':
+ if ((column <= fixedCommentAfter) && (column!=6) && !commented)
+ {
+ // we have some special cases in respect to strings and exscaped string characters
+ newContents[j]=c;
+ if (c == '\\')
+ {
+ inBackslash = !inBackslash;
+ break;
+ }
+ else if (c == '\'')
+ {
+ if (!inDouble) inSingle = !inSingle;
+ break;
+ }
+ else if (c == '"')
+ {
+ if (!inSingle) inDouble = !inDouble;
+ break;
+ }
+ }
+ inBackslash = FALSE;
+ // fallthrough
case 'C':
case 'c':
case '*':
- if (column!=6)
+ case '!':
+ if ((column <= fixedCommentAfter) && (column!=6))
{
emptyLabel=FALSE;
if(column==1)
+ {
newContents[j]='!';
+ commented = TRUE;
+ }
+ else if ((c == '!') && !inDouble && !inSingle)
+ {
+ newContents[j]=c;
+ commented = TRUE;
+ }
else
+ {
newContents[j]=c;
+ }
break;
}
+ // fallthrough
default:
if(column==6 && emptyLabel) { // continuation
- if (c != '0') { // 0 not allowed as continuatioin character, see f95 standard paragraph 3.3.2.3
+ if (c != '0') { // 0 not allowed as continuation character, see f95 standard paragraph 3.3.2.3
newContents[j]=' ';
if(prevLineAmpOrExclIndex==-1) { // add & just before end of previous line
@@ -1460,6 +1514,15 @@ static const char* prepassFixedForm(const char* contents)
} else {
newContents[j]=c; // , just handle like space
}
+ } else if ((column > fixedCommentAfter) && !commented) {
+ // first non commented non blank character after position fixedCommentAfter
+ if (c != '!') {
+ // I'm not a possible start of doxygen comment
+ newContents[j++]='!';
+ newContents[j++]=' '; // so that '<' and '>' as first character are not converted to doxygen comment
+ }
+ newContents[j]=c;
+ commented = TRUE;
} else {
newContents[j]=c;
emptyLabel=FALSE;
@@ -2222,14 +2285,10 @@ static void subrHandleCommentBlock(const QCString &doc,bool brief)
current->inbodyDocs = "";
// strip \\param or @param, so we can do some extra checking. We will add it later on again.
- if (loc_doc.find("\\param") == 0)
- {
- loc_doc = loc_doc.right(loc_doc.length()-strlen("\\param")).stripWhiteSpace();
- }
- else if (loc_doc.find("@param") == 0)
- {
- loc_doc = loc_doc.right(loc_doc.length()-strlen("@param")).stripWhiteSpace();
- }
+ if (!loc_doc.stripPrefix("\\param") &&
+ !loc_doc.stripPrefix("@param")
+ ) (void)loc_doc; // Do nothing work has been done by stripPrefix; (void)loc_doc: to overcome 'empty controlled statement' warning
+ loc_doc.stripWhiteSpace();
// direction as defined with the declaration of the parameter
int dir1 = modifiers[current_root][argName.lower()].direction;
@@ -2242,6 +2301,7 @@ static void subrHandleCommentBlock(const QCString &doc,bool brief)
{
// strip direction
loc_doc = loc_doc.right(loc_doc.length()-strlen(directionParam[SymbolModifiers::IN]));
+ loc_doc.stripWhiteSpace();
// in case of emty documentation or (now) just name, consider it as no documemntation
if (loc_doc.isEmpty() || (loc_doc.lower() == argName.lower()))
{
@@ -2268,6 +2328,7 @@ static void subrHandleCommentBlock(const QCString &doc,bool brief)
(directionParam[dir1] == directionParam[SymbolModifiers::OUT]))
{
loc_doc = loc_doc.right(loc_doc.length()-strlen(directionParam[SymbolModifiers::OUT]));
+ loc_doc.stripWhiteSpace();
if (loc_doc.isEmpty() || (loc_doc.lower() == argName.lower()))
{
current=tmp_entry;
@@ -2291,6 +2352,7 @@ static void subrHandleCommentBlock(const QCString &doc,bool brief)
(directionParam[dir1] == directionParam[SymbolModifiers::INOUT]))
{
loc_doc = loc_doc.right(loc_doc.length()-strlen(directionParam[SymbolModifiers::INOUT]));
+ loc_doc.stripWhiteSpace();
if (loc_doc.isEmpty() || (loc_doc.lower() == argName.lower()))
{
current=tmp_entry;
@@ -2322,6 +2384,37 @@ static void subrHandleCommentBlock(const QCString &doc,bool brief)
// reset current back to the part inside the routine
current=tmp_entry;
}
+//----------------------------------------------------------------------------
+/// Handle result description as defined after the declaration of the parameter
+static void subrHandleCommentBlockResult(const QCString &doc,bool brief)
+{
+ QCString loc_doc;
+ loc_doc = doc.stripWhiteSpace();
+
+ Entry *tmp_entry = current;
+ current = subrCurrent.getFirst(); // temporarily switch to the entry of the subroutine / function
+
+ // Still in the specification section so no inbodyDocs yet, but parameter documentation
+ current->inbodyDocs = "";
+
+ // strip \\returns or @returns. We will add it later on again.
+ if (!loc_doc.stripPrefix("\\returns") &&
+ !loc_doc.stripPrefix("\\return") &&
+ !loc_doc.stripPrefix("@returns") &&
+ !loc_doc.stripPrefix("@return")
+ ) (void)loc_doc; // Do nothing work has been done by stripPrefix; (void)loc_doc: to overcome 'empty controlled statement' warning
+ loc_doc.stripWhiteSpace();
+
+ if (loc_doc.isEmpty() || (loc_doc.lower() == argName.lower()))
+ {
+ current=tmp_entry;
+ return;
+ }
+ handleCommentBlock(QCString("\n\n@returns ") + loc_doc,brief);
+
+ // reset current back to the part inside the routine
+ current=tmp_entry;
+}
//----------------------------------------------------------------------------
#if 0
diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp
index f45d956..e2774a9 100644
--- a/src/ftvhelp.cpp
+++ b/src/ftvhelp.cpp
@@ -1,7 +1,7 @@
/******************************************************************************
* ftvhelp.cpp,v 1.0 2000/09/06 16:09:00
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/ftvhelp.h b/src/ftvhelp.h
index bddb2f0..bacf9a5 100644
--- a/src/ftvhelp.h
+++ b/src/ftvhelp.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index 5c08048..2d7674d 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -508,29 +508,21 @@ void GroupDef::removeMember(MemberDef *md)
}
}
-bool GroupDef::containsGroup(const GroupDef *def)
+bool GroupDef::findGroup(const GroupDef *def) const
{
if (this==def)
{
return TRUE;
}
- else if (groupList->find(def)>=0)
+ else if (groupList)
{
- return TRUE;
- }
- else // look for subgroups as well
- {
- GroupList *groups = partOfGroups();
- if (groups)
+ GroupListIterator it(*groupList);
+ GroupDef *gd;
+ for (;(gd=it.current());++it)
{
- GroupListIterator it(*groups);
- GroupDef *gd;
- for (;(gd=it.current());++it)
+ if (gd->findGroup(def))
{
- if (gd->containsGroup(def))
- {
- return TRUE;
- }
+ return TRUE;
}
}
}
@@ -1377,12 +1369,12 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup)
warn(root->fileName,root->startLine,"Refusing to add group %s to itself",
gd->name().data());
}
- else if (gd->containsGroup(subGroup))
+ else if (subGroup->findGroup(gd))
{
warn(root->fileName,root->startLine,"Refusing to add group %s to group %s, since the latter is already a "
"subgroup of the former\n", subGroup->name().data(),gd->name().data());
}
- else
+ else if (!gd->findGroup(subGroup))
{
gd->addGroup(subGroup);
subGroup->makePartOfGroup(gd);
diff --git a/src/groupdef.h b/src/groupdef.h
index a21311b..be4475f 100644
--- a/src/groupdef.h
+++ b/src/groupdef.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -64,7 +64,7 @@ class GroupDef : public Definition
void addDir(const DirDef *dd);
bool insertMember(MemberDef *def,bool docOnly=FALSE);
void removeMember(MemberDef *md);
- bool containsGroup(const GroupDef *def); // true if def is already a subgroup
+ bool findGroup(const GroupDef *def) const; // true if def is a subgroup of this group
void writeDocumentation(OutputList &ol);
void writeMemberPages(OutputList &ol);
void writeQuickMemberLinks(OutputList &ol,MemberDef *currentMd) const;
diff --git a/src/htags.cpp b/src/htags.cpp
index 1e18ae1..c910eb6 100644
--- a/src/htags.cpp
+++ b/src/htags.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -105,7 +105,6 @@ bool Htags::execute(const QCString &htmldir)
bool Htags::loadFilemap(const QCString &htmlDir)
{
QCString fileMapName = htmlDir+"/HTML/FILEMAP";
- QCString fileMap;
QFileInfo fi(fileMapName);
/*
* Construct FILEMAP dictionary using QDict.
@@ -126,8 +125,10 @@ bool Htags::loadFilemap(const QCString &htmlDir)
line.at(maxlen)='\0';
if (f.open(IO_ReadOnly))
{
- while (f.readLine(line.data(),maxlen)>0)
+ int len;
+ while ((len=f.readLine(line.rawData(),maxlen))>0)
{
+ line.resize(len+1);
//printf("Read line: %s",line.data());
int sep = line.find('\t');
if (sep!=-1)
diff --git a/src/htags.h b/src/htags.h
index 5173b2b..5725e7d 100644
--- a/src/htags.h
+++ b/src/htags.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/htmlattrib.h b/src/htmlattrib.h
index e7fd204..66d5325 100644
--- a/src/htmlattrib.h
+++ b/src/htmlattrib.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index cd6b635..99d6fdd 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1063,7 +1063,6 @@ void HtmlDocVisitor::visitPost(DocPara *p)
}
}
- QCString context;
// if the last element of a paragraph is something that should be outside of
// the paragraph (<ul>,<dl>,<table>) then that will already have ended the
// paragraph and we don't need to do it here
@@ -2002,7 +2001,7 @@ void HtmlDocVisitor::writeMscFile(const QCString &fileName,
}
baseName.prepend("msc_");
QCString outDir = Config_getString("HTML_OUTPUT");
- QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
MscOutputFormat mscFormat = MSC_BITMAP;
if ("svg" == imgExt)
mscFormat = MSC_SVG;
@@ -2046,7 +2045,7 @@ void HtmlDocVisitor::writePlantUMLFile(const QCString &fileName,
baseName=baseName.left(i);
}
static QCString outDir = Config_getString("HTML_OUTPUT");
- static QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
if (imgExt=="svg")
{
generatePlantUMLOutput(fileName,outDir,PUML_SVG);
diff --git a/src/htmldocvisitor.h b/src/htmldocvisitor.h
index 00ae09e..2ff9f75 100644
--- a/src/htmldocvisitor.h
+++ b/src/htmldocvisitor.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/htmlentity.cpp b/src/htmlentity.cpp
index 9327526..c4c601f 100644
--- a/src/htmlentity.cpp
+++ b/src/htmlentity.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -59,7 +59,7 @@ static struct htmlEntityInfo
{ SYM(shy), "\xc2\xad", "&shy;", "<shy/>", "&#173;", "{$\\-$}", NULL, "\\-", { NULL, DocSymbol::Perl_unknown }},
{ SYM(reg), "\xc2\xae", "&reg;", "<registered/>", "&#174;", "\\textregistered{}", "(R)", "\\'AE", { "registered", DocSymbol::Perl_symbol }},
{ SYM(macr), "\xc2\xaf", "&macr;", "<macr/>", "&#175;", "\\={}", NULL, "\\'AF", { NULL, DocSymbol::Perl_unknown }},
- { SYM(deg), "\xc2\xb0", "&deg;", "<deg/>", "&#176;", "\\textdegree", NULL, "\\'B0", { "deg", DocSymbol::Perl_symbol }},
+ { SYM(deg), "\xc2\xb0", "&deg;", "<deg/>", "&#176;", "\\textdegree{}", NULL, "\\'B0", { "deg", DocSymbol::Perl_symbol }},
{ SYM(plusmn), "\xc2\xb1", "&plusmn;", "<plusmn/>", "&#177;", "{$\\pm$}", NULL, "\\'B1", { "+/-", DocSymbol::Perl_string }},
{ SYM(sup2), "\xc2\xb2", "&sup2;", "<sup2/>", "&#178;", "\\texttwosuperior{}", NULL, "\\'B2", { NULL, DocSymbol::Perl_unknown }},
{ SYM(sup3), "\xc2\xb3", "&sup3;", "<sup3/>", "&#179;", "\\textthreesuperior{}", NULL, "\\'B3", { NULL, DocSymbol::Perl_unknown }},
diff --git a/src/htmlentity.h b/src/htmlentity.h
index d3b268c..7e54066 100644
--- a/src/htmlentity.h
+++ b/src/htmlentity.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index 3bb6792..a2dd473 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -125,7 +125,7 @@ QCString clearBlock(const char *s,const char *begin,const char *end)
QCString result(resLen+1);
char *r;
- for (r=result.data(), p=s; (q=strstr(p,begin))!=0; p=q+endLen)
+ for (r=result.rawData(), p=s; (q=strstr(p,begin))!=0; p=q+endLen)
{
int l = (int)(q-p);
memcpy(r,p,l);
@@ -186,7 +186,7 @@ static QCString getSearchBox(bool serverSide, QCString relPath, bool highlightSe
static QCString removeEmptyLines(const QCString &s)
{
BufStr out(s.length()+1);
- char *p=s.data();
+ const char *p=s.data();
if (p)
{
char c;
@@ -194,7 +194,7 @@ static QCString removeEmptyLines(const QCString &s)
{
if (c=='\n')
{
- char *e = p;
+ const char *e = p;
while (*e==' ' || *e=='\t') e++;
if (*e=='\n')
{
diff --git a/src/htmlgen.h b/src/htmlgen.h
index 7b63a6b..924d04f 100644
--- a/src/htmlgen.h
+++ b/src/htmlgen.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/htmlhelp.cpp b/src/htmlhelp.cpp
index 2629ab3..a283338 100644
--- a/src/htmlhelp.cpp
+++ b/src/htmlhelp.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -599,8 +599,8 @@ QCString HtmlHelp::recode(const QCString &s)
QCString output(oSize);
size_t iLeft = iSize;
size_t oLeft = oSize;
- char *iPtr = s.data();
- char *oPtr = output.data();
+ char *iPtr = s.rawData();
+ char *oPtr = output.rawData();
if (!portable_iconv(m_fromUtf8,&iPtr,&iLeft,&oPtr,&oLeft))
{
oSize -= (int)oLeft;
diff --git a/src/htmlhelp.h b/src/htmlhelp.h
index 574cec9..8191d03 100644
--- a/src/htmlhelp.h
+++ b/src/htmlhelp.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/image.cpp b/src/image.cpp
index 3283754..adec5b3 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/image.h b/src/image.h
index ad11a64..35e6ae3 100644
--- a/src/image.h
+++ b/src/image.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/index.cpp b/src/index.cpp
index bc0b48e..e7ba8e7 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1601,7 +1601,6 @@ static void writeAnnotatedClassList(OutputList &ol)
}
if (cd->isLinkableInProject() && cd->templateMaster()==0)
{
- QCString type=cd->compoundTypeString();
ol.startIndexKey();
if (cd->getLanguage()==SrcLangExt_VHDL)
{
@@ -2144,13 +2143,13 @@ static void writeNamespaceLinkForMember(OutputList &ol,MemberDef *md,const char
QCString &prevNamespaceName)
{
NamespaceDef *nd=md->getNamespaceDef();
- if (nd && prevNamespaceName!=nd->name())
+ if (nd && prevNamespaceName!=nd->displayName())
{
ol.docify(separator);
ol.writeObjectLink(md->getReference(),md->getOutputFileBase(),md->anchor(),
- nd->name());
+ nd->displayName());
ol.writeString("\n");
- prevNamespaceName = nd->name();
+ prevNamespaceName = nd->displayName();
}
}
@@ -3115,7 +3114,7 @@ static void writePages(PageDef *pd,FTVHelp *ftv)
if (ftv)
{
- //printf("*** adding %s\n",pageTitle.data());
+ //printf("*** adding %s hasSubPages=%d hasSections=%d\n",pageTitle.data(),hasSubPages,hasSections);
ftv->addContentsItem(
hasSubPages,pageTitle,
pd->getReference(),pd->getOutputFileBase(),
@@ -3124,7 +3123,7 @@ static void writePages(PageDef *pd,FTVHelp *ftv)
if (addToIndex && pd!=Doxygen::mainPage)
{
Doxygen::indexList->addContentsItem(
- hasSubPages,pageTitle,
+ hasSubPages || hasSections,pageTitle,
pd->getReference(),pd->getOutputFileBase(),
0,hasSubPages,TRUE);
}
@@ -3267,7 +3266,8 @@ void writeGraphInfo(OutputList &ol)
QCString legendDocs = theTranslator->trLegendDocs();
int s = legendDocs.find("<center>");
int e = legendDocs.find("</center>");
- if (Config_getEnum("DOT_IMAGE_FORMAT")=="svg" && s!=-1 && e!=-1)
+ QCString imgExt = getDotImageExtension();
+ if (imgExt=="svg" && s!=-1 && e!=-1)
{
legendDocs = legendDocs.left(s+8) + "[!-- SVG 0 --]\n" + legendDocs.mid(e);
//printf("legendDocs=%s\n",legendDocs.data());
@@ -4140,7 +4140,7 @@ static void writeIndexHierarchyEntries(OutputList &ol,const QList<LayoutNavEntry
case LayoutNavEntry::Classes:
if (annotatedClasses>0 && addToIndex)
{
- Doxygen::indexList->addContentsItem(TRUE,lne->title(),0,0,0);
+ Doxygen::indexList->addContentsItem(TRUE,lne->title(),0,"annotated",0);
Doxygen::indexList->incContentsDepth();
needsClosing=TRUE;
}
diff --git a/src/index.h b/src/index.h
index 6805655..150d23f 100644
--- a/src/index.h
+++ b/src/index.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/language.cpp b/src/language.cpp
index 3b57de1..7457676 100644
--- a/src/language.cpp
+++ b/src/language.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/language.h b/src/language.h
index 4780ab3..7c8eef9 100644
--- a/src/language.h
+++ b/src/language.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp
index 4cba261..37c2130 100644
--- a/src/latexdocvisitor.cpp
+++ b/src/latexdocvisitor.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -932,7 +932,7 @@ void LatexDocVisitor::visitPost(DocHtmlTable *t)
void LatexDocVisitor::visitPre(DocHtmlCaption *c)
{
if (m_hide) return;
- m_t << "\\end{" << getTableName(c->parent()) << "}\n\\centering\n\\caption{";
+ m_t << "\\end{" << getTableName(c->parent()->parent()) << "}\n\\centering\n\\caption{";
}
void LatexDocVisitor::visitPost(DocHtmlCaption *)
@@ -1578,22 +1578,11 @@ void LatexDocVisitor::startLink(const QCString &ref,const QCString &file,const Q
{
if (ref.isEmpty() && Config_getBool("PDF_HYPERLINKS")) // internal PDF link
{
- if (ref.isEmpty()) {
- m_t << "\\hyperlink{";
- if (!file.isEmpty()) m_t << stripPath(file);
- if (!file.isEmpty() && !anchor.isEmpty()) m_t << "_";
- if (!anchor.isEmpty()) m_t << anchor;
- m_t << "}{";
- }
- else
- {
- QCString *dest;
- m_t << "\\href{";
- if ((dest=Doxygen::tagDestinationDict[ref])) m_t << *dest << "/";
- if (!file.isEmpty()) m_t << file << Doxygen::htmlFileExtension;
- if (!anchor.isEmpty()) m_t << "#" << anchor;
- m_t << "}{";
- }
+ m_t << "\\hyperlink{";
+ if (!file.isEmpty()) m_t << stripPath(file);
+ if (!file.isEmpty() && !anchor.isEmpty()) m_t << "_";
+ if (!anchor.isEmpty()) m_t << anchor;
+ m_t << "}{";
}
else if (ref.isEmpty()) // internal non-PDF link
{
diff --git a/src/latexdocvisitor.h b/src/latexdocvisitor.h
index 0391dcd..d3aeaea 100644
--- a/src/latexdocvisitor.h
+++ b/src/latexdocvisitor.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
index d4d8fae..042dd7c 100644
--- a/src/latexgen.cpp
+++ b/src/latexgen.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -421,7 +421,10 @@ static void writeDefaultHeaderPart1(FTextStream &t)
const char *pkgName=extraPackages.first();
while (pkgName)
{
- t << "\\usepackage{" << pkgName << "}\n";
+ if ((pkgName[0] == '[') || (pkgName[0] == '{'))
+ t << "\\usepackage" << pkgName << "\n";
+ else
+ t << "\\usepackage{" << pkgName << "}\n";
pkgName=extraPackages.next();
}
t << "\n";
@@ -535,14 +538,18 @@ static void writeDefaultFooter(FTextStream &t)
Doxygen::citeDict->writeLatexBibliography(t);
// Index
+ t << "% Index\n";
QCString unit;
if (Config_getBool("COMPACT_LATEX"))
+ {
unit = "section";
+ }
else
+ {
unit = "chapter";
- t << "% Index\n"
- "\\backmatter\n"
- "\\newpage\n"
+ t << "\\backmatter\n";
+ }
+ t << "\\newpage\n"
"\\phantomsection\n"
"\\clearemptydoublepage\n"
"\\addcontentsline{toc}{" << unit << "}{" << theTranslator->trRTFGeneralIndex() << "}\n"
@@ -1437,18 +1444,18 @@ void LatexGenerator::endDoxyAnchor(const char *fName,const char *anchor)
void LatexGenerator::writeAnchor(const char *fName,const char *name)
{
//printf("LatexGenerator::writeAnchor(%s,%s)\n",fName,name);
- t << "\\label{" << name << "}" << endl;
+ t << "\\label{" << stripPath(name) << "}" << endl;
static bool pdfHyperlinks = Config_getBool("PDF_HYPERLINKS");
static bool usePDFLatex = Config_getBool("USE_PDFLATEX");
if (usePDFLatex && pdfHyperlinks)
{
if (fName)
{
- t << "\\hypertarget{" << stripPath(fName) << "_" << name << "}{}" << endl;
+ t << "\\hypertarget{" << stripPath(fName) << "_" << stripPath(name) << "}{}" << endl;
}
else
{
- t << "\\hypertarget{" << name << "}{}" << endl;
+ t << "\\hypertarget{" << stripPath(name) << "}{}" << endl;
}
}
}
diff --git a/src/latexgen.h b/src/latexgen.h
index 60c649a..ee67803 100644
--- a/src/latexgen.h
+++ b/src/latexgen.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/layout.cpp b/src/layout.cpp
index c364886..75cb6b3 100644
--- a/src/layout.cpp
+++ b/src/layout.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/layout.h b/src/layout.h
index d50bc7c..0b9ad9e 100644
--- a/src/layout.h
+++ b/src/layout.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/libdoxycfg.pro.in b/src/libdoxycfg.pro.in
index ab7c36c..2812cd2 100644
--- a/src/libdoxycfg.pro.in
+++ b/src/libdoxycfg.pro.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/src/libdoxycfg.t.in b/src/libdoxycfg.t.in
index 89833f6..33dd0d4 100644
--- a/src/libdoxycfg.t.in
+++ b/src/libdoxycfg.t.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in
index 47e5673..f76d862 100644
--- a/src/libdoxygen.pro.in
+++ b/src/libdoxygen.pro.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/src/libdoxygen.t.in b/src/libdoxygen.t.in
index 37bd4c1..a9195bc 100644
--- a/src/libdoxygen.t.in
+++ b/src/libdoxygen.t.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/src/logos.cpp b/src/logos.cpp
index 9a9e5db..e9e0905 100644
--- a/src/logos.cpp
+++ b/src/logos.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/logos.h b/src/logos.h
index 083d772..95a8a39 100644
--- a/src/logos.h
+++ b/src/logos.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/main.cpp b/src/main.cpp
index b64f700..cfd38ce 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/mandocvisitor.cpp b/src/mandocvisitor.cpp
index 1fe5409..0cc3959 100644
--- a/src/mandocvisitor.cpp
+++ b/src/mandocvisitor.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/mandocvisitor.h b/src/mandocvisitor.h
index a5906d0..d248c87 100644
--- a/src/mandocvisitor.h
+++ b/src/mandocvisitor.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/mangen.cpp b/src/mangen.cpp
index dc02ccf..a88ac26 100644
--- a/src/mangen.cpp
+++ b/src/mangen.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -107,7 +107,6 @@ ManGenerator::~ManGenerator()
void ManGenerator::init()
{
- QCString ext = getExtension();
QCString &manOutput = Config_getString("MAN_OUTPUT");
QDir d(manOutput);
@@ -307,6 +306,7 @@ void ManGenerator::docify(const char *str)
{
switch(c)
{
+ case '-': t << "\\-"; break; // see bug747780
case '.': t << "\\&."; break; // see bug652277
case '\\': t << "\\\\"; col++; break;
case '\n': t << "\n"; col=0; break;
diff --git a/src/mangen.h b/src/mangen.h
index 98ef959..93111cf 100644
--- a/src/mangen.h
+++ b/src/mangen.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/markdown.cpp b/src/markdown.cpp
index fdf1b0f..02d1416 100644
--- a/src/markdown.cpp
+++ b/src/markdown.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -56,7 +56,8 @@
#define isIdChar(i) \
((data[i]>='a' && data[i]<='z') || \
(data[i]>='A' && data[i]<='Z') || \
- (data[i]>='0' && data[i]<='9')) \
+ (data[i]>='0' && data[i]<='9') || \
+ (((unsigned char)data[i])>=0x80)) // unicode characters
// is character at position i in data allowed before an emphasis section
#define isOpenEmphChar(i) \
@@ -132,7 +133,7 @@ static void convertStringFragment(QCString &result,const char *data,int size)
{
if (size<0) size=0;
result.resize(size+1);
- memcpy(result.data(),data,size);
+ memcpy(result.rawData(),data,size);
result.at(size)='\0';
}
@@ -810,7 +811,6 @@ static int processLink(GrowBuf &out,const char *data,int,int size)
{
return 0;
}
- static QRegExp re("^[@\\]ref ");
if (isToc) // special case for [TOC]
{
if (g_current) g_current->stat=TRUE;
@@ -1366,7 +1366,9 @@ static bool isFencedCodeBlock(const char *data,int size,int refIndent,
int startTildes=0;
while (i<size && data[i]==' ') indent++,i++;
if (indent>=refIndent+4) return FALSE; // part of code block
- while (i<size && data[i]=='~') startTildes++,i++;
+ char tildaChar='~';
+ if (i<size && data[i]=='`') tildaChar='`';
+ while (i<size && data[i]==tildaChar) startTildes++,i++;
if (startTildes<3) return FALSE; // not enough tildes
if (i<size && data[i]=='{') i++; // skip over optional {
int startLang=i;
@@ -1376,11 +1378,11 @@ static bool isFencedCodeBlock(const char *data,int size,int refIndent,
start=i;
while (i<size)
{
- if (data[i]=='~')
+ if (data[i]==tildaChar)
{
end=i-1;
int endTildes=0;
- while (i<size && data[i]=='~') endTildes++,i++;
+ while (i<size && data[i]==tildaChar) endTildes++,i++;
while (i<size && data[i]==' ') i++;
if (i==size || data[i]=='\n')
{
@@ -2316,7 +2318,7 @@ QCString processMarkdown(const QCString &fileName,const int lineNr,Entry *e,cons
// finally process the inline markup (links, emphasis and code spans)
processInline(out,s,s.length());
out.addChar(0);
- Debug::print(Debug::Markdown,0,"======== Markdown =========\n---- input ------- \n%s\n---- output -----\n%s\n---------\n",input.data(),out.get());
+ Debug::print(Debug::Markdown,0,"======== Markdown =========\n---- input ------- \n%s\n---- output -----\n%s\n---------\n",qPrint(input),qPrint(out.get()));
return out.get();
}
diff --git a/src/markdown.h b/src/markdown.h
index 5e35259..e2e3a74 100644
--- a/src/markdown.h
+++ b/src/markdown.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/marshal.cpp b/src/marshal.cpp
index 04f426d..af14978 100644
--- a/src/marshal.cpp
+++ b/src/marshal.cpp
@@ -456,7 +456,7 @@ QCString unmarshalQCString(StorageIntf *s)
result.at(len)='\0';
if (len>0)
{
- s->read(result.data(),len);
+ s->read(result.rawData(),len);
}
//printf("unmarshalQCString: result=%s\n",result.data());
return result;
diff --git a/src/marshal.h b/src/marshal.h
index 0c61276..206ab04 100644
--- a/src/marshal.h
+++ b/src/marshal.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 72f3e3c..23c171a 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1808,7 +1808,10 @@ void MemberDef::writeDeclaration(OutputList &ol,
ol.disableAllBut(OutputGenerator::Html);
//ol.endEmphasis();
ol.docify(" ");
- if (separateMemberPages || (m_impl->group!=0 && gd==0)) // forward link to the page or group
+ if (separateMemberPages ||
+ (m_impl->group!=0 && gd==0) ||
+ (m_impl->nspace!=0 && nd==0)
+ ) // forward link to the page or group or namespace
{
ol.startTextLink(getOutputFileBase(),anchor());
}
@@ -2043,7 +2046,7 @@ void MemberDef::getLabels(QStrList &sl,Definition *container) const
void MemberDef::_writeCallGraph(OutputList &ol)
{
// write call graph
- if ((m_impl->hasCallGraph || Config_getBool("CALL_GRAPH"))
+ if (m_impl->hasCallGraph
&& (isFunction() || isSlot() || isSignal()) && Config_getBool("HAVE_DOT")
)
{
@@ -2068,7 +2071,7 @@ void MemberDef::_writeCallGraph(OutputList &ol)
void MemberDef::_writeCallerGraph(OutputList &ol)
{
- if ((m_impl->hasCallerGraph || Config_getBool("CALLER_GRAPH"))
+ if (m_impl->hasCallerGraph
&& (isFunction() || isSlot() || isSignal()) && Config_getBool("HAVE_DOT")
)
{
@@ -2553,7 +2556,6 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
QCString cname = container->name();
QCString cfname = getOutputFileBase();
- QCString cfiname = container->getOutputFileBase();
// get member name
QCString doxyName=name();
@@ -2589,6 +2591,10 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ldef=ldef.mid(2);
}
}
+ else if (isFunction())
+ {
+ title+=argsString();
+ }
int i=0,l;
static QRegExp r("@[0-9]+");
@@ -2989,13 +2995,13 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
if (!hasDocumentedParams())
{
- warn_doc_error(docFile(),docLine(),
+ warn_doc_error(getDefFileName(),getDefLine(),
"parameters of member %s are not (all) documented",
qPrint(qualifiedName()));
}
if (!hasDocumentedReturnType() && isFunction() && hasDocumentation())
{
- warn_doc_error(docFile(),docLine(),
+ warn_doc_error(getDefFileName(),getDefLine(),
"return type of member %s is not documented",
qPrint(qualifiedName()));
}
@@ -3204,7 +3210,13 @@ void MemberDef::warnIfUndocumented()
if (cd)
t="class", d=cd;
else if (nd)
- t="namespace", d=nd;
+ {
+ d=nd;
+ if (d->getLanguage() == SrcLangExt_Fortran)
+ t="module";
+ else
+ t="namespace";
+ }
else if (gd)
t="group", d=gd;
else
@@ -3222,7 +3234,7 @@ void MemberDef::warnIfUndocumented()
!isReference()
)
{
- warn_undoc(getDefFileName(),getDefLine(),"Member %s%s (%s) of %s %s is not documented.",
+ warn_undoc(d->getDefFileName(),d->getDefLine(),"Member %s%s (%s) of %s %s is not documented.",
qPrint(name()),qPrint(argsString()),qPrint(memberTypeName()),t,qPrint(d->name()));
}
}
@@ -3331,7 +3343,7 @@ void MemberDef::setAnchor()
QCString sigStr(33);
MD5Buffer((const unsigned char *)memAnchor.data(),memAnchor.length(),md5_sig);
//printf("memAnchor=%s\n",memAnchor.data());
- MD5SigToString(md5_sig,sigStr.data(),33);
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
m_impl->anc = "a"+sigStr;
}
diff --git a/src/memberdef.h b/src/memberdef.h
index b68149f..93cd72d 100644
--- a/src/memberdef.h
+++ b/src/memberdef.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/membergroup.cpp b/src/membergroup.cpp
index aa0a36e..4bf7721 100644
--- a/src/membergroup.cpp
+++ b/src/membergroup.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -312,7 +312,7 @@ QCString MemberGroup::anchor() const
QCString locHeader = grpHeader;
if (locHeader.isEmpty()) locHeader="[NOHEADER]";
MD5Buffer((const unsigned char *)locHeader.data(),locHeader.length(),md5_sig);
- MD5SigToString(md5_sig,sigStr.data(),33);
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
return "amgrp"+sigStr;
}
diff --git a/src/membergroup.h b/src/membergroup.h
index daf8ccb..fa5520e 100644
--- a/src/membergroup.h
+++ b/src/membergroup.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index 95726a0..64fe44a 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -409,7 +409,6 @@ void MemberList::writePlainDeclarations(OutputList &ol,
{
ol.endDoxyAnchor(md->getOutputFileBase(),md->anchor());
}
- ol.endMemberItem();
if (!md->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
DocRoot *rootNode = validatingParseDoc(
@@ -437,6 +436,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
delete rootNode;
}
ol.endMemberDeclaration(md->anchor(),inheritId);
+ ol.endMemberItem();
}
md->warnIfUndocumented();
break;
@@ -968,6 +968,15 @@ void MemberList::writeTagFile(FTextStream &tagFile)
if (md->getLanguage()!=SrcLangExt_VHDL)
{
md->writeTagFile(tagFile);
+ if (md->memberType()==MemberType_Enumeration && md->enumFieldList() && !md->isStrong())
+ {
+ MemberListIterator vmli(*md->enumFieldList());
+ MemberDef *vmd;
+ for ( ; (vmd=vmli.current()) ; ++vmli)
+ {
+ vmd->writeTagFile(tagFile);
+ }
+ }
}
else
{
diff --git a/src/memberlist.h b/src/memberlist.h
index 4cccadc..c293d22 100644
--- a/src/memberlist.h
+++ b/src/memberlist.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/membername.cpp b/src/membername.cpp
index a2f7296..a5248c3 100644
--- a/src/membername.cpp
+++ b/src/membername.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/membername.h b/src/membername.h
index 7a2fdc5..143dca1 100644
--- a/src/membername.h
+++ b/src/membername.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/message.cpp b/src/message.cpp
index 4156720..8f89c11 100644
--- a/src/message.cpp
+++ b/src/message.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -151,7 +151,7 @@ static void format_warn(const char *file,int line,const char *text)
static void do_warn(const char *tag, const char *file, int line, const char *prefix, const char *fmt, va_list args)
{
- if (!Config_getBool(tag)) return; // warning type disabled
+ if (tag && !Config_getBool(tag)) return; // warning type disabled
const int bufSize = 40960;
char text[bufSize];
int l=0;
@@ -216,6 +216,14 @@ void err(const char *fmt, ...)
va_end(args);
}
+extern void err_full(const char *file,int line,const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ do_warn(NULL, file, line, error_str, fmt, args);
+ va_end(args);
+}
+
void printlex(int dbg, bool enter, const char *lexName, const char *fileName)
{
const char *enter_txt = "entering";
@@ -230,15 +238,15 @@ void printlex(int dbg, bool enter, const char *lexName, const char *fileName)
if (dbg)
{
if (fileName)
- fprintf(stderr,"--%s lexical analyzer: %s (for: %s)\n",enter_txt, lexName, fileName);
+ fprintf(stderr,"--%s lexical analyzer: %s (for: %s)\n",enter_txt, qPrint(lexName), qPrint(fileName));
else
- fprintf(stderr,"--%s lexical analyzer: %s\n",enter_txt, lexName);
+ fprintf(stderr,"--%s lexical analyzer: %s\n",enter_txt, qPrint(lexName));
}
else
{
if (fileName)
- Debug::print(Debug::Lex,0,"%s lexical analyzer: %s (for: %s)\n",enter_txt_uc, lexName, fileName);
+ Debug::print(Debug::Lex,0,"%s lexical analyzer: %s (for: %s)\n",enter_txt_uc, qPrint(lexName), qPrint(fileName));
else
- Debug::print(Debug::Lex,0,"%s lexical analyzer: %s\n",enter_txt_uc, lexName);
+ Debug::print(Debug::Lex,0,"%s lexical analyzer: %s\n",enter_txt_uc, qPrint(lexName));
}
}
diff --git a/src/message.h b/src/message.h
index 481e8bf..3b1a294 100644
--- a/src/message.h
+++ b/src/message.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -29,6 +29,7 @@ extern void warn_undoc(const char *file,int line,const char *fmt, ...);
extern void warn_doc_error(const char *file,int line,const char *fmt, ...);
extern void warn_uncond(const char *fmt, ...);
extern void err(const char *fmt, ...);
+extern void err_full(const char *file,int line,const char *fmt, ...);
void initWarningFormat();
extern void printlex(int dbg, bool enter, const char *lexName, const char *fileName);
diff --git a/src/msc.cpp b/src/msc.cpp
index f9e919c..7f3c641 100644
--- a/src/msc.cpp
+++ b/src/msc.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -169,7 +169,6 @@ QCString getMscImageMapFromFile(const QCString& inFile, const QCString& outDir,
QCString mscExe = Config_getString("MSCGEN_PATH")+"mscgen"+portable_commandExtension();
QCString mscArgs = "-T ismap -i \"";
mscArgs+=inFile;
- QFileInfo fi(inFile);
mscArgs+="\" -o \"";
mscArgs+=outFile + "\"";
@@ -201,7 +200,6 @@ void writeMscImageMapFromFile(FTextStream &t,const QCString &inFile,
)
{
QCString mapName = baseName+".map";
- QCString mapFile = inFile+".map";
t << "<img src=\"" << relPath << baseName << ".";
switch (format)
{
diff --git a/src/msc.h b/src/msc.h
index 5d71ebd..58fada5 100644
--- a/src/msc.h
+++ b/src/msc.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp
index f7c8123..d08e735 100644
--- a/src/namespacedef.cpp
+++ b/src/namespacedef.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1136,7 +1136,7 @@ QCString NamespaceDef::title() const
{
SrcLangExt lang = getLanguage();
QCString pageTitle;
- if (lang==SrcLangExt_Java || lang==SrcLangExt_CSharp)
+ if (lang==SrcLangExt_Java)
{
pageTitle = theTranslator->trPackage(displayName());
}
@@ -1160,10 +1160,14 @@ QCString NamespaceDef::title() const
QCString NamespaceDef::compoundTypeString() const
{
SrcLangExt lang = getLanguage();
- if (lang==SrcLangExt_Java || lang==SrcLangExt_CSharp)
+ if (lang==SrcLangExt_Java)
{
return "package";
}
+ else if(lang==SrcLangExt_CSharp)
+ {
+ return "namespace";
+ }
else if (lang==SrcLangExt_Fortran)
{
return "module";
@@ -1184,7 +1188,7 @@ QCString NamespaceDef::compoundTypeString() const
}
else
{
- err("Internal inconsistency: namespace in IDL not module, library or constant group\n");
+ err_full(getDefFileName(),getDefLine(),"Internal inconsistency: namespace in IDL not module, library or constant group");
}
}
return "";
diff --git a/src/namespacedef.h b/src/namespacedef.h
index 800f639..2d23d23 100644
--- a/src/namespacedef.h
+++ b/src/namespacedef.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/objcache.cpp b/src/objcache.cpp
index a59c67b..a5180d6 100644
--- a/src/objcache.cpp
+++ b/src/objcache.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/objcache.h b/src/objcache.h
index 6e6e95d..224b34b 100644
--- a/src/objcache.h
+++ b/src/objcache.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/outputgen.cpp b/src/outputgen.cpp
index ee9bc48..31f682e 100644
--- a/src/outputgen.cpp
+++ b/src/outputgen.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/outputgen.h b/src/outputgen.h
index aaf1ba7..c3099df 100644
--- a/src/outputgen.h
+++ b/src/outputgen.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/outputlist.cpp b/src/outputlist.cpp
index 754ee7c..79330d8 100644
--- a/src/outputlist.cpp
+++ b/src/outputlist.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/outputlist.h b/src/outputlist.h
index f578d64..4abb100 100644
--- a/src/outputlist.h
+++ b/src/outputlist.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/pagedef.cpp b/src/pagedef.cpp
index 919a2d7..18a8205 100644
--- a/src/pagedef.cpp
+++ b/src/pagedef.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/pagedef.h b/src/pagedef.h
index 694d081..c3e54a3 100644
--- a/src/pagedef.h
+++ b/src/pagedef.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/parserintf.h b/src/parserintf.h
index 989fdcf..cc95ea4 100644
--- a/src/parserintf.h
+++ b/src/parserintf.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index c636cdf..6f9eb64 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
* Authors: Dimitri van Heesch, Miguel Lobo.
*
* Permission to use, copy, modify, and distribute this software and its
@@ -1371,7 +1371,6 @@ void PerlModDocVisitor::visitPost(DocParBlock *)
static void addTemplateArgumentList(ArgumentList *al,PerlModOutput &output,const char *)
{
- QCString indentStr;
if (!al)
return;
output.openList("template_parameters");
diff --git a/src/perlmodgen.h b/src/perlmodgen.h
index f908959..92bb791 100644
--- a/src/perlmodgen.h
+++ b/src/perlmodgen.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/plantuml.cpp b/src/plantuml.cpp
index 87e70e1..e3a85e4 100644
--- a/src/plantuml.cpp
+++ b/src/plantuml.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -43,7 +43,7 @@ QCString writePlantUMLSource(const QCString &outDir,const QCString &fileName,con
{
err("Could not open file %s for writing\n",baseName.data());
}
- QCString text = "@startuml\n";
+ QCString text = "@startuml";
text+=content;
text+="@enduml\n";
file.writeBlock( text, text.length() );
diff --git a/src/plantuml.h b/src/plantuml.h
index 27626d1..54ab8a2 100644
--- a/src/plantuml.h
+++ b/src/plantuml.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/portable.cpp b/src/portable.cpp
index 7f6be6e..5886793 100644
--- a/src/portable.cpp
+++ b/src/portable.cpp
@@ -45,7 +45,7 @@ int portable_system(const char *command,const char *args,bool commandHasConsole)
fullCmd += " ";
fullCmd += args;
#ifndef NODEBUG
- Debug::print(Debug::ExtCmd,0,"Executing external command `%s`\n",fullCmd.data());
+ Debug::print(Debug::ExtCmd,0,"Executing external command `%s`\n",qPrint(fullCmd));
#endif
#if !defined(_WIN32) || defined(__CYGWIN__)
@@ -194,7 +194,10 @@ uint portable_pid()
return pid;
}
-static char **last_environ;
+#if defined(_WIN32) && !defined(__CYGWIN__)
+#else
+ static char **last_environ;
+#endif
void portable_setenv(const char *name,const char *value)
{
diff --git a/src/pre.h b/src/pre.h
index b624be5..190673f 100644
--- a/src/pre.h
+++ b/src/pre.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/pre.l b/src/pre.l
index 9e88b0d..e56b8ab 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1618,11 +1618,11 @@ static void readIncludeFile(const QCString &inc)
{
if (alreadyIncluded)
{
- Debug::print(Debug::Preprocessor,0,"#include %s: already included! skipping...\n",incFileName.data());
+ Debug::print(Debug::Preprocessor,0,"#include %s: already included! skipping...\n",qPrint(incFileName));
}
else
{
- Debug::print(Debug::Preprocessor,0,"#include %s: not found! skipping...\n",incFileName.data());
+ Debug::print(Debug::Preprocessor,0,"#include %s: not found! skipping...\n",qPrint(incFileName));
}
//printf("error: include file %s not found\n",yytext);
}
@@ -2452,7 +2452,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<SkipCComment>[\\@][\\@]("f{"|"f$"|"f[") {
outputArray(yytext,(int)yyleng);
}
-<SkipCComment>"~~~"[~]* {
+<SkipCComment>^({B}*"*"+)?{B}{0,3}"~~~"[~]* {
+ static bool markdownSupport = Config_getBool("MARKDOWN_SUPPORT");
+ if (!markdownSupport)
+ {
+ REJECT;
+ }
+ else
+ {
+ outputArray(yytext,(int)yyleng);
+ g_fenceSize=yyleng;
+ BEGIN(SkipVerbatim);
+ }
+ }
+<SkipCComment>^({B}*"*"+)?{B}{0,3}"```"[`]* {
static bool markdownSupport = Config_getBool("MARKDOWN_SUPPORT");
if (!markdownSupport)
{
@@ -2599,7 +2612,14 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN(SkipCComment);
}
}
-<SkipVerbatim>"~~~"[~]* {
+<SkipVerbatim>^({B}*"*"+)?{B}{0,3}"~~~"[~]* {
+ outputArray(yytext,(int)yyleng);
+ if (g_fenceSize==yyleng)
+ {
+ BEGIN(SkipCComment);
+ }
+ }
+<SkipVerbatim>^({B}*"*"+)?{B}{0,3}"```"[`]* {
outputArray(yytext,(int)yyleng);
if (g_fenceSize==yyleng)
{
@@ -2609,7 +2629,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<SkipVerbatim>"*/"|"/*" {
outputArray(yytext,(int)yyleng);
}
-<SkipCComment,SkipVerbatim>[^*\\@\x06~\n\/]+ {
+<SkipCComment,SkipVerbatim>[^*\\@\x06~`\n\/]+ {
outputArray(yytext,(int)yyleng);
}
<SkipCComment,SkipVerbatim>\n {
@@ -3179,7 +3199,7 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
Define *def;
for (di.toFirst();(def=di.current());++di)
{
- Debug::print(Debug::Preprocessor,0,"%s ",def->name.data());
+ Debug::print(Debug::Preprocessor,0,"%s ",qPrint(def->name));
}
Debug::print(Debug::Preprocessor,0,"\n---------\n");
}
diff --git a/src/printdocvisitor.h b/src/printdocvisitor.h
index 43b6bde..95e7e47 100644
--- a/src/printdocvisitor.h
+++ b/src/printdocvisitor.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -189,7 +189,7 @@ class PrintDocVisitor : public DocVisitor
void visit(DocFormula *f)
{
indent_leaf();
- printf("<formula name=%s test=%s/>",f->name().data(),f->text().data());
+ printf("<formula name=%s text=%s/>",f->name().data(),f->text().data());
}
void visit(DocIndexEntry *i)
{
diff --git a/src/pycode.h b/src/pycode.h
index 9b0dacb..9817c39 100644
--- a/src/pycode.h
+++ b/src/pycode.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/pycode.l b/src/pycode.l
index 585b587..306acab 100644
--- a/src/pycode.l
+++ b/src/pycode.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -79,7 +79,6 @@ static int g_paramParens;
static bool g_exampleBlock;
static QCString g_exampleName;
-static QCString g_exampleFile;
static QCString g_type;
static QCString g_name;
diff --git a/src/pyscanner.h b/src/pyscanner.h
index e4e974f..affa7ca 100644
--- a/src/pyscanner.h
+++ b/src/pyscanner.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/pyscanner.l b/src/pyscanner.l
index 1ac7b7a..775b0a4 100644
--- a/src/pyscanner.l
+++ b/src/pyscanner.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -83,7 +83,6 @@ static Specifier virt;
static int docBlockContext;
static QCString docBlock;
-static QCString docBlockName;
static bool docBlockInBody;
static bool docBlockJavaStyle;
static bool docBrief;
@@ -97,7 +96,6 @@ static int g_indent = 0;
static int g_curIndent = 0;
static QDict<QCString> g_packageNameCache(257);
-static QCString g_packageScope;
static char g_atomStart;
static char g_atomEnd;
@@ -931,7 +929,6 @@ STARTDOCSYMS "##"
"=" { // default value
// TODO: this rule is too simple, need to be able to
// match things like =")" as well!
- QCString defVal=&yytext[1];
g_defVal.resize(0);
g_braceCount=0;
BEGIN(FunctionParamDefVal);
diff --git a/src/qtbc.h b/src/qtbc.h
index c9ff3ca..e21eff4 100644
--- a/src/qtbc.h
+++ b/src/qtbc.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/reflist.cpp b/src/reflist.cpp
index 3cc7694..8b41caa 100644
--- a/src/reflist.cpp
+++ b/src/reflist.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/reflist.h b/src/reflist.h
index 5b647ea..0d40e80 100644
--- a/src/reflist.h
+++ b/src/reflist.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/res2cc_cmd.py b/src/res2cc_cmd.py
index 772ac84..7e0322d 100755
--- a/src/res2cc_cmd.py
+++ b/src/res2cc_cmd.py
@@ -3,7 +3,7 @@
# offers an initResources() function, which registers the resources with the resource
# manager (class ResourceMgr)
#
-# Copyright (C) 1997-2014 by Dimitri van Heesch.
+# Copyright (C) 1997-2015 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/src/resourcemgr.cpp b/src/resourcemgr.cpp
index a15a702..80bd2ad 100644
--- a/src/resourcemgr.cpp
+++ b/src/resourcemgr.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -132,7 +132,7 @@ bool ResourceMgr::copyResourceAs(const char *name,const char *targetDir,const ch
if (f.open(IO_WriteOnly))
{
QCString buf(res->size+1);
- memcpy(buf.data(),res->data,res->size);
+ memcpy(buf.rawData(),res->data,res->size);
FTextStream t(&f);
buf = replaceColorMarkers(buf);
if (qstrcmp(name,"navtree.css")==0)
@@ -172,7 +172,7 @@ QCString ResourceMgr::getAsString(const char *name) const
if (res)
{
QCString result(res->size+1);
- memcpy(result.data(),res->data,res->size);
+ memcpy(result.rawData(),res->data,res->size);
return result;
}
else
diff --git a/src/resourcemgr.h b/src/resourcemgr.h
index 6347e70..220202c 100644
--- a/src/resourcemgr.h
+++ b/src/resourcemgr.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/rtfdocvisitor.cpp b/src/rtfdocvisitor.cpp
index a11e42f..2ea35cc 100644
--- a/src/rtfdocvisitor.cpp
+++ b/src/rtfdocvisitor.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1414,6 +1414,11 @@ void RTFDocVisitor::visitPre(DocXRefItem *x)
if (x->title().isEmpty()) return;
bool anonymousEnum = x->file()=="@";
DBG_RTF("{\\comment RTFDocVisitor::visitPre(DocXRefItem)}\n");
+ if (!m_lastIsPara)
+ {
+ m_t << "\\par" << endl;
+ m_lastIsPara=TRUE;
+ }
m_t << "{"; // start param list
//m_t << "{\\b "; // start bold
m_t << "{" << rtf_Style["Heading5"]->reference << endl;
@@ -1671,7 +1676,8 @@ void RTFDocVisitor::writeDotFile(const QCString &fileName)
m_t << "{" << endl;
m_t << rtf_Style_Reset;
m_t << "\\pard \\qc {\\field\\flddirty {\\*\\fldinst INCLUDEPICTURE \"";
- m_t << baseName << "." << Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ m_t << baseName << "." << imgExt;
m_t << "\" \\\\d \\\\*MERGEFORMAT}{\\fldrslt IMAGE}}\\par" << endl;
m_t << "}" << endl;
m_lastIsPara=TRUE;
diff --git a/src/rtfdocvisitor.h b/src/rtfdocvisitor.h
index c50802d..0e759c1 100644
--- a/src/rtfdocvisitor.h
+++ b/src/rtfdocvisitor.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp
index 354469b..7baaa3c 100644
--- a/src/rtfgen.cpp
+++ b/src/rtfgen.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Parker Waechter & Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Parker Waechter & Dimitri van Heesch.
*
* Style sheet additions by Alexander Bartolich
*
@@ -95,7 +95,7 @@ RTFGenerator::~RTFGenerator()
void RTFGenerator::writeStyleSheetFile(QFile &file)
{
- QTextStream t(&file);
+ FTextStream t(&file);
t << "# Generated by doxygen " << versionString << "\n\n";
t << "# This file describes styles used for generating RTF output.\n";
t << "# All text after a hash (#) is considered a comment and will be ignored.\n";
@@ -112,7 +112,7 @@ void RTFGenerator::writeStyleSheetFile(QFile &file)
void RTFGenerator::writeExtensionsFile(QFile &file)
{
- QTextStream t(&file);
+ FTextStream t(&file);
t << "# Generated by doxygen " << versionString << "\n\n";
t << "# This file describes extensions used for generating RTF output.\n";
t << "# All text after a hash (#) is considered a comment and will be ignored.\n";
@@ -2362,19 +2362,24 @@ static bool preProcessFile(QDir &d,QCString &infName, FTextStream &t, bool bIncl
// this is EXTREEEEEEEMLY brittle. It works on OUR rtf
// files because the first line before the body
// ALWAYS contains "{\comment begin body}"
+ int len;
do
{
- if (f.readLine(lineBuf.data(),maxLineLength)==-1)
+ lineBuf.resize(maxLineLength);
+ if ((len=f.readLine(lineBuf.rawData(),maxLineLength))==-1)
{
err("read error in %s before end of RTF header!\n",infName.data());
return FALSE;
}
+ lineBuf.resize(len+1);
if (bIncludeHeader) encodeForOutput(t,lineBuf.data());
} while (lineBuf.find("\\comment begin body")==-1);
- while (f.readLine(lineBuf.data(),maxLineLength)!=-1)
+ lineBuf.resize(maxLineLength);
+ while ((len=f.readLine(lineBuf.rawData(),maxLineLength))!=-1)
{
+ lineBuf.resize(len+1);
int pos;
if ((pos=lineBuf.find("INCLUDETEXT"))!=-1)
{
@@ -2406,6 +2411,7 @@ static bool preProcessFile(QDir &d,QCString &infName, FTextStream &t, bool bIncl
encodeForOutput(t,lineBuf);
}
}
+ lineBuf.resize(maxLineLength);
}
f.close();
// remove temporary file
@@ -2429,7 +2435,8 @@ void RTFGenerator::endDotGraph(const DotClassGraph &g)
t << "{" << endl;
t << rtf_Style_Reset << endl;
t << "\\par\\pard \\qc {\\field\\flddirty {\\*\\fldinst INCLUDEPICTURE \"";
- t << fn << "." << Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ t << fn << "." << imgExt;
t << "\" \\\\d \\\\*MERGEFORMAT}{\\fldrslt IMAGE}}\\par" << endl;
t << "}" << endl;
newParagraph();
@@ -2452,7 +2459,8 @@ void RTFGenerator::endInclDepGraph(const DotInclDepGraph &g)
t << "{" << endl;
t << rtf_Style_Reset << endl;
t << "\\par\\pard \\qc {\\field\\flddirty {\\*\\fldinst INCLUDEPICTURE \"";
- t << fn << "." << Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ t << fn << "." << imgExt;
t << "\" \\\\d \\\\*MERGEFORMAT}{\\fldrslt IMAGE}}\\par" << endl;
t << "}" << endl;
DBG_RTF(t << "{\\comment (endInclDepGraph)}" << endl)
@@ -2482,7 +2490,8 @@ void RTFGenerator::endCallGraph(const DotCallGraph &g)
t << "{" << endl;
t << rtf_Style_Reset << endl;
t << "\\par\\pard \\qc {\\field\\flddirty {\\*\\fldinst INCLUDEPICTURE \"";
- t << fn << "." << Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ t << fn << "." << imgExt;
t << "\" \\\\d \\\\*MERGEFORMAT}{\\fldrslt IMAGE}}\\par" << endl;
t << "}" << endl;
DBG_RTF(t << "{\\comment (endCallGraph)}" << endl)
@@ -2504,7 +2513,8 @@ void RTFGenerator::endDirDepGraph(const DotDirDeps &g)
t << "{" << endl;
t << rtf_Style_Reset << endl;
t << "\\par\\pard \\qc {\\field\\flddirty {\\*\\fldinst INCLUDEPICTURE \"";
- t << fn << "." << Config_getEnum("DOT_IMAGE_FORMAT");
+ QCString imgExt = getDotImageExtension();
+ t << fn << "." << imgExt;
t << "\" \\\\d \\\\*MERGEFORMAT}{\\fldrslt IMAGE}}\\par" << endl;
t << "}" << endl;
DBG_RTF(t << "{\\comment (endDirDepGraph)}" << endl)
diff --git a/src/rtfgen.h b/src/rtfgen.h
index 2617ee6..f0f1f6e 100644
--- a/src/rtfgen.h
+++ b/src/rtfgen.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Parker Waechter & Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Parker Waechter & Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/rtfstyle.cpp b/src/rtfstyle.cpp
index f44951a..1ea8868 100644
--- a/src/rtfstyle.cpp
+++ b/src/rtfstyle.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/rtfstyle.h b/src/rtfstyle.h
index ae7e456..60f671f 100644
--- a/src/rtfstyle.h
+++ b/src/rtfstyle.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/scanner.h b/src/scanner.h
index 8c8c3d9..ac574e2 100644
--- a/src/scanner.h
+++ b/src/scanner.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/scanner.l b/src/scanner.l
index d012b93..9529c34 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -83,7 +83,6 @@ static int roundCount = 0 ;
static int curlyCount = 0 ;
static int squareCount = 0 ;
static int padCount = 0 ;
-static QCString slString;
static Entry* current_root = 0 ;
static Entry* global_root = 0 ;
static Entry* current = 0 ;
@@ -114,7 +113,6 @@ static QCString aliasName;
static QCString baseName;
static QCString* specName;
static QCString formulaText;
-static QCString formulaEnd;
static bool useOverrideCommands = FALSE;
static SrcLangExt language;
@@ -162,13 +160,7 @@ static bool needsSemi;
//static int depthIf;
static int initBracketCount;
-static QCString memberGroupRelates;
-static QCString memberGroupInside;
-static QCString xrefItemKey;
-static QCString xrefItemTitle;
-static QCString xrefListTitle;
-static QCString g_skipBlockName;
static QCString oldStyleArgType;
static QCString docBackup;
static QCString briefBackup;
@@ -182,6 +174,7 @@ static char docBlockTerm;
static QCString idlAttr;
static QCString idlProp;
+static bool odlProp;
static bool g_lexInit = FALSE;
static bool externC;
@@ -675,6 +668,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
%x SkipString
%x SkipPHPString
%x SkipInits
+%x SkipC11Inits
%x SkipCPP
%x SkipCPPBlock
%x SkipComment
@@ -1824,7 +1818,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
<FindMembers>{B}*{TYPEDEFPREFIX}{IDLATTR}?"enum"({BN}+("class"|"struct"))?{BN}+ { // for IDL: typedef [something] enum
QCString text=yytext;
isTypedef = text.find("typedef")!=-1;
- bool isStrongEnum = text.find("struct")!=-1 || text.find("class")!=-1;
+ bool isStrongEnum = text.find("struct")!=-1 || text.find("class")!=-1 || insideCS;
if (insideJava)
{
current->section = Entry::CLASS_SEC;
@@ -2811,7 +2805,8 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
}
}
<FindMembers,FindFields,ReadInitializer>"//"([!/]?){B}*{CMD}"}".*|"/*"([!*]?){B}*{CMD}"}"[^*]*"*/" {
- closeGroup(current,yyFileName,yyLineNr);
+ bool insideEnum = YY_START==FindFields || (YY_START==ReadInitializer && lastInitializerContext==FindFields); // see bug746226
+ closeGroup(current,yyFileName,yyLineNr,insideEnum);
}
<FindMembers>"=" { // in PHP code this could also be due to "<?="
current->bodyLine = yyLineNr;
@@ -3398,6 +3393,15 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
idlAttr.resize(0);
idlProp.resize(0);
current->mtype = mtype;
+
+ if (Config_getBool("IDL_PROPERTY_SUPPORT") &&
+ current->mtype == Property)
+ { // we are inside the properties section of a dispinterface
+ odlProp = true;
+ current->spec |= Entry::Gettable;
+ current->spec |= Entry::Settable;
+ }
+
BEGIN( IDLAttribute );
}
else if (insideCS &&
@@ -3452,7 +3456,14 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
current->spec |= Entry::Optional;
}
<IDLAttribute>"readonly" { // on UNO IDL attribute or property
- current->spec |= Entry::Readonly;
+ if (Config_getBool("IDL_PROPERTY_SUPPORT") && odlProp)
+ {
+ current->spec ^= Entry::Settable;
+ }
+ else
+ {
+ current->spec |= Entry::Readonly;
+ }
}
<IDLAttribute>"bound" { // on UNO IDL attribute or property
current->spec |= Entry::Bound;
@@ -3479,6 +3490,11 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
}
<IDLPropName>{BN}*{ID}{BN}* {
// return type (probably HRESULT) - skip it
+
+ if (odlProp)
+ { // property type
+ idlProp = yytext;
+ }
}
<IDLPropName>{ID}{BN}*"(" {
current->name = yytext;
@@ -3487,6 +3503,22 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
current->startColumn = yyColNr;
BEGIN( IDLProp );
}
+<IDLPropName>{BN}*"("{BN}*{ID}{BN}*")"{BN}* {
+ if (odlProp)
+ {
+ idlProp += yytext;
+ }
+ }
+<IDLPropName>{ID}{BN}*/";" {
+ if (odlProp)
+ {
+ current->name = yytext;
+ idlProp = idlProp.stripWhiteSpace();
+ odlProp = false;
+
+ BEGIN( IDLProp );
+ }
+ }
<IDLProp>{BN}*"["[^\]]*"]"{BN}* { // attribute of a parameter
idlAttr = yytext;
idlAttr=idlAttr.stripWhiteSpace();
@@ -3562,6 +3594,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
sharpCount++;
}
<Sharp>{BN}+ {
+ current->type += ' ';
lineCount();
}
<Sharp>. { current->type += *yytext ; }
@@ -4977,8 +5010,18 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
}
<SkipInits>{ID}{BN}*"{" { // C++11 style initializer (see bug 688647)
lineCount();
+ curlyCount=1;
+ BEGIN(SkipC11Inits);
+ }
+<SkipC11Inits>"{" {
++curlyCount;
}
+<SkipC11Inits>"}" {
+ if ( --curlyCount<=0 )
+ {
+ BEGIN(SkipInits);
+ }
+ }
<SkipInits>"{" { // C++11 style initializer
unput('{');
BEGIN( Function );
@@ -5082,7 +5125,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
//addToBody(yytext);
BEGIN( SkipCurlyCpp );
}
-<SkipCurly,SkipInits>\n {
+<SkipCurly,SkipC11Inits,SkipInits>\n {
lineCount();
//addToBody(yytext);
}
@@ -5111,22 +5154,22 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
//addToBody(yytext);
lineCount();
}
-<SkipInits,SkipCurly,SkipCurlyCpp>"/*" {
+<SkipInits,SkipC11Inits,SkipCurly,SkipCurlyCpp>"/*" {
//addToBody(yytext);
lastCContext = YY_START;
BEGIN(SkipComment);
}
-<SkipInits,SkipCurly,SkipCurlyCpp>"//" {
+<SkipInits,SkipC11Inits,SkipCurly,SkipCurlyCpp>"//" {
//addToBody(yytext);
lastCContext = YY_START;
BEGIN(SkipCxxComment);
}
-<SkipInits>"(" {
+<SkipInits,SkipC11Inits>"(" {
roundCount=0;
lastSkipRoundContext=YY_START;
BEGIN(SkipRound);
}
-<SkipInits>\" {
+<SkipInits,SkipC11Inits>\" {
lastStringContext=YY_START;
BEGIN( SkipString );
}
@@ -5161,7 +5204,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
BEGIN(SkipPHPString);
}
}
-<SkipInits,SkipCurly,SkipCurlyCpp>. { }
+<SkipInits,SkipC11Inits,SkipCurly,SkipCurlyCpp>. { }
<SkipString,SkipPHPString>\\. { }
<SkipString>\" {
BEGIN( lastStringContext );
@@ -5950,7 +5993,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
}
<Comment>. { current->program += *yytext ; }
-<FindMembers,FindFields,MemberSpec,FuncQual,SkipCurly,Operator,ClassVar,SkipInits,Bases,OldStyleArgs>("//"{B}*)?"/*!" {
+<FindMembers,FindFields,MemberSpec,FuncQual,SkipCurly,Operator,ClassVar,SkipInits,SkipC11Inits,Bases,OldStyleArgs>("//"{B}*)?"/*!" {
//printf("Start doc block at %d\n",yyLineNr);
removeSlashes=(yytext[1]=='/');
tmpDocType=-1;
@@ -6222,13 +6265,20 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
g_nestedComment=FALSE;
BEGIN(DocCopyBlock);
}
-<DocBlock>"~~~"[~]* {
+<DocBlock>^({B}*"*"+)?{B}{0,3}"~~~"[~]* {
docBlock+=yytext;
docBlockName="~~~";
g_fencedSize=yyleng;
g_nestedComment=FALSE;
BEGIN(DocCopyBlock);
}
+<DocBlock>^({B}*"*"+)?{B}{0,3}"```"[`]* {
+ docBlock+=yytext;
+ docBlockName="```";
+ g_fencedSize=yyleng;
+ g_nestedComment=FALSE;
+ BEGIN(DocCopyBlock);
+ }
<DocBlock>{B}*"<code>" {
if (insideCS)
{
@@ -6340,7 +6390,14 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
REJECT;
}
}
-<DocCopyBlock>"~~~"[~]* {
+<DocCopyBlock>^({B}*"*"+)?{B}{0,3}"~~~"[~]* {
+ docBlock+=yytext;
+ if (g_fencedSize==yyleng)
+ {
+ BEGIN(DocBlock);
+ }
+ }
+<DocCopyBlock>^({B}*"*"+)?{B}{0,3}"```"[`]* {
docBlock+=yytext;
if (g_fencedSize==yyleng)
{
diff --git a/src/searchindex.cpp b/src/searchindex.cpp
index 22727fe..ee545bf 100644
--- a/src/searchindex.cpp
+++ b/src/searchindex.cpp
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -310,7 +310,6 @@ void SearchIndex::write(const char *fileName)
padding = size - padding;
//int statsOffset = size;
- QDictIterator<IndexWord> wdi(m_words);
//IndexWord *iw;
int *wordStatOffsets = new int[m_words.count()];
@@ -1077,7 +1076,6 @@ void writeJavascriptSearchIndex()
for (li.toFirst();(dl=li.current());++li)
{
Definition *d = dl->getFirst();
- QCString id = d->localName();
if (!firstEntry)
{
diff --git a/src/searchindex.h b/src/searchindex.h
index 17d39a2..b9f45c6 100644
--- a/src/searchindex.h
+++ b/src/searchindex.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/section.h b/src/section.h
index a1f859e..51668a2 100644
--- a/src/section.h
+++ b/src/section.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/sortdict.h b/src/sortdict.h
index f79a335..f4d23f2 100644
--- a/src/sortdict.h
+++ b/src/sortdict.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/sqlite3gen.cpp b/src/sqlite3gen.cpp
index 42a0307..40d744a 100644
--- a/src/sqlite3gen.cpp
+++ b/src/sqlite3gen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -754,7 +754,7 @@ static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def)
bindIntParameter(memberdef_insert,":new",md->isNew());
bindIntParameter(memberdef_insert,":optional",md->isOptional());
bindIntParameter(memberdef_insert,":required",md->isRequired());
-
+
bindIntParameter(memberdef_insert,":virt",md->virtualness());
}
// place in the arguments and linkify the arguments
@@ -1027,9 +1027,16 @@ static void generateSqlite3ForClass(sqlite3 *db, ClassDef *cd)
BaseClassDef *bcd;
for (bcli.toFirst();(bcd=bcli.current());++bcli)
{
- bindTextParameter(derivedcompoundref_insert,":base",cd->displayName());
- bindTextParameter(derivedcompoundref_insert,":dervied",bcd->classDef->displayName());
- bindTextParameter(derivedcompoundref_insert,":refid",bcd->classDef->getOutputFileBase());
+ bindTextParameter(derivedcompoundref_insert,":base",cd->displayName(),FALSE);
+ if (!bcd->templSpecifiers.isEmpty())
+ {
+ bindTextParameter(derivedcompoundref_insert,":derived",insertTemplateSpecifierInScope(bcd->classDef->name(),bcd->templSpecifiers),FALSE);
+ }
+ else
+ {
+ bindTextParameter(derivedcompoundref_insert,":derived",bcd->classDef->displayName(),FALSE);
+ }
+ bindTextParameter(derivedcompoundref_insert,":refid",bcd->classDef->getOutputFileBase(),FALSE);
bindIntParameter(derivedcompoundref_insert,":prot",bcd->prot);
bindIntParameter(derivedcompoundref_insert,":virt",bcd->virt);
step(db,derivedcompoundref_insert);
diff --git a/src/sqlite3gen.h b/src/sqlite3gen.h
index 59664dd..6396d3a 100644
--- a/src/sqlite3gen.h
+++ b/src/sqlite3gen.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/store.cpp b/src/store.cpp
index 8d9a0cd..c09dcfb 100644
--- a/src/store.cpp
+++ b/src/store.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/store.h b/src/store.h
index 597ea63..39917df 100644
--- a/src/store.h
+++ b/src/store.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/tagreader.cpp b/src/tagreader.cpp
index be0472a..290399a 100644
--- a/src/tagreader.cpp
+++ b/src/tagreader.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/tagreader.h b/src/tagreader.h
index 1b5f7e3..6ea2d81 100644
--- a/src/tagreader.h
+++ b/src/tagreader.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/tclscanner.h b/src/tclscanner.h
index baa8e84..aa1673c 100644
--- a/src/tclscanner.h
+++ b/src/tclscanner.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
* Copyright (C) 2010-2011 by Rene Zaumseil
*
* Permission to use, copy, modify, and distribute this software and its
diff --git a/src/tclscanner.l b/src/tclscanner.l
index f162637..7befd40 100644
--- a/src/tclscanner.l
+++ b/src/tclscanner.l
@@ -657,7 +657,7 @@ static void tcl_font_end()
}
//! Codify 'str' with special font class 's'.
-static void tcl_codify(const char *s,char *str)
+static void tcl_codify(const char *s,const char *str)
{
if (!tcl.code || !str) return;
if (s && qstrcmp(s,"NULL")!=0)
@@ -666,7 +666,9 @@ static void tcl_codify(const char *s,char *str)
tcl.code->startFontClass(s);
tcl.code_font=s;
}
- char *p=str,*sp=p;
+ char *tmp = (char *) malloc(strlen(str)+1);
+ strcpy(tmp, str);
+ char *p=tmp,*sp=p;
char c;
bool done=FALSE;
while (!done)
@@ -676,7 +678,10 @@ static void tcl_codify(const char *s,char *str)
if (c=='\n')
{
tcl.code_line++;
- *(p-1)='\0';
+ *(p-1)='\0'; // Dimitri: is this really needed?
+ // wtschueller: As far as I can see: yes.
+ // Deletes that \n that would produce ugly source listings otherwise.
+ // However, there may exist more sophisticated solutions.
tcl.code->codify(sp);
if (tcl.code_font)
{
@@ -699,6 +704,7 @@ static void tcl_codify(const char *s,char *str)
done=TRUE;
}
}
+ free(tmp);
tcl_font_end();
}
@@ -719,7 +725,6 @@ static void tcl_codify(const char *s,const QString &str)
if (tcl.code==NULL) return;
tcl_codify(s,str.utf8());
}
-#endif
//! Codify 'str' with special font class 's'.
static void tcl_codify(const char *s,const QCString &str)
@@ -727,6 +732,7 @@ static void tcl_codify(const char *s,const QCString &str)
if (!tcl.code) return;
tcl_codify(s,str.data());
}
+#endif
static void tcl_codify_cmd(const char *s,int i)
{
@@ -1123,7 +1129,6 @@ D
static tcl_scan *tcl_scan_start(char type, QString content, QCString ns, Entry *entry_cl, Entry *entry_fn)
{
tcl_scan *myScan=tcl.scan.at(0);
- QCString myName;
tcl_inf("line=%d type=%d '%s'\n",tcl.line_body0,type,content.ascii());
myScan->line1=yylineno;
@@ -2298,7 +2303,7 @@ D
static void tcl_command_ITCL_CLASS()
{
D
- QCString myNs, myName, myStr;
+ QCString myNs, myName;
Entry *myEntryCl;
tcl_scan *myScan = tcl.scan.at(0);
@@ -2327,7 +2332,7 @@ D
static void tcl_command_OO_CLASS()
{
D
- QCString myNs, myName, myStr;
+ QCString myNs, myName;
//Entry *myEntryNs;
Entry *myEntryCl;
tcl_scan *myScan = tcl.scan.at(0);
diff --git a/src/template.cpp b/src/template.cpp
index 9fa03aa..4250f08 100644
--- a/src/template.cpp
+++ b/src/template.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -2998,7 +2998,6 @@ class TemplateNodeRange : public TemplateNodeCreator<TemplateNodeRange>
{
c->push();
//int index = m_reversed ? list.count() : 0;
- TemplateVariant v;
const TemplateVariant *parentLoop = c->getRef("forloop");
uint index = 0;
int i = m_down ? e : s;
@@ -4395,7 +4394,7 @@ TemplateLexer::TemplateLexer(const TemplateEngine *engine,const QCString &fileNa
m_engine(engine), m_fileName(fileName)
{
m_data.resize(size+1);
- memcpy(m_data.data(),data,size);
+ memcpy(m_data.rawData(),data,size);
m_data[size]=0;
}
@@ -4602,7 +4601,7 @@ void TemplateLexer::addToken(QList<TemplateToken> &tokens,
{
int len = endPos-startPos+1;
QCString text(len);
- qstrncpy(text.data(),data+startPos,len);
+ qstrncpy(text.rawData(),data+startPos,len);
if (type!=TemplateToken::Text) text = text.stripWhiteSpace();
tokens.append(new TemplateToken(type,text,line));
}
diff --git a/src/template.h b/src/template.h
index ef9792c..c6c918c 100644
--- a/src/template.h
+++ b/src/template.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/textdocvisitor.cpp b/src/textdocvisitor.cpp
index 6f3151f..8c8ecad 100644
--- a/src/textdocvisitor.cpp
+++ b/src/textdocvisitor.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/textdocvisitor.h b/src/textdocvisitor.h
index b17065d..1bbc357 100644
--- a/src/textdocvisitor.h
+++ b/src/textdocvisitor.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/tooltip.cpp b/src/tooltip.cpp
index 8085bff..957c661 100644
--- a/src/tooltip.cpp
+++ b/src/tooltip.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -59,7 +59,7 @@ void TooltipManager::clearTooltips()
static QCString escapeId(const char *s)
{
QCString res=s;
- char *p=res.data();
+ char *p=res.rawData();
while (*p)
{
if (!isId(*p)) *p='_';
diff --git a/src/tooltip.h b/src/tooltip.h
index ea8948d..34a578a 100644
--- a/src/tooltip.h
+++ b/src/tooltip.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator.h b/src/translator.h
index 32eaf09..7092174 100644
--- a/src/translator.h
+++ b/src/translator.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_am.h b/src/translator_am.h
index 9eaba0e..b50aec2 100644
--- a/src/translator_am.h
+++ b/src/translator_am.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -994,7 +994,7 @@ class TranslatorArmenian : public TranslatorAdapter_1_8_0
"};\n"
"\\endcode\n"
"Սրանով կստանանք հետևյալ գրաֆը."
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Այս գրաֆի ուղղանկյունները ունեն հետևյալ իմաստը.\n"
"<ul>\n"
diff --git a/src/translator_ar.h b/src/translator_ar.h
index 5d37b69..5daaa4c 100644
--- a/src/translator_ar.h
+++ b/src/translator_ar.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1044,14 +1044,14 @@ class TranslatorArabic : public TranslatorAdapter_1_4_6
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 240 this will result in the following graph:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
"<li>%A filled black box represents the struct or class for which the "
"graph is generated.\n"
"<li>%A box with a black border denotes a documented struct or class.\n"
- "<li>%A box with a grey border denotes an undocumented struct or class.\n"
+ "<li>%A box with a gray border denotes an undocumented struct or class.\n"
"<li>%A box with a red border denotes a documented struct or class for"
"which not all inheritance/containment relations are shown. %A graph is "
"truncated if it does not fit within the specified boundaries.\n"
diff --git a/src/translator_br.h b/src/translator_br.h
index b7bd604..6a7966f 100644
--- a/src/translator_br.h
+++ b/src/translator_br.h
@@ -1,5 +1,5 @@
/******************************************************************************
- * Copyright (C) 1997-2013 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1007,7 +1007,7 @@ class TranslatorBrazilian : public Translator
"};\n"
"\\endcode\n"
"Isto irá gerar o seguinte gráfo:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"As caixas no grafo acima tem as seguintes interpretações:\n"
"<ul>\n"
diff --git a/src/translator_ca.h b/src/translator_ca.h
index 5c3e595..d4aca52 100644
--- a/src/translator_ca.h
+++ b/src/translator_ca.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1019,7 +1019,7 @@ class TranslatorCatalan : public TranslatorAdapter_1_8_0
"};\n"
"\\endcode\n"
"Resultarà el gràfic següent:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Les caixes del gràfic superior tenen aquesta interpretació:\n"
"<ul>\n"
diff --git a/src/translator_cn.h b/src/translator_cn.h
index fc01ce0..4d60e87 100644
--- a/src/translator_cn.h
+++ b/src/translator_cn.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -910,7 +910,7 @@ class TranslatorChinese : public TranslatorAdapter_1_8_2
"};\n"
"\\endcode\n"
"结果将会生成以下图:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"上图中的矩形有如下意义:\n"
"</p>\n"
diff --git a/src/translator_cz.h b/src/translator_cz.h
index b83eb92..2ddc029 100644
--- a/src/translator_cz.h
+++ b/src/translator_cz.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1070,7 +1070,7 @@ class TranslatorCzech : public Translator
"};\n"
"\\endcode\n"
"K výše uvedenému bude vygenerován následující graf:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Bloky (tj. uzly) v uvedeném grafu mají následující význam:\n"
"<ul>\n"
diff --git a/src/translator_de.h b/src/translator_de.h
index d936bf1..f2ca676 100644
--- a/src/translator_de.h
+++ b/src/translator_de.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1116,7 +1116,7 @@ class TranslatorGerman : public TranslatorAdapter_1_8_4
"};\n"
"\\endcode\n"
"Dies liefert den folgenden Graphen:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"Die Rechtecke in obigem Graphen bedeuten:\n"
"</p>\n"
diff --git a/src/translator_dk.h b/src/translator_dk.h
index 74b07f4..9ea5b28 100644
--- a/src/translator_dk.h
+++ b/src/translator_dk.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -993,7 +993,7 @@ class TranslatorDanish : public TranslatorAdapter_1_8_0
"\\endcode\n"
"Hvis \\c MAX_DOT_GRAPH_HEIGHT i konfigurationsfilen "
"er sat til 240, vil dette resultere i følgende graf:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"De forskellige slags kasser i ovenstående graf har følgende "
"betydninger:\n"
diff --git a/src/translator_en.h b/src/translator_en.h
index 5937ed3..ba89726 100644
--- a/src/translator_en.h
+++ b/src/translator_en.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1014,7 +1014,7 @@ class TranslatorEnglish : public Translator
"};\n"
"\\endcode\n"
"This will result in the following graph:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"</p>\n"
@@ -1022,7 +1022,7 @@ class TranslatorEnglish : public Translator
"<li>%A filled gray box represents the struct or class for which the "
"graph is generated.</li>\n"
"<li>%A box with a black border denotes a documented struct or class.</li>\n"
- "<li>%A box with a grey border denotes an undocumented struct or class.</li>\n"
+ "<li>%A box with a gray border denotes an undocumented struct or class.</li>\n"
"<li>%A box with a red border denotes a documented struct or class for"
"which not all inheritance/containment relations are shown. %A graph is "
"truncated if it does not fit within the specified boundaries.</li>\n"
diff --git a/src/translator_eo.h b/src/translator_eo.h
index e1513cb..65f7e82 100644
--- a/src/translator_eo.h
+++ b/src/translator_eo.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1017,7 +1017,7 @@ class TranslatorEsperanto : public TranslatorAdapter_1_8_4
"};\n"
"\\endcode\n"
"Tio ĉi liveros la sekvan diagramon:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"La skatoloj de la supra diagramo havas la sekvajn signifojn:\n"
"<ul>\n"
diff --git a/src/translator_es.h b/src/translator_es.h
index ba6e823..97d1d26 100644
--- a/src/translator_es.h
+++ b/src/translator_es.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1045,7 +1045,7 @@ class TranslatorSpanish : public Translator
"};\n"
"\\endcode\n"
"Dará como resultado el siguiente gráfico:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"Las cajas en el gráfico arriba tienen el siguiente significado:\n"
"</p>\n"
diff --git a/src/translator_fa.h b/src/translator_fa.h
index 7b6f9d7..7effafe 100644
--- a/src/translator_fa.h
+++ b/src/translator_fa.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1015,14 +1015,14 @@ class TranslatorPersian : public TranslatorAdapter_1_7_5
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 240 this will result in the following graph:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
"<li>%A filled black box represents the struct or class for which the "
"graph is generated.\n"
"<li>%A box with a black border denotes a documented struct or class.\n"
- "<li>%A box with a grey border denotes an undocumented struct or class.\n"
+ "<li>%A box with a gray border denotes an undocumented struct or class.\n"
"<li>%A box with a red border denotes a documented struct or class for"
"which not all inheritance/containment relations are shown. %A graph is "
"truncated if it does not fit within the specified boundaries.\n"
diff --git a/src/translator_fi.h b/src/translator_fi.h
index eeeb9a5..8343cdd 100644
--- a/src/translator_fi.h
+++ b/src/translator_fi.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1101,7 +1101,7 @@ class TranslatorFinnish : public TranslatorAdapter_1_6_0
"{\n"
" private:\n"
" Kaytetty *m_kaytettyLuokka;\n"
- "}\n";
+ "}\n"
// "class Inherited : public PublicBase,\n"
// " protected ProtectedBase,\n"
// " private PrivateBase,\n"
@@ -1114,7 +1114,7 @@ class TranslatorFinnish : public TranslatorAdapter_1_6_0
"\\endcode\n"
"Tuloksena on seuraavanlainen kaavio:"
//"This will result in the following graph:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Ylläolevassa kaaviossa laatikoilla on seuraavat merkitykset\n:"
// "The boxes in the above graph have the following meaning:\n"
diff --git a/src/translator_fr.h b/src/translator_fr.h
index 2c548c2..e1fb5e6 100644
--- a/src/translator_fr.h
+++ b/src/translator_fr.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1077,7 +1077,7 @@ class TranslatorFrench : public Translator
"};\n"
"\\endcode\n"
"Cela aboutira au graphe suivant :"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"Les rectangles du graphe ci-dessus ont la signification suivante :\n"
"<ul>\n"
@@ -2057,4 +2057,4 @@ class TranslatorFrench : public Translator
};
-#endif \ No newline at end of file
+#endif
diff --git a/src/translator_gr.h b/src/translator_gr.h
index fa7a682..e264deb 100644
--- a/src/translator_gr.h
+++ b/src/translator_gr.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -987,7 +987,7 @@ class TranslatorGreek : public TranslatorAdapter_1_8_4
"};\n"
"\\endcode\n"
"Αυτό οδηγεί στο επόμενο διάγραμμα:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"Τα κουτιά στο παραπάνω διάγραμμα έχουν την ακόλουθη σημασία:\n"
"</p>\n"
diff --git a/src/translator_hr.h b/src/translator_hr.h
index 98a746a..cfefa32 100644
--- a/src/translator_hr.h
+++ b/src/translator_hr.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -753,7 +753,7 @@ class TranslatorCroatian : public TranslatorAdapter_1_8_2
"};\n"
"\\endcode\n"
"To će rezultirati grafikonom:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Pravokutnici imaju slijedeće značenje:\n"
"<ul>\n"
diff --git a/src/translator_hu.h b/src/translator_hu.h
index 610af8e..4bf3f71 100644
--- a/src/translator_hu.h
+++ b/src/translator_hu.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -997,7 +997,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_4_6
"\\endcode\n"
"Ha a konfigurációs fájl \\c MAX_DOT_GRAPH_HEIGHT elemének értékét "
"240-re állítjuk, az eredmény a következő ábra lesz:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Az ábrán levő dobozok jelentése:\n"
"<ul>\n"
diff --git a/src/translator_id.h b/src/translator_id.h
index 5647bc0..c5c58fa 100644
--- a/src/translator_id.h
+++ b/src/translator_id.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1001,7 +1001,7 @@ class TranslatorIndonesian : public TranslatorAdapter_1_8_0
"\\endcode\n"
"Apabila tag \\c MAX_DOT_GRAPH_HEIGHT di file konfigurasi "
"diset ke 240 kode di atas akan menghasilkan bagan berikut:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Kotak-kotak pada bagan di atas mempunyai arti sebagai berikut:\n"
"<ul>\n"
diff --git a/src/translator_it.h b/src/translator_it.h
index 59799a3..c52aa50 100644
--- a/src/translator_it.h
+++ b/src/translator_it.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1028,7 +1028,7 @@ class TranslatorItalian : public TranslatorAdapter_1_8_2
"};\n"
"\\endcode\n"
"Verrà prodotto il grafo seguente:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"I riquadri nel grafo qui sopra hanno il seguente significato:\n"
"</p>\n"
diff --git a/src/translator_je.h b/src/translator_je.h
index 4dbcb4e..835a516 100644
--- a/src/translator_je.h
+++ b/src/translator_je.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_jp.h b/src/translator_jp.h
index ae3605a..66f1ac6 100644
--- a/src/translator_jp.h
+++ b/src/translator_jp.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1037,7 +1037,7 @@ class TranslatorJapanese : public Translator
"\\c MAX_DOT_GRAPH_" /* わざわざちょん切っているのは doc/translator.py の検出回避のため */
"HEIGHT タグに 200 を与えた設定ファイル"
"を使うと、次のようなグラフとなります。"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"グラフ内の矩形は構造体やクラスを表しています。色の意味は次の通りです。\n"
"<ul>\n"
diff --git a/src/translator_ke.h b/src/translator_ke.h
index 56a70b3..525cf84 100644
--- a/src/translator_ke.h
+++ b/src/translator_ke.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_kr.h b/src/translator_kr.h
index 18337a5..7d669a5 100644
--- a/src/translator_kr.h
+++ b/src/translator_kr.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1035,7 +1035,7 @@ class TranslatorKorean : public Translator
"};\n"
"\\endcode\n"
"다음과 같은 그래프가 출력될 것입니다. :"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"위 그래프의 박스들은 다음과 같은 의미를 가집니다. :\n"
"<ul>\n"
diff --git a/src/translator_lt.h b/src/translator_lt.h
index 174170e..faf4197 100644
--- a/src/translator_lt.h
+++ b/src/translator_lt.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1006,14 +1006,14 @@ class TranslatorLithuanian : public TranslatorAdapter_1_4_6
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 240 this will result in the following graph:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
"<li>%A filled black box represents the struct or class for which the "
"graph is generated.\n"
"<li>%A box with a black border denotes a documented struct or class.\n"
- "<li>%A box with a grey border denotes an undocumented struct or class.\n"
+ "<li>%A box with a gray border denotes an undocumented struct or class.\n"
"<li>%A box with a red border denotes a documented struct or class for"
"which not all inheritance/containment relations are shown. %A graph is "
"truncated if it does not fit within the specified boundaries.\n"
diff --git a/src/translator_lv.h b/src/translator_lv.h
index 135cd11..20b2a38 100644
--- a/src/translator_lv.h
+++ b/src/translator_lv.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1020,7 +1020,7 @@ class TranslatorLatvian : public TranslatorAdapter_1_8_4
"};\n"
"\\endcode\n"
"This will result in the following graph:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"</p>\n"
@@ -1028,7 +1028,7 @@ class TranslatorLatvian : public TranslatorAdapter_1_8_4
"<li>%A filled gray box represents the struct or class for which the "
"graph is generated.</li>\n"
"<li>%A box with a black border denotes a documented struct or class.</li>\n"
- "<li>%A box with a grey border denotes an undocumented struct or class.</li>\n"
+ "<li>%A box with a gray border denotes an undocumented struct or class.</li>\n"
"<li>%A box with a red border denotes a documented struct or class for"
"which not all inheritance/containment relations are shown. %A graph is "
"truncated if it does not fit within the specified boundaries.</li>\n"
diff --git a/src/translator_mk.h b/src/translator_mk.h
index 510561e..d963dfc 100644
--- a/src/translator_mk.h
+++ b/src/translator_mk.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1003,7 +1003,7 @@ class TranslatorMacedonian : public TranslatorAdapter_1_6_0
"\\endcode\n"
"Ако вредноста на \\c MAX_DOT_GRAPH_HEIGHT во конфигурациската датотека "
"е 240 тогаш примерот ќе го создаде следниов дијаграм:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Правоаголниците во дијаграмот погоре го имаат следново значење:\n"
"<ul>\n"
diff --git a/src/translator_nl.h b/src/translator_nl.h
index 2ffacb6..ab811a5 100644
--- a/src/translator_nl.h
+++ b/src/translator_nl.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -656,7 +656,7 @@ class TranslatorDutch : public Translator
"};\n"
"\\endcode\n"
"Dit voorbeeld zal resulteren in de volgende graaf:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"De rechthoeken in the bovenstaande graaf hebben de volgende betekenis:\n"
"<ul>\n"
diff --git a/src/translator_no.h b/src/translator_no.h
index 2662e47..40d3287 100644
--- a/src/translator_no.h
+++ b/src/translator_no.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1048,7 +1048,7 @@ class TranslatorNorwegian : public TranslatorAdapter_1_4_6
"\\endcode\n"
"Hvis \\c MAX_DOT_GRAPH_HEIGHT er satt til 200 i "
"konfigurasjonsfila vil dette resultere i følgende graf:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Boksene i grafen over betyr følgende:\n"
"<ul>\n"
diff --git a/src/translator_pl.h b/src/translator_pl.h
index 6f2e14c..f1bec57 100644
--- a/src/translator_pl.h
+++ b/src/translator_pl.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1012,7 +1012,7 @@ class TranslatorPolish : public TranslatorAdapter_1_8_2
"};\n"
"\\endcode\n"
"Rezultat na następującym wykresie:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"Prostokąty w powyższym wykresie mają następujące znaczenie:\n"
"</p>\n"
diff --git a/src/translator_pt.h b/src/translator_pt.h
index 13422f6..5edfdf6 100644
--- a/src/translator_pt.h
+++ b/src/translator_pt.h
@@ -1,5 +1,5 @@
/******************************************************************************
- * Copyright (C) 1997-2013 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1016,7 +1016,7 @@ class TranslatorPortuguese : public Translator
"};\n"
"\\endcode\n"
"Isto irá gerar o seguinte gráfo:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"As caixas no grafo anterior têm as seguintes interpretações:\n"
"<ul>\n"
diff --git a/src/translator_ro.h b/src/translator_ro.h
index ea0988d..394e570 100644
--- a/src/translator_ro.h
+++ b/src/translator_ro.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1031,7 +1031,7 @@ class TranslatorRomanian : public Translator
"\\endcode\n"
"Dacă tagul \\c MAX_DOT_GRAPH_HEIGHT din fişierul de configurare "
"este setat la 200, acesta este graful rezultat:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Căsuţele din partea de sus au următoarea semnificaţie:\n"
"<ul>\n"
diff --git a/src/translator_ru.h b/src/translator_ru.h
index c06d911..c06027c 100644
--- a/src/translator_ru.h
+++ b/src/translator_ru.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1004,7 +1004,7 @@ class TranslatorRussian : public Translator
"\\endcode\n"
"Если \\c MAX_DOT_GRAPH_HEIGHT в конфигурационном файле "
"установлен в 240, получится следующий граф:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Прямоугольники в этом графе имеют следующее значение:\n"
"<ul>\n"
diff --git a/src/translator_sc.h b/src/translator_sc.h
index 84e8756..388af8c 100644
--- a/src/translator_sc.h
+++ b/src/translator_sc.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1033,7 +1033,7 @@ class TranslatorSerbianCyrillic : public TranslatorAdapter_1_6_0
"\\endcode\n"
"Ако је \\c MAX_DOT_GRAPH_HEIGHT таг у конфигурационој датотеци "
"подешен на 240, то ће резултовати на следећи начин:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Правоугаоници имају следеће значење:\n"
"<ul>\n"
diff --git a/src/translator_si.h b/src/translator_si.h
index 33bc27a..97a1931 100644
--- a/src/translator_si.h
+++ b/src/translator_si.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -684,14 +684,14 @@ class TranslatorSlovene : public TranslatorAdapter_1_4_6
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
"<li>%A filled black box represents the struct or class for which the "
"graph is generated.\n"
"<li>%A box with a black border denotes a documented struct or class.\n"
- "<li>%A box with a grey border denotes an undocumented struct or class.\n"
+ "<li>%A box with a gray border denotes an undocumented struct or class.\n"
"<li>%A box with a red border denotes a documented struct or class for\n"
"which not all inheritance/containment relations are shown. %A graph is "
"truncated if it does not fit within the specified boundaries."
diff --git a/src/translator_sk.h b/src/translator_sk.h
index 0fc826b..875e92c 100644
--- a/src/translator_sk.h
+++ b/src/translator_sk.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1004,7 +1004,7 @@ class TranslatorSlovak : public Translator
"};\n"
"\\endcode\n"
"K vyššie uvedenému bude vygenerovaný nasledujúci graf:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Bloky (tj. uzly) v uvedenom grafe majú nasledujúci význam:\n"
"<ul>\n"
diff --git a/src/translator_sr.h b/src/translator_sr.h
index 09b6534..05e8018 100644
--- a/src/translator_sr.h
+++ b/src/translator_sr.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1001,7 +1001,7 @@ class TranslatorSerbian : public TranslatorAdapter_1_6_0
"\\endcode\n"
"Ako je \\c MAX_DOT_GRAPH_HEIGHT tag u konfiguracionoj datoteci "
"postavljen na \\c 200 graf izvođenja će izgledati ovako:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"Graf će biti odsečen ako ne stane unutar zadatih granica.\n"
"<p>\n"
"Pravougaonici imaju sledeća značenja:\n"
diff --git a/src/translator_sv.h b/src/translator_sv.h
index f4d0a35..68b8a1b 100644
--- a/src/translator_sv.h
+++ b/src/translator_sv.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -65,6 +65,8 @@ Problem!
Deprecated: nån hygglig svensk översättning???
Skicka gärna synpunkter.
+2015/01/09
+* Uppdaterat den till senaste versionen 1.8.9.1
*/
#ifndef TRANSLATOR_SE_H
@@ -491,8 +493,8 @@ class TranslatorSwedish : public Translator
case ClassDef::Struct: result+=" strukt"; break;
case ClassDef::Union: result+=" union"; break;
case ClassDef::Interface: result+=" gränssnitt"; break;
- case ClassDef::Protocol: result+=" protocol"; break; // translate me!
- case ClassDef::Category: result+=" category"; break; // translate me!
+ case ClassDef::Protocol: result+=" protokoll"; break;
+ case ClassDef::Category: result+=" kategori"; break;
case ClassDef::Exception: result+=" undantag"; break;
default: break;
}
@@ -633,8 +635,8 @@ class TranslatorSwedish : public Translator
case ClassDef::Struct: result+="denna strukt "; break;
case ClassDef::Union: result+="denna union "; break;
case ClassDef::Interface: result+="detta gränssnitt "; break;
- case ClassDef::Protocol: result+="protocol"; break; // translate me!
- case ClassDef::Category: result+="category"; break; // translate me!
+ case ClassDef::Protocol: result+="detta protokoll"; break;
+ case ClassDef::Category: result+="denna kategori"; break;
case ClassDef::Exception: result+="detta undantag "; break;
default: break;
}
@@ -877,9 +879,9 @@ class TranslatorSwedish : public Translator
"genererar.<p>\n"
"Tag följande exempel:\n"
"\\code\n"
- "/*! Osynlig klass på grund av stympning */\n"
+ "/*! Osynlig klass på grund av trunkering */\n"
"class Invisible { };\n\n"
- "/*! Stympad klass, ärvningsrelationen är dold */\n"
+ "/*! Trunkerad klass, ärvningsrelationen är dold */\n"
"class Truncated : public Invisible { };\n\n"
"/* Klass utan doxygen-kommentarer */\n"
"class Undocumented { };\n\n"
@@ -904,34 +906,33 @@ class TranslatorSwedish : public Translator
" Used *m_usedClass;\n"
"};\n"
"\\endcode\n"
- "Om \\c MAX_DOT_GRAPH_HEIGHT är satt till 240 i konfigurationsfilen, "
- "kommer följande graf att generas:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "Detta resulterar i att följande graf genereras:"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"Rektanglarna i den ovanstående grafen har följande betydelser:\n"
"<ul>\n"
- "<li>%En fylld svart rektangel representerar den strukt eller klass "
- "som har genererat grafen.\n"
- "<li>%En rektangel med svart kant symboliserar en dokumenterad "
- "strukt eller klass.\n"
- "<li>%En rektangel med grå kant symboliserar en odokumenterad strukt "
- "eller klass.\n"
+ "<li>%En fylld grå rektangel representerar den strukt eller klass "
+ "som har genererat grafen.</li>\n"
+ "<li>%En rektangel med svart kant symboliserar en dokumenterad strukt eller klass.</li>\n"
+ "<li>%En rektangel med grå kant symboliserar en odokumenterad strukt eller klass.</li>\n"
"<li>%En klass med röd kant symboliserar en strukt eller klass där "
- "alla dess relationer inte visas. %En graf stympas om den inte får "
- "plats inom de givna gränserna.\n"
+ "alla dess relationer inte visas. %En graf trunkeras om den inte får "
+ "plats inom de givna gränserna.</li>\n"
"</ul>\n"
+ "<p>\n"
"Pilarna har följande betydelser:\n"
+ "</p>\n"
"<ul>\n"
"<li>%En mörkblå pil används för att visualisera en publik arvrelation "
- "mellan två klasser.\n"
- "<li>%En mörkgrön pil används för en skyddad arvsrelation.\n"
- "<li>%En mörkröd pil används för en privat arvsrelation.\n"
+ "mellan två klasser.</li>\n"
+ "<li>%En mörkgrön pil används för en skyddad arvsrelation.</li>\n"
+ "<li>%En mörkröd pil används för en privat arvsrelation.\n</li>"
"<li>%En sträckad lila pil används om en klass är innesluten eller "
"använd av en annan klass. Vid pilen står namnet på den eller de "
- "variabler som klassen pilen pekar på kommer åt.\n"
+ "variabler som klassen pilen pekar på kommer åt.</li>\n"
"<li>%En sträckad gul pil symboliserar förhållandet mellan en "
"template-instans och template-klassen, som den instantierades från.\n"
- "Vid pilen står instansens template-parametrar.\n"
+ "Vid pilen står instansens template-parametrar.</li>\n"
"</ul>\n";
}
@@ -1719,7 +1720,7 @@ class TranslatorSwedish : public Translator
/*! Used in dot graph when UML_LOOK is enabled and there are many fields */
virtual QCString trAndMore(const QCString &number)
- { return "och "+number+" mera..."; }
+ { return "och "+number+" flera..."; }
/*! Used file list for a Java enum */
virtual QCString trEnumGeneratedFromFiles(bool single)
diff --git a/src/translator_tr.h b/src/translator_tr.h
index 56b4a19..26ae08f 100644
--- a/src/translator_tr.h
+++ b/src/translator_tr.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1016,7 +1016,7 @@ class TranslatorTurkish : public TranslatorAdapter_1_7_5
"};\n"
"\\endcode\n"
"Bu kod aşağıdaki şemayı oluşturur:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Yukarıdaki şemadaki kutular aşağıda açıklanmıştır:\n"
"<ul>\n"
diff --git a/src/translator_tw.h b/src/translator_tw.h
index 9da3365..e61ab5c 100644
--- a/src/translator_tw.h
+++ b/src/translator_tw.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -749,7 +749,8 @@ class TranslatorChinesetraditional : public Translator
/*! This is put at the bottom of a class documentation page and is
* followed by a list of files that were used to generate the page.
*/
- virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,bool)
+ virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
+ bool single)
{ // here s is one of " Class", " Struct" or " Union"
// single is true implies a single file
QCString result=(QCString)"此";
@@ -765,7 +766,7 @@ class TranslatorChinesetraditional : public Translator
default: break;
}
result+=" 文件是由下列檔案中產生";
- result+=":";
+ if (single) result+=":"; else result+=":";
return result;
}
@@ -993,7 +994,7 @@ class TranslatorChinesetraditional : public Translator
".<p>\n"
"請看下面範例:\n"
"\\code\n"
- "/*! 因為截斷的不可見類別 */\n"
+ "/*! 因為截斷而造成的不可見類別 */\n"
"class Invisible { };\n\n"
"/*! 截斷的類別, 繼承關係被隱藏 */\n"
"class Truncated : public Invisible { };\n\n"
@@ -1020,32 +1021,32 @@ class TranslatorChinesetraditional : public Translator
" Used *m_usedClass;\n"
"};\n"
"\\endcode\n"
- "若在組態檔中的 \\c MAX_DOT_GRAPH_HEIGHT tag "
- "設為 240,將會產生下列的圖示:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "這個例子會產生下列的圖示:"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
"<p>\n"
"上圖中的各區塊意義如下:\n"
+ "</p>\n"
"<ul>\n"
"<li>%A 填滿黑色的區塊代表產生這個圖示的類別或結構 "
".\n"
- "<li>%A 黑邊的區塊代表文件化過的結構或類別.\n"
- "<li>%A 灰邊的區塊代表未經文件化的結構或是類別.\n"
+ "<li>%A 黑邊的區塊代表文件化過的結構或類別.</li>\n"
+ "<li>%A 灰邊的區塊代表未經文件化的結構或是類別.</li>\n"
"<li>%A 紅邊的區塊代表文件化的結構或是類別,"
"這些結構或類別的繼承或包含關係不會全部顯示. %A 圖示 "
- "若無法塞入指定的邊界中將會被截斷.\n"
+ "若無法塞入指定的邊界中將會被截斷.</li>\n"
"</ul>\n"
+ "<p>\n"
"箭頭具有下面的意義:\n"
+ "</p>\n"
"<ul>\n"
"<li>%A 深藍色箭頭用來代表兩個類別間的公開繼承 "
"關係.\n"
- "<li>%A 深綠色箭頭代表保護繼承.\n"
- "<li>%A 深紅色箭頭代表私有繼承.\n"
+ "<li>%A 深綠色箭頭代表保護繼承。</li>\n"
+ "<li>%A 深紅色箭頭代表私有繼承。</li>\n"
"<li>%A 紫色箭頭用來表示類別被另一個包含或是使用."
- "箭頭上標示著可存取該類別或是結構的對應變數"
- ".\n"
+ "箭頭上標示著可存取該類別或是結構的對應變數。</li>\n"
"<li>%A 黃色箭頭代表樣版實體與樣版類別之間的關係。"
- "箭頭上標記著樣版實體上的參數"
- ".\n"
+ "箭頭上標記著樣版實體上的參數。</li>\n"
"</ul>\n";
}
/*! text for the link to the legend page */
@@ -1947,21 +1948,21 @@ class TranslatorChinesetraditional : public Translator
return result;
}
/** UNO IDL service page */
- virtual QCString trServiceGeneratedFromFiles(bool)
+ virtual QCString trServiceGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result=(QCString)"本服務的文件由以下的檔案"
"所產生";
- result+=":";
+ if (single) result+=":"; else result+=":";
return result;
}
/** UNO IDL singleton page */
- virtual QCString trSingletonGeneratedFromFiles(bool)
+ virtual QCString trSingletonGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result=(QCString)"本singleton的文件由下面的檔案"
"所產生";
- result+=":";
+ if (single) result+=":"; else result+=":";
return result;
}
diff --git a/src/translator_ua.h b/src/translator_ua.h
index 45efd6e..871acd1 100644
--- a/src/translator_ua.h
+++ b/src/translator_ua.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -993,7 +993,7 @@ class TranslatorUkrainian : public TranslatorAdapter_1_8_4
"};\n"
"\\endcode\n"
"Таким чином, отримуємо наступний граф:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Прямокутники в цьому графі мають наступний зміст:\n"
"<ul>\n"
diff --git a/src/translator_vi.h b/src/translator_vi.h
index dd0a8f1..b2bbdd7 100644
--- a/src/translator_vi.h
+++ b/src/translator_vi.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1021,7 +1021,7 @@ class TranslatorVietnamese : public TranslatorAdapter_1_6_0
"};\n"
"\\endcode\n"
"Kết quả trong biểu đồ sau đây:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Các hộp trong biểu đồ trên có ý nghĩa như sau:\n"
"<ul>\n"
diff --git a/src/translator_za.h b/src/translator_za.h
index f47052e..ca94e7a 100644
--- a/src/translator_za.h
+++ b/src/translator_za.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1002,7 +1002,7 @@ class TranslatorAfrikaans : public TranslatorAdapter_1_6_0
"\\endcode\n"
"As die \\c MAX_DOT_GRAPH_HEIGHT merker in die konfigurasie leër "
"aan 240 gelyk gestel is, word die volgende diagram geproduseer:"
- "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
"<p>\n"
"Die reghoeke in die diagram het die volgende betekenis:\n"
"<ul>\n"
diff --git a/src/types.h b/src/types.h
index 688d664..f6c704c 100644
--- a/src/types.h
+++ b/src/types.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/util.cpp b/src/util.cpp
index 938c8d6..1a44a38 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1448,7 +1448,7 @@ static ClassDef *getResolvedClassRec(Definition *scope,
// below is a more efficient coding of
// QCString key=scope->name()+"+"+name+"+"+explicitScopePart;
QCString key(scopeNameLen+nameLen+explicitPartLen+fileScopeLen+1);
- char *p=key.data();
+ char *p=key.rawData();
qstrcpy(p,scope->name()); *(p+scopeNameLen-1)='+';
p+=scopeNameLen;
qstrcpy(p,name); *(p+nameLen-1)='+';
@@ -1724,7 +1724,7 @@ nextChar:
growBuf.addChar(' ');
}
else if (i>0 && c=='>' && // current char is a >
- (isId(s.at(i-1)) || isspace((uchar)s.at(i-1)) || s.at(i-1)=='*' || s.at(i-1)=='&') && // prev char is an id char or space
+ (isId(s.at(i-1)) || isspace((uchar)s.at(i-1)) || s.at(i-1)=='*' || s.at(i-1)=='&' || s.at(i-1)=='.') && // prev char is an id char or space
(i<8 || !findOperator(s,i)) // string in front is not "operator"
)
{
@@ -1741,9 +1741,11 @@ nextChar:
}
else if (i>0 &&
(
- (s.at(i-1)==')' && isId(c))
+ (s.at(i-1)==')' && isId(c)) // ")id" -> ") id"
||
- (c=='\'' && s.at(i-1)==' ')
+ (c=='\'' && s.at(i-1)==' ') // "'id" -> "' id"
+ ||
+ (i>1 && s.at(i-2)==' ' && s.at(i-1)==' ') // " id" -> " id"
)
)
{
@@ -2223,12 +2225,21 @@ QCString tempArgListToString(ArgumentList *al,SrcLangExt lang)
if (i>0)
{
result+=a->type.right(a->type.length()-i-1);
+ if (a->type.find("...")!=-1)
+ {
+ result+="...";
+ }
}
else // nothing found -> take whole name
{
result+=a->type;
}
}
+ if (!a->typeConstraint.isEmpty() && lang==SrcLangExt_Java)
+ {
+ result+=" extends "; // TODO: now Java specific, C# has where...
+ result+=a->typeConstraint;
+ }
++ali;
a=ali.current();
if (a) result+=", ";
@@ -2379,8 +2390,8 @@ QCString transcodeCharacterStringToUTF8(const QCString &input)
{
size_t iLeft=inputSize;
size_t oLeft=outputSize;
- char *inputPtr = input.data();
- char *outputPtr = output.data();
+ char *inputPtr = input.rawData();
+ char *outputPtr = output.rawData();
if (!portable_iconv(cd, &inputPtr, &iLeft, &outputPtr, &oLeft))
{
outputSize-=(int)oLeft;
@@ -2418,12 +2429,12 @@ QCString fileToString(const char *name,bool filter,bool isSourceCode)
QCString contents(bSize);
int totalSize=0;
int size;
- while ((size=f.readBlock(contents.data()+totalSize,bSize))==bSize)
+ while ((size=f.readBlock(contents.rawData()+totalSize,bSize))==bSize)
{
totalSize+=bSize;
- contents.resize(totalSize+bSize);
+ contents.resize(totalSize+bSize);
}
- totalSize = filterCRLF(contents.data(),totalSize+size)+2;
+ totalSize = filterCRLF(contents.rawData(),totalSize+size)+2;
contents.resize(totalSize);
contents.at(totalSize-2)='\n'; // to help the scanner
contents.at(totalSize-1)='\0';
@@ -3317,7 +3328,7 @@ static QCString getCanonicalTypeForIdentifier(
{
if (count>10) return word; // oops recursion
- QCString symName,scope,result,templSpec,tmpName;
+ QCString symName,result,templSpec,tmpName;
//DefinitionList *defList=0;
if (tSpec && !tSpec->isEmpty())
templSpec = stripDeclKeywords(getCanonicalTemplateSpec(d,fs,*tSpec));
@@ -4111,8 +4122,6 @@ bool getDefs(const QCString &scName,
if (!args) break;
- QCString className = mmd->getClassDef()->name();
-
ArgumentList *mmdAl = mmd->argumentList();
if (matchArguments2(mmd->getOuterScope(),mmd->getFileDef(),mmdAl,
Doxygen::globalScope,mmd->getFileDef(),argList,
@@ -5060,7 +5069,7 @@ QCString substitute(const QCString &s,const QCString &src,const QCString &dst)
}
QCString result(resLen+1);
char *r;
- for (r=result.data(), p=s; (q=strstr(p,src))!=0; p=q+srcLen)
+ for (r=result.rawData(), p=s; (q=strstr(p,src))!=0; p=q+srcLen)
{
int l = (int)(q-p);
memcpy(r,p,l);
@@ -5340,7 +5349,7 @@ QCString convertNameToFile(const char *name,bool allowDots,bool allowUnderscore)
uchar md5_sig[16];
QCString sigStr(33);
MD5Buffer((const unsigned char *)result.data(),resultLen,md5_sig);
- MD5SigToString(md5_sig,sigStr.data(),33);
+ MD5SigToString(md5_sig,sigStr.rawData(),33);
result=result.left(128-32)+sigStr;
}
}
@@ -6454,6 +6463,8 @@ void filterLatexString(FTextStream &t,const char *str,
//printf("filterLatexString(%s)\n",str);
//if (strlen(str)<2) stackTrace();
const unsigned char *p=(const unsigned char *)str;
+ const unsigned char *q;
+ int cnt;
unsigned char c;
unsigned char pc='\0';
while (*p)
@@ -6480,7 +6491,35 @@ void filterLatexString(FTextStream &t,const char *str,
case '$': t << "\\$"; break;
case '%': t << "\\%"; break;
case '^': t << "$^\\wedge$"; break;
- case '&': t << "\\&"; break;
+ case '&': // possibility to have a special symbol
+ q = p;
+ cnt = 2; // we have to count & and ; as well
+ while ((*q >= 'a' && *q <= 'z') || (*q >= 'A' && *q <= 'Z') || (*q >= '0' && *q <= '9'))
+ {
+ cnt++;
+ q++;
+ }
+ if (*q == ';')
+ {
+ --p; // we need & as well
+ DocSymbol::SymType res = HtmlEntityMapper::instance()->name2sym(QCString((char *)p).left(cnt));
+ if (res == DocSymbol::Sym_Unknown)
+ {
+ p++;
+ t << "\\&";
+ }
+ else
+ {
+ t << HtmlEntityMapper::instance()->latex(res);
+ q++;
+ p = q;
+ }
+ }
+ else
+ {
+ t << "\\&";
+ }
+ break;
case '*': t << "$\\ast$"; break;
case '_': if (!insideTabbing) t << "\\+";
t << "\\_";
@@ -6550,7 +6589,7 @@ QCString rtfFormatBmkStr(const char *name)
g_tagDict.insert( key, tag );
// This is the increment part
- char* nxtTag = g_nextTag.data() + g_nextTag.length() - 1;
+ char* nxtTag = g_nextTag.rawData() + g_nextTag.length() - 1;
for ( unsigned int i = 0; i < g_nextTag.length(); ++i, --nxtTag )
{
if ( ( ++(*nxtTag) ) > 'Z' )
@@ -7482,7 +7521,7 @@ bool readInputFile(const char *fileName,BufStr &inBuf,bool filter,bool isSourceC
else
{
QCString cmd=filterName+" \""+fileName+"\"";
- Debug::print(Debug::ExtCmd,0,"Executing popen(`%s`)\n",cmd.data());
+ Debug::print(Debug::ExtCmd,0,"Executing popen(`%s`)\n",qPrint(cmd));
FILE *f=portable_popen(cmd,"r");
if (!f)
{
@@ -7500,7 +7539,7 @@ bool readInputFile(const char *fileName,BufStr &inBuf,bool filter,bool isSourceC
portable_pclose(f);
inBuf.at(inBuf.curPos()) ='\0';
Debug::print(Debug::FilterOutput, 0, "Filter output\n");
- Debug::print(Debug::FilterOutput,0,"-------------\n%s\n-------------\n",inBuf.data());
+ Debug::print(Debug::FilterOutput,0,"-------------\n%s\n-------------\n",qPrint(inBuf));
}
int start=0;
@@ -7648,8 +7687,12 @@ QCString externalRef(const QCString &relPath,const QCString &ref,bool href)
if (!relPath.isEmpty() && l>0 && result.at(0)=='.')
{ // relative path -> prepend relPath.
result.prepend(relPath);
+ l+=relPath.length();
+ }
+ if (!href){
+ result.prepend("doxygen=\""+ref+":");
+ l+=10+ref.length();
}
- if (!href) result.prepend("doxygen=\""+ref+":");
if (l>0 && result.at(l-1)!='/') result+='/';
if (!href) result.append("\" ");
}
@@ -7968,12 +8011,10 @@ void addDocCrossReference(MemberDef *src,MemberDef *dst)
{
static bool referencedByRelation = Config_getBool("REFERENCED_BY_RELATION");
static bool referencesRelation = Config_getBool("REFERENCES_RELATION");
- static bool callerGraph = Config_getBool("CALLER_GRAPH");
- static bool callGraph = Config_getBool("CALL_GRAPH");
//printf("--> addDocCrossReference src=%s,dst=%s\n",src->name().data(),dst->name().data());
if (dst->isTypedef() || dst->isEnumerate()) return; // don't add types
- if ((referencedByRelation || callerGraph || dst->hasCallerGraph()) &&
+ if ((referencedByRelation || dst->hasCallerGraph()) &&
src->showInCallGraph()
)
{
@@ -7989,7 +8030,7 @@ void addDocCrossReference(MemberDef *src,MemberDef *dst)
mdDecl->addSourceReferencedBy(src);
}
}
- if ((referencesRelation || callGraph || src->hasCallGraph()) &&
+ if ((referencesRelation || src->hasCallGraph()) &&
src->showInCallGraph()
)
{
@@ -8339,3 +8380,9 @@ bool mainPageHasTitle()
return TRUE;
}
+QCString getDotImageExtension(void)
+{
+ QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT");
+ imgExt = imgExt.replace( QRegExp(":.*"), "" );
+ return imgExt;
+}
diff --git a/src/util.h b/src/util.h
index 937b222..c5179d6 100644
--- a/src/util.h
+++ b/src/util.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -443,6 +443,8 @@ bool protectionLevelVisible(Protection prot);
QCString stripIndentation(const QCString &s);
+QCString getDotImageExtension(void);
+
bool fileVisibleInIndex(FileDef *fd,bool &genSourceFile);
void addDocCrossReference(MemberDef *src,MemberDef *dst);
diff --git a/src/version.h b/src/version.h
index b31fe4f..16bf9df 100644
--- a/src/version.h
+++ b/src/version.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/version.py b/src/version.py
index 003cf95..a99ede3 100755
--- a/src/version.py
+++ b/src/version.py
@@ -17,12 +17,15 @@ major = 0
minor = 0
revision = 0
mnt = 'NO'
+configure = '../configure'
+if len(sys.argv) > 2:
+ configure = sys.argv[2]
#
# open input file
# read file and get relevant information
# close
#
-f = open('../configure', 'r')
+f = open(configure, 'r')
for line in f:
# check if line can match (saves 3 comparisons)
if (line.startswith('doxygen_version')):
diff --git a/src/vhdlcode.l b/src/vhdlcode.l
index fa199d1..0de0966 100644
--- a/src/vhdlcode.l
+++ b/src/vhdlcode.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -68,7 +68,6 @@ static bool g_startCode = FALSE;
static QCString g_PrevString;
static QCString g_CurrClass;
static QDict<QCString>g_vhdlKeyDict;
-static QCString g_tempClass;
static QCString g_tempComp;
static QCString g_PortMapComp;
static MemberDef *g_vhdlMember;
@@ -77,7 +76,6 @@ static QCString g_FuncProto;
//-----------------------------------------------------------
static CodeOutputInterface * g_code;
-static QCString g_curClassName;
static QCString g_parmType;
static QCString g_parmName;
static const char * g_inputString; //!< the code fragment as text
@@ -90,9 +88,6 @@ static Definition *g_searchCtx;
static QCString g_exampleName;
static QCString g_exampleFile;
-static QCString g_type;
-static QCString g_name;
-static QCString g_args;
static QCString g_classScope;
static QCString g_CurrScope;
@@ -620,7 +615,7 @@ static void appStringLower(QCString& qcs,const char* text)
static QCString g_temp;
/* writes and links a port map statement */
-static void codifyMapLines(char *text)
+static void codifyMapLines(const char *text)
{
if (text==0) return;
g_temp.resize(0);
@@ -628,7 +623,7 @@ static void codifyMapLines(char *text)
int wordCounter=0;
QCString ctemp;
//printf("codifyLines(%d,\"%s\")\n",g_yyLineNr,text);
- char *p=text; //,*sp=p;
+ const char *p=text; //,*sp=p;
char c;
bool done=FALSE;
while (!done)
@@ -1055,7 +1050,6 @@ XILINX "INST"|"NET"|"PIN"|"BLKNM"|"BUFG"|"COLLAPSE"|"CPLD"|"COMPGRP"|"CONFI
<ClassesName>{FUNCNAME} {
- QDict<QCString> mem;
appStringLower(g_PrevString,vhdlcodeYYtext);
g_CurrClass.resize(0);
g_CurrClass.append(vhdlcodeYYtext);
diff --git a/src/vhdldocgen.cpp b/src/vhdldocgen.cpp
index 3f7cd1d..2b92d40 100644
--- a/src/vhdldocgen.cpp
+++ b/src/vhdldocgen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -70,7 +70,6 @@ static QDict<QCString> g_vhdlKeyDict0(17,FALSE);
static QDict<QCString> g_vhdlKeyDict1(17,FALSE);
static QDict<QCString> g_vhdlKeyDict2(17,FALSE);
static QDict<QCString> g_vhdlKeyDict3(17,FALSE);
-static QDict<QCString> g_xilinxUcfDict(17,FALSE);
static void initUCF(Entry* root,const char* type,QCString & qcs,int line,QCString & fileName,QCString & brief);
static void writeUCFLink(const MemberDef* mdef,OutputList &ol);
@@ -170,7 +169,6 @@ static void createSVG()
QCString dir="-o \""+ov+"/vhdl_design_overview.html\"";
ov+="/vhdl_design.dot";
- QRegExp ep("[\\s]");
QCString vlargs="-Tsvg \""+ov+"\" "+dir ;
if (portable_system("dot",vlargs)!=0)
@@ -200,7 +198,6 @@ void VhdlDocGen::writeOverview()
QCString ov =Config_getString("HTML_OUTPUT");
QCString fileName=ov+"/vhdl_design.dot";
QFile f(fileName);
- QStringList qli;
FTextStream t(&f);
if (!f.open(IO_WriteOnly))
@@ -502,7 +499,6 @@ static QList<MemberDef>* getPorts(ClassDef *cd)
static void writeTable(QList<MemberDef>* port,FTextStream & t)
{
- QCString space(" ");
MemberDef *md;
uint len=port->count();
@@ -712,7 +708,6 @@ ClassDef *VhdlDocGen::getClass(const char *name)
ClassDef* VhdlDocGen::getPackageName(const QCString & name)
{
ClassDef* cd=0;
- QStringList ql=QStringList::split(".",name,FALSE);
cd=getClass(name);
return cd;
@@ -800,12 +795,9 @@ MemberDef* VhdlDocGen::findMember(const QCString& className, const QCString& mem
if (!packages.contains(ecd)) VhdlDocGen::findAllPackages(ecd);
}
- uint len=packages.count();
- for (uint j=0;j<len;j++)
- {
- for (QMap<ClassDef*,QList<ClassDef> >::Iterator cList=packages.begin();cList != packages.end();cList++)
- {
- if (cList.key()==0) continue;
+ QMap<ClassDef*,QList<ClassDef> >::Iterator cList=packages.find(ecd);
+ if (cList.key()!=0)
+ {
QList<ClassDef> mlist=cList.data();
for (uint j=0;j<mlist.count();j++)
{
@@ -814,8 +806,7 @@ MemberDef* VhdlDocGen::findMember(const QCString& className, const QCString& mem
mdef=VhdlDocGen::findMemberDef(mlist.at(j),memName,MemberListType_pubMethods);
if (mdef) return mdef;
}
- }
- }
+ }
return 0;
}//findMember
@@ -1127,7 +1118,6 @@ ClassDef* VhdlDocGen::findArchitecture(const ClassDef *cd)
void VhdlDocGen::writeVhdlLink(const ClassDef* ccd ,OutputList& ol,QCString& type,QCString& nn,QCString& behav)
{
if (ccd==0) return;
- QCString temp=ccd->getOutputFileBase();
ol.startBold();
ol.docify(type.data());
ol.endBold();
@@ -1185,7 +1175,6 @@ void VhdlDocGen::parseFuncProto(const char* text,QList<Argument>& qlist,
if ((end-index)>0)
{
- QCString tt=s1.mid(index,(end-index+1));
temp=s1.mid(index+1,(end-index-1));
//getFuncParams(qlist,temp);
}
@@ -1820,8 +1809,6 @@ static void setGlobalType(MemberList *ml)
MemberListIterator mmli(*ml);
for ( ; (mdd=mmli.current()); ++mmli )
{
- QCString l=mdd->typeString();
-
if (qstrcmp(mdd->argsString(),"package")==0)
{
mdd->setMemberSpecifiers(VhdlDocGen::INSTANTIATION);
@@ -1982,11 +1969,8 @@ void VhdlDocGen::writeVHDLDeclaration(MemberDef* mdef,OutputList &ol,
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
bool /*inGroup*/)
{
- static QRegExp reg("[%]");
-
Definition *d=0;
-
ASSERT(cd!=0 || nd!=0 || fd!=0 || gd!=0 ||
mdef->getMemberSpecifiers()==VhdlDocGen::LIBRARY ||
mdef->getMemberSpecifiers()==VhdlDocGen::USE
@@ -2661,7 +2645,6 @@ void VhdlDocGen::parseUCF(const char* input, Entry* entity,QCString fileName,b
{
QCString ucFile(input);
int lineNo=0;
- QCString newLine="\n";
QCString comment("#!");
QCString brief;
@@ -2717,7 +2700,6 @@ void VhdlDocGen::parseUCF(const char* input, Entry* entity,QCString fileName,b
static void initUCF(Entry* root,const char* type,QCString & qcs,int line,QCString & fileName,QCString & brief)
{
if (qcs.isEmpty())return;
- QRegExp sp("\\s");
QRegExp reg("[\\s=]");
QCString n;
// bool bo=(qstricmp(type,qcs.data())==0);
@@ -2810,7 +2792,8 @@ bool VhdlDocGen::findConstraintFile(LayoutNavEntry *lne)
QCString file;
QCString co("Constraints");
- if (Config_getBool("HAVE_DOT") && Config_getEnum("DOT_IMAGE_FORMAT")=="svg")
+ QCString imgExt = getDotImageExtension();
+ if (Config_getBool("HAVE_DOT") && imgExt=="svg")
{
QCString ov = theTranslator->trDesignOverview();
QCString ofile("vhdl_design_overview");
@@ -2840,7 +2823,6 @@ QCString VhdlDocGen::parseForConfig(QCString & entity,QCString & arch)
{
int index;
QCString label;
- QCString ent("entity");
if (!entity.contains(":")) return "";
QRegExp exp("[:()\\s]");
@@ -2930,7 +2912,7 @@ void assignBinding(VhdlConfNode * conf)
QListIterator<Entry> eli(instList);
Entry *cur=0;
ClassDef *archClass=0,*entClass=0;
- QCString archName,entityName;
+ QCString archName;
QCString arcBind,entBind;
bool others,all;
@@ -2995,7 +2977,7 @@ void assignBinding(VhdlConfNode * conf)
{
if (cur->exception.lower()==label || conf->isInlineConf)
{
- QCString sign,archy;
+ QCString archy;
if (all || others)
{
@@ -3997,7 +3979,6 @@ void FlowChart::writeShape(FTextStream &t,const FlowChart* fl)
}
t<<getNodeName(fl->id).data();
- QCString q=getNodeType(fl->type);
#ifdef DEBUGFLOW
QCString qq(getNodeName(fl->id).data());
@@ -4053,7 +4034,6 @@ void FlowChart::writeShape(FTextStream &t,const FlowChart* fl)
{
if (fl->text.isEmpty()) return;
bool var=(fl->type & FlowChart::VARIABLE_NO);
- QCString repl("<BR ALIGN=\"LEFT\"/>");
QCString q=fl->text;
if (exit)
diff --git a/src/vhdldocgen.h b/src/vhdldocgen.h
index 7f87ce5..2d1ecf1 100644
--- a/src/vhdldocgen.h
+++ b/src/vhdldocgen.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2013 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/vhdljjparser.cpp b/src/vhdljjparser.cpp
index 7b0c112..ea43341 100644
--- a/src/vhdljjparser.cpp
+++ b/src/vhdljjparser.cpp
@@ -40,7 +40,7 @@ static int yyLineNr = 1;
static int* lineParse;
static int iDocLine = -1;
static QCString inputString;
-static Entry gBlock;
+static Entry* gBlock = 0;
static Entry* previous = 0;
//-------------------------------------------------------
@@ -102,38 +102,40 @@ Entry* getVhdlCompound()
void startCodeBlock(int index)
{
int ll=strComment.length();
+ if (!gBlock) gBlock = new Entry;
iCodeLen=inputString.findRev(strComment.data())+ll;
// fprintf(stderr,"\n startin code..%d %d %d\n",iCodeLen,num_chars,ll);
- gBlock.reset();
+ gBlock->reset();
int len=strComment.length();
QCString name=strComment.right(len-index);//
name=VhdlDocGen::getIndexWord(name.data(),1);
if (!name)
- gBlock.name="misc"+ VhdlDocGen::getRecordNumber();
+ gBlock->name="misc"+ VhdlDocGen::getRecordNumber();
else
- gBlock.name=name;
+ gBlock->name=name;
- gBlock.startLine=yyLineNr;
- gBlock.bodyLine=yyLineNr;
+ gBlock->startLine=yyLineNr;
+ gBlock->bodyLine=yyLineNr;
strComment=strComment.left(index);
VhdlDocGen::prepareComment(strComment);
- gBlock.brief+=strComment;
+ gBlock->brief+=strComment;
}
void makeInlineDoc(int endCode)
{
int len=endCode-iCodeLen;
+ if (!gBlock) gBlock = new Entry;
QCString par=inputString.mid(iCodeLen,len);
//fprintf(stderr,"\n inline code: \n<%s>",par.data());
- gBlock.doc=par;
- gBlock.inbodyDocs=par;
- gBlock.section=Entry::VARIABLE_SEC;
- gBlock.spec=VhdlDocGen::MISCELLANEOUS;
- gBlock.fileName = yyFileName;
- gBlock.endBodyLine=yyLineNr-1;
- gBlock.lang=SrcLangExt_VHDL;
- Entry *temp=new Entry(gBlock);
+ gBlock->doc=par;
+ gBlock->inbodyDocs=par;
+ gBlock->section=Entry::VARIABLE_SEC;
+ gBlock->spec=VhdlDocGen::MISCELLANEOUS;
+ gBlock->fileName = yyFileName;
+ gBlock->endBodyLine=yyLineNr-1;
+ gBlock->lang=SrcLangExt_VHDL;
+ Entry *temp=new Entry(*gBlock);
Entry* compound=getVhdlCompound();
if (compound)
@@ -146,7 +148,7 @@ void makeInlineDoc(int endCode)
VhdlParser::current_root->addSubEntry(temp);
}
strComment.resize(0);
- gBlock.reset();
+ gBlock->reset();
}// makeInlineDoc
@@ -396,7 +398,7 @@ void VHDLLanguageScanner::parsePrototype(const char *text)
varr=TRUE;
}
-void VhdlParser::addCompInst(char *n, char* instName, char* comp,int iLine)
+void VhdlParser::addCompInst(const char *n, const char* instName, const char* comp,int iLine)
{
current->spec=VhdlDocGen::INSTANTIATION;
current->section=Entry::VARIABLE_SEC;
@@ -437,7 +439,6 @@ void VhdlParser::addCompInst(char *n, char* instName, char* comp,int iLine)
void VhdlParser::addVhdlType(const char *n,int startLine,int section,
uint64 spec,const char* args,const char* type,Protection prot)
{
- static QRegExp reg("[\\s]");
QCString name(n);
if (isFuncProcProced() || VhdlDocGen::getFlowMember()) return;
@@ -540,7 +541,6 @@ void VhdlParser::pushLabel( QCString &label,QCString & val)
QCString VhdlParser::popLabel(QCString & q)
{
- QCString u=q;
int i=q.findRev("|");
if (i<0) return "";
q = q.left(i);
@@ -550,8 +550,7 @@ void VhdlParser::pushLabel( QCString &label,QCString & val)
void VhdlParser::addConfigureNode(const char* a,const char*b, bool,bool isLeaf,bool inlineConf)
{
VhdlConfNode* co=0;
- QCString ent,arch,lab;
- QCString l=genLabels;
+ QCString ent;
ent=a;
if (b)
@@ -606,7 +605,6 @@ void VhdlParser::addProto(const char *s1,const char *s2,const char *s3,
const char *s4,const char *s5,const char *s6)
{
(void)s5; // avoid unused warning
- static QRegExp reg("[\\s]");
QCString name=s2;
QStringList ql=QStringList::split(",",name,FALSE);
diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp
index 65711ab..27f7274 100644
--- a/src/xmldocvisitor.cpp
+++ b/src/xmldocvisitor.cpp
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -44,8 +44,6 @@ static void visitPreStart(FTextStream &t, const char *cmd, const bool doCaption,
const QCString &name, bool writeType, DocImage::Type type, const QCString &width,
const QCString &height)
{
- QCString tmpStr;
-
t << "<" << cmd;
if (writeType)
{
diff --git a/src/xmldocvisitor.h b/src/xmldocvisitor.h
index 3e2236c..c65688f 100644
--- a/src/xmldocvisitor.h
+++ b/src/xmldocvisitor.h
@@ -3,7 +3,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 8e1d02f..215b88a 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -394,6 +394,12 @@ static void writeTemplateArgumentList(ArgumentList *al,
linkifyText(TextGeneratorXMLImpl(t),scope,fileScope,0,a->defval);
t << "</defval>" << endl;
}
+ if (!a->typeConstraint.isEmpty())
+ {
+ t << indentStr << " <typeconstraint>";
+ linkifyText(TextGeneratorXMLImpl(t),scope,fileScope,0,a->typeConstraint);
+ t << "</typeconstraint>" << endl;
+ }
t << indentStr << " </param>" << endl;
}
t << indentStr << "</templateparamlist>" << endl;
@@ -1865,7 +1871,7 @@ void generateXML()
if (len>0)
{
QCString s(len+1);
- qstrncpy(s.data(),startLine,len);
+ qstrncpy(s.rawData(),startLine,len);
s[len]='\0';
if (s.find("<!-- Automatically insert here the HTML entities -->")!=-1)
{
diff --git a/src/xmlgen.h b/src/xmlgen.h
index 9c9ae17..0447591 100644
--- a/src/xmlgen.h
+++ b/src/xmlgen.h
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2014 by Dimitri van Heesch.
+ * Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/templates/xml/compound.xsd b/templates/xml/compound.xsd
index 50e532e..c960c7b 100644
--- a/templates/xml/compound.xsd
+++ b/templates/xml/compound.xsd
@@ -220,6 +220,7 @@
<xsd:element name="defname" minOccurs="0" />
<xsd:element name="array" minOccurs="0" />
<xsd:element name="defval" type="linkedTextType" minOccurs="0" />
+ <xsd:element name="typeconstraint" type="linkedTextType" minOccurs="0" />
<xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
@@ -649,6 +650,7 @@
<xsd:enumeration value="public-inheritance" />
<xsd:enumeration value="protected-inheritance" />
<xsd:enumeration value="private-inheritance" />
+ <xsd:enumeration value="type-constraint" />
</xsd:restriction>
</xsd:simpleType>
diff --git a/testing/011/category_integer_07_arithmetic_08.xml b/testing/011/category_integer_07_arithmetic_08.xml
index 73308db..12b6b6d 100644
--- a/testing/011/category_integer_07_arithmetic_08.xml
+++ b/testing/011/category_integer_07_arithmetic_08.xml
@@ -33,7 +33,7 @@
<briefdescription>
</briefdescription>
<detaileddescription>
- <para>substract operation </para>
+ <para>subtract operation </para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
diff --git a/testing/011_category.m b/testing/011_category.m
index 8cb4d3a..f57c1d1 100644
--- a/testing/011_category.m
+++ b/testing/011_category.m
@@ -17,7 +17,7 @@
@interface Integer (Arithmetic)
/** add operation */
- (id) add: (Integer *) addend;
-/** substract operation */
+/** subtract operation */
- (id) sub: (Integer *) subtrahend;
@end
diff --git a/testing/049/indexpage.xml b/testing/049/indexpage.xml
index 0f3a63b..a6c9b97 100644
--- a/testing/049/indexpage.xml
+++ b/testing/049/indexpage.xml
@@ -4,7 +4,7 @@
<compoundname>index</compoundname>
<title>My Project</title>
<detaileddescription>
- <para>A bubble sort algoritm First get the inputs <programlisting><codeline><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(i=0<sp/>;<sp/>i&lt;n<sp/>;<sp/>i++)</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>printf(</highlight><highlight class="stringliteral">"<sp/>Array[%d]<sp/>=<sp/>"</highlight><highlight class="normal">,i);</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>scanf(</highlight><highlight class="stringliteral">"%d"</highlight><highlight class="normal">,&amp;arr[i]);</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>}</highlight></codeline></programlisting>Then do the bubbling <programlisting><codeline><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(i=0<sp/>;<sp/>i&lt;n<sp/>;<sp/>i++)</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(j=0<sp/>;<sp/>j&lt;n-i-1<sp/>;<sp/>j++)</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(arr[j]&gt;arr[j+1])<sp/></highlight><highlight class="comment">//Swapping<sp/>Condition<sp/>is<sp/>Checked</highlight><highlight class="normal"/></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>temp=arr[j];</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>arr[j]=arr[j+1];</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>arr[j+1]=temp;</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>}</highlight></codeline></programlisting>Then write the result <programlisting><codeline><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(i=0<sp/>;<sp/>i&lt;n<sp/>;<sp/>i++)</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>printf(</highlight><highlight class="stringliteral">"<sp/>%4d"</highlight><highlight class="normal">,arr[i]);</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>}</highlight></codeline></programlisting></para>
+ <para>A bubble sort algorithm First get the inputs <programlisting><codeline><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(i=0<sp/>;<sp/>i&lt;n<sp/>;<sp/>i++)</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>printf(</highlight><highlight class="stringliteral">"<sp/>Array[%d]<sp/>=<sp/>"</highlight><highlight class="normal">,i);</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>scanf(</highlight><highlight class="stringliteral">"%d"</highlight><highlight class="normal">,&amp;arr[i]);</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>}</highlight></codeline></programlisting>Then do the bubbling <programlisting><codeline><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(i=0<sp/>;<sp/>i&lt;n<sp/>;<sp/>i++)</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(j=0<sp/>;<sp/>j&lt;n-i-1<sp/>;<sp/>j++)</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(arr[j]&gt;arr[j+1])<sp/></highlight><highlight class="comment">//Swapping<sp/>Condition<sp/>is<sp/>Checked</highlight><highlight class="normal"/></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>temp=arr[j];</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>arr[j]=arr[j+1];</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>arr[j+1]=temp;</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>}</highlight></codeline></programlisting>Then write the result <programlisting><codeline><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(i=0<sp/>;<sp/>i&lt;n<sp/>;<sp/>i++)</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>{</highlight></codeline><codeline><highlight class="normal"><sp/><sp/><sp/><sp/>printf(</highlight><highlight class="stringliteral">"<sp/>%4d"</highlight><highlight class="normal">,arr[i]);</highlight></codeline><codeline><highlight class="normal"><sp/><sp/>}</highlight></codeline></programlisting></para>
</detaileddescription>
</compounddef>
</doxygen>
diff --git a/testing/049_snippet.cpp b/testing/049_snippet.cpp
index 2749a62..614a43c 100644
--- a/testing/049_snippet.cpp
+++ b/testing/049_snippet.cpp
@@ -3,7 +3,7 @@
// config: EXAMPLE_PATH = .
/** \mainpage
- * A bubble sort algoritm
+ * A bubble sort algorithm
* First get the inputs
* \snippet snippet_test.cpp input
* Then do the bubbling
diff --git a/testing/runtests.pl b/testing/runtests.pl
index 6b705aa..0e1938d 100755
--- a/testing/runtests.pl
+++ b/testing/runtests.pl
@@ -81,7 +81,7 @@ sub compare_ok {
sub chop_volatile {
my $line = shift;
- $line =~ s/version="\d\.\d.\d+"/version=""/g; # strip version
+ $line =~ s/version="\d\.\d+\.\d+(\.\d+)?(\-\d+)?"/version=""/g; # strip version
$line =~ s/file=".*\/(.*)"/file="$1"/g; # strip location
return $line;
}
diff --git a/vhdlparser/CharStream.h b/vhdlparser/CharStream.h
index f901e38..409439f 100644
--- a/vhdlparser/CharStream.h
+++ b/vhdlparser/CharStream.h
@@ -179,12 +179,12 @@ public:
}
CharStream(ReaderStream *input_stream, int startline,
- int startcolumn, int buffersize) :
+ int startcolumn, int) :
bufline(NULL), bufcolumn(NULL), buffer(NULL), bufpos(0), bufsize(0),
tokenBegin(0), column(0), line(0), prevCharIsCR(false), prevCharIsLF(false),
available(0), maxNextCharInd(0), inBuf(0), tabSize(1), trackLineColumn(true),
inputStream(NULL), deleteStream(false) {
- ReInit(input_stream, startline, startcolumn, buffersize);
+ ReInit(input_stream, startline, startcolumn, INITIAL_BUFFER_SIZE);
}
CharStream(ReaderStream *input_stream, int startline, int startcolumn) :
diff --git a/vhdlparser/ErrorHandler.h b/vhdlparser/ErrorHandler.h
index f5e53e4..2170489 100644
--- a/vhdlparser/ErrorHandler.h
+++ b/vhdlparser/ErrorHandler.h
@@ -24,22 +24,22 @@ JAVACC_SIMPLE_STRING addUnicodeEscapes(JAVACC_STRING_TYPE str);
// expectedKind - token kind that the parser was trying to consume.
// expectedToken - the image of the token - tokenImages[expectedKind].
// actual - the actual token that the parser got instead.
- virtual void handleUnexpectedToken(int /*expectedKind*/, JAVACC_STRING_TYPE expectedToken, Token *actual, VhdlParser * /*parser*/) {
+ virtual void handleUnexpectedToken(int, JAVACC_STRING_TYPE expectedToken, Token *actual, VhdlParser *) {
error_count++;
fprintf(stderr, "Expecting %s at: %d:%d but got %s\n", addUnicodeEscapes(expectedToken).c_str(), actual->beginLine, actual->beginColumn, addUnicodeEscapes(actual->image).c_str());
}
// Called when the parser cannot continue parsing.
// last - the last token successfully parsed.
// unexpected - the token at which the error occurs.
- // production - the production in which this error occurs.
- virtual void handleParseError(Token * /*last*/, Token *unexpected, JAVACC_SIMPLE_STRING production, VhdlParser * /*parser*/) {
+ // production - the production in which this error occurrs.
+ virtual void handleParseError(Token *, Token *unexpected, JAVACC_SIMPLE_STRING production, VhdlParser *) {
error_count++;
fprintf(stderr, "Encountered: %s at: %d:%d while parsing: %s\n", addUnicodeEscapes(unexpected->image).c_str(), unexpected->beginLine, unexpected->beginColumn, production.c_str());
}
virtual int getErrorCount() {
return error_count;
}
- virtual void handleOtherError(JAVACC_STRING_TYPE message, VhdlParser * /*parser*/) {
+ virtual void handleOtherError(JAVACC_STRING_TYPE message, VhdlParser *) {
fprintf(stderr, "Error: %s\n", (char*)message.c_str());
}
virtual ~ErrorHandler() {}
@@ -62,11 +62,11 @@ JAVACC_SIMPLE_STRING addUnicodeEscapes(JAVACC_STRING_TYPE str);
// errorAfter : prefix that was seen before this error occurred
// curchar : the offending character
//
- virtual void lexicalError(bool EOFSeen, int /*lexState*/, int errorLine, int errorColumn, JAVACC_STRING_TYPE errorAfter, JAVACC_CHAR_TYPE curChar, VhdlParserTokenManager* /*token_manager*/) {
+ virtual void lexicalError(bool EOFSeen, int, int errorLine, int errorColumn, JAVACC_STRING_TYPE errorAfter, JAVACC_CHAR_TYPE curChar, VhdlParserTokenManager*) {
// by default, we just print an error message and return.
fprintf(stderr, "Lexical error at: %d:%d. Encountered: %c after: %s.\n", errorLine, errorColumn, curChar, (EOFSeen? "EOF" : (const char*)errorAfter.c_str()));
}
- virtual void lexicalError(JAVACC_STRING_TYPE errorMessage, VhdlParserTokenManager* /*token_manager*/) {
+ virtual void lexicalError(JAVACC_STRING_TYPE errorMessage, VhdlParserTokenManager*) {
fprintf(stderr, "%s\n", (char*)errorMessage.c_str());
}
virtual ~TokenManagerErrorHandler() {}
diff --git a/vhdlparser/TokenManager.h b/vhdlparser/TokenManager.h
index 39353ba..68fbe2f 100644
--- a/vhdlparser/TokenManager.h
+++ b/vhdlparser/TokenManager.h
@@ -5,8 +5,6 @@
#include "JavaCC.h"
#include "Token.h"
-using namespace std;
-
namespace vhdl {
namespace parser {
/**
@@ -18,11 +16,12 @@ namespace parser {
class TokenManager {
public:
/** This gets the next token from the input stream.
- * A token of kind 0 (<EOF>) should be returned on EOF.
+ * A token of kind 0 (\<EOF\>) should be returned on EOF.
*/
virtual ~TokenManager() { }
virtual Token *getNextToken() = 0;
virtual void lexicalError() {
+ fprintf(stderr,"Lexical error encountered.");
}
};
diff --git a/vhdlparser/VhdlParser.cc b/vhdlparser/VhdlParser.cc
index 5c8b004..c695c93 100644
--- a/vhdlparser/VhdlParser.cc
+++ b/vhdlparser/VhdlParser.cc
@@ -4,17 +4,17 @@
namespace vhdl {
namespace parser {
unsigned int jj_la1_0[] = {
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x90404000,0x20080000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x90004000,0x400000,0x0,0x90404000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20080000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x20000000,0x0,0x0,0x40000000,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x40020000,0x40020001,0x0,0x0,0x0,0x40000000,0xd0020000,0x0,0x0,0x800000,0x0,0x0,0x80004000,0x400000,0x0,0x0,0x80404000,0x0,0x0,0x0,0x0,0x8000,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x10000000,0x0,0x50000000,0x8000,0x0,0x80000000,0x0,0x80000000,0x80000000,0x4000000,0x8000000,0x0,0x0,0x20000,0x0,0x0,0x0,0x0,0x800,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000000,0x0,0x0,0x0,0x0,0x80004000,0x0,0x80004000,0x0,0x0,0x0,0x0,0x90004000,0x400000,0x0,0x0,0x90404000,0x0,0x0,0x0,0x40000000,0x0,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x0,0x8000,0x0,0x0,0x0,0x0,0x20080000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x0,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x8000000,0x0,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x0,0x0,0x0,0x0,0x0,0x20080000,0x8000,0x0,0x0,0x41000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x2000,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x90404000,0x20080000,0x20080000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x90404000,0x20080000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x90004000,0x400000,0x0,0x90404000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20080000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x20000000,0x0,0x0,0x40000000,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x40020000,0x40020001,0x0,0x0,0x0,0x40000000,0xd0020000,0x0,0x0,0x800000,0x0,0x0,0x80004000,0x400000,0x0,0x0,0x80404000,0x0,0x0,0x0,0x0,0x8000,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x10000000,0x0,0x50000000,0x8000,0x0,0x80000000,0x0,0x80000000,0x80000000,0x4000000,0x8000000,0x0,0x0,0x20000,0x0,0x0,0x0,0x0,0x800,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000000,0x0,0x0,0x0,0x0,0x80004000,0x0,0x80004000,0x0,0x0,0x0,0x0,0x90004000,0x400000,0x0,0x0,0x90404000,0x0,0x0,0x0,0x40000000,0x0,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x0,0x8000,0x0,0x0,0x0,0x0,0x20080000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x0,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x8000000,0x0,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x0,0x0,0x0,0x0,0x0,0x20080000,0x8000,0x0,0x0,0x41000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x2000,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x90c04000,0x20080000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
unsigned int jj_la1_1[] = {
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x125808,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x0,0x0,0x1000,0x104800,0x1008,0x20000,0x125808,0x10000,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x1000,0x1000000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x20000,0x1000,0x0,0x4000000,0x4000000,0x0,0x400000,0x4000101,0x4000101,0x0,0x10,0x0,0x100,0x12024900,0x0,0x0,0x0,0x100,0x0,0x104800,0x8,0x20000,0x0,0x124808,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x81000,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x800,0x0,0x0,0x0,0x8a00000,0x0,0x0,0x1000,0x1,0x0,0x0,0x1000,0x0,0x0,0x8a00000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x40000,0x400000,0x0,0x0,0x104800,0x20000,0x124800,0x0,0x0,0x10000,0x10000,0x104800,0x8,0x20000,0x0,0x124808,0x0,0x0,0x0,0x100,0x0,0x0,0x104800,0x0,0x20000,0x124800,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x20081200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x104000,0x1000000,0x1104800,0x0,0x20000,0x1124800,0x4000,0x0,0x100000,0x100000,0x0,0x104000,0x20081200,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x1104800,0x0,0x20000,0x1124800,0x0,0x104000,0x104000,0x4000001,0x1,0x0,0x4000001,0x10000,0x10000,0x10000,0x0,0x0,0x125808,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x20,0x0,0x200000,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x200000,0x0,0x0,0x0,0x200000,0x0,0x20,0x104000,0x100000,0x100000,0x0,0x1000000,0x0,0x0,0x104000,};
+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x125808,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x0,0x0,0x1000,0x104800,0x1008,0x20000,0x125808,0x10000,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x1000,0x1000000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x20000,0x1000,0x0,0x4000000,0x4000000,0x0,0x400000,0x4000101,0x4000101,0x0,0x10,0x0,0x100,0x12024900,0x0,0x0,0x0,0x100,0x0,0x104800,0x8,0x20000,0x0,0x124808,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x81000,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x800,0x0,0x0,0x0,0x8a00000,0x0,0x0,0x1000,0x1,0x0,0x0,0x1000,0x0,0x0,0x8a00000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x40000,0x400000,0x0,0x0,0x104800,0x20000,0x124800,0x0,0x0,0x10000,0x10000,0x104800,0x8,0x20000,0x0,0x124808,0x0,0x0,0x0,0x100,0x0,0x0,0x104800,0x0,0x20000,0x124800,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x20081200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x104000,0x1000000,0x1104800,0x0,0x20000,0x1124800,0x4000,0x0,0x100000,0x100000,0x0,0x104000,0x20081200,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x1104800,0x0,0x20000,0x1124800,0x0,0x104000,0x104000,0x4000001,0x1,0x0,0x4000001,0x10000,0x10000,0x10000,0x0,0x0,0x125808,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x20,0x0,0x200000,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x200000,0x0,0x0,0x0,0x200000,0x0,0x20,0x104000,0x100000,0x100000,0x0,0x1000000,0x0,0x0,0x104000,};
unsigned int jj_la1_2[] = {
-0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x110000,0x28000,0x0,0x20000000,0x0,0x0,0x0,0x200000,0x0,0x0,0x0,0x4000,0x0,0x0,0x110000,0x0,0x0,0x110000,0x0,0x4000,0x4000,0x0,0x0,0x0,0x0,0x28000,0x0,0x0,0x0,0x400,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x4000,0x400000,0x8000,0x8000,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x1000000,0x1000,0x1000,0x0,0x0,0x0,0x100,0x11000,0x0,0x0,0x0,0x0,0x0,0x110000,0x0,0x0,0x1000,0x111000,0x0,0x0,0x4000,0x0,0x400,0x8000,0x28000,0x0,0x0,0x0,0x0,0x0,0x0,0x209,0x209,0x0,0x32,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x32,0x0,0x0,0x0,0x400,0x1000,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x1000,0x20,0x0,0x0,0x0,0x10,0x800,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x1000,0x0,0x110000,0x0,0x110000,0x1000,0x0,0x0,0x0,0x110000,0x0,0x0,0x1000,0x111000,0x0,0x0,0x2,0x0,0x1000,0x0,0x110000,0x0,0x0,0x110000,0x0,0x8000,0x0,0x0,0x0,0x8000,0x0,0x20000024,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x32,0x200000,0x1000,0x0,0x0,0x20,0xc0000000,0xc0000000,0x0,0x1000000,0x0,0x800000,0x0,0x800000,0x0,0x400,0x0,0x0,0x0,0x0,0x10000,0x0,0x110000,0x0,0x110000,0x0,0x0,0x110000,0x10000,0x0,0x100000,0x100000,0x0,0x110000,0x20000024,0x0,0x0,0x0,0x600000,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x32,0x0,0x0,0x110000,0x0,0x0,0x110000,0x0,0x110000,0x110000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x110000,0x28000,0x28000,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x800,0x32,0x0,0x0,0x0,0x0,0x1000000,0x0,0x800,0x0,0x0,0x0,0x800,0x0,0x0,0x110000,0x100000,0x100000,0x0,0x0,0x2000,0x0,0x138000,};
+0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x110000,0x28000,0x0,0x20000000,0x0,0x0,0x0,0x200000,0x0,0x0,0x0,0x4000,0x0,0x0,0x110000,0x0,0x0,0x110000,0x0,0x4000,0x4000,0x0,0x0,0x0,0x0,0x28000,0x0,0x0,0x0,0x400,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x4000,0x400000,0x8000,0x8000,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x1000000,0x1000,0x1000,0x0,0x0,0x0,0x100,0x11000,0x0,0x0,0x0,0x0,0x0,0x110000,0x0,0x0,0x1000,0x111000,0x0,0x0,0x4000,0x0,0x400,0x8000,0x28000,0x0,0x0,0x0,0x0,0x0,0x0,0x209,0x209,0x0,0x32,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x32,0x0,0x0,0x0,0x400,0x1000,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x1000,0x20,0x0,0x0,0x0,0x10,0x800,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x1000,0x0,0x110000,0x0,0x110000,0x1000,0x0,0x0,0x0,0x110000,0x0,0x0,0x1000,0x111000,0x0,0x0,0x2,0x0,0x1000,0x0,0x110000,0x0,0x0,0x110000,0x0,0x8000,0x0,0x0,0x0,0x8000,0x0,0x20000024,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x32,0x200000,0x1000,0x0,0x0,0x20,0xc0000000,0xc0000000,0x0,0x1000000,0x0,0x800000,0x0,0x800000,0x0,0x400,0x0,0x0,0x0,0x0,0x10000,0x0,0x110000,0x0,0x110000,0x0,0x0,0x110000,0x10000,0x0,0x100000,0x100000,0x0,0x110000,0x20000024,0x0,0x0,0x0,0x600000,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x32,0x0,0x0,0x110000,0x0,0x0,0x110000,0x0,0x110000,0x110000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x110000,0x28000,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x800,0x32,0x0,0x0,0x0,0x0,0x1000000,0x0,0x800,0x0,0x0,0x0,0x800,0x0,0x0,0x110000,0x100000,0x100000,0x0,0x0,0x2000,0x0,0x138000,};
unsigned int jj_la1_3[] = {
-0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x188830,0x8000000,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x80000,0x0,0x0,0x80000,0x0,0x108830,0x80000,0x0,0x188830,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x2000000,0x0,0x0,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x2000000,0x0,0x0,0x80000,0x80000,0x0,0x0,0x80000,0x80000,0x0,0x4000,0x80000,0x80000,0x0,0x2000,0x0,0x0,0x128810,0x0,0x0,0x0,0x0,0x0,0x108830,0x80000,0x0,0x0,0x188830,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x30000000,0x30000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x108030,0x0,0x100030,0x100030,0x0,0x0,0x0,0x4000000,0x0,0x0,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x108030,0x0,0x4000,0x0,0x0,0x188820,0x0,0x188820,0x0,0x0,0x0,0x0,0x108830,0x80000,0x0,0x0,0x188830,0x0,0x0,0x0,0x0,0x0,0x0,0x108820,0x80000,0x0,0x188820,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd000001,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x0,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x108820,0x80000,0x0,0x188820,0x0,0x0,0x0,0x0,0x0,0x0,0xd000001,0x0,0x0,0x8000,0x0,0x0,0x0,0x0,0x8000000,0x20,0x0,0x0,0x0,0x40000,0x0,0x0,0x10000,0x0,0x0,0x108820,0x80000,0x0,0x188820,0x0,0x80000,0x80000,0x80000,0x0,0x0,0x80000,0x0,0x0,0x0,0x2000000,0x0,0x188830,0x8000000,0x8000000,0x100010,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x2000000,0x0,0x0,0x8000000,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x188830,0x8000000,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x80000,0x0,0x0,0x80000,0x0,0x108830,0x80000,0x0,0x188830,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x2000000,0x0,0x0,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x2000000,0x0,0x0,0x80000,0x80000,0x0,0x0,0x80000,0x80000,0x0,0x4000,0x80000,0x80000,0x0,0x2000,0x0,0x0,0x128810,0x0,0x0,0x0,0x0,0x0,0x108830,0x80000,0x0,0x0,0x188830,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x30000000,0x30000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x108030,0x0,0x100030,0x100030,0x0,0x0,0x0,0x4000000,0x0,0x0,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x108030,0x0,0x4000,0x0,0x0,0x188820,0x0,0x188820,0x0,0x0,0x0,0x0,0x108830,0x80000,0x0,0x0,0x188830,0x0,0x0,0x0,0x0,0x0,0x0,0x108820,0x80000,0x0,0x188820,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd000001,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x0,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x108820,0x80000,0x0,0x188820,0x0,0x0,0x0,0x0,0x0,0x0,0xd000001,0x0,0x0,0x8000,0x0,0x0,0x0,0x0,0x8000000,0x20,0x0,0x0,0x0,0x40000,0x0,0x0,0x10000,0x0,0x0,0x108820,0x80000,0x0,0x188820,0x0,0x80000,0x80000,0x80000,0x0,0x0,0x80000,0x0,0x0,0x0,0x2000000,0x0,0x188830,0x8000000,0x100010,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x2000000,0x0,0x0,0x8000000,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
unsigned int jj_la1_4[] = {
-0x0,0x0,0x60000,0x30,0x40,0x100,0x0,0x0,0x0,0x0,0x40000,0x0,0x40001,0x0,0x0,0x0,0x0,0x40,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x40001,0x0,0x0,0x0,0x0,0x10000000,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x20000,0x40,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x40000,0x40000,0x40000,0x40000,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x4,0x40001,0x0,0x0,0x40000,0x1,0x0,0x0,0x40000,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x40031,0x0,0x1,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x40000008,0x40000,0x40,0x1,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x1,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x1,0x0,0x0,0x0,0x40001,0x1,0x0,0x40000,0xfc00,0xfc00,0x0,0x0,0x0,0x40031,0x1,0x0,0x40,0x40,0x0,0x0,0x0,0x30,0x0,0x40001,0x0,0x80,0x0,0x40,0x40000,0x40,0x40000,0x0,0x30,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x40001,0x0,0x40001,0x0,0x1,0x0,0x40,0x40,0x40001,0x0,0x80,0x0,0x0,0x0,0x0,0x40,0x40031,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40001,0x40001,0x0,0xa0000000,0x20000000,0x0,0x1,0x40001,0x0,0x0,0x0,0x0,0x40031,0x0,0x8000000,0x40000,0x8000000,0x0,0x8000000,0x0,0x240,0x240,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x0,0x1,0x0,};
+0x0,0x0,0x60000,0x30,0x40,0x100,0x0,0x0,0x0,0x0,0x40000,0x0,0x40001,0x0,0x0,0x0,0x0,0x40,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x40001,0x0,0x0,0x0,0x0,0x10000000,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x20000,0x40,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x40000,0x40000,0x40000,0x40000,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x4,0x40001,0x0,0x0,0x40000,0x1,0x0,0x0,0x40000,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x40031,0x0,0x1,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x40000008,0x40000,0x40,0x1,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x1,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x1,0x0,0x0,0x0,0x40001,0x1,0x0,0x40000,0xfc00,0xfc00,0x0,0x0,0x0,0x40031,0x1,0x0,0x40,0x40,0x0,0x0,0x0,0x30,0x0,0x40001,0x0,0x80,0x0,0x40,0x40000,0x40,0x40000,0x0,0x30,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x40001,0x0,0x40001,0x0,0x1,0x0,0x40,0x40,0x40001,0x0,0x80,0x0,0x0,0x0,0x0,0x40,0x40031,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40001,0x0,0xa0000000,0x20000000,0x0,0x1,0x40001,0x0,0x0,0x0,0x0,0x40031,0x0,0x8000000,0x40000,0x8000000,0x0,0x8000000,0x0,0x240,0x240,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x0,0x1,0x0,};
unsigned int jj_la1_5[] = {
-0x1420,0x0,0x1c0,0x0,0x0,0x0,0x2,0x3c0,0x0,0x0,0x1c0,0x4000000,0x40001c0,0x0,0x0,0x0,0x180,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x40001c0,0x180,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x4000000,0x4000000,0x2,0x0,0x0,0x3c0,0x3c0,0x1c0,0x1c0,0x3c0,0x380,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x817e0,0x0,0x0,0x1e0,0x0,0x180,0x0,0x3c0,0x0,0x180,0x0,0x180,0x0,0x0,0x180,0x0,0x817e0,0x0,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x180,0x0,0x180,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x180,0x180,0x0,0x180,0x1420,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x1c0,0x0,0x0,0x0,0x180,0x1c0,0x0,0x180,0x1c0,0x0,0x0,0x180,0x0,0x180,0x817e0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x1c0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x240,0x1c0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x817e0,0x0,0x180,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x180,0x4000000,0x40001c0,0x40001c0,0x0,0x1,0x0,0x1,0x0,0x1c0,0x0,0x0,0x0,0x0,0x817e0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x180,};
+0x1420,0x0,0x1c0,0x0,0x0,0x0,0x2,0x3c0,0x0,0x0,0x1c0,0x0,0x80001c0,0x0,0x0,0x0,0x180,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x80001c0,0x180,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x8000000,0x8000000,0x2,0x0,0x0,0x3c0,0x3c0,0x1c0,0x1c0,0x3c0,0x380,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x817e0,0x0,0x0,0x1e0,0x0,0x180,0x0,0x3c0,0x0,0x180,0x0,0x180,0x0,0x0,0x180,0x0,0x817e0,0x0,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x180,0x0,0x180,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x180,0x180,0x0,0x180,0x1420,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x1c0,0x0,0x0,0x0,0x180,0x1c0,0x0,0x180,0x1c0,0x0,0x0,0x180,0x0,0x180,0x817e0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x1c0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x240,0x1c0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x817e0,0x0,0x180,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x80001c0,0x0,0x1,0x0,0x1,0x0,0x1c0,0x0,0x0,0x0,0x0,0x817e0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x180,};
/** Constructor with user supplied TokenManager. */
@@ -552,8 +552,7 @@ void VhdlParser::architecture_declarative_part() {if (!hasError) {
case SUBTYPE_T:
case TYPE_T:
case USE_T:
- case VARIABLE_T:
- case VHDL2008TOOLDIR:{
+ case VARIABLE_T:{
;
break;
}
@@ -1253,13 +1252,6 @@ void VhdlParser::block_declarative_item() {
break;
}
- case VHDL2008TOOLDIR:{if (!hasError) {
-
- jj_consume_token(VHDL2008TOOLDIR);
- }
-
- break;
- }
default:
jj_la1[27] = jj_gen;
jj_consume_token(-1);
@@ -1293,8 +1285,7 @@ void VhdlParser::block_declarative_part() {if (!hasError) {
case SUBTYPE_T:
case TYPE_T:
case USE_T:
- case VARIABLE_T:
- case VHDL2008TOOLDIR:{
+ case VARIABLE_T:{
;
break;
}
@@ -11497,35 +11488,33 @@ void VhdlParser::generate_statement_body() {if (!hasError) {
}
-void VhdlParser::generate_statement_body1() {
- if (jj_2_107(2147483647)) {if (!hasError) {
+void VhdlParser::generate_statement_body1() {if (!hasError) {
+
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ALIAS_T:
+ case ATTRIBUTE_T:
+ case BEGIN_T:
+ case COMPONENT_T:
+ case CONSTANT_T:
+ case DISCONNECT_T:
+ case FILE_T:
+ case FOR_T:
+ case FUNCTION_T:
+ case GROUP_T:
+ case IMPURE_T:
+ case PROCEDURE_T:
+ case PURE_T:
+ case SIGNAL_T:
+ case SHARED_T:
+ case SUBTYPE_T:
+ case TYPE_T:
+ case USE_T:
+ case VARIABLE_T:{if (!hasError) {
while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ALIAS_T:
- case ATTRIBUTE_T:
- case COMPONENT_T:
- case CONSTANT_T:
- case DISCONNECT_T:
- case FILE_T:
- case FOR_T:
- case FUNCTION_T:
- case GROUP_T:
- case IMPURE_T:
- case PROCEDURE_T:
- case PURE_T:
- case SIGNAL_T:
- case SHARED_T:
- case SUBTYPE_T:
- case TYPE_T:
- case USE_T:
- case VARIABLE_T:
- case VHDL2008TOOLDIR:{
+ if (jj_2_107(2147483647)) {
;
- break;
- }
- default:
- jj_la1[259] = jj_gen;
+ } else {
goto end_label_51;
}if (!hasError) {
@@ -11539,67 +11528,44 @@ void VhdlParser::generate_statement_body1() {
jj_consume_token(BEGIN_T);
}
- if (!hasError) {
- while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ASSERT_T:
- case CASE_T:
- case POSTPONED_T:
- case PROCESS_T:
- case WITH_T:
- case LPAREN_T:
- case SLSL_T:
- case STRINGLITERAL:
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:
- case VHDL2008TOOLDIR:{
- ;
- break;
- }
- default:
- jj_la1[260] = jj_gen;
- goto end_label_52;
- }if (!hasError) {
-
- concurrent_statement();
- }
-
- }
- end_label_52: ;
+ break;
}
-
- } else {if (!hasError) {
-
- while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ASSERT_T:
- case CASE_T:
- case POSTPONED_T:
- case PROCESS_T:
- case WITH_T:
- case LPAREN_T:
- case SLSL_T:
- case STRINGLITERAL:
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:
- case VHDL2008TOOLDIR:{
- ;
- break;
- }
- default:
- jj_la1[261] = jj_gen;
- goto end_label_53;
- }if (!hasError) {
-
- concurrent_statement();
+ default:
+ jj_la1[259] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ASSERT_T:
+ case CASE_T:
+ case POSTPONED_T:
+ case PROCESS_T:
+ case WITH_T:
+ case LPAREN_T:
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:
+ case VHDL2008TOOLDIR:{
+ ;
+ break;
}
-
- }
- end_label_53: ;
+ default:
+ jj_la1[260] = jj_gen;
+ goto end_label_52;
+ }if (!hasError) {
+
+ concurrent_statement();
}
}
+ end_label_52: ;
+ }
+
}
@@ -11671,7 +11637,7 @@ return t->image.data();
break;
}
default:
- jj_la1[262] = jj_gen;
+ jj_la1[261] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -11715,7 +11681,7 @@ return s;
break;
}
default:
- jj_la1[263] = jj_gen;
+ jj_la1[262] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -11759,7 +11725,7 @@ return "."+s;
break;
}
default:
- jj_la1[264] = jj_gen;
+ jj_la1[263] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -11814,11 +11780,11 @@ s+="^.";
break;
}
default:
- jj_la1[265] = jj_gen;
- goto end_label_54;
+ jj_la1[264] = jj_gen;
+ goto end_label_53;
}
}
- end_label_54: ;
+ end_label_53: ;
}
return s;
@@ -11849,7 +11815,7 @@ QCString VhdlParser::pathname_element() {QCString s,s1;if (!hasError) {
break;
}
default:
- jj_la1[266] = jj_gen;
+ jj_la1[265] = jj_gen;
;
}
}
@@ -11883,7 +11849,7 @@ s+=".";
if (jj_2_110(2147483647)) {
;
} else {
- goto end_label_55;
+ goto end_label_54;
}if (!hasError) {
s1 = pathname_element();
@@ -11898,7 +11864,7 @@ s2+=s1;s2+=".";
}
}
- end_label_55: ;
+ end_label_54: ;
}
return s+s2;
@@ -11940,7 +11906,7 @@ void VhdlParser::conditional_signal_assignment_wave() {
break;
}
default:
- jj_la1[267] = jj_gen;
+ jj_la1[266] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -11969,7 +11935,7 @@ void VhdlParser::conditional_waveform_assignment() {if (!hasError) {
break;
}
default:
- jj_la1[268] = jj_gen;
+ jj_la1[267] = jj_gen;
;
}
}
@@ -11996,7 +11962,7 @@ void VhdlParser::conditional_waveform_assignment() {if (!hasError) {
break;
}
default:
- jj_la1[269] = jj_gen;
+ jj_la1[268] = jj_gen;
;
}
}
@@ -12031,7 +11997,7 @@ void VhdlParser::else_wave_list() {if (!hasError) {
break;
}
default:
- jj_la1[270] = jj_gen;
+ jj_la1[269] = jj_gen;
;
}
}
@@ -12063,7 +12029,7 @@ void VhdlParser::conditional_force_assignment() {if (!hasError) {
break;
}
default:
- jj_la1[271] = jj_gen;
+ jj_la1[270] = jj_gen;
;
}
}
@@ -12105,7 +12071,7 @@ void VhdlParser::conditional_force_assignment() {if (!hasError) {
break;
}
default:
- jj_la1[272] = jj_gen;
+ jj_la1[271] = jj_gen;
;
}
}
@@ -12133,7 +12099,7 @@ void VhdlParser::selected_signal_assignment_wave() {
break;
}
default:
- jj_la1[273] = jj_gen;
+ jj_la1[272] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -12164,7 +12130,7 @@ void VhdlParser::selected_variable_assignment() {if (!hasError) {
break;
}
default:
- jj_la1[274] = jj_gen;
+ jj_la1[273] = jj_gen;
;
}
}
@@ -12203,7 +12169,7 @@ void VhdlParser::select_name() {
break;
}
default:
- jj_la1[275] = jj_gen;
+ jj_la1[274] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -12234,7 +12200,7 @@ void VhdlParser::selected_waveform_assignment() {if (!hasError) {
break;
}
default:
- jj_la1[276] = jj_gen;
+ jj_la1[275] = jj_gen;
;
}
}
@@ -12259,7 +12225,7 @@ void VhdlParser::selected_waveform_assignment() {if (!hasError) {
break;
}
default:
- jj_la1[277] = jj_gen;
+ jj_la1[276] = jj_gen;
;
}
}
@@ -12294,7 +12260,7 @@ void VhdlParser::selected_force_assignment() {if (!hasError) {
break;
}
default:
- jj_la1[278] = jj_gen;
+ jj_la1[277] = jj_gen;
;
}
}
@@ -12322,7 +12288,7 @@ void VhdlParser::selected_force_assignment() {if (!hasError) {
break;
}
default:
- jj_la1[279] = jj_gen;
+ jj_la1[278] = jj_gen;
;
}
}
@@ -12365,7 +12331,7 @@ void VhdlParser::sel_var_list() {if (!hasError) {
break;
}
default:
- jj_la1[280] = jj_gen;
+ jj_la1[279] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -12378,7 +12344,7 @@ void VhdlParser::sel_var_list() {if (!hasError) {
if (jj_2_114(2147483647)) {
;
} else {
- goto end_label_56;
+ goto end_label_55;
}if (!hasError) {
expression();
@@ -12409,14 +12375,14 @@ void VhdlParser::sel_var_list() {if (!hasError) {
break;
}
default:
- jj_la1[281] = jj_gen;
+ jj_la1[280] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
}
- end_label_56: ;
+ end_label_55: ;
}
}
@@ -12443,8 +12409,8 @@ void VhdlParser::sel_wave_list() {if (!hasError) {
break;
}
default:
- jj_la1[282] = jj_gen;
- goto end_label_57;
+ jj_la1[281] = jj_gen;
+ goto end_label_56;
}if (!hasError) {
jj_consume_token(COMMA_T);
@@ -12455,7 +12421,7 @@ void VhdlParser::sel_wave_list() {if (!hasError) {
}
}
- end_label_57: ;
+ end_label_56: ;
}
if (!hasError) {
@@ -12482,7 +12448,7 @@ void VhdlParser::inout_stat() {
break;
}
default:
- jj_la1[283] = jj_gen;
+ jj_la1[282] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -12514,7 +12480,7 @@ void VhdlParser::else_stat() {if (!hasError) {
break;
}
default:
- jj_la1[284] = jj_gen;
+ jj_la1[283] = jj_gen;
;
}
}
@@ -12525,11 +12491,11 @@ void VhdlParser::else_stat() {if (!hasError) {
break;
}
default:
- jj_la1[285] = jj_gen;
- goto end_label_58;
+ jj_la1[284] = jj_gen;
+ goto end_label_57;
}
}
- end_label_58: ;
+ end_label_57: ;
}
}
@@ -12562,7 +12528,7 @@ return s;
break;
}
default:
- jj_la1[286] = jj_gen;
+ jj_la1[285] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -12610,14 +12576,14 @@ QCString VhdlParser::ifunc() {QCString s,s1,s2,s3;Token *t=0;Token *t1=0;Token *
break;
}
default:
- jj_la1[287] = jj_gen;
+ jj_la1[286] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
break;
}
default:
- jj_la1[288] = jj_gen;
+ jj_la1[287] = jj_gen;
;
}
}
@@ -12667,7 +12633,7 @@ QCString VhdlParser::ifunc() {QCString s,s1,s2,s3;Token *t=0;Token *t1=0;Token *
break;
}
default:
- jj_la1[289] = jj_gen;
+ jj_la1[288] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -12676,7 +12642,7 @@ QCString VhdlParser::ifunc() {QCString s,s1,s2,s3;Token *t=0;Token *t1=0;Token *
break;
}
default:
- jj_la1[290] = jj_gen;
+ jj_la1[289] = jj_gen;
;
}
}
@@ -12714,7 +12680,7 @@ QCString VhdlParser::param() {QCString s,s1;Token *tok=0;if (!hasError) {
break;
}
default:
- jj_la1[291] = jj_gen;
+ jj_la1[290] = jj_gen;
;
}
}
@@ -12741,7 +12707,7 @@ param_sec=PARAM_SEC;
break;
}
default:
- jj_la1[292] = jj_gen;
+ jj_la1[291] = jj_gen;
;
}
}
@@ -12779,7 +12745,7 @@ void VhdlParser::parseInline() {
break;
}
default:
- jj_la1[293] = jj_gen;
+ jj_la1[292] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -12815,7 +12781,7 @@ void VhdlParser::ReInit(TokenManager *tm){
trace_enabled = false;
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 294; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 293; i++) jj_la1[i] = -1;
}
diff --git a/vhdlparser/VhdlParser.h b/vhdlparser/VhdlParser.h
index 12631dd..91bf32d 100644
--- a/vhdlparser/VhdlParser.h
+++ b/vhdlparser/VhdlParser.h
@@ -1490,35 +1490,35 @@ void parseInline();
{ jj_save(113, xla); }
}
- inline bool jj_3R_258()
+ inline bool jj_3R_257()
{
if (jj_done) return true;
- if (jj_3R_367()) return true;
+ if (jj_3R_366()) return true;
return false;
}
- inline bool jj_3R_257()
+ inline bool jj_3R_256()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_123()
+ inline bool jj_3R_122()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_257()) jj_scanpos = xsp;
+ if (jj_3R_256()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_258()) jj_scanpos = xsp;
+ if (jj_3R_257()) jj_scanpos = xsp;
if (jj_scan_token(LOOP_T)) return true;
- if (jj_3R_259()) return true;
+ if (jj_3R_258()) return true;
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(LOOP_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_625()) jj_scanpos = xsp;
+ if (jj_3R_628()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -1526,18 +1526,18 @@ void parseInline();
inline bool jj_3_45()
{
if (jj_done) return true;
- if (jj_3R_97()) return true;
+ if (jj_3R_96()) return true;
return false;
}
inline bool jj_3_44()
{
if (jj_done) return true;
- if (jj_3R_96()) return true;
+ if (jj_3R_95()) return true;
return false;
}
- inline bool jj_3R_233()
+ inline bool jj_3R_232()
{
if (jj_done) return true;
if (jj_scan_token(NULL_T)) return true;
@@ -1547,21 +1547,14 @@ void parseInline();
inline bool jj_3_43()
{
if (jj_done) return true;
- if (jj_3R_95()) return true;
- return false;
- }
-
- inline bool jj_3R_232()
- {
- if (jj_done) return true;
- if (jj_3R_356()) return true;
+ if (jj_3R_94()) return true;
return false;
}
inline bool jj_3R_231()
{
if (jj_done) return true;
- if (jj_3R_97()) return true;
+ if (jj_3R_355()) return true;
return false;
}
@@ -1579,20 +1572,27 @@ void parseInline();
return false;
}
- inline bool jj_3R_107()
+ inline bool jj_3R_228()
+ {
+ if (jj_done) return true;
+ if (jj_3R_94()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_106()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_228()) {
+ jj_scanpos = xsp;
if (jj_3R_229()) {
jj_scanpos = xsp;
if (jj_3R_230()) {
jj_scanpos = xsp;
if (jj_3R_231()) {
jj_scanpos = xsp;
- if (jj_3R_232()) {
- jj_scanpos = xsp;
- if (jj_3R_233()) return true;
+ if (jj_3R_232()) return true;
}
}
}
@@ -1603,69 +1603,69 @@ void parseInline();
inline bool jj_3_42()
{
if (jj_done) return true;
- if (jj_3R_94()) return true;
+ if (jj_3R_93()) return true;
return false;
}
- inline bool jj_3R_140()
+ inline bool jj_3R_139()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_199()
+ inline bool jj_3R_198()
{
if (jj_done) return true;
if (jj_scan_token(VARASSIGN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_444()
+ inline bool jj_3R_442()
{
if (jj_done) return true;
if (jj_scan_token(FOR_T)) return true;
- if (jj_3R_408()) return true;
+ if (jj_3R_407()) return true;
return false;
}
- inline bool jj_3R_367()
+ inline bool jj_3R_366()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_443()) {
+ if (jj_3R_441()) {
jj_scanpos = xsp;
- if (jj_3R_444()) return true;
+ if (jj_3R_442()) return true;
}
return false;
}
- inline bool jj_3R_443()
+ inline bool jj_3R_441()
{
if (jj_done) return true;
if (jj_scan_token(WHILE_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
return false;
}
- inline bool jj_3R_198()
+ inline bool jj_3R_197()
{
if (jj_done) return true;
- if (jj_3R_346()) return true;
+ if (jj_3R_345()) return true;
return false;
}
- inline bool jj_3R_400()
+ inline bool jj_3R_399()
{
if (jj_done) return true;
if (jj_scan_token(SEMI_T)) return true;
- if (jj_3R_399()) return true;
+ if (jj_3R_398()) return true;
return false;
}
- inline bool jj_3R_196()
+ inline bool jj_3R_195()
{
if (jj_done) return true;
Token * xsp;
@@ -1683,128 +1683,128 @@ void parseInline();
return false;
}
- inline bool jj_3R_91()
+ inline bool jj_3R_90()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_196()) jj_scanpos = xsp;
- if (jj_3R_197()) return true;
+ if (jj_3R_195()) jj_scanpos = xsp;
+ if (jj_3R_196()) return true;
if (jj_scan_token(COLON_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_198()) jj_scanpos = xsp;
- if (jj_3R_85()) return true;
+ if (jj_3R_197()) jj_scanpos = xsp;
+ if (jj_3R_84()) return true;
xsp = jj_scanpos;
if (jj_scan_token(27)) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_199()) jj_scanpos = xsp;
+ if (jj_3R_198()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_313()
+ inline bool jj_3R_312()
{
if (jj_done) return true;
- if (jj_3R_399()) return true;
+ if (jj_3R_398()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_400()) { jj_scanpos = xsp; break; }
+ if (jj_3R_399()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_413()
+ inline bool jj_3R_411()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_92()
+ inline bool jj_3R_91()
{
if (jj_done) return true;
if (jj_scan_token(FILE_T)) return true;
- if (jj_3R_197()) return true;
+ if (jj_3R_196()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
return false;
}
- inline bool jj_3R_399()
+ inline bool jj_3R_398()
{
if (jj_done) return true;
- if (jj_3R_491()) return true;
+ if (jj_3R_489()) return true;
return false;
}
inline bool jj_3_41()
{
if (jj_done) return true;
- if (jj_3R_93()) return true;
+ if (jj_3R_92()) return true;
return false;
}
- inline bool jj_3R_552()
+ inline bool jj_3R_557()
{
if (jj_done) return true;
- if (jj_3R_613()) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_612()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_551()
+ inline bool jj_3R_556()
{
if (jj_done) return true;
- if (jj_3R_93()) return true;
+ if (jj_3R_92()) return true;
return false;
}
inline bool jj_3_40()
{
if (jj_done) return true;
- if (jj_3R_92()) return true;
+ if (jj_3R_91()) return true;
return false;
}
inline bool jj_3_39()
{
if (jj_done) return true;
- if (jj_3R_91()) return true;
+ if (jj_3R_90()) return true;
return false;
}
- inline bool jj_3R_550()
+ inline bool jj_3R_555()
{
if (jj_done) return true;
- if (jj_3R_108()) return true;
+ if (jj_3R_107()) return true;
return false;
}
inline bool jj_3_38()
{
if (jj_done) return true;
- if (jj_3R_90()) return true;
+ if (jj_3R_89()) return true;
return false;
}
- inline bool jj_3R_491()
+ inline bool jj_3R_489()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_3_38()) {
jj_scanpos = xsp;
- if (jj_3R_550()) {
+ if (jj_3R_555()) {
jj_scanpos = xsp;
if (jj_3_39()) {
jj_scanpos = xsp;
if (jj_3_40()) {
jj_scanpos = xsp;
- if (jj_3R_551()) {
+ if (jj_3R_556()) {
jj_scanpos = xsp;
- if (jj_3R_552()) return true;
+ if (jj_3R_557()) return true;
}
}
}
@@ -1813,93 +1813,93 @@ void parseInline();
return false;
}
- inline bool jj_3R_181()
+ inline bool jj_3R_180()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_68()) return true;
return false;
}
- inline bool jj_3R_621()
+ inline bool jj_3R_624()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_416()
+ inline bool jj_3R_414()
{
if (jj_done) return true;
if (jj_scan_token(ALL_T)) return true;
return false;
}
- inline bool jj_3R_415()
+ inline bool jj_3R_413()
{
if (jj_done) return true;
if (jj_scan_token(OTHER_T)) return true;
return false;
}
- inline bool jj_3R_331()
+ inline bool jj_3R_330()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_414()) {
+ if (jj_3R_412()) {
jj_scanpos = xsp;
- if (jj_3R_415()) {
+ if (jj_3R_413()) {
jj_scanpos = xsp;
- if (jj_3R_416()) return true;
+ if (jj_3R_414()) return true;
}
}
return false;
}
- inline bool jj_3R_414()
+ inline bool jj_3R_412()
{
if (jj_done) return true;
- if (jj_3R_197()) return true;
+ if (jj_3R_196()) return true;
return false;
}
- inline bool jj_3R_698()
+ inline bool jj_3R_695()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_328()
+ inline bool jj_3R_327()
{
if (jj_done) return true;
if (jj_scan_token(CONFIGURATION_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_327()
+ inline bool jj_3R_326()
{
if (jj_done) return true;
if (jj_scan_token(ENTITY_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_413()) jj_scanpos = xsp;
+ if (jj_3R_411()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_174()
+ inline bool jj_3R_173()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_326()) {
+ if (jj_3R_325()) {
jj_scanpos = xsp;
- if (jj_3R_327()) {
+ if (jj_3R_326()) {
jj_scanpos = xsp;
- if (jj_3R_328()) return true;
+ if (jj_3R_327()) return true;
}
}
return false;
@@ -1908,308 +1908,308 @@ void parseInline();
inline bool jj_3_37()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_68()) return true;
return false;
}
- inline bool jj_3R_326()
+ inline bool jj_3R_325()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_scan_token(28)) jj_scanpos = xsp;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_155()
+ inline bool jj_3R_154()
{
if (jj_done) return true;
- if (jj_3R_158()) return true;
+ if (jj_3R_157()) return true;
if (jj_scan_token(RANGE_T)) return true;
if (jj_scan_token(BOX_T)) return true;
return false;
}
- inline bool jj_3R_427()
+ inline bool jj_3R_425()
{
if (jj_done) return true;
if (jj_scan_token(IS_T)) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_698()) {
+ if (jj_3R_695()) {
jj_scanpos = xsp;
if (jj_scan_token(145)) return true;
}
return false;
}
- inline bool jj_3R_618()
+ inline bool jj_3R_621()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_617()
+ inline bool jj_3R_620()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_68()) return true;
return false;
}
- inline bool jj_3R_565()
+ inline bool jj_3R_564()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_617()) {
+ if (jj_3R_620()) {
jj_scanpos = xsp;
- if (jj_3R_618()) return true;
+ if (jj_3R_621()) return true;
}
return false;
}
- inline bool jj_3R_83()
+ inline bool jj_3R_82()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_68()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_181()) { jj_scanpos = xsp; break; }
+ if (jj_3R_180()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_526()
+ inline bool jj_3R_531()
{
if (jj_done) return true;
if (jj_scan_token(TYPE_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_620()
+ inline bool jj_3R_623()
{
if (jj_done) return true;
if (jj_scan_token(ELSE_T)) return true;
- if (jj_3R_259()) return true;
+ if (jj_3R_258()) return true;
return false;
}
- inline bool jj_3R_619()
+ inline bool jj_3R_622()
{
if (jj_done) return true;
if (jj_scan_token(ELSIF_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
if (jj_scan_token(THEN_T)) return true;
- if (jj_3R_259()) return true;
+ if (jj_3R_258()) return true;
return false;
}
- inline bool jj_3R_345()
+ inline bool jj_3R_344()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_514()
+ inline bool jj_3R_519()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_313()) return true;
+ if (jj_3R_312()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_255()
+ inline bool jj_3R_254()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_121()
+ inline bool jj_3R_120()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_255()) jj_scanpos = xsp;
+ if (jj_3R_254()) jj_scanpos = xsp;
if (jj_scan_token(IF_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
if (jj_scan_token(THEN_T)) return true;
- if (jj_3R_259()) return true;
+ if (jj_3R_258()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_619()) { jj_scanpos = xsp; break; }
+ if (jj_3R_622()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
- if (jj_3R_620()) jj_scanpos = xsp;
+ if (jj_3R_623()) jj_scanpos = xsp;
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(IF_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_621()) jj_scanpos = xsp;
+ if (jj_3R_624()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_197()
+ inline bool jj_3R_196()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_345()) { jj_scanpos = xsp; break; }
+ if (jj_3R_344()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_165()
+ inline bool jj_3R_164()
{
if (jj_done) return true;
if (jj_scan_token(BASIC_IDENTIFIER)) return true;
return false;
}
- inline bool jj_3R_164()
+ inline bool jj_3R_163()
{
if (jj_done) return true;
if (jj_scan_token(EXTENDED_CHARACTER)) return true;
return false;
}
- inline bool jj_3R_70()
+ inline bool jj_3R_69()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_164()) {
+ if (jj_3R_163()) {
jj_scanpos = xsp;
- if (jj_3R_165()) return true;
+ if (jj_3R_164()) return true;
}
return false;
}
- inline bool jj_3R_539()
+ inline bool jj_3R_544()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_538()) return true;
+ if (jj_3R_543()) return true;
return false;
}
- inline bool jj_3R_425()
+ inline bool jj_3R_423()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_scan_token(77)) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_514()) jj_scanpos = xsp;
+ if (jj_3R_519()) jj_scanpos = xsp;
return false;
}
inline bool jj_3_114()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(WHEN_T)) return true;
return false;
}
- inline bool jj_3R_66()
+ inline bool jj_3R_385()
+ {
+ if (jj_done) return true;
+ if (jj_3R_58()) return true;
+ if (jj_scan_token(WHEN_T)) return true;
+ if (jj_3R_85()) return true;
+ Token * xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(134)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(137)) return true;
+ }
+ return false;
+ }
+
+ inline bool jj_3R_65()
{
if (jj_done) return true;
if (jj_scan_token(GROUP_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(IS_T)) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_475()) return true;
+ if (jj_3R_473()) return true;
if (jj_scan_token(RPAREN_T)) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_386()
+ inline bool jj_3R_445()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
- if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_86()) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(134)) {
- jj_scanpos = xsp;
- if (jj_scan_token(137)) return true;
- }
+ if (jj_3R_528()) return true;
return false;
}
- inline bool jj_3R_447()
+ inline bool jj_3R_529()
{
if (jj_done) return true;
- if (jj_3R_523()) return true;
+ if (jj_scan_token(COMMA_T)) return true;
+ if (jj_3R_447()) return true;
return false;
}
- inline bool jj_3R_383()
+ inline bool jj_3R_382()
{
if (jj_done) return true;
if (jj_scan_token(GROUP_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_476()) return true;
+ if (jj_3R_474()) return true;
if (jj_scan_token(RPAREN_T)) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_524()
- {
- if (jj_done) return true;
- if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_449()) return true;
- return false;
- }
-
- inline bool jj_3R_540()
+ inline bool jj_3R_545()
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_305()
+ inline bool jj_3R_304()
{
if (jj_done) return true;
- if (jj_3R_384()) return true;
+ if (jj_3R_383()) return true;
return false;
}
- inline bool jj_3R_476()
+ inline bool jj_3R_474()
{
if (jj_done) return true;
- if (jj_3R_538()) return true;
+ if (jj_3R_543()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_539()) { jj_scanpos = xsp; break; }
+ if (jj_3R_544()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_426()
+ inline bool jj_3R_424()
{
if (jj_done) return true;
Token * xsp;
@@ -2221,179 +2221,179 @@ void parseInline();
return false;
}
- inline bool jj_3R_344()
+ inline bool jj_3R_343()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_426()) jj_scanpos = xsp;
+ if (jj_3R_424()) jj_scanpos = xsp;
if (jj_scan_token(FUNCTION_T)) return true;
- if (jj_3R_60()) return true;
- if (jj_3R_425()) return true;
+ if (jj_3R_59()) return true;
+ if (jj_3R_423()) return true;
if (jj_scan_token(RETURN_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
xsp = jj_scanpos;
- if (jj_3R_427()) jj_scanpos = xsp;
+ if (jj_3R_425()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_608()
+ inline bool jj_3R_607()
{
if (jj_done) return true;
- if (jj_3R_352()) return true;
+ if (jj_3R_351()) return true;
return false;
}
- inline bool jj_3R_607()
+ inline bool jj_3R_606()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_538()
+ inline bool jj_3R_543()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_607()) {
+ if (jj_3R_606()) {
jj_scanpos = xsp;
- if (jj_3R_608()) return true;
+ if (jj_3R_607()) return true;
}
return false;
}
- inline bool jj_3R_71()
+ inline bool jj_3R_70()
{
if (jj_done) return true;
if (jj_scan_token(GENERIC_T)) return true;
if (jj_scan_token(MAP_T)) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_166()) return true;
+ if (jj_3R_165()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_304()
- {
- if (jj_done) return true;
- if (jj_3R_59()) return true;
- if (jj_3R_385()) return true;
- return false;
- }
-
- inline bool jj_3R_171()
+ inline bool jj_3R_303()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_58()) return true;
+ if (jj_3R_384()) return true;
return false;
}
- inline bool jj_3R_343()
+ inline bool jj_3R_342()
{
if (jj_done) return true;
if (jj_scan_token(PROCEDURE_T)) return true;
- if (jj_3R_70()) return true;
- if (jj_3R_425()) return true;
+ if (jj_3R_69()) return true;
+ if (jj_3R_423()) return true;
return false;
}
- inline bool jj_3R_195()
+ inline bool jj_3R_170()
{
if (jj_done) return true;
- if (jj_3R_344()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_159()
+ inline bool jj_3R_194()
{
if (jj_done) return true;
- if (jj_3R_313()) return true;
+ if (jj_3R_343()) return true;
return false;
}
- inline bool jj_3R_194()
+ inline bool jj_3R_193()
{
if (jj_done) return true;
- if (jj_3R_343()) return true;
+ if (jj_3R_342()) return true;
return false;
}
- inline bool jj_3R_90()
+ inline bool jj_3R_89()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_194()) {
+ if (jj_3R_193()) {
jj_scanpos = xsp;
- if (jj_3R_195()) return true;
+ if (jj_3R_194()) return true;
}
return false;
}
- inline bool jj_3R_67()
+ inline bool jj_3R_158()
{
if (jj_done) return true;
- if (jj_scan_token(GENERIC_T)) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_159()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
- if (jj_scan_token(SEMI_T)) return true;
+ if (jj_3R_312()) return true;
return false;
}
- inline bool jj_3R_477()
+ inline bool jj_3R_475()
{
if (jj_done) return true;
if (jj_scan_token(ELSE_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_540()) jj_scanpos = xsp;
+ if (jj_3R_545()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_385()
+ inline bool jj_3R_66()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(GENERIC_T)) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_158()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
+ if (jj_scan_token(SEMI_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3R_384()
{
if (jj_done) return true;
Token * xsp;
- if (jj_3R_477()) return true;
+ if (jj_3R_475()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_477()) { jj_scanpos = xsp; break; }
+ if (jj_3R_475()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_322()
+ inline bool jj_3R_321()
{
if (jj_done) return true;
if (jj_scan_token(IF_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
return false;
}
- inline bool jj_3R_169()
+ inline bool jj_3R_168()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_321()) {
+ if (jj_3R_320()) {
jj_scanpos = xsp;
- if (jj_3R_322()) return true;
+ if (jj_3R_321()) return true;
}
return false;
}
- inline bool jj_3R_321()
+ inline bool jj_3R_320()
{
if (jj_done) return true;
if (jj_scan_token(FOR_T)) return true;
- if (jj_3R_408()) return true;
+ if (jj_3R_407()) return true;
return false;
}
- inline bool jj_3R_384()
+ inline bool jj_3R_383()
{
if (jj_done) return true;
Token * xsp;
@@ -2405,58 +2405,58 @@ void parseInline();
return false;
}
- inline bool jj_3R_448()
+ inline bool jj_3R_446()
{
if (jj_done) return true;
- if (jj_3R_405()) return true;
+ if (jj_3R_404()) return true;
return false;
}
- inline bool jj_3R_449()
+ inline bool jj_3R_447()
{
if (jj_done) return true;
- if (jj_3R_446()) return true;
+ if (jj_3R_444()) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_524()) { jj_scanpos = xsp; break; }
+ if (jj_3R_529()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_464()
+ inline bool jj_3R_462()
{
if (jj_done) return true;
- if (jj_3R_528()) return true;
+ if (jj_3R_533()) return true;
return false;
}
- inline bool jj_3R_75()
+ inline bool jj_3R_74()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_169()) return true;
+ if (jj_3R_168()) return true;
if (jj_scan_token(GENERATE_T)) return true;
- if (jj_3R_170()) return true;
+ if (jj_3R_169()) return true;
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(GENERATE_T)) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_171()) jj_scanpos = xsp;
+ if (jj_3R_170()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_306()
+ inline bool jj_3R_305()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_scan_token(134)) {
@@ -2465,125 +2465,125 @@ void parseInline();
}
while (true) {
xsp = jj_scanpos;
- if (jj_3R_386()) { jj_scanpos = xsp; break; }
+ if (jj_3R_385()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_105()
+ inline bool jj_3R_302()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_226()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
+ if (jj_3R_383()) return true;
return false;
}
- inline bool jj_3R_303()
+ inline bool jj_3R_104()
{
if (jj_done) return true;
- if (jj_3R_384()) return true;
+ if (jj_3R_59()) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_225()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
return false;
}
inline bool jj_3_110()
{
if (jj_done) return true;
- if (jj_3R_143()) return true;
+ if (jj_3R_142()) return true;
if (jj_scan_token(DOT_T)) return true;
return false;
}
- inline bool jj_3R_145()
+ inline bool jj_3R_144()
{
if (jj_done) return true;
if (jj_scan_token(WITH_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(SELECT_T)) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_scan_token(155)) jj_scanpos = xsp;
- if (jj_3R_115()) return true;
+ if (jj_3R_114()) return true;
if (jj_scan_token(LESSTHAN_T)) return true;
if (jj_scan_token(FORCE_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_305()) jj_scanpos = xsp;
- if (jj_3R_306()) return true;
+ if (jj_3R_304()) jj_scanpos = xsp;
+ if (jj_3R_305()) return true;
return false;
}
- inline bool jj_3R_157()
+ inline bool jj_3_113()
{
if (jj_done) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_312()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
+ if (jj_3R_108()) return true;
return false;
}
- inline bool jj_3_113()
+ inline bool jj_3R_156()
{
if (jj_done) return true;
- if (jj_3R_109()) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_311()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_369()
+ inline bool jj_3R_368()
{
if (jj_done) return true;
if (jj_scan_token(WITH_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(SELECT_T)) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_scan_token(155)) jj_scanpos = xsp;
- if (jj_3R_115()) return true;
+ if (jj_3R_114()) return true;
if (jj_scan_token(LESSTHAN_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_448()) jj_scanpos = xsp;
- if (jj_3R_449()) return true;
+ if (jj_3R_446()) jj_scanpos = xsp;
+ if (jj_3R_447()) return true;
return false;
}
- inline bool jj_3R_301()
+ inline bool jj_3R_300()
{
if (jj_done) return true;
- if (jj_3R_143()) return true;
+ if (jj_3R_142()) return true;
if (jj_scan_token(DOT_T)) return true;
return false;
}
- inline bool jj_3R_689()
+ inline bool jj_3R_686()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_137()
+ inline bool jj_3R_136()
{
if (jj_done) return true;
if (jj_scan_token(TYPE_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(IS_T)) return true;
- if (jj_3R_577()) return true;
+ if (jj_3R_576()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_575()
+ inline bool jj_3R_574()
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_688()
+ inline bool jj_3R_685()
{
if (jj_done) return true;
- if (jj_3R_109()) return true;
+ if (jj_3R_108()) return true;
return false;
}
@@ -2592,258 +2592,265 @@ void parseInline();
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_688()) {
+ if (jj_3R_685()) {
jj_scanpos = xsp;
- if (jj_3R_689()) return true;
+ if (jj_3R_686()) return true;
}
return false;
}
- inline bool jj_3R_64()
+ inline bool jj_3R_63()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_157()) jj_scanpos = xsp;
+ if (jj_3R_156()) jj_scanpos = xsp;
return false;
}
inline bool jj_3_112()
{
if (jj_done) return true;
- if (jj_3R_145()) return true;
- return false;
- }
-
- inline bool jj_3R_570()
- {
- if (jj_done) return true;
- if (jj_3R_313()) return true;
+ if (jj_3R_144()) return true;
return false;
}
- inline bool jj_3R_521()
+ inline bool jj_3R_526()
{
if (jj_done) return true;
if (jj_scan_token(WITH_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(SELECT_T)) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_scan_token(155)) jj_scanpos = xsp;
if (jj_3R_662()) return true;
if (jj_scan_token(VARASSIGN_T)) return true;
- if (jj_3R_306()) return true;
+ if (jj_3R_305()) return true;
return false;
}
- inline bool jj_3R_445()
+ inline bool jj_3R_443()
{
if (jj_done) return true;
- if (jj_3R_405()) return true;
+ if (jj_3R_404()) return true;
return false;
}
- inline bool jj_3R_398()
+ inline bool jj_3R_569()
+ {
+ if (jj_done) return true;
+ if (jj_3R_312()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_397()
{
if (jj_done) return true;
if (jj_scan_token(INTEGER)) return true;
return false;
}
- inline bool jj_3R_312()
+ inline bool jj_3R_311()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_397()) {
+ if (jj_3R_396()) {
jj_scanpos = xsp;
- if (jj_3R_398()) return true;
+ if (jj_3R_397()) return true;
}
return false;
}
- inline bool jj_3R_397()
+ inline bool jj_3R_396()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_271()
+ inline bool jj_3R_270()
{
if (jj_done) return true;
- if (jj_3R_369()) return true;
+ if (jj_3R_368()) return true;
return false;
}
- inline bool jj_3R_128()
+ inline bool jj_3R_127()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_270()) {
+ if (jj_3R_269()) {
jj_scanpos = xsp;
- if (jj_3R_271()) return true;
+ if (jj_3R_270()) return true;
}
return false;
}
- inline bool jj_3R_270()
+ inline bool jj_3R_269()
{
if (jj_done) return true;
- if (jj_3R_145()) return true;
+ if (jj_3R_144()) return true;
return false;
}
- inline bool jj_3R_144()
+ inline bool jj_3R_143()
{
if (jj_done) return true;
- if (jj_3R_115()) return true;
+ if (jj_3R_114()) return true;
if (jj_scan_token(LESSTHAN_T)) return true;
if (jj_scan_token(FORCE_T)) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_303()) jj_scanpos = xsp;
- if (jj_3R_59()) return true;
+ if (jj_3R_302()) jj_scanpos = xsp;
+ if (jj_3R_58()) return true;
if (jj_scan_token(WHEN_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_304()) jj_scanpos = xsp;
+ if (jj_3R_303()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_654()
+ inline bool jj_3R_656()
{
if (jj_done) return true;
if (jj_scan_token(FILE_T)) return true;
if (jj_scan_token(OF_T)) return true;
- if (jj_3R_158()) return true;
+ if (jj_3R_157()) return true;
return false;
}
- inline bool jj_3R_523()
+ inline bool jj_3R_528()
{
if (jj_done) return true;
if (jj_scan_token(ELSE_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_575()) jj_scanpos = xsp;
+ if (jj_3R_574()) jj_scanpos = xsp;
return false;
}
inline bool jj_3_111()
{
if (jj_done) return true;
- if (jj_3R_144()) return true;
+ if (jj_3R_143()) return true;
return false;
}
- inline bool jj_3R_580()
+ inline bool jj_3R_323()
+ {
+ if (jj_done) return true;
+ if (jj_3R_409()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_579()
{
if (jj_done) return true;
if (jj_scan_token(OPEN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_528()
+ inline bool jj_3R_533()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_580()) jj_scanpos = xsp;
+ if (jj_3R_579()) jj_scanpos = xsp;
if (jj_scan_token(IS_T)) return true;
- if (jj_3R_581()) return true;
+ if (jj_3R_580()) return true;
return false;
}
- inline bool jj_3R_368()
+ inline bool jj_3R_367()
{
if (jj_done) return true;
- if (jj_3R_115()) return true;
+ if (jj_3R_114()) return true;
if (jj_scan_token(LESSTHAN_T)) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_445()) jj_scanpos = xsp;
- if (jj_3R_446()) return true;
+ if (jj_3R_443()) jj_scanpos = xsp;
+ if (jj_3R_444()) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
xsp = jj_scanpos;
- if (jj_3R_447()) jj_scanpos = xsp;
+ if (jj_3R_445()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_269()
+ inline bool jj_3R_268()
{
if (jj_done) return true;
- if (jj_3R_368()) return true;
+ if (jj_3R_367()) return true;
return false;
}
- inline bool jj_3R_581()
+ inline bool jj_3R_580()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_127()
+ inline bool jj_3R_126()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_268()) {
+ if (jj_3R_267()) {
jj_scanpos = xsp;
- if (jj_3R_269()) return true;
+ if (jj_3R_268()) return true;
}
return false;
}
- inline bool jj_3R_268()
+ inline bool jj_3R_267()
{
if (jj_done) return true;
- if (jj_3R_144()) return true;
+ if (jj_3R_143()) return true;
return false;
}
- inline bool jj_3R_450()
+ inline bool jj_3R_448()
{
if (jj_done) return true;
if (jj_scan_token(DOUBLEMULT_T)) return true;
- if (jj_3R_370()) return true;
+ if (jj_3R_369()) return true;
return false;
}
- inline bool jj_3R_142()
+ inline bool jj_3R_141()
{
if (jj_done) return true;
- if (jj_3R_143()) return true;
+ if (jj_3R_142()) return true;
if (jj_scan_token(DOT_T)) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_301()) { jj_scanpos = xsp; break; }
+ if (jj_3R_300()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_549()
+ inline bool jj_3R_554()
{
if (jj_done) return true;
if (jj_scan_token(AT_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_302()
+ inline bool jj_3R_301()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
@@ -2851,134 +2858,127 @@ void parseInline();
inline bool jj_3_109()
{
if (jj_done) return true;
- if (jj_3R_142()) return true;
+ if (jj_3R_141()) return true;
return false;
}
- inline bool jj_3R_376()
+ inline bool jj_3R_375()
{
if (jj_done) return true;
if (jj_scan_token(FILE_T)) return true;
- if (jj_3R_197()) return true;
+ if (jj_3R_196()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_464()) jj_scanpos = xsp;
+ if (jj_3R_462()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_264()
+ inline bool jj_3R_263()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_284()
+ inline bool jj_3R_283()
{
if (jj_done) return true;
if (jj_scan_token(NOT_T)) return true;
- if (jj_3R_370()) return true;
+ if (jj_3R_369()) return true;
return false;
}
- inline bool jj_3R_283()
+ inline bool jj_3R_282()
{
if (jj_done) return true;
if (jj_scan_token(ABS_T)) return true;
- if (jj_3R_370()) return true;
+ if (jj_3R_369()) return true;
return false;
}
- inline bool jj_3R_136()
+ inline bool jj_3R_135()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_282()) {
+ if (jj_3R_281()) {
jj_scanpos = xsp;
- if (jj_3R_283()) {
+ if (jj_3R_282()) {
jj_scanpos = xsp;
- if (jj_3R_284()) return true;
+ if (jj_3R_283()) return true;
}
}
return false;
}
- inline bool jj_3R_282()
+ inline bool jj_3R_281()
{
if (jj_done) return true;
- if (jj_3R_370()) return true;
+ if (jj_3R_369()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_450()) jj_scanpos = xsp;
+ if (jj_3R_448()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_612()
+ inline bool jj_3R_611()
{
if (jj_done) return true;
- if (jj_3R_142()) return true;
+ if (jj_3R_141()) return true;
return false;
}
- inline bool jj_3R_699()
+ inline bool jj_3R_696()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_97()) return true;
- return false;
- }
-
- inline bool jj_3R_147()
- {
- if (jj_done) return true;
- if (jj_3R_309()) return true;
- if (jj_3R_146()) return true;
+ if (jj_3R_96()) return true;
return false;
}
- inline bool jj_3R_143()
+ inline bool jj_3R_142()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_302()) jj_scanpos = xsp;
+ if (jj_3R_301()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_394()
+ inline bool jj_3R_146()
{
if (jj_done) return true;
- if (jj_scan_token(OR_T)) return true;
+ if (jj_3R_308()) return true;
+ if (jj_3R_145()) return true;
return false;
}
inline bool jj_3R_393()
{
if (jj_done) return true;
- if (jj_scan_token(XOR_T)) return true;
+ if (jj_scan_token(OR_T)) return true;
return false;
}
inline bool jj_3R_392()
{
if (jj_done) return true;
- if (jj_scan_token(XNOR_T)) return true;
+ if (jj_scan_token(XOR_T)) return true;
return false;
}
inline bool jj_3R_391()
{
if (jj_done) return true;
- if (jj_scan_token(NOR_T)) return true;
+ if (jj_scan_token(XNOR_T)) return true;
return false;
}
- inline bool jj_3R_636()
+ inline bool jj_3R_639()
{
if (jj_done) return true;
if (jj_scan_token(NEG_T)) return true;
@@ -2989,34 +2989,36 @@ void parseInline();
inline bool jj_3R_390()
{
if (jj_done) return true;
- if (jj_scan_token(NAND_T)) return true;
+ if (jj_scan_token(NOR_T)) return true;
return false;
}
- inline bool jj_3R_611()
+ inline bool jj_3R_610()
{
if (jj_done) return true;
Token * xsp;
- if (jj_3R_636()) return true;
+ if (jj_3R_639()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_636()) { jj_scanpos = xsp; break; }
+ if (jj_3R_639()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_410()
+ inline bool jj_3R_389()
{
if (jj_done) return true;
- if (jj_3R_498()) return true;
+ if (jj_scan_token(NAND_T)) return true;
return false;
}
- inline bool jj_3R_309()
+ inline bool jj_3R_308()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_388()) {
+ jj_scanpos = xsp;
if (jj_3R_389()) {
jj_scanpos = xsp;
if (jj_3R_390()) {
@@ -3025,9 +3027,7 @@ void parseInline();
jj_scanpos = xsp;
if (jj_3R_392()) {
jj_scanpos = xsp;
- if (jj_3R_393()) {
- jj_scanpos = xsp;
- if (jj_3R_394()) return true;
+ if (jj_3R_393()) return true;
}
}
}
@@ -3036,7 +3036,7 @@ void parseInline();
return false;
}
- inline bool jj_3R_389()
+ inline bool jj_3R_388()
{
if (jj_done) return true;
if (jj_scan_token(AND_T)) return true;
@@ -3047,314 +3047,292 @@ void parseInline();
{
if (jj_done) return true;
if (jj_scan_token(DOT_T)) return true;
- if (jj_3R_142()) return true;
+ if (jj_3R_141()) return true;
return false;
}
- inline bool jj_3R_548()
+ inline bool jj_3R_553()
{
if (jj_done) return true;
- if (jj_3R_611()) return true;
+ if (jj_3R_610()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_612()) jj_scanpos = xsp;
- if (jj_3R_70()) return true;
+ if (jj_3R_611()) jj_scanpos = xsp;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_610()
+ inline bool jj_3R_609()
{
if (jj_done) return true;
if (jj_scan_token(DOT_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_59()
+ inline bool jj_3R_58()
{
if (jj_done) return true;
- if (jj_3R_146()) return true;
+ if (jj_3R_145()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_147()) { jj_scanpos = xsp; break; }
+ if (jj_3R_146()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_609()
+ inline bool jj_3R_608()
{
if (jj_done) return true;
if (jj_scan_token(DOT_T)) return true;
- if (jj_3R_142()) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_141()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_547()
+ inline bool jj_3R_552()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_609()) {
+ if (jj_3R_608()) {
jj_scanpos = xsp;
- if (jj_3R_610()) return true;
+ if (jj_3R_609()) return true;
}
return false;
}
- inline bool jj_3R_490()
+ inline bool jj_3R_488()
{
if (jj_done) return true;
- if (jj_3R_549()) return true;
+ if (jj_3R_554()) return true;
return false;
}
- inline bool jj_3R_489()
+ inline bool jj_3R_487()
{
if (jj_done) return true;
- if (jj_3R_548()) return true;
+ if (jj_3R_553()) return true;
return false;
}
- inline bool jj_3R_396()
+ inline bool jj_3R_395()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_488()) {
+ if (jj_3R_486()) {
jj_scanpos = xsp;
- if (jj_3R_489()) {
+ if (jj_3R_487()) {
jj_scanpos = xsp;
- if (jj_3R_490()) return true;
+ if (jj_3R_488()) return true;
}
}
return false;
}
- inline bool jj_3R_488()
+ inline bool jj_3R_486()
{
if (jj_done) return true;
- if (jj_3R_547()) return true;
+ if (jj_3R_552()) return true;
return false;
}
inline bool jj_3_105()
{
if (jj_done) return true;
- if (jj_3R_139()) return true;
+ if (jj_3R_138()) return true;
return false;
}
- inline bool jj_3R_265()
+ inline bool jj_3R_264()
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
return false;
}
- inline bool jj_3R_263()
+ inline bool jj_3R_262()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_487()
+ inline bool jj_3R_485()
{
if (jj_done) return true;
if (jj_scan_token(VARIABLE_T)) return true;
return false;
}
- inline bool jj_3R_125()
+ inline bool jj_3R_484()
+ {
+ if (jj_done) return true;
+ if (jj_scan_token(SIGNAL_T)) return true;
+ return false;
+ }
+
+ inline bool jj_3R_124()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_263()) jj_scanpos = xsp;
+ if (jj_3R_262()) jj_scanpos = xsp;
if (jj_scan_token(EXIT_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_264()) jj_scanpos = xsp;
+ if (jj_3R_263()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_265()) jj_scanpos = xsp;
+ if (jj_3R_264()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_486()
- {
- if (jj_done) return true;
- if (jj_scan_token(SIGNAL_T)) return true;
- return false;
- }
-
- inline bool jj_3R_395()
+ inline bool jj_3R_394()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_485()) {
+ if (jj_3R_483()) {
jj_scanpos = xsp;
- if (jj_3R_486()) {
+ if (jj_3R_484()) {
jj_scanpos = xsp;
- if (jj_3R_487()) return true;
+ if (jj_3R_485()) return true;
}
}
return false;
}
- inline bool jj_3R_485()
+ inline bool jj_3R_483()
{
if (jj_done) return true;
if (jj_scan_token(CONSTANT_T)) return true;
return false;
}
- inline bool jj_3R_690()
+ inline bool jj_3R_687()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_97()) return true;
+ if (jj_3R_96()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_699()) { jj_scanpos = xsp; break; }
+ if (jj_3R_696()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_275()
+ inline bool jj_3_107()
{
if (jj_done) return true;
- if (jj_3R_133()) return true;
+ if (jj_3R_140()) return true;
return false;
}
- inline bool jj_3R_209()
+ inline bool jj_3R_274()
{
if (jj_done) return true;
- if (jj_3R_352()) return true;
+ if (jj_3R_132()) return true;
return false;
}
- inline bool jj_3_107()
+ inline bool jj_3R_208()
{
if (jj_done) return true;
- if (jj_3R_141()) return true;
- if (jj_scan_token(BEGIN_T)) return true;
+ if (jj_3R_351()) return true;
return false;
}
- inline bool jj_3R_208()
+ inline bool jj_3R_207()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_97()
+ inline bool jj_3R_96()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_208()) {
+ if (jj_3R_207()) {
jj_scanpos = xsp;
- if (jj_3R_209()) return true;
+ if (jj_3R_208()) return true;
}
return false;
}
- inline bool jj_3R_311()
+ inline bool jj_3R_310()
{
if (jj_done) return true;
if (jj_scan_token(SLSL_T)) return true;
+ if (jj_3R_394()) return true;
if (jj_3R_395()) return true;
- if (jj_3R_396()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
if (jj_scan_token(RSRS_T)) return true;
return false;
}
- inline bool jj_3R_411()
+ inline bool jj_3R_694()
{
if (jj_done) return true;
- if (jj_3R_498()) return true;
+ if (jj_3R_351()) return true;
return false;
}
- inline bool jj_3R_697()
+ inline bool jj_3R_408()
{
if (jj_done) return true;
- if (jj_3R_352()) return true;
+ if (jj_3R_140()) return true;
return false;
}
- inline bool jj_3R_324()
+ inline bool jj_3R_322()
{
if (jj_done) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_411()) { jj_scanpos = xsp; break; }
+ if (jj_3R_408()) { jj_scanpos = xsp; break; }
}
+ if (jj_scan_token(BEGIN_T)) return true;
return false;
}
- inline bool jj_3R_409()
- {
- if (jj_done) return true;
- if (jj_3R_141()) return true;
- return false;
- }
-
- inline bool jj_3R_696()
- {
- if (jj_done) return true;
- if (jj_3R_60()) return true;
- return false;
- }
-
- inline bool jj_3R_683()
+ inline bool jj_3R_169()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_696()) {
- jj_scanpos = xsp;
- if (jj_3R_697()) return true;
+ if (jj_3R_322()) jj_scanpos = xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_323()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_170()
+ inline bool jj_3R_693()
{
if (jj_done) return true;
- Token * xsp;
- xsp = jj_scanpos;
- if (jj_3R_323()) {
- jj_scanpos = xsp;
- if (jj_3R_324()) return true;
- }
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_323()
+ inline bool jj_3R_683()
{
if (jj_done) return true;
Token * xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_409()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(BEGIN_T)) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_410()) { jj_scanpos = xsp; break; }
+ xsp = jj_scanpos;
+ if (jj_3R_693()) {
+ jj_scanpos = xsp;
+ if (jj_3R_694()) return true;
}
return false;
}
@@ -3362,165 +3340,165 @@ void parseInline();
inline bool jj_3_36()
{
if (jj_done) return true;
- if (jj_3R_89()) return true;
+ if (jj_3R_88()) return true;
return false;
}
- inline bool jj_3R_285()
+ inline bool jj_3R_284()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_687()
+ inline bool jj_3R_661()
{
if (jj_done) return true;
if (jj_scan_token(BEGIN_T)) return true;
- if (jj_3R_687()) return true;
+ if (jj_3R_661()) return true;
return false;
}
inline bool jj_3_35()
{
if (jj_done) return true;
- if (jj_3R_88()) return true;
+ if (jj_3R_87()) return true;
return false;
}
- inline bool jj_3R_235()
+ inline bool jj_3R_234()
{
if (jj_done) return true;
- if (jj_3R_133()) return true;
+ if (jj_3R_132()) return true;
return false;
}
inline bool jj_3_106()
{
if (jj_done) return true;
- if (jj_3R_140()) return true;
+ if (jj_3R_139()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_139()
+ inline bool jj_3R_138()
{
if (jj_done) return true;
if (jj_scan_token(END_T)) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_285()) jj_scanpos = xsp;
+ if (jj_3R_284()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_637()
+ inline bool jj_3R_640()
{
if (jj_done) return true;
- if (jj_3R_133()) return true;
+ if (jj_3R_132()) return true;
return false;
}
- inline bool jj_3R_661()
+ inline bool jj_3R_651()
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_3_106()) jj_scanpos = xsp;
- if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
if (jj_scan_token(ARROW_T)) return true;
- if (jj_3R_687()) return true;
+ if (jj_3R_661()) return true;
return false;
}
- inline bool jj_3R_649()
+ inline bool jj_3R_618()
{
if (jj_done) return true;
Token * xsp;
- if (jj_3R_661()) return true;
+ if (jj_3R_651()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_661()) { jj_scanpos = xsp; break; }
+ if (jj_3R_651()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_471()
+ inline bool jj_3R_469()
{
if (jj_done) return true;
- if (jj_3R_533()) return true;
+ if (jj_3R_538()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_534()) return true;
+ if (jj_3R_539()) return true;
return false;
}
inline bool jj_3R_684()
{
if (jj_done) return true;
- if (jj_3R_234()) return true;
+ if (jj_3R_233()) return true;
return false;
}
- inline bool jj_3R_585()
+ inline bool jj_3R_584()
{
if (jj_done) return true;
if (jj_scan_token(ALL_T)) return true;
return false;
}
- inline bool jj_3R_584()
+ inline bool jj_3R_583()
{
if (jj_done) return true;
if (jj_scan_token(OTHER_T)) return true;
return false;
}
- inline bool jj_3R_615()
+ inline bool jj_3R_560()
{
if (jj_done) return true;
if (jj_scan_token(CASE_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(GENERATE_T)) return true;
- if (jj_3R_649()) return true;
+ if (jj_3R_618()) return true;
return false;
}
- inline bool jj_3R_634()
+ inline bool jj_3R_637()
{
if (jj_done) return true;
- if (jj_3R_656()) return true;
+ if (jj_3R_658()) return true;
return false;
}
- inline bool jj_3R_583()
+ inline bool jj_3R_582()
{
if (jj_done) return true;
Token * xsp;
- if (jj_3R_634()) return true;
+ if (jj_3R_637()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_634()) { jj_scanpos = xsp; break; }
+ if (jj_3R_637()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_533()
+ inline bool jj_3R_538()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_583()) {
+ if (jj_3R_582()) {
jj_scanpos = xsp;
- if (jj_3R_584()) {
+ if (jj_3R_583()) {
jj_scanpos = xsp;
- if (jj_3R_585()) return true;
+ if (jj_3R_584()) return true;
}
}
return false;
}
- inline bool jj_3R_656()
+ inline bool jj_3R_658()
{
if (jj_done) return true;
if (jj_3R_683()) return true;
@@ -3530,23 +3508,23 @@ void parseInline();
return false;
}
- inline bool jj_3R_132()
+ inline bool jj_3R_131()
{
if (jj_done) return true;
if (jj_scan_token(GENERIC_T)) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_313()) return true;
+ if (jj_3R_312()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_133()
+ inline bool jj_3R_132()
{
if (jj_done) return true;
if (jj_scan_token(GENERIC_T)) return true;
if (jj_scan_token(MAP_T)) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_166()) return true;
+ if (jj_3R_165()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
@@ -3554,154 +3532,154 @@ void parseInline();
inline bool jj_3_32()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_64()) return true;
return false;
}
inline bool jj_3_34()
{
if (jj_done) return true;
- if (jj_3R_87()) return true;
+ if (jj_3R_86()) return true;
return false;
}
inline bool jj_3_33()
{
if (jj_done) return true;
- if (jj_3R_66()) return true;
+ if (jj_3R_65()) return true;
return false;
}
- inline bool jj_3R_537()
+ inline bool jj_3R_542()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_536()) return true;
+ if (jj_3R_541()) return true;
return false;
}
- inline bool jj_3R_131()
+ inline bool jj_3R_130()
{
if (jj_done) return true;
if (jj_scan_token(FUNCTION_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(IS_T)) return true;
if (jj_scan_token(NEW_T)) return true;
- if (jj_3R_60()) return true;
- if (jj_3R_234()) return true;
+ if (jj_3R_59()) return true;
+ if (jj_3R_233()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_275()) jj_scanpos = xsp;
+ if (jj_3R_274()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_108()
+ inline bool jj_3R_107()
{
if (jj_done) return true;
if (jj_scan_token(PACKAGE_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(IS_T)) return true;
if (jj_scan_token(NEW_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_637()) jj_scanpos = xsp;
+ if (jj_3R_640()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_87()
+ inline bool jj_3R_86()
{
if (jj_done) return true;
if (jj_scan_token(PACKAGE_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(IS_T)) return true;
if (jj_scan_token(NEW_T)) return true;
- if (jj_3R_60()) return true;
- if (jj_3R_234()) return true;
+ if (jj_3R_59()) return true;
+ if (jj_3R_233()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_235()) jj_scanpos = xsp;
+ if (jj_3R_234()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_606()
+ inline bool jj_3R_605()
{
if (jj_done) return true;
if (jj_scan_token(BOX_T)) return true;
return false;
}
- inline bool jj_3R_349()
+ inline bool jj_3R_348()
{
if (jj_done) return true;
if (jj_scan_token(ENTITY_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
inline bool jj_3R_682()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_475()
+ inline bool jj_3R_473()
{
if (jj_done) return true;
- if (jj_3R_536()) return true;
+ if (jj_3R_541()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_537()) { jj_scanpos = xsp; break; }
+ if (jj_3R_542()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_254()
+ inline bool jj_3R_253()
{
if (jj_done) return true;
- if (jj_3R_366()) return true;
+ if (jj_3R_365()) return true;
return false;
}
- inline bool jj_3R_536()
+ inline bool jj_3R_541()
{
if (jj_done) return true;
- if (jj_3R_534()) return true;
+ if (jj_3R_539()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_606()) jj_scanpos = xsp;
+ if (jj_3R_605()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_616()
+ inline bool jj_3R_619()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_602()
+ inline bool jj_3R_601()
{
if (jj_done) return true;
if (jj_scan_token(FILE_T)) return true;
return false;
}
- inline bool jj_3R_695()
+ inline bool jj_3R_692()
{
if (jj_done) return true;
- if (jj_3R_705()) return true;
+ if (jj_3R_702()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_601()
+ inline bool jj_3R_600()
{
if (jj_done) return true;
if (jj_scan_token(GROUP_T)) return true;
@@ -3714,139 +3692,139 @@ void parseInline();
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_695()) { jj_scanpos = xsp; break; }
+ if (jj_3R_692()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_600()
+ inline bool jj_3R_599()
{
if (jj_done) return true;
if (jj_scan_token(UNITS_T)) return true;
return false;
}
- inline bool jj_3R_599()
+ inline bool jj_3R_598()
{
if (jj_done) return true;
if (jj_scan_token(LITERAL_T)) return true;
return false;
}
- inline bool jj_3R_598()
+ inline bool jj_3R_597()
{
if (jj_done) return true;
if (jj_scan_token(LABEL_T)) return true;
return false;
}
- inline bool jj_3R_722()
+ inline bool jj_3R_719()
{
if (jj_done) return true;
- if (jj_3R_382()) return true;
+ if (jj_3R_381()) return true;
return false;
}
- inline bool jj_3R_597()
+ inline bool jj_3R_596()
{
if (jj_done) return true;
if (jj_scan_token(COMPONENT_T)) return true;
return false;
}
- inline bool jj_3R_721()
+ inline bool jj_3R_718()
{
if (jj_done) return true;
- if (jj_3R_379()) return true;
+ if (jj_3R_378()) return true;
return false;
}
- inline bool jj_3R_596()
+ inline bool jj_3R_595()
{
if (jj_done) return true;
if (jj_scan_token(VARIABLE_T)) return true;
return false;
}
- inline bool jj_3R_595()
+ inline bool jj_3R_594()
{
if (jj_done) return true;
if (jj_scan_token(SIGNAL_T)) return true;
return false;
}
- inline bool jj_3R_594()
+ inline bool jj_3R_593()
{
if (jj_done) return true;
if (jj_scan_token(CONSTANT_T)) return true;
return false;
}
- inline bool jj_3R_720()
+ inline bool jj_3R_717()
{
if (jj_done) return true;
- if (jj_3R_347()) return true;
+ if (jj_3R_346()) return true;
return false;
}
- inline bool jj_3R_705()
+ inline bool jj_3R_702()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_720()) {
+ if (jj_3R_717()) {
jj_scanpos = xsp;
- if (jj_3R_721()) {
+ if (jj_3R_718()) {
jj_scanpos = xsp;
- if (jj_3R_722()) return true;
+ if (jj_3R_719()) return true;
}
}
return false;
}
- inline bool jj_3R_593()
+ inline bool jj_3R_592()
{
if (jj_done) return true;
if (jj_scan_token(SUBTYPE_T)) return true;
return false;
}
- inline bool jj_3R_592()
+ inline bool jj_3R_591()
{
if (jj_done) return true;
if (jj_scan_token(TYPE_T)) return true;
return false;
}
- inline bool jj_3R_591()
+ inline bool jj_3R_590()
{
if (jj_done) return true;
if (jj_scan_token(PACKAGE_T)) return true;
return false;
}
- inline bool jj_3R_590()
+ inline bool jj_3R_589()
{
if (jj_done) return true;
if (jj_scan_token(FUNCTION_T)) return true;
return false;
}
- inline bool jj_3R_589()
+ inline bool jj_3R_588()
{
if (jj_done) return true;
if (jj_scan_token(PROCEDURE_T)) return true;
return false;
}
- inline bool jj_3R_588()
+ inline bool jj_3R_587()
{
if (jj_done) return true;
if (jj_scan_token(CONFIGURATION_T)) return true;
return false;
}
- inline bool jj_3R_587()
+ inline bool jj_3R_586()
{
if (jj_done) return true;
if (jj_scan_token(ARCHITECTURE_T)) return true;
@@ -3856,22 +3834,24 @@ void parseInline();
inline bool jj_3R_680()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_586()
+ inline bool jj_3R_585()
{
if (jj_done) return true;
if (jj_scan_token(ENTITY_T)) return true;
return false;
}
- inline bool jj_3R_534()
+ inline bool jj_3R_539()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_585()) {
+ jj_scanpos = xsp;
if (jj_3R_586()) {
jj_scanpos = xsp;
if (jj_3R_587()) {
@@ -3902,9 +3882,7 @@ void parseInline();
jj_scanpos = xsp;
if (jj_3R_600()) {
jj_scanpos = xsp;
- if (jj_3R_601()) {
- jj_scanpos = xsp;
- if (jj_3R_602()) return true;
+ if (jj_3R_601()) return true;
}
}
}
@@ -3924,14 +3902,14 @@ void parseInline();
return false;
}
- inline bool jj_3R_253()
+ inline bool jj_3R_252()
{
if (jj_done) return true;
- if (jj_3R_365()) return true;
+ if (jj_3R_364()) return true;
return false;
}
- inline bool jj_3R_655()
+ inline bool jj_3R_657()
{
if (jj_done) return true;
if (jj_scan_token(PROTECTED_T)) return true;
@@ -3944,32 +3922,32 @@ void parseInline();
return false;
}
- inline bool jj_3R_564()
+ inline bool jj_3R_563()
{
if (jj_done) return true;
if (jj_scan_token(OPEN_T)) return true;
return false;
}
- inline bool jj_3R_563()
+ inline bool jj_3R_562()
{
if (jj_done) return true;
if (jj_scan_token(CONFIGURATION_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_694()
+ inline bool jj_3R_691()
{
if (jj_done) return true;
- if (jj_3R_704()) return true;
+ if (jj_3R_701()) return true;
return false;
}
inline bool jj_3_103()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_64()) return true;
return false;
}
@@ -3979,58 +3957,58 @@ void parseInline();
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_694()) { jj_scanpos = xsp; break; }
+ if (jj_3R_691()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_562()
+ inline bool jj_3R_561()
{
if (jj_done) return true;
if (jj_scan_token(ENTITY_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_616()) jj_scanpos = xsp;
+ if (jj_3R_619()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_500()
+ inline bool jj_3R_505()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_562()) {
+ if (jj_3R_561()) {
jj_scanpos = xsp;
- if (jj_3R_563()) {
+ if (jj_3R_562()) {
jj_scanpos = xsp;
- if (jj_3R_564()) return true;
+ if (jj_3R_563()) return true;
}
}
return false;
}
- inline bool jj_3R_719()
+ inline bool jj_3R_716()
{
if (jj_done) return true;
- if (jj_3R_383()) return true;
+ if (jj_3R_382()) return true;
return false;
}
inline bool jj_3_31()
{
if (jj_done) return true;
- if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
if (jj_scan_token(ARROW_T)) return true;
return false;
}
- inline bool jj_3R_707()
+ inline bool jj_3R_704()
{
if (jj_done) return true;
- if (jj_3R_197()) return true;
+ if (jj_3R_196()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -4038,131 +4016,137 @@ void parseInline();
inline bool jj_3_104()
{
if (jj_done) return true;
- if (jj_3R_66()) return true;
+ if (jj_3R_65()) return true;
return false;
}
- inline bool jj_3R_718()
+ inline bool jj_3R_715()
{
if (jj_done) return true;
- if (jj_3R_382()) return true;
+ if (jj_3R_381()) return true;
return false;
}
- inline bool jj_3R_717()
+ inline bool jj_3R_714()
{
if (jj_done) return true;
- if (jj_3R_379()) return true;
+ if (jj_3R_378()) return true;
return false;
}
- inline bool jj_3R_716()
+ inline bool jj_3R_713()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_64()) return true;
return false;
}
inline bool jj_3_30()
{
if (jj_done) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
return false;
}
- inline bool jj_3R_715()
+ inline bool jj_3R_712()
{
if (jj_done) return true;
- if (jj_3R_377()) return true;
+ if (jj_3R_376()) return true;
return false;
}
- inline bool jj_3R_714()
+ inline bool jj_3R_711()
{
if (jj_done) return true;
- if (jj_3R_376()) return true;
+ if (jj_3R_375()) return true;
return false;
}
inline bool jj_3_29()
{
if (jj_done) return true;
- if (jj_3R_84()) return true;
+ if (jj_3R_83()) return true;
return false;
}
- inline bool jj_3R_713()
+ inline bool jj_3R_710()
{
if (jj_done) return true;
- if (jj_3R_375()) return true;
+ if (jj_3R_374()) return true;
return false;
}
- inline bool jj_3R_712()
+ inline bool jj_3R_709()
{
if (jj_done) return true;
- if (jj_3R_373()) return true;
+ if (jj_3R_372()) return true;
return false;
}
- inline bool jj_3R_359()
+ inline bool jj_3R_358()
{
if (jj_done) return true;
- if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
if (jj_scan_token(ARROW_T)) return true;
return false;
}
- inline bool jj_3R_711()
+ inline bool jj_3R_708()
{
if (jj_done) return true;
- if (jj_3R_372()) return true;
+ if (jj_3R_371()) return true;
return false;
}
- inline bool jj_3R_236()
+ inline bool jj_3R_235()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_359()) jj_scanpos = xsp;
- if (jj_3R_59()) return true;
+ if (jj_3R_358()) jj_scanpos = xsp;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_710()
+ inline bool jj_3R_707()
{
if (jj_done) return true;
- if (jj_3R_371()) return true;
+ if (jj_3R_370()) return true;
return false;
}
- inline bool jj_3R_709()
+ inline bool jj_3R_706()
{
if (jj_done) return true;
- if (jj_3R_519()) return true;
+ if (jj_3R_524()) return true;
return false;
}
- inline bool jj_3R_163()
+ inline bool jj_3R_162()
{
if (jj_done) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
return false;
}
- inline bool jj_3R_708()
+ inline bool jj_3R_705()
{
if (jj_done) return true;
- if (jj_3R_93()) return true;
+ if (jj_3R_92()) return true;
return false;
}
- inline bool jj_3R_704()
+ inline bool jj_3R_701()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_705()) {
+ jj_scanpos = xsp;
+ if (jj_3R_706()) {
+ jj_scanpos = xsp;
+ if (jj_3R_707()) {
+ jj_scanpos = xsp;
if (jj_3R_708()) {
jj_scanpos = xsp;
if (jj_3R_709()) {
@@ -4179,15 +4163,9 @@ void parseInline();
jj_scanpos = xsp;
if (jj_3R_715()) {
jj_scanpos = xsp;
- if (jj_3R_716()) {
- jj_scanpos = xsp;
- if (jj_3R_717()) {
- jj_scanpos = xsp;
- if (jj_3R_718()) {
- jj_scanpos = xsp;
if (jj_3_104()) {
jj_scanpos = xsp;
- if (jj_3R_719()) return true;
+ if (jj_3R_716()) return true;
}
}
}
@@ -4203,50 +4181,50 @@ void parseInline();
return false;
}
- inline bool jj_3R_252()
+ inline bool jj_3R_251()
{
if (jj_done) return true;
- if (jj_3R_364()) return true;
+ if (jj_3R_363()) return true;
return false;
}
- inline bool jj_3R_162()
+ inline bool jj_3R_161()
{
if (jj_done) return true;
- if (jj_3R_84()) return true;
+ if (jj_3R_83()) return true;
return false;
}
- inline bool jj_3R_69()
+ inline bool jj_3R_68()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_162()) {
+ if (jj_3R_161()) {
jj_scanpos = xsp;
- if (jj_3R_163()) return true;
+ if (jj_3R_162()) return true;
}
return false;
}
- inline bool jj_3R_522()
+ inline bool jj_3R_527()
{
if (jj_done) return true;
if (jj_scan_token(AFTER_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_472()
+ inline bool jj_3R_470()
{
if (jj_done) return true;
- if (jj_3R_535()) return true;
+ if (jj_3R_540()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_138()
+ inline bool jj_3R_137()
{
if (jj_done) return true;
if (jj_scan_token(PROTECTED_T)) return true;
@@ -4261,182 +4239,182 @@ void parseInline();
return false;
}
- inline bool jj_3R_497()
+ inline bool jj_3R_495()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_446()) return true;
+ if (jj_3R_444()) return true;
return false;
}
- inline bool jj_3R_381()
+ inline bool jj_3R_380()
{
if (jj_done) return true;
if (jj_scan_token(DISCONNECT_T)) return true;
- if (jj_3R_472()) return true;
+ if (jj_3R_470()) return true;
if (jj_scan_token(AFTER_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_460()
+ inline bool jj_3R_458()
{
if (jj_done) return true;
if (jj_scan_token(VARASSIGN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_239()
+ inline bool jj_3R_238()
{
if (jj_done) return true;
if (jj_scan_token(DOWNTO_T)) return true;
return false;
}
- inline bool jj_3R_110()
+ inline bool jj_3R_109()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_238()) {
+ if (jj_3R_237()) {
jj_scanpos = xsp;
- if (jj_3R_239()) return true;
+ if (jj_3R_238()) return true;
}
return false;
}
- inline bool jj_3R_238()
+ inline bool jj_3R_237()
{
if (jj_done) return true;
if (jj_scan_token(TO_T)) return true;
return false;
}
- inline bool jj_3R_569()
+ inline bool jj_3R_568()
{
if (jj_done) return true;
- if (jj_3R_310()) return true;
+ if (jj_3R_309()) return true;
return false;
}
- inline bool jj_3R_446()
+ inline bool jj_3R_444()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_522()) jj_scanpos = xsp;
+ if (jj_3R_527()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_568()
+ inline bool jj_3R_567()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_515()
+ inline bool jj_3R_520()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_568()) {
+ if (jj_3R_567()) {
jj_scanpos = xsp;
- if (jj_3R_569()) return true;
+ if (jj_3R_568()) return true;
}
return false;
}
- inline bool jj_3R_407()
+ inline bool jj_3R_406()
{
if (jj_done) return true;
if (jj_scan_token(UNAFFECTED_T)) return true;
return false;
}
- inline bool jj_3R_318()
+ inline bool jj_3R_317()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_406()) {
+ if (jj_3R_405()) {
jj_scanpos = xsp;
- if (jj_3R_407()) return true;
+ if (jj_3R_406()) return true;
}
return false;
}
- inline bool jj_3R_406()
+ inline bool jj_3R_405()
{
if (jj_done) return true;
- if (jj_3R_446()) return true;
+ if (jj_3R_444()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_497()) { jj_scanpos = xsp; break; }
+ if (jj_3R_495()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_553()
+ inline bool jj_3R_558()
{
if (jj_done) return true;
if (jj_scan_token(REJECT_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_251()
+ inline bool jj_3R_250()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_496()
+ inline bool jj_3R_494()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_553()) jj_scanpos = xsp;
+ if (jj_3R_558()) jj_scanpos = xsp;
if (jj_scan_token(INERTIAL_T)) return true;
return false;
}
- inline bool jj_3R_118()
+ inline bool jj_3R_117()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_251()) jj_scanpos = xsp;
+ if (jj_3R_250()) jj_scanpos = xsp;
if (jj_scan_token(WAIT_T)) return true;
xsp = jj_scanpos;
+ if (jj_3R_251()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
if (jj_3R_252()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_253()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_254()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_405()
+ inline bool jj_3R_404()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_495()) {
+ if (jj_3R_493()) {
jj_scanpos = xsp;
- if (jj_3R_496()) return true;
+ if (jj_3R_494()) return true;
}
return false;
}
- inline bool jj_3R_495()
+ inline bool jj_3R_493()
{
if (jj_done) return true;
if (jj_scan_token(TRANSPORT_T)) return true;
@@ -4446,143 +4424,143 @@ void parseInline();
inline bool jj_3_28()
{
if (jj_done) return true;
- if (jj_3R_83()) return true;
+ if (jj_3R_82()) return true;
return false;
}
inline bool jj_3_27()
{
if (jj_done) return true;
- if (jj_3R_82()) return true;
+ if (jj_3R_81()) return true;
return false;
}
- inline bool jj_3R_156()
+ inline bool jj_3R_155()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_155()) return true;
+ if (jj_3R_154()) return true;
return false;
}
- inline bool jj_3R_277()
+ inline bool jj_3R_276()
{
if (jj_done) return true;
- if (jj_3R_83()) return true;
+ if (jj_3R_82()) return true;
return false;
}
- inline bool jj_3R_134()
+ inline bool jj_3R_133()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_276()) {
+ if (jj_3R_275()) {
jj_scanpos = xsp;
- if (jj_3R_277()) return true;
+ if (jj_3R_276()) return true;
}
return false;
}
- inline bool jj_3R_276()
+ inline bool jj_3R_275()
{
if (jj_done) return true;
- if (jj_3R_82()) return true;
+ if (jj_3R_81()) return true;
return false;
}
- inline bool jj_3R_463()
+ inline bool jj_3R_461()
{
if (jj_done) return true;
if (jj_scan_token(VARASSIGN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_375()
+ inline bool jj_3R_374()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_scan_token(101)) jj_scanpos = xsp;
if (jj_scan_token(VARIABLE_T)) return true;
- if (jj_3R_197()) return true;
+ if (jj_3R_196()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
xsp = jj_scanpos;
- if (jj_3R_463()) jj_scanpos = xsp;
+ if (jj_3R_461()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_474()
+ inline bool jj_3R_472()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_473()) return true;
+ if (jj_3R_471()) return true;
return false;
}
- inline bool jj_3R_706()
+ inline bool jj_3R_703()
{
if (jj_done) return true;
if (jj_scan_token(ARRAY_T)) return true;
- if (jj_3R_83()) return true;
+ if (jj_3R_82()) return true;
if (jj_scan_token(OF_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
return false;
}
- inline bool jj_3R_441()
+ inline bool jj_3R_439()
{
if (jj_done) return true;
- if (jj_3R_521()) return true;
+ if (jj_3R_526()) return true;
return false;
}
inline bool jj_3_102()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_362()
+ inline bool jj_3R_361()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_440()) {
+ if (jj_3R_438()) {
jj_scanpos = xsp;
- if (jj_3R_441()) return true;
+ if (jj_3R_439()) return true;
}
return false;
}
- inline bool jj_3R_440()
+ inline bool jj_3R_438()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_3_102()) jj_scanpos = xsp;
- if (jj_3R_115()) return true;
+ if (jj_3R_114()) return true;
if (jj_scan_token(VARASSIGN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_373()
+ inline bool jj_3R_372()
{
if (jj_done) return true;
if (jj_scan_token(CONSTANT_T)) return true;
- if (jj_3R_197()) return true;
+ if (jj_3R_196()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_460()) jj_scanpos = xsp;
+ if (jj_3R_458()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -4590,142 +4568,142 @@ void parseInline();
inline bool jj_3_26()
{
if (jj_done) return true;
- if (jj_3R_81()) return true;
+ if (jj_3R_80()) return true;
return false;
}
- inline bool jj_3R_380()
+ inline bool jj_3R_379()
{
if (jj_done) return true;
if (jj_scan_token(FOR_T)) return true;
- if (jj_3R_178()) return true;
- if (jj_3R_332()) return true;
+ if (jj_3R_177()) return true;
+ if (jj_3R_331()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_567()
+ inline bool jj_3R_566()
{
if (jj_done) return true;
- if (jj_3R_333()) return true;
+ if (jj_3R_332()) return true;
return false;
}
- inline bool jj_3R_382()
+ inline bool jj_3R_381()
{
if (jj_done) return true;
if (jj_scan_token(USE_T)) return true;
- if (jj_3R_473()) return true;
+ if (jj_3R_471()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_474()) { jj_scanpos = xsp; break; }
+ if (jj_3R_472()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_566()
+ inline bool jj_3R_565()
{
if (jj_done) return true;
- if (jj_3R_81()) return true;
+ if (jj_3R_80()) return true;
return false;
}
- inline bool jj_3R_502()
+ inline bool jj_3R_507()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_566()) {
+ if (jj_3R_565()) {
jj_scanpos = xsp;
- if (jj_3R_567()) return true;
+ if (jj_3R_566()) return true;
}
return false;
}
- inline bool jj_3R_63()
+ inline bool jj_3R_62()
{
if (jj_done) return true;
if (jj_scan_token(ARRAY_T)) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_155()) return true;
+ if (jj_3R_154()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_156()) { jj_scanpos = xsp; break; }
+ if (jj_3R_155()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RPAREN_T)) return true;
if (jj_scan_token(OF_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
return false;
}
- inline bool jj_3R_158()
+ inline bool jj_3R_157()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_633()
+ inline bool jj_3R_636()
{
if (jj_done) return true;
- if (jj_3R_655()) return true;
+ if (jj_3R_657()) return true;
return false;
}
inline bool jj_3_101()
{
if (jj_done) return true;
- if (jj_3R_138()) return true;
+ if (jj_3R_137()) return true;
return false;
}
- inline bool jj_3R_632()
+ inline bool jj_3R_635()
{
if (jj_done) return true;
- if (jj_3R_654()) return true;
+ if (jj_3R_656()) return true;
return false;
}
- inline bool jj_3R_631()
+ inline bool jj_3R_634()
{
if (jj_done) return true;
- if (jj_3R_653()) return true;
+ if (jj_3R_655()) return true;
return false;
}
- inline bool jj_3R_630()
+ inline bool jj_3R_633()
{
if (jj_done) return true;
- if (jj_3R_652()) return true;
+ if (jj_3R_654()) return true;
return false;
}
- inline bool jj_3R_629()
+ inline bool jj_3R_632()
{
if (jj_done) return true;
- if (jj_3R_651()) return true;
+ if (jj_3R_653()) return true;
return false;
}
- inline bool jj_3R_577()
+ inline bool jj_3R_576()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_629()) {
+ if (jj_3R_632()) {
jj_scanpos = xsp;
- if (jj_3R_630()) {
+ if (jj_3R_633()) {
jj_scanpos = xsp;
- if (jj_3R_631()) {
+ if (jj_3R_634()) {
jj_scanpos = xsp;
- if (jj_3R_632()) {
+ if (jj_3R_635()) {
jj_scanpos = xsp;
if (jj_3_101()) {
jj_scanpos = xsp;
- if (jj_3R_633()) return true;
+ if (jj_3R_636()) return true;
}
}
}
@@ -4738,132 +4716,132 @@ void parseInline();
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
if (jj_scan_token(ELSE_T)) return true;
return false;
}
- inline bool jj_3R_350()
+ inline bool jj_3R_349()
{
if (jj_done) return true;
if (jj_scan_token(CONFIGURATION_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
inline bool jj_3_97()
{
if (jj_done) return true;
- if (jj_3R_134()) return true;
+ if (jj_3R_133()) return true;
return false;
}
- inline bool jj_3R_459()
+ inline bool jj_3R_457()
{
if (jj_done) return true;
- if (jj_3R_526()) return true;
+ if (jj_3R_531()) return true;
return false;
}
inline bool jj_3_100()
{
if (jj_done) return true;
- if (jj_3R_137()) return true;
+ if (jj_3R_136()) return true;
return false;
}
- inline bool jj_3R_371()
+ inline bool jj_3R_370()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_3_100()) {
jj_scanpos = xsp;
- if (jj_3R_459()) return true;
+ if (jj_3R_457()) return true;
}
return false;
}
- inline bool jj_3R_320()
+ inline bool jj_3R_319()
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
return false;
}
- inline bool jj_3R_106()
+ inline bool jj_3R_105()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
- if (jj_scan_token(LPAREN_T)) return true;
if (jj_3R_59()) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_319()
+ inline bool jj_3R_318()
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
if (jj_scan_token(ELSE_T)) return true;
- if (jj_3R_318()) return true;
+ if (jj_3R_317()) return true;
return false;
}
inline bool jj_3_99()
{
if (jj_done) return true;
+ if (jj_3R_134()) return true;
if (jj_3R_135()) return true;
- if (jj_3R_136()) return true;
return false;
}
- inline bool jj_3R_185()
+ inline bool jj_3R_184()
{
if (jj_done) return true;
- if (jj_3R_134()) return true;
+ if (jj_3R_133()) return true;
return false;
}
- inline bool jj_3R_168()
+ inline bool jj_3R_167()
{
if (jj_done) return true;
- if (jj_3R_318()) return true;
+ if (jj_3R_317()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_319()) { jj_scanpos = xsp; break; }
+ if (jj_3R_318()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
- if (jj_3R_320()) jj_scanpos = xsp;
+ if (jj_3R_319()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_366()
+ inline bool jj_3R_365()
{
if (jj_done) return true;
if (jj_scan_token(FOR_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_72()
+ inline bool jj_3R_71()
{
if (jj_done) return true;
- if (jj_3R_115()) return true;
+ if (jj_3R_114()) return true;
if (jj_scan_token(LESSTHAN_T)) return true;
+ if (jj_3R_166()) return true;
if (jj_3R_167()) return true;
- if (jj_3R_168()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_130()
+ inline bool jj_3R_129()
{
if (jj_done) return true;
- if (jj_3R_136()) return true;
+ if (jj_3R_135()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
@@ -4872,29 +4850,29 @@ void parseInline();
return false;
}
- inline bool jj_3R_247()
+ inline bool jj_3R_246()
{
if (jj_done) return true;
- if (jj_3R_109()) return true;
+ if (jj_3R_108()) return true;
return false;
}
- inline bool jj_3R_365()
+ inline bool jj_3R_364()
{
if (jj_done) return true;
if (jj_scan_token(UNTIL_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
return false;
}
- inline bool jj_3R_115()
+ inline bool jj_3R_114()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_246()) {
+ if (jj_3R_245()) {
jj_scanpos = xsp;
- if (jj_3R_247()) return true;
+ if (jj_3R_246()) return true;
}
return false;
}
@@ -4902,78 +4880,78 @@ void parseInline();
inline bool jj_3_98()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_246()
+ inline bool jj_3R_245()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
inline bool jj_3_96()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_218()
+ inline bool jj_3R_217()
{
if (jj_done) return true;
if (jj_scan_token(ALL_T)) return true;
return false;
}
- inline bool jj_3R_80()
+ inline bool jj_3R_79()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_217()
+ inline bool jj_3R_216()
{
if (jj_done) return true;
- if (jj_3R_310()) return true;
+ if (jj_3R_309()) return true;
return false;
}
- inline bool jj_3R_216()
+ inline bool jj_3R_215()
{
if (jj_done) return true;
- if (jj_3R_352()) return true;
+ if (jj_3R_351()) return true;
return false;
}
inline bool jj_3_24()
{
if (jj_done) return true;
- if (jj_3R_79()) return true;
+ if (jj_3R_78()) return true;
return false;
}
- inline bool jj_3R_215()
+ inline bool jj_3R_214()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_100()
+ inline bool jj_3R_99()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_214()) {
+ jj_scanpos = xsp;
if (jj_3R_215()) {
jj_scanpos = xsp;
if (jj_3R_216()) {
jj_scanpos = xsp;
- if (jj_3R_217()) {
- jj_scanpos = xsp;
- if (jj_3R_218()) return true;
+ if (jj_3R_217()) return true;
}
}
}
@@ -4983,40 +4961,40 @@ void parseInline();
inline bool jj_3_23()
{
if (jj_done) return true;
- if (jj_3R_78()) return true;
+ if (jj_3R_77()) return true;
return false;
}
- inline bool jj_3R_184()
+ inline bool jj_3R_183()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
inline bool jj_3_22()
{
if (jj_done) return true;
- if (jj_3R_77()) return true;
+ if (jj_3R_76()) return true;
return false;
}
- inline bool jj_3R_85()
+ inline bool jj_3R_84()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_184()) jj_scanpos = xsp;
+ if (jj_3R_183()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_185()) jj_scanpos = xsp;
+ if (jj_3R_184()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_76()
+ inline bool jj_3R_75()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
@@ -5026,56 +5004,56 @@ void parseInline();
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_76()) jj_scanpos = xsp;
+ if (jj_3R_75()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_scan_token(79)) jj_scanpos = xsp;
if (jj_scan_token(ASSERT_T)) return true;
return false;
}
- inline bool jj_3R_561()
+ inline bool jj_3R_503()
{
if (jj_done) return true;
- if (jj_3R_79()) return true;
+ if (jj_3R_78()) return true;
return false;
}
- inline bool jj_3R_560()
+ inline bool jj_3R_502()
{
if (jj_done) return true;
- if (jj_3R_78()) return true;
+ if (jj_3R_77()) return true;
return false;
}
inline bool jj_3_20()
{
if (jj_done) return true;
- if (jj_3R_75()) return true;
+ if (jj_3R_74()) return true;
return false;
}
- inline bool jj_3R_559()
+ inline bool jj_3R_73()
{
if (jj_done) return true;
- if (jj_3R_77()) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_74()
+ inline bool jj_3R_501()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
- if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_76()) return true;
return false;
}
- inline bool jj_3R_372()
+ inline bool jj_3R_371()
{
if (jj_done) return true;
if (jj_scan_token(SUBTYPE_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(IS_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -5085,43 +5063,43 @@ void parseInline();
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_74()) jj_scanpos = xsp;
+ if (jj_3R_73()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_scan_token(79)) jj_scanpos = xsp;
if (jj_scan_token(PROCESS_T)) return true;
return false;
}
- inline bool jj_3R_627()
+ inline bool jj_3R_630()
{
if (jj_done) return true;
- if (jj_3R_113()) return true;
+ if (jj_3R_112()) return true;
return false;
}
- inline bool jj_3R_572()
+ inline bool jj_3R_571()
{
if (jj_done) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_627()) { jj_scanpos = xsp; break; }
+ if (jj_3R_630()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_558()
+ inline bool jj_3R_72()
{
if (jj_done) return true;
- if (jj_3R_88()) return true;
+ if (jj_3R_69()) return true;
+ if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_73()
+ inline bool jj_3R_500()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
- if (jj_scan_token(COLON_T)) return true;
+ if (jj_3R_87()) return true;
return false;
}
@@ -5130,61 +5108,63 @@ void parseInline();
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_73()) jj_scanpos = xsp;
+ if (jj_3R_72()) jj_scanpos = xsp;
if (jj_scan_token(BLOCK_T)) return true;
return false;
}
- inline bool jj_3R_557()
+ inline bool jj_3R_499()
{
if (jj_done) return true;
- if (jj_3R_615()) return true;
+ if (jj_3R_560()) return true;
return false;
}
- inline bool jj_3R_556()
+ inline bool jj_3R_498()
{
if (jj_done) return true;
- if (jj_3R_75()) return true;
+ if (jj_3R_74()) return true;
return false;
}
- inline bool jj_3R_555()
+ inline bool jj_3R_497()
{
if (jj_done) return true;
- if (jj_3R_89()) return true;
+ if (jj_3R_88()) return true;
return false;
}
- inline bool jj_3R_554()
+ inline bool jj_3R_523()
{
if (jj_done) return true;
- if (jj_3R_614()) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_569()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_498()
+ inline bool jj_3R_409()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_554()) {
+ if (jj_3R_496()) {
jj_scanpos = xsp;
- if (jj_3R_555()) {
+ if (jj_3R_497()) {
jj_scanpos = xsp;
- if (jj_3R_556()) {
+ if (jj_3R_498()) {
jj_scanpos = xsp;
- if (jj_3R_557()) {
+ if (jj_3R_499()) {
jj_scanpos = xsp;
- if (jj_3R_558()) {
+ if (jj_3R_500()) {
jj_scanpos = xsp;
- if (jj_3R_559()) {
+ if (jj_3R_501()) {
jj_scanpos = xsp;
- if (jj_3R_560()) {
+ if (jj_3R_502()) {
jj_scanpos = xsp;
- if (jj_3R_561()) {
+ if (jj_3R_503()) {
jj_scanpos = xsp;
- if (jj_scan_token(186)) return true;
+ if (jj_scan_token(187)) return true;
}
}
}
@@ -5196,53 +5176,51 @@ void parseInline();
return false;
}
- inline bool jj_3R_518()
+ inline bool jj_3R_496()
{
if (jj_done) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_570()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
+ if (jj_3R_559()) return true;
return false;
}
inline bool jj_3_17()
{
if (jj_done) return true;
- if (jj_3R_72()) return true;
+ if (jj_3R_71()) return true;
return false;
}
- inline bool jj_3_95()
+ inline bool jj_3R_521()
{
if (jj_done) return true;
- if (jj_3R_133()) return true;
+ if (jj_scan_token(LPAREN_T)) return true;
+ if (jj_3R_312()) return true;
+ if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_516()
+ inline bool jj_3_95()
{
if (jj_done) return true;
- if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_313()) return true;
- if (jj_scan_token(RPAREN_T)) return true;
+ if (jj_3R_132()) return true;
return false;
}
inline bool jj_3_94()
{
if (jj_done) return true;
- if (jj_3R_132()) return true;
+ if (jj_3R_131()) return true;
return false;
}
- inline bool jj_3R_173()
+ inline bool jj_3R_172()
{
if (jj_done) return true;
- if (jj_3R_325()) return true;
+ if (jj_3R_324()) return true;
return false;
}
- inline bool jj_3R_517()
+ inline bool jj_3R_522()
{
if (jj_done) return true;
Token * xsp;
@@ -5254,37 +5232,37 @@ void parseInline();
return false;
}
- inline bool jj_3R_172()
+ inline bool jj_3R_171()
{
if (jj_done) return true;
- if (jj_3R_72()) return true;
+ if (jj_3R_71()) return true;
return false;
}
inline bool jj_3_16()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_434()
+ inline bool jj_3R_432()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_517()) jj_scanpos = xsp;
+ if (jj_3R_522()) jj_scanpos = xsp;
if (jj_scan_token(FUNCTION_T)) return true;
- if (jj_3R_515()) return true;
+ if (jj_3R_520()) return true;
xsp = jj_scanpos;
- if (jj_3R_518()) jj_scanpos = xsp;
+ if (jj_3R_523()) jj_scanpos = xsp;
if (jj_scan_token(RETURN_T)) return true;
- if (jj_3R_158()) return true;
+ if (jj_3R_157()) return true;
return false;
}
- inline bool jj_3R_77()
+ inline bool jj_3R_76()
{
if (jj_done) return true;
Token * xsp;
@@ -5293,9 +5271,9 @@ void parseInline();
xsp = jj_scanpos;
if (jj_scan_token(79)) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_172()) {
+ if (jj_3R_171()) {
jj_scanpos = xsp;
- if (jj_3R_173()) return true;
+ if (jj_3R_172()) return true;
}
return false;
}
@@ -5303,12 +5281,12 @@ void parseInline();
inline bool jj_3_15()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_79()
+ inline bool jj_3R_78()
{
if (jj_done) return true;
Token * xsp;
@@ -5316,7 +5294,7 @@ void parseInline();
if (jj_3_15()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_scan_token(79)) jj_scanpos = xsp;
- if (jj_3R_177()) return true;
+ if (jj_3R_176()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -5324,7 +5302,7 @@ void parseInline();
inline bool jj_3_14()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
@@ -5332,11 +5310,11 @@ void parseInline();
inline bool jj_3_13()
{
if (jj_done) return true;
- if (jj_3R_71()) return true;
+ if (jj_3R_70()) return true;
return false;
}
- inline bool jj_3R_88()
+ inline bool jj_3R_87()
{
if (jj_done) return true;
Token * xsp;
@@ -5344,7 +5322,7 @@ void parseInline();
if (jj_3_14()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_scan_token(79)) jj_scanpos = xsp;
- if (jj_3R_188()) return true;
+ if (jj_3R_187()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -5352,53 +5330,53 @@ void parseInline();
inline bool jj_3R_678()
{
if (jj_done) return true;
- if (jj_3R_693()) return true;
+ if (jj_3R_690()) return true;
return false;
}
- inline bool jj_3R_470()
+ inline bool jj_3R_468()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_347()
+ inline bool jj_3R_346()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_433()) {
+ if (jj_3R_431()) {
jj_scanpos = xsp;
- if (jj_3R_434()) return true;
+ if (jj_3R_432()) return true;
}
return false;
}
- inline bool jj_3R_433()
+ inline bool jj_3R_431()
{
if (jj_done) return true;
if (jj_scan_token(PROCEDURE_T)) return true;
- if (jj_3R_515()) return true;
+ if (jj_3R_520()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_516()) jj_scanpos = xsp;
+ if (jj_3R_521()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3_94()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3_95()) jj_scanpos = xsp;
- if (jj_3R_425()) return true;
+ if (jj_3R_423()) return true;
return false;
}
inline bool jj_3R_677()
{
if (jj_done) return true;
- if (jj_3R_692()) return true;
+ if (jj_3R_689()) return true;
return false;
}
- inline bool jj_3R_652()
+ inline bool jj_3R_654()
{
if (jj_done) return true;
Token * xsp;
@@ -5410,21 +5388,21 @@ void parseInline();
return false;
}
- inline bool jj_3R_176()
+ inline bool jj_3R_175()
{
if (jj_done) return true;
- if (jj_3R_329()) return true;
+ if (jj_3R_328()) return true;
return false;
}
- inline bool jj_3R_175()
+ inline bool jj_3R_174()
{
if (jj_done) return true;
- if (jj_3R_71()) return true;
+ if (jj_3R_70()) return true;
return false;
}
- inline bool jj_3R_628()
+ inline bool jj_3R_631()
{
if (jj_done) return true;
Token * xsp;
@@ -5436,29 +5414,29 @@ void parseInline();
return false;
}
- inline bool jj_3R_178()
+ inline bool jj_3R_177()
{
if (jj_done) return true;
- if (jj_3R_331()) return true;
+ if (jj_3R_330()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_626()
+ inline bool jj_3R_629()
{
if (jj_done) return true;
- if (jj_3R_650()) return true;
+ if (jj_3R_652()) return true;
return false;
}
- inline bool jj_3R_571()
+ inline bool jj_3R_570()
{
if (jj_done) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_626()) { jj_scanpos = xsp; break; }
+ if (jj_3R_629()) { jj_scanpos = xsp; break; }
}
return false;
}
@@ -5466,35 +5444,35 @@ void parseInline();
inline bool jj_3_92()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_64()) return true;
return false;
}
inline bool jj_3R_674()
{
if (jj_done) return true;
- if (jj_3R_383()) return true;
+ if (jj_3R_382()) return true;
return false;
}
inline bool jj_3R_673()
{
if (jj_done) return true;
- if (jj_3R_382()) return true;
+ if (jj_3R_381()) return true;
return false;
}
- inline bool jj_3R_78()
+ inline bool jj_3R_77()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_174()) return true;
+ if (jj_3R_173()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_175()) jj_scanpos = xsp;
+ if (jj_3R_174()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_176()) jj_scanpos = xsp;
+ if (jj_3R_175()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -5502,98 +5480,98 @@ void parseInline();
inline bool jj_3_93()
{
if (jj_done) return true;
- if (jj_3R_66()) return true;
+ if (jj_3R_65()) return true;
return false;
}
inline bool jj_3R_672()
{
if (jj_done) return true;
- if (jj_3R_379()) return true;
+ if (jj_3R_378()) return true;
return false;
}
inline bool jj_3R_671()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_64()) return true;
return false;
}
inline bool jj_3R_670()
{
if (jj_done) return true;
- if (jj_3R_377()) return true;
+ if (jj_3R_376()) return true;
return false;
}
inline bool jj_3R_669()
{
if (jj_done) return true;
- if (jj_3R_376()) return true;
+ if (jj_3R_375()) return true;
return false;
}
inline bool jj_3R_668()
{
if (jj_done) return true;
- if (jj_3R_375()) return true;
+ if (jj_3R_374()) return true;
return false;
}
- inline bool jj_3R_574()
+ inline bool jj_3R_573()
{
if (jj_done) return true;
- if (jj_3R_515()) return true;
+ if (jj_3R_520()) return true;
return false;
}
inline bool jj_3R_667()
{
if (jj_done) return true;
- if (jj_3R_373()) return true;
+ if (jj_3R_372()) return true;
return false;
}
- inline bool jj_3R_469()
+ inline bool jj_3R_467()
{
if (jj_done) return true;
- if (jj_3R_532()) return true;
+ if (jj_3R_537()) return true;
return false;
}
inline bool jj_3R_666()
{
if (jj_done) return true;
- if (jj_3R_372()) return true;
+ if (jj_3R_371()) return true;
return false;
}
inline bool jj_3R_665()
{
if (jj_done) return true;
- if (jj_3R_519()) return true;
+ if (jj_3R_524()) return true;
return false;
}
- inline bool jj_3R_468()
+ inline bool jj_3R_466()
{
if (jj_done) return true;
- if (jj_3R_67()) return true;
+ if (jj_3R_66()) return true;
return false;
}
- inline bool jj_3R_180()
+ inline bool jj_3R_179()
{
if (jj_done) return true;
- if (jj_3R_333()) return true;
+ if (jj_3R_332()) return true;
return false;
}
- inline bool jj_3R_179()
+ inline bool jj_3R_178()
{
if (jj_done) return true;
- if (jj_3R_332()) return true;
+ if (jj_3R_331()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -5601,26 +5579,26 @@ void parseInline();
inline bool jj_3R_664()
{
if (jj_done) return true;
- if (jj_3R_371()) return true;
+ if (jj_3R_370()) return true;
return false;
}
- inline bool jj_3R_187()
+ inline bool jj_3R_186()
{
if (jj_done) return true;
if (jj_scan_token(BAR_T)) return true;
- if (jj_3R_186()) return true;
+ if (jj_3R_185()) return true;
return false;
}
inline bool jj_3R_663()
{
if (jj_done) return true;
- if (jj_3R_93()) return true;
+ if (jj_3R_92()) return true;
return false;
}
- inline bool jj_3R_650()
+ inline bool jj_3R_652()
{
if (jj_done) return true;
Token * xsp;
@@ -5665,44 +5643,44 @@ void parseInline();
return false;
}
- inline bool jj_3R_378()
+ inline bool jj_3R_377()
{
if (jj_done) return true;
if (jj_scan_token(COMPONENT_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_scan_token(56)) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_468()) jj_scanpos = xsp;
+ if (jj_3R_466()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_469()) jj_scanpos = xsp;
+ if (jj_3R_467()) jj_scanpos = xsp;
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(COMPONENT_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_470()) jj_scanpos = xsp;
+ if (jj_3R_468()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_462()
+ inline bool jj_3R_460()
{
if (jj_done) return true;
if (jj_scan_token(VARASSIGN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_81()
+ inline bool jj_3R_80()
{
if (jj_done) return true;
if (jj_scan_token(FOR_T)) return true;
- if (jj_3R_178()) return true;
+ if (jj_3R_177()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_179()) jj_scanpos = xsp;
+ if (jj_3R_178()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_180()) jj_scanpos = xsp;
+ if (jj_3R_179()) jj_scanpos = xsp;
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(FOR_T)) return true;
if (jj_scan_token(SEMI_T)) return true;
@@ -5712,99 +5690,99 @@ void parseInline();
inline bool jj_3_91()
{
if (jj_done) return true;
- if (jj_3R_131()) return true;
+ if (jj_3R_130()) return true;
return false;
}
- inline bool jj_3R_348()
+ inline bool jj_3R_347()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_435()) {
+ if (jj_3R_433()) {
jj_scanpos = xsp;
if (jj_scan_token(137)) return true;
}
return false;
}
- inline bool jj_3R_435()
+ inline bool jj_3R_433()
{
if (jj_done) return true;
- if (jj_3R_519()) return true;
+ if (jj_3R_524()) return true;
return false;
}
inline bool jj_3_12()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
inline bool jj_3_11()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_68()) return true;
return false;
}
- inline bool jj_3R_86()
+ inline bool jj_3R_85()
{
if (jj_done) return true;
- if (jj_3R_186()) return true;
+ if (jj_3R_185()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_187()) { jj_scanpos = xsp; break; }
+ if (jj_3R_186()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_201()
+ inline bool jj_3R_200()
{
if (jj_done) return true;
+ if (jj_3R_346()) return true;
if (jj_3R_347()) return true;
- if (jj_3R_348()) return true;
return false;
}
inline bool jj_3_10()
{
if (jj_done) return true;
- if (jj_3R_68()) return true;
+ if (jj_3R_67()) return true;
return false;
}
- inline bool jj_3R_337()
+ inline bool jj_3R_336()
{
if (jj_done) return true;
if (jj_scan_token(OTHER_T)) return true;
return false;
}
- inline bool jj_3R_573()
+ inline bool jj_3R_572()
{
if (jj_done) return true;
- if (jj_3R_628()) return true;
+ if (jj_3R_631()) return true;
return false;
}
- inline bool jj_3R_200()
+ inline bool jj_3R_199()
{
if (jj_done) return true;
- if (jj_3R_131()) return true;
+ if (jj_3R_130()) return true;
return false;
}
- inline bool jj_3R_93()
+ inline bool jj_3R_92()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_200()) {
+ if (jj_3R_199()) {
jj_scanpos = xsp;
- if (jj_3R_201()) return true;
+ if (jj_3R_200()) return true;
}
return false;
}
@@ -5812,365 +5790,365 @@ void parseInline();
inline bool jj_3_90()
{
if (jj_done) return true;
+ if (jj_3R_128()) return true;
if (jj_3R_129()) return true;
- if (jj_3R_130()) return true;
return false;
}
- inline bool jj_3R_336()
+ inline bool jj_3R_335()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_335()
+ inline bool jj_3R_334()
{
if (jj_done) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_68()) return true;
return false;
}
- inline bool jj_3R_186()
+ inline bool jj_3R_185()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_333()) {
+ jj_scanpos = xsp;
if (jj_3R_334()) {
jj_scanpos = xsp;
if (jj_3R_335()) {
jj_scanpos = xsp;
- if (jj_3R_336()) {
- jj_scanpos = xsp;
- if (jj_3R_337()) return true;
+ if (jj_3R_336()) return true;
}
}
}
return false;
}
- inline bool jj_3R_334()
+ inline bool jj_3R_333()
{
if (jj_done) return true;
- if (jj_3R_68()) return true;
+ if (jj_3R_67()) return true;
return false;
}
- inline bool jj_3R_624()
+ inline bool jj_3R_627()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_461()
+ inline bool jj_3R_459()
{
if (jj_done) return true;
- if (jj_3R_527()) return true;
+ if (jj_3R_532()) return true;
return false;
}
- inline bool jj_3R_161()
+ inline bool jj_3R_160()
{
if (jj_done) return true;
+ if (jj_3R_128()) return true;
if (jj_3R_129()) return true;
- if (jj_3R_130()) return true;
return false;
}
- inline bool jj_3R_352()
+ inline bool jj_3R_351()
{
if (jj_done) return true;
if (jj_scan_token(CHARACTER_LITERAL)) return true;
return false;
}
- inline bool jj_3R_644()
+ inline bool jj_3R_613()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_519()
+ inline bool jj_3R_524()
{
if (jj_done) return true;
if (jj_scan_token(IS_T)) return true;
- if (jj_3R_571()) return true;
+ if (jj_3R_570()) return true;
if (jj_scan_token(BEGIN_T)) return true;
- if (jj_3R_572()) return true;
+ if (jj_3R_571()) return true;
if (jj_scan_token(END_T)) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_573()) jj_scanpos = xsp;
+ if (jj_3R_572()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_574()) jj_scanpos = xsp;
+ if (jj_3R_573()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_622()
+ inline bool jj_3R_625()
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
if (jj_scan_token(ARROW_T)) return true;
- if (jj_3R_259()) return true;
+ if (jj_3R_258()) return true;
return false;
}
- inline bool jj_3R_648()
+ inline bool jj_3R_617()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_623()
+ inline bool jj_3R_626()
{
if (jj_done) return true;
- if (jj_3R_622()) return true;
+ if (jj_3R_625()) return true;
return false;
}
- inline bool jj_3R_685()
+ inline bool jj_3R_659()
{
if (jj_done) return true;
- if (jj_3R_71()) return true;
+ if (jj_3R_70()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_356()
+ inline bool jj_3R_355()
{
if (jj_done) return true;
if (jj_scan_token(STRINGLITERAL)) return true;
return false;
}
- inline bool jj_3R_436()
+ inline bool jj_3R_434()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_160()
+ inline bool jj_3R_159()
{
if (jj_done) return true;
- if (jj_3R_314()) return true;
+ if (jj_3R_313()) return true;
return false;
}
- inline bool jj_3R_256()
+ inline bool jj_3R_255()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_68()
+ inline bool jj_3R_67()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_160()) jj_scanpos = xsp;
- if (jj_3R_130()) return true;
+ if (jj_3R_159()) jj_scanpos = xsp;
+ if (jj_3R_129()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_161()) { jj_scanpos = xsp; break; }
+ if (jj_3R_160()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_122()
+ inline bool jj_3R_121()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_256()) jj_scanpos = xsp;
+ if (jj_3R_255()) jj_scanpos = xsp;
if (jj_scan_token(CASE_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(IS_T)) return true;
- if (jj_3R_622()) return true;
+ if (jj_3R_625()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_623()) { jj_scanpos = xsp; break; }
+ if (jj_3R_626()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(CASE_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_624()) jj_scanpos = xsp;
+ if (jj_3R_627()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_660()
+ inline bool jj_3R_650()
{
if (jj_done) return true;
- if (jj_3R_498()) return true;
+ if (jj_3R_409()) return true;
return false;
}
- inline bool jj_3R_647()
+ inline bool jj_3R_616()
{
if (jj_done) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_660()) { jj_scanpos = xsp; break; }
+ if (jj_3R_650()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_358()
+ inline bool jj_3R_357()
{
if (jj_done) return true;
if (jj_scan_token(RETURN_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_635()
+ inline bool jj_3R_638()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_357()
+ inline bool jj_3R_356()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_436()) { jj_scanpos = xsp; break; }
+ if (jj_3R_434()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_234()
+ inline bool jj_3R_233()
{
if (jj_done) return true;
if (jj_scan_token(LBRACKET_T)) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_357()) jj_scanpos = xsp;
+ if (jj_3R_356()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_358()) jj_scanpos = xsp;
+ if (jj_3R_357()) jj_scanpos = xsp;
if (jj_scan_token(RBRACKET_T)) return true;
return false;
}
- inline bool jj_3R_686()
+ inline bool jj_3R_660()
{
if (jj_done) return true;
- if (jj_3R_329()) return true;
+ if (jj_3R_328()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_605()
+ inline bool jj_3R_604()
{
if (jj_done) return true;
if (jj_scan_token(ALL_T)) return true;
return false;
}
- inline bool jj_3R_604()
+ inline bool jj_3R_603()
{
if (jj_done) return true;
if (jj_scan_token(OTHER_T)) return true;
return false;
}
- inline bool jj_3R_603()
+ inline bool jj_3R_602()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_635()) { jj_scanpos = xsp; break; }
+ if (jj_3R_638()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_535()
+ inline bool jj_3R_540()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_603()) {
+ if (jj_3R_602()) {
jj_scanpos = xsp;
- if (jj_3R_604()) {
+ if (jj_3R_603()) {
jj_scanpos = xsp;
- if (jj_3R_605()) return true;
+ if (jj_3R_604()) return true;
}
}
return false;
}
- inline bool jj_3R_501()
+ inline bool jj_3R_506()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_565()) return true;
+ if (jj_3R_564()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_579()
+ inline bool jj_3R_578()
{
if (jj_done) return true;
if (jj_scan_token(BUS_T)) return true;
return false;
}
- inline bool jj_3R_614()
+ inline bool jj_3R_559()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
if (jj_scan_token(BLOCK_T)) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_644()) jj_scanpos = xsp;
+ if (jj_3R_613()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_scan_token(56)) jj_scanpos = xsp;
- if (jj_3R_645()) return true;
- if (jj_3R_646()) return true;
+ if (jj_3R_614()) return true;
+ if (jj_3R_615()) return true;
if (jj_scan_token(BEGIN_T)) return true;
- if (jj_3R_647()) return true;
+ if (jj_3R_616()) return true;
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(BLOCK_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_648()) jj_scanpos = xsp;
+ if (jj_3R_617()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_578()
+ inline bool jj_3R_577()
{
if (jj_done) return true;
if (jj_scan_token(REGISTER_T)) return true;
return false;
}
- inline bool jj_3R_527()
+ inline bool jj_3R_532()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_578()) {
+ if (jj_3R_577()) {
jj_scanpos = xsp;
- if (jj_3R_579()) return true;
+ if (jj_3R_578()) return true;
}
return false;
}
@@ -6178,247 +6156,240 @@ void parseInline();
inline bool jj_3_9()
{
if (jj_done) return true;
- if (jj_3R_67()) return true;
+ if (jj_3R_66()) return true;
return false;
}
- inline bool jj_3R_420()
+ inline bool jj_3R_418()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_501()) jj_scanpos = xsp;
+ if (jj_3R_506()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_658()
+ inline bool jj_3R_648()
{
if (jj_done) return true;
- if (jj_3R_532()) return true;
+ if (jj_3R_537()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_686()) jj_scanpos = xsp;
+ if (jj_3R_660()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_657()
+ inline bool jj_3R_647()
{
if (jj_done) return true;
- if (jj_3R_67()) return true;
+ if (jj_3R_66()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_685()) jj_scanpos = xsp;
+ if (jj_3R_659()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_645()
+ inline bool jj_3R_614()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_657()) jj_scanpos = xsp;
+ if (jj_3R_647()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_658()) jj_scanpos = xsp;
+ if (jj_3R_648()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_659()
+ inline bool jj_3R_649()
{
if (jj_done) return true;
- if (jj_3R_141()) return true;
+ if (jj_3R_140()) return true;
return false;
}
- inline bool jj_3R_374()
+ inline bool jj_3R_373()
{
if (jj_done) return true;
if (jj_scan_token(SIGNAL_T)) return true;
- if (jj_3R_197()) return true;
+ if (jj_3R_196()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_461()) jj_scanpos = xsp;
+ if (jj_3R_459()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_462()) jj_scanpos = xsp;
+ if (jj_3R_460()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_646()
+ inline bool jj_3R_615()
{
if (jj_done) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_659()) { jj_scanpos = xsp; break; }
+ if (jj_3R_649()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_300()
+ inline bool jj_3R_299()
{
if (jj_done) return true;
- if (jj_3R_383()) return true;
+ if (jj_3R_382()) return true;
return false;
}
inline bool jj_3_89()
{
if (jj_done) return true;
- if (jj_3R_128()) return true;
+ if (jj_3R_127()) return true;
return false;
}
inline bool jj_3_7()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_64()) return true;
return false;
}
inline bool jj_3_88()
{
if (jj_done) return true;
- if (jj_3R_127()) return true;
+ if (jj_3R_126()) return true;
return false;
}
inline bool jj_3_8()
{
if (jj_done) return true;
- if (jj_3R_66()) return true;
+ if (jj_3R_65()) return true;
return false;
}
- inline bool jj_3R_299()
+ inline bool jj_3R_298()
{
if (jj_done) return true;
- if (jj_3R_382()) return true;
+ if (jj_3R_381()) return true;
return false;
}
- inline bool jj_3R_520()
+ inline bool jj_3R_525()
{
if (jj_done) return true;
- if (jj_3R_405()) return true;
+ if (jj_3R_404()) return true;
return false;
}
- inline bool jj_3R_298()
+ inline bool jj_3R_297()
{
if (jj_done) return true;
- if (jj_3R_381()) return true;
+ if (jj_3R_380()) return true;
return false;
}
- inline bool jj_3R_297()
+ inline bool jj_3R_296()
{
if (jj_done) return true;
- if (jj_3R_380()) return true;
+ if (jj_3R_379()) return true;
return false;
}
inline bool jj_3_87()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_296()
+ inline bool jj_3R_295()
{
if (jj_done) return true;
- if (jj_3R_379()) return true;
+ if (jj_3R_378()) return true;
return false;
}
- inline bool jj_3R_439()
+ inline bool jj_3R_437()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_3_87()) jj_scanpos = xsp;
- if (jj_3R_115()) return true;
+ if (jj_3R_114()) return true;
if (jj_scan_token(LESSTHAN_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_520()) jj_scanpos = xsp;
- if (jj_3R_318()) return true;
+ if (jj_3R_525()) jj_scanpos = xsp;
+ if (jj_3R_317()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_438()
+ inline bool jj_3R_436()
{
if (jj_done) return true;
- if (jj_3R_128()) return true;
+ if (jj_3R_127()) return true;
return false;
}
- inline bool jj_3R_294()
+ inline bool jj_3R_293()
{
if (jj_done) return true;
- if (jj_3R_378()) return true;
+ if (jj_3R_377()) return true;
return false;
}
- inline bool jj_3R_295()
+ inline bool jj_3R_294()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_64()) return true;
return false;
}
- inline bool jj_3R_387()
+ inline bool jj_3R_386()
{
if (jj_done) return true;
- if (jj_3R_478()) return true;
- if (jj_3R_68()) return true;
+ if (jj_3R_476()) return true;
+ if (jj_3R_67()) return true;
return false;
}
- inline bool jj_3R_293()
+ inline bool jj_3R_292()
{
if (jj_done) return true;
- if (jj_3R_377()) return true;
+ if (jj_3R_376()) return true;
return false;
}
- inline bool jj_3R_292()
+ inline bool jj_3R_291()
{
if (jj_done) return true;
- if (jj_3R_376()) return true;
+ if (jj_3R_375()) return true;
return false;
}
- inline bool jj_3R_361()
+ inline bool jj_3R_360()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_437()) {
+ if (jj_3R_435()) {
jj_scanpos = xsp;
- if (jj_3R_438()) {
+ if (jj_3R_436()) {
jj_scanpos = xsp;
- if (jj_3R_439()) return true;
+ if (jj_3R_437()) return true;
}
}
return false;
}
- inline bool jj_3R_437()
- {
- if (jj_done) return true;
- if (jj_3R_127()) return true;
- return false;
- }
-
- inline bool jj_3R_291()
+ inline bool jj_3R_435()
{
if (jj_done) return true;
- if (jj_3R_375()) return true;
+ if (jj_3R_126()) return true;
return false;
}
@@ -6450,32 +6421,41 @@ void parseInline();
return false;
}
- inline bool jj_3R_422()
+ inline bool jj_3R_286()
{
if (jj_done) return true;
- if (jj_3R_502()) return true;
+ if (jj_3R_370()) return true;
return false;
}
- inline bool jj_3R_402()
+ inline bool jj_3R_420()
+ {
+ if (jj_done) return true;
+ if (jj_3R_507()) return true;
+ return false;
+ }
+
+ inline bool jj_3R_401()
{
if (jj_done) return true;
if (jj_scan_token(MINUS_T)) return true;
return false;
}
- inline bool jj_3R_421()
+ inline bool jj_3R_419()
{
if (jj_done) return true;
- if (jj_3R_382()) return true;
+ if (jj_3R_381()) return true;
return false;
}
- inline bool jj_3R_141()
+ inline bool jj_3R_140()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_285()) {
+ jj_scanpos = xsp;
if (jj_3R_286()) {
jj_scanpos = xsp;
if (jj_3R_287()) {
@@ -6502,14 +6482,9 @@ void parseInline();
jj_scanpos = xsp;
if (jj_3R_298()) {
jj_scanpos = xsp;
- if (jj_3R_299()) {
- jj_scanpos = xsp;
if (jj_3_8()) {
jj_scanpos = xsp;
- if (jj_3R_300()) {
- jj_scanpos = xsp;
- if (jj_scan_token(186)) return true;
- }
+ if (jj_3R_299()) return true;
}
}
}
@@ -6528,73 +6503,73 @@ void parseInline();
return false;
}
- inline bool jj_3R_286()
+ inline bool jj_3R_285()
{
if (jj_done) return true;
- if (jj_3R_93()) return true;
+ if (jj_3R_92()) return true;
return false;
}
- inline bool jj_3R_314()
+ inline bool jj_3R_313()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_401()) {
+ if (jj_3R_400()) {
jj_scanpos = xsp;
- if (jj_3R_402()) return true;
+ if (jj_3R_401()) return true;
}
return false;
}
- inline bool jj_3R_401()
+ inline bool jj_3R_400()
{
if (jj_done) return true;
if (jj_scan_token(PLUS_T)) return true;
return false;
}
- inline bool jj_3R_546()
+ inline bool jj_3R_551()
{
if (jj_done) return true;
if (jj_scan_token(ROR_T)) return true;
return false;
}
- inline bool jj_3R_545()
+ inline bool jj_3R_550()
{
if (jj_done) return true;
if (jj_scan_token(ROL_T)) return true;
return false;
}
- inline bool jj_3R_544()
+ inline bool jj_3R_549()
{
if (jj_done) return true;
if (jj_scan_token(SRA_T)) return true;
return false;
}
- inline bool jj_3R_543()
+ inline bool jj_3R_548()
{
if (jj_done) return true;
if (jj_scan_token(SLA_T)) return true;
return false;
}
- inline bool jj_3R_333()
+ inline bool jj_3R_332()
{
if (jj_done) return true;
if (jj_scan_token(FOR_T)) return true;
- if (jj_3R_420()) return true;
+ if (jj_3R_418()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_421()) { jj_scanpos = xsp; break; }
+ if (jj_3R_419()) { jj_scanpos = xsp; break; }
}
while (true) {
xsp = jj_scanpos;
- if (jj_3R_422()) { jj_scanpos = xsp; break; }
+ if (jj_3R_420()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(FOR_T)) return true;
@@ -6602,36 +6577,36 @@ void parseInline();
return false;
}
- inline bool jj_3R_542()
+ inline bool jj_3R_547()
{
if (jj_done) return true;
if (jj_scan_token(SRL_T)) return true;
return false;
}
- inline bool jj_3R_541()
+ inline bool jj_3R_546()
{
if (jj_done) return true;
if (jj_scan_token(SLL_T)) return true;
return false;
}
- inline bool jj_3R_478()
+ inline bool jj_3R_476()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_541()) {
+ if (jj_3R_546()) {
jj_scanpos = xsp;
- if (jj_3R_542()) {
+ if (jj_3R_547()) {
jj_scanpos = xsp;
- if (jj_3R_543()) {
+ if (jj_3R_548()) {
jj_scanpos = xsp;
- if (jj_3R_544()) {
+ if (jj_3R_549()) {
jj_scanpos = xsp;
- if (jj_3R_545()) {
+ if (jj_3R_550()) {
jj_scanpos = xsp;
- if (jj_3R_546()) return true;
+ if (jj_3R_551()) return true;
}
}
}
@@ -6640,35 +6615,35 @@ void parseInline();
return false;
}
- inline bool jj_3R_307()
+ inline bool jj_3R_306()
{
if (jj_done) return true;
- if (jj_3R_68()) return true;
+ if (jj_3R_67()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_387()) jj_scanpos = xsp;
+ if (jj_3R_386()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_245()
+ inline bool jj_3R_244()
{
if (jj_done) return true;
- if (jj_3R_363()) return true;
+ if (jj_3R_362()) return true;
return false;
}
- inline bool jj_3R_95()
+ inline bool jj_3R_94()
{
if (jj_done) return true;
if (jj_scan_token(BIT_STRING_LITERAL)) return true;
return false;
}
- inline bool jj_3R_240()
+ inline bool jj_3R_239()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
@@ -6676,63 +6651,63 @@ void parseInline();
inline bool jj_3_86()
{
if (jj_done) return true;
- if (jj_3R_126()) return true;
+ if (jj_3R_125()) return true;
return false;
}
- inline bool jj_3R_419()
+ inline bool jj_3R_417()
{
if (jj_done) return true;
- if (jj_3R_329()) return true;
+ if (jj_3R_328()) return true;
return false;
}
inline bool jj_3_85()
{
if (jj_done) return true;
- if (jj_3R_125()) return true;
+ if (jj_3R_124()) return true;
return false;
}
- inline bool jj_3R_418()
+ inline bool jj_3R_416()
{
if (jj_done) return true;
- if (jj_3R_71()) return true;
+ if (jj_3R_70()) return true;
return false;
}
- inline bool jj_3R_417()
+ inline bool jj_3R_415()
{
if (jj_done) return true;
if (jj_scan_token(USE_T)) return true;
- if (jj_3R_500()) return true;
+ if (jj_3R_505()) return true;
return false;
}
inline bool jj_3_84()
{
if (jj_done) return true;
- if (jj_3R_124()) return true;
+ if (jj_3R_123()) return true;
return false;
}
- inline bool jj_3R_332()
+ inline bool jj_3R_331()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_417()) jj_scanpos = xsp;
+ if (jj_3R_415()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_418()) jj_scanpos = xsp;
+ if (jj_3R_416()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_419()) jj_scanpos = xsp;
+ if (jj_3R_417()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_119()
+ inline bool jj_3R_118()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
@@ -6742,8 +6717,8 @@ void parseInline();
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_119()) jj_scanpos = xsp;
- if (jj_3R_115()) return true;
+ if (jj_3R_118()) jj_scanpos = xsp;
+ if (jj_3R_114()) return true;
if (jj_scan_token(VARASSIGN_T)) return true;
return false;
}
@@ -6751,43 +6726,43 @@ void parseInline();
inline bool jj_3_83()
{
if (jj_done) return true;
- if (jj_3R_123()) return true;
+ if (jj_3R_122()) return true;
return false;
}
inline bool jj_3_82()
{
if (jj_done) return true;
- if (jj_3R_122()) return true;
+ if (jj_3R_121()) return true;
return false;
}
inline bool jj_3_81()
{
if (jj_done) return true;
- if (jj_3R_121()) return true;
+ if (jj_3R_120()) return true;
return false;
}
inline bool jj_3_80()
{
if (jj_done) return true;
- if (jj_3R_120()) return true;
+ if (jj_3R_119()) return true;
return false;
}
- inline bool jj_3R_114()
+ inline bool jj_3R_113()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_244()
+ inline bool jj_3R_243()
{
if (jj_done) return true;
- if (jj_3R_362()) return true;
+ if (jj_3R_361()) return true;
return false;
}
@@ -6796,8 +6771,8 @@ void parseInline();
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_114()) jj_scanpos = xsp;
- if (jj_3R_115()) return true;
+ if (jj_3R_113()) jj_scanpos = xsp;
+ if (jj_3R_114()) return true;
if (jj_scan_token(LESSTHAN_T)) return true;
return false;
}
@@ -6805,40 +6780,40 @@ void parseInline();
inline bool jj_3_78()
{
if (jj_done) return true;
- if (jj_3R_118()) return true;
+ if (jj_3R_117()) return true;
return false;
}
inline bool jj_3_77()
{
if (jj_done) return true;
- if (jj_3R_117()) return true;
+ if (jj_3R_116()) return true;
return false;
}
inline bool jj_3_76()
{
if (jj_done) return true;
- if (jj_3R_116()) return true;
+ if (jj_3R_115()) return true;
return false;
}
- inline bool jj_3R_499()
+ inline bool jj_3R_504()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_318()) return true;
+ if (jj_3R_317()) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
return false;
}
- inline bool jj_3R_113()
+ inline bool jj_3R_112()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_243()) {
+ if (jj_3R_242()) {
jj_scanpos = xsp;
if (jj_3_76()) {
jj_scanpos = xsp;
@@ -6846,7 +6821,7 @@ void parseInline();
jj_scanpos = xsp;
if (jj_3_78()) {
jj_scanpos = xsp;
- if (jj_3R_244()) {
+ if (jj_3R_243()) {
jj_scanpos = xsp;
if (jj_3_80()) {
jj_scanpos = xsp;
@@ -6862,7 +6837,7 @@ void parseInline();
jj_scanpos = xsp;
if (jj_3_86()) {
jj_scanpos = xsp;
- if (jj_3R_245()) return true;
+ if (jj_3R_244()) return true;
}
}
}
@@ -6878,37 +6853,37 @@ void parseInline();
return false;
}
- inline bool jj_3R_243()
+ inline bool jj_3R_242()
{
if (jj_done) return true;
- if (jj_3R_361()) return true;
+ if (jj_3R_360()) return true;
return false;
}
- inline bool jj_3R_503()
+ inline bool jj_3R_508()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_339()
+ inline bool jj_3R_338()
{
if (jj_done) return true;
if (jj_scan_token(SEVERITY_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
inline bool jj_3_74()
{
if (jj_done) return true;
- if (jj_3R_113()) return true;
+ if (jj_3R_112()) return true;
return false;
}
- inline bool jj_3R_259()
+ inline bool jj_3R_258()
{
if (jj_done) return true;
Token * xsp;
@@ -6919,130 +6894,130 @@ void parseInline();
return false;
}
- inline bool jj_3R_267()
+ inline bool jj_3R_266()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_423()
+ inline bool jj_3R_421()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_503()) { jj_scanpos = xsp; break; }
+ if (jj_3R_508()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_379()
+ inline bool jj_3R_378()
{
if (jj_done) return true;
if (jj_scan_token(ATTRIBUTE_T)) return true;
- if (jj_3R_220()) return true;
+ if (jj_3R_219()) return true;
if (jj_scan_token(OF_T)) return true;
- if (jj_3R_471()) return true;
+ if (jj_3R_469()) return true;
if (jj_scan_token(IS_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_316()
+ inline bool jj_3R_315()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_315()) return true;
+ if (jj_3R_314()) return true;
return false;
}
- inline bool jj_3R_111()
+ inline bool jj_3R_110()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(APOSTROPHE_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_240()) jj_scanpos = xsp;
+ if (jj_3R_239()) jj_scanpos = xsp;
return false;
}
inline bool jj_3_73()
{
if (jj_done) return true;
- if (jj_3R_112()) return true;
+ if (jj_3R_111()) return true;
return false;
}
- inline bool jj_3R_364()
+ inline bool jj_3R_363()
{
if (jj_done) return true;
if (jj_scan_token(ON_T)) return true;
- if (jj_3R_423()) return true;
+ if (jj_3R_421()) return true;
return false;
}
- inline bool jj_3R_355()
+ inline bool jj_3R_354()
{
if (jj_done) return true;
if (jj_scan_token(RANGE_T)) return true;
return false;
}
- inline bool jj_3R_220()
+ inline bool jj_3R_219()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_354()) {
+ if (jj_3R_353()) {
jj_scanpos = xsp;
- if (jj_3R_355()) return true;
+ if (jj_3R_354()) return true;
}
return false;
}
- inline bool jj_3R_354()
+ inline bool jj_3R_353()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_412()
+ inline bool jj_3R_410()
{
if (jj_done) return true;
- if (jj_3R_318()) return true;
+ if (jj_3R_317()) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_499()) { jj_scanpos = xsp; break; }
+ if (jj_3R_504()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_691()
+ inline bool jj_3R_688()
{
if (jj_done) return true;
- if (jj_3R_112()) return true;
+ if (jj_3R_111()) return true;
return false;
}
- inline bool jj_3R_325()
+ inline bool jj_3R_324()
{
if (jj_done) return true;
if (jj_scan_token(WITH_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(SELECT_T)) return true;
- if (jj_3R_115()) return true;
+ if (jj_3R_114()) return true;
if (jj_scan_token(LESSTHAN_T)) return true;
- if (jj_3R_167()) return true;
- if (jj_3R_412()) return true;
+ if (jj_3R_166()) return true;
+ if (jj_3R_410()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -7050,83 +7025,83 @@ void parseInline();
inline bool jj_3_6()
{
if (jj_done) return true;
- if (jj_3R_64()) return true;
+ if (jj_3R_63()) return true;
if (jj_scan_token(ARROW_T)) return true;
return false;
}
- inline bool jj_3R_65()
+ inline bool jj_3R_64()
{
if (jj_done) return true;
if (jj_scan_token(ATTRIBUTE_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_158()) return true;
+ if (jj_3R_157()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_338()
+ inline bool jj_3R_337()
{
if (jj_done) return true;
if (jj_scan_token(REPORT_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_473()
+ inline bool jj_3R_471()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(DOT_T)) return true;
- if (jj_3R_100()) return true;
+ if (jj_3R_99()) return true;
return false;
}
- inline bool jj_3R_166()
+ inline bool jj_3R_165()
{
if (jj_done) return true;
- if (jj_3R_315()) return true;
+ if (jj_3R_314()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_316()) { jj_scanpos = xsp; break; }
+ if (jj_3R_315()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_360()
+ inline bool jj_3R_359()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(EQU_T)) return true;
- if (jj_3R_103()) return true;
+ if (jj_3R_102()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_403()
+ inline bool jj_3R_402()
{
if (jj_done) return true;
- if (jj_3R_64()) return true;
+ if (jj_3R_63()) return true;
if (jj_scan_token(ARROW_T)) return true;
return false;
}
- inline bool jj_3R_315()
+ inline bool jj_3R_314()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_403()) jj_scanpos = xsp;
- if (jj_3R_404()) return true;
+ if (jj_3R_402()) jj_scanpos = xsp;
+ if (jj_3R_403()) return true;
return false;
}
- inline bool jj_3R_248()
+ inline bool jj_3R_247()
{
if (jj_done) return true;
- if (jj_3R_140()) return true;
+ if (jj_3R_139()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
@@ -7134,20 +7109,20 @@ void parseInline();
inline bool jj_3R_676()
{
if (jj_done) return true;
- if (jj_3R_82()) return true;
+ if (jj_3R_81()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_691()) jj_scanpos = xsp;
+ if (jj_3R_688()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_116()
+ inline bool jj_3R_115()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_248()) jj_scanpos = xsp;
- if (jj_3R_188()) return true;
+ if (jj_3R_247()) jj_scanpos = xsp;
+ if (jj_3R_187()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -7155,11 +7130,11 @@ void parseInline();
inline bool jj_3R_675()
{
if (jj_done) return true;
- if (jj_3R_690()) return true;
+ if (jj_3R_687()) return true;
return false;
}
- inline bool jj_3R_651()
+ inline bool jj_3R_653()
{
if (jj_done) return true;
Token * xsp;
@@ -7171,36 +7146,36 @@ void parseInline();
return false;
}
- inline bool jj_3R_266()
+ inline bool jj_3R_265()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_188()
+ inline bool jj_3R_187()
{
if (jj_done) return true;
if (jj_scan_token(ASSERT_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_338()) jj_scanpos = xsp;
+ if (jj_3R_337()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_339()) jj_scanpos = xsp;
+ if (jj_3R_338()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_126()
+ inline bool jj_3R_125()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_266()) jj_scanpos = xsp;
+ if (jj_3R_265()) jj_scanpos = xsp;
if (jj_scan_token(RETURN_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_267()) jj_scanpos = xsp;
+ if (jj_3R_266()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
@@ -7208,132 +7183,132 @@ void parseInline();
inline bool jj_3_5()
{
if (jj_done) return true;
- if (jj_3R_63()) return true;
+ if (jj_3R_62()) return true;
return false;
}
- inline bool jj_3R_250()
+ inline bool jj_3R_249()
{
if (jj_done) return true;
if (jj_scan_token(SEVERITY_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_701()
+ inline bool jj_3R_698()
{
if (jj_done) return true;
- if (jj_3R_706()) return true;
+ if (jj_3R_703()) return true;
return false;
}
- inline bool jj_3R_308()
+ inline bool jj_3R_307()
{
if (jj_done) return true;
- if (jj_3R_388()) return true;
- if (jj_3R_307()) return true;
+ if (jj_3R_387()) return true;
+ if (jj_3R_306()) return true;
return false;
}
- inline bool jj_3R_700()
+ inline bool jj_3R_697()
{
if (jj_done) return true;
- if (jj_3R_63()) return true;
+ if (jj_3R_62()) return true;
return false;
}
- inline bool jj_3R_692()
+ inline bool jj_3R_689()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_700()) {
+ if (jj_3R_697()) {
jj_scanpos = xsp;
- if (jj_3R_701()) return true;
+ if (jj_3R_698()) return true;
}
return false;
}
- inline bool jj_3R_249()
+ inline bool jj_3R_248()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_117()
+ inline bool jj_3R_116()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_249()) jj_scanpos = xsp;
+ if (jj_3R_248()) jj_scanpos = xsp;
if (jj_scan_token(REPORT_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
xsp = jj_scanpos;
- if (jj_3R_250()) jj_scanpos = xsp;
+ if (jj_3R_249()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_703()
+ inline bool jj_3R_700()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_484()
+ inline bool jj_3R_482()
{
if (jj_done) return true;
if (jj_scan_token(NOTEQU_T)) return true;
return false;
}
- inline bool jj_3R_483()
+ inline bool jj_3R_481()
{
if (jj_done) return true;
if (jj_scan_token(LESSTHAN_T)) return true;
return false;
}
- inline bool jj_3R_482()
+ inline bool jj_3R_480()
{
if (jj_done) return true;
if (jj_scan_token(GREATERTHAN_T)) return true;
return false;
}
- inline bool jj_3R_481()
+ inline bool jj_3R_479()
{
if (jj_done) return true;
if (jj_scan_token(EQU_T)) return true;
return false;
}
- inline bool jj_3R_480()
+ inline bool jj_3R_478()
{
if (jj_done) return true;
if (jj_scan_token(GT_T)) return true;
return false;
}
- inline bool jj_3R_388()
+ inline bool jj_3R_387()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_477()) {
+ jj_scanpos = xsp;
+ if (jj_3R_478()) {
+ jj_scanpos = xsp;
if (jj_3R_479()) {
jj_scanpos = xsp;
if (jj_3R_480()) {
jj_scanpos = xsp;
if (jj_3R_481()) {
jj_scanpos = xsp;
- if (jj_3R_482()) {
- jj_scanpos = xsp;
- if (jj_3R_483()) {
- jj_scanpos = xsp;
- if (jj_3R_484()) return true;
+ if (jj_3R_482()) return true;
}
}
}
@@ -7342,137 +7317,137 @@ void parseInline();
return false;
}
- inline bool jj_3R_479()
+ inline bool jj_3R_477()
{
if (jj_done) return true;
if (jj_scan_token(LT_T)) return true;
return false;
}
- inline bool jj_3R_467()
+ inline bool jj_3R_465()
{
if (jj_done) return true;
- if (jj_3R_234()) return true;
+ if (jj_3R_233()) return true;
return false;
}
- inline bool jj_3R_146()
+ inline bool jj_3R_145()
{
if (jj_done) return true;
- if (jj_3R_307()) return true;
+ if (jj_3R_306()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_308()) jj_scanpos = xsp;
+ if (jj_3R_307()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_702()
+ inline bool jj_3R_699()
{
if (jj_done) return true;
- if (jj_3R_707()) return true;
+ if (jj_3R_704()) return true;
return false;
}
- inline bool jj_3R_693()
+ inline bool jj_3R_690()
{
if (jj_done) return true;
if (jj_scan_token(RECORD_T)) return true;
Token * xsp;
- if (jj_3R_702()) return true;
+ if (jj_3R_699()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_702()) { jj_scanpos = xsp; break; }
+ if (jj_3R_699()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(RECORD_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_703()) jj_scanpos = xsp;
+ if (jj_3R_700()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_237()
+ inline bool jj_3R_236()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_236()) return true;
+ if (jj_3R_235()) return true;
return false;
}
inline bool jj_3_71()
{
if (jj_done) return true;
- if (jj_3R_68()) return true;
- if (jj_3R_110()) return true;
- if (jj_3R_68()) return true;
+ if (jj_3R_67()) return true;
+ if (jj_3R_109()) return true;
+ if (jj_3R_67()) return true;
return false;
}
inline bool jj_3_72()
{
if (jj_done) return true;
- if (jj_3R_111()) return true;
+ if (jj_3R_110()) return true;
return false;
}
- inline bool jj_3R_82()
+ inline bool jj_3R_81()
{
if (jj_done) return true;
if (jj_scan_token(RANGE_T)) return true;
- if (jj_3R_84()) return true;
+ if (jj_3R_83()) return true;
return false;
}
- inline bool jj_3R_576()
+ inline bool jj_3R_575()
{
if (jj_done) return true;
if (jj_scan_token(NEW_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
return false;
}
inline bool jj_3_70()
{
if (jj_done) return true;
- if (jj_3R_109()) return true;
+ if (jj_3R_108()) return true;
return false;
}
- inline bool jj_3R_183()
+ inline bool jj_3R_182()
{
if (jj_done) return true;
- if (jj_3R_111()) return true;
+ if (jj_3R_110()) return true;
return false;
}
- inline bool jj_3R_182()
+ inline bool jj_3R_181()
{
if (jj_done) return true;
- if (jj_3R_68()) return true;
- if (jj_3R_110()) return true;
- if (jj_3R_68()) return true;
+ if (jj_3R_67()) return true;
+ if (jj_3R_109()) return true;
+ if (jj_3R_67()) return true;
return false;
}
- inline bool jj_3R_84()
+ inline bool jj_3R_83()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_182()) {
+ if (jj_3R_181()) {
jj_scanpos = xsp;
- if (jj_3R_183()) return true;
+ if (jj_3R_182()) return true;
}
return false;
}
- inline bool jj_3R_525()
+ inline bool jj_3R_530()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_3_4()) {
jj_scanpos = xsp;
- if (jj_3R_576()) return true;
+ if (jj_3R_575()) return true;
}
return false;
}
@@ -7481,176 +7456,176 @@ void parseInline();
{
if (jj_done) return true;
if (jj_scan_token(NEW_T)) return true;
- if (jj_3R_62()) return true;
+ if (jj_3R_61()) return true;
return false;
}
- inline bool jj_3R_531()
+ inline bool jj_3R_536()
{
if (jj_done) return true;
- if (jj_3R_310()) return true;
+ if (jj_3R_309()) return true;
return false;
}
- inline bool jj_3R_228()
+ inline bool jj_3R_227()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_530()
+ inline bool jj_3R_535()
{
if (jj_done) return true;
if (jj_scan_token(CHARACTER_LITERAL)) return true;
return false;
}
- inline bool jj_3R_529()
+ inline bool jj_3R_534()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_465()
+ inline bool jj_3R_463()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_529()) {
+ if (jj_3R_534()) {
jj_scanpos = xsp;
- if (jj_3R_530()) {
+ if (jj_3R_535()) {
jj_scanpos = xsp;
- if (jj_3R_531()) return true;
+ if (jj_3R_536()) return true;
}
}
return false;
}
- inline bool jj_3R_227()
+ inline bool jj_3R_226()
{
if (jj_done) return true;
- if (jj_3R_109()) return true;
+ if (jj_3R_108()) return true;
return false;
}
- inline bool jj_3R_62()
+ inline bool jj_3R_61()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(APOSTROPHE_T)) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_227()) {
+ if (jj_3R_226()) {
jj_scanpos = xsp;
- if (jj_3R_228()) return true;
+ if (jj_3R_227()) return true;
}
return false;
}
- inline bool jj_3R_342()
+ inline bool jj_3R_341()
{
if (jj_done) return true;
- if (jj_3R_113()) return true;
+ if (jj_3R_112()) return true;
return false;
}
- inline bool jj_3R_192()
+ inline bool jj_3R_191()
{
if (jj_done) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_342()) { jj_scanpos = xsp; break; }
+ if (jj_3R_341()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_466()
+ inline bool jj_3R_464()
{
if (jj_done) return true;
if (jj_scan_token(COLON_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
return false;
}
- inline bool jj_3R_193()
+ inline bool jj_3R_192()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_377()
+ inline bool jj_3R_376()
{
if (jj_done) return true;
if (jj_scan_token(ALIAS_T)) return true;
- if (jj_3R_465()) return true;
+ if (jj_3R_463()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_466()) jj_scanpos = xsp;
+ if (jj_3R_464()) jj_scanpos = xsp;
if (jj_scan_token(IS_T)) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
xsp = jj_scanpos;
- if (jj_3R_467()) jj_scanpos = xsp;
+ if (jj_3R_465()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_340()
+ inline bool jj_3R_339()
{
if (jj_done) return true;
- if (jj_3R_423()) return true;
+ if (jj_3R_421()) return true;
return false;
}
- inline bool jj_3R_109()
+ inline bool jj_3R_108()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_236()) return true;
+ if (jj_3R_235()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_237()) { jj_scanpos = xsp; break; }
+ if (jj_3R_236()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_273()
+ inline bool jj_3R_272()
{
if (jj_done) return true;
if (jj_scan_token(MINUS_T)) return true;
return false;
}
- inline bool jj_3R_274()
+ inline bool jj_3R_273()
{
if (jj_done) return true;
if (jj_scan_token(AMPERSAND_T)) return true;
return false;
}
- inline bool jj_3R_129()
+ inline bool jj_3R_128()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_272()) {
+ if (jj_3R_271()) {
jj_scanpos = xsp;
- if (jj_3R_273()) {
+ if (jj_3R_272()) {
jj_scanpos = xsp;
- if (jj_3R_274()) return true;
+ if (jj_3R_273()) return true;
}
}
return false;
}
- inline bool jj_3R_272()
+ inline bool jj_3R_271()
{
if (jj_done) return true;
if (jj_scan_token(PLUS_T)) return true;
@@ -7660,64 +7635,64 @@ void parseInline();
inline bool jj_3_3()
{
if (jj_done) return true;
- if (jj_3R_61()) return true;
+ if (jj_3R_60()) return true;
return false;
}
- inline bool jj_3R_493()
+ inline bool jj_3R_491()
{
if (jj_done) return true;
if (jj_scan_token(BOX_T)) return true;
return false;
}
- inline bool jj_3R_494()
+ inline bool jj_3R_492()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_61()) return true;
+ if (jj_3R_60()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_404()
+ inline bool jj_3R_403()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_492()) {
+ if (jj_3R_490()) {
jj_scanpos = xsp;
- if (jj_3R_493()) {
+ if (jj_3R_491()) {
jj_scanpos = xsp;
- if (jj_3R_494()) return true;
+ if (jj_3R_492()) return true;
}
}
return false;
}
- inline bool jj_3R_492()
+ inline bool jj_3R_490()
{
if (jj_done) return true;
- if (jj_3R_61()) return true;
+ if (jj_3R_60()) return true;
return false;
}
inline bool jj_3_2()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_226()
+ inline bool jj_3R_225()
{
if (jj_done) return true;
- if (jj_3R_166()) return true;
+ if (jj_3R_165()) return true;
return false;
}
- inline bool jj_3R_190()
+ inline bool jj_3R_189()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
@@ -7725,7 +7700,7 @@ void parseInline();
xsp = jj_scanpos;
if (jj_scan_token(15)) {
jj_scanpos = xsp;
- if (jj_3R_340()) return true;
+ if (jj_3R_339()) return true;
}
if (jj_scan_token(RPAREN_T)) return true;
return false;
@@ -7734,114 +7709,114 @@ void parseInline();
inline bool jj_3_1()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_154()
+ inline bool jj_3R_153()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_189()
+ inline bool jj_3R_188()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_89()
+ inline bool jj_3R_88()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_189()) jj_scanpos = xsp;
+ if (jj_3R_188()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_scan_token(79)) jj_scanpos = xsp;
if (jj_scan_token(PROCESS_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_190()) jj_scanpos = xsp;
+ if (jj_3R_189()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_scan_token(56)) jj_scanpos = xsp;
- if (jj_3R_191()) return true;
+ if (jj_3R_190()) return true;
if (jj_scan_token(BEGIN_T)) return true;
- if (jj_3R_192()) return true;
+ if (jj_3R_191()) return true;
if (jj_scan_token(END_T)) return true;
xsp = jj_scanpos;
if (jj_scan_token(79)) jj_scanpos = xsp;
if (jj_scan_token(PROCESS_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_193()) jj_scanpos = xsp;
+ if (jj_3R_192()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_153()
+ inline bool jj_3R_152()
{
if (jj_done) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_341()
+ inline bool jj_3R_340()
{
if (jj_done) return true;
- if (jj_3R_424()) return true;
+ if (jj_3R_422()) return true;
return false;
}
- inline bool jj_3R_152()
+ inline bool jj_3R_151()
{
if (jj_done) return true;
if (jj_scan_token(OPEN_T)) return true;
return false;
}
- inline bool jj_3R_61()
+ inline bool jj_3R_60()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_152()) {
+ if (jj_3R_151()) {
jj_scanpos = xsp;
- if (jj_3R_153()) {
+ if (jj_3R_152()) {
jj_scanpos = xsp;
- if (jj_3R_154()) return true;
+ if (jj_3R_153()) return true;
}
}
return false;
}
- inline bool jj_3R_191()
+ inline bool jj_3R_190()
{
if (jj_done) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_341()) { jj_scanpos = xsp; break; }
+ if (jj_3R_340()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_653()
+ inline bool jj_3R_655()
{
if (jj_done) return true;
if (jj_scan_token(ACCESS_T)) return true;
- if (jj_3R_85()) return true;
+ if (jj_3R_84()) return true;
return false;
}
- inline bool jj_3R_513()
+ inline bool jj_3R_518()
{
if (jj_done) return true;
- if (jj_3R_383()) return true;
+ if (jj_3R_382()) return true;
return false;
}
- inline bool jj_3R_225()
+ inline bool jj_3R_224()
{
if (jj_done) return true;
if (jj_scan_token(BASED_LITERAL)) return true;
@@ -7851,48 +7826,48 @@ void parseInline();
inline bool jj_3_69()
{
if (jj_done) return true;
- if (jj_3R_66()) return true;
+ if (jj_3R_65()) return true;
return false;
}
- inline bool jj_3R_512()
+ inline bool jj_3R_517()
{
if (jj_done) return true;
- if (jj_3R_382()) return true;
+ if (jj_3R_381()) return true;
return false;
}
- inline bool jj_3R_224()
+ inline bool jj_3R_223()
{
if (jj_done) return true;
if (jj_scan_token(INTEGER)) return true;
return false;
}
- inline bool jj_3R_511()
+ inline bool jj_3R_516()
{
if (jj_done) return true;
- if (jj_3R_379()) return true;
+ if (jj_3R_378()) return true;
return false;
}
- inline bool jj_3R_223()
+ inline bool jj_3R_222()
{
if (jj_done) return true;
if (jj_scan_token(DECIMAL_LITERAL)) return true;
return false;
}
- inline bool jj_3R_104()
+ inline bool jj_3R_103()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_223()) {
+ if (jj_3R_222()) {
jj_scanpos = xsp;
- if (jj_3R_224()) {
+ if (jj_3R_223()) {
jj_scanpos = xsp;
- if (jj_3R_225()) return true;
+ if (jj_3R_224()) return true;
}
}
return false;
@@ -7901,80 +7876,80 @@ void parseInline();
inline bool jj_3_68()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_64()) return true;
return false;
}
- inline bool jj_3R_510()
+ inline bool jj_3R_515()
{
if (jj_done) return true;
- if (jj_3R_377()) return true;
+ if (jj_3R_376()) return true;
return false;
}
- inline bool jj_3R_509()
+ inline bool jj_3R_514()
{
if (jj_done) return true;
- if (jj_3R_376()) return true;
+ if (jj_3R_375()) return true;
return false;
}
- inline bool jj_3R_508()
+ inline bool jj_3R_513()
{
if (jj_done) return true;
- if (jj_3R_375()) return true;
+ if (jj_3R_374()) return true;
return false;
}
- inline bool jj_3R_507()
+ inline bool jj_3R_512()
{
if (jj_done) return true;
- if (jj_3R_373()) return true;
+ if (jj_3R_372()) return true;
return false;
}
- inline bool jj_3R_506()
+ inline bool jj_3R_511()
{
if (jj_done) return true;
- if (jj_3R_372()) return true;
+ if (jj_3R_371()) return true;
return false;
}
- inline bool jj_3R_505()
+ inline bool jj_3R_510()
{
if (jj_done) return true;
- if (jj_3R_371()) return true;
+ if (jj_3R_370()) return true;
return false;
}
- inline bool jj_3R_424()
+ inline bool jj_3R_422()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_504()) {
+ if (jj_3R_509()) {
jj_scanpos = xsp;
- if (jj_3R_505()) {
+ if (jj_3R_510()) {
jj_scanpos = xsp;
- if (jj_3R_506()) {
+ if (jj_3R_511()) {
jj_scanpos = xsp;
- if (jj_3R_507()) {
+ if (jj_3R_512()) {
jj_scanpos = xsp;
- if (jj_3R_508()) {
+ if (jj_3R_513()) {
jj_scanpos = xsp;
- if (jj_3R_509()) {
+ if (jj_3R_514()) {
jj_scanpos = xsp;
- if (jj_3R_510()) {
+ if (jj_3R_515()) {
jj_scanpos = xsp;
if (jj_3_68()) {
jj_scanpos = xsp;
- if (jj_3R_511()) {
+ if (jj_3R_516()) {
jj_scanpos = xsp;
- if (jj_3R_512()) {
+ if (jj_3R_517()) {
jj_scanpos = xsp;
if (jj_3_69()) {
jj_scanpos = xsp;
- if (jj_3R_513()) return true;
+ if (jj_3R_518()) return true;
}
}
}
@@ -7989,18 +7964,18 @@ void parseInline();
return false;
}
- inline bool jj_3R_504()
+ inline bool jj_3R_509()
{
if (jj_done) return true;
- if (jj_3R_93()) return true;
+ if (jj_3R_92()) return true;
return false;
}
- inline bool jj_3R_330()
+ inline bool jj_3R_329()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_226()) return true;
+ if (jj_3R_225()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
@@ -8008,88 +7983,88 @@ void parseInline();
inline bool jj_3_67()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_120()
+ inline bool jj_3R_119()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_3_67()) jj_scanpos = xsp;
- if (jj_3R_177()) return true;
+ if (jj_3R_176()) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_177()
+ inline bool jj_3R_176()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_330()) jj_scanpos = xsp;
+ if (jj_3R_329()) jj_scanpos = xsp;
return false;
}
inline bool jj_3_65()
{
if (jj_done) return true;
- if (jj_3R_87()) return true;
+ if (jj_3R_86()) return true;
return false;
}
- inline bool jj_3R_205()
+ inline bool jj_3R_204()
{
if (jj_done) return true;
- if (jj_3R_351()) return true;
+ if (jj_3R_350()) return true;
return false;
}
inline bool jj_3_66()
{
if (jj_done) return true;
- if (jj_3R_108()) return true;
+ if (jj_3R_107()) return true;
return false;
}
- inline bool jj_3R_204()
+ inline bool jj_3R_203()
{
if (jj_done) return true;
- if (jj_3R_87()) return true;
+ if (jj_3R_86()) return true;
return false;
}
- inline bool jj_3R_203()
+ inline bool jj_3R_202()
{
if (jj_done) return true;
- if (jj_3R_350()) return true;
+ if (jj_3R_349()) return true;
return false;
}
- inline bool jj_3R_202()
+ inline bool jj_3R_201()
{
if (jj_done) return true;
- if (jj_3R_349()) return true;
+ if (jj_3R_348()) return true;
return false;
}
- inline bool jj_3R_94()
+ inline bool jj_3R_93()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_201()) {
+ jj_scanpos = xsp;
if (jj_3R_202()) {
jj_scanpos = xsp;
if (jj_3R_203()) {
jj_scanpos = xsp;
- if (jj_3R_204()) {
- jj_scanpos = xsp;
if (jj_3_66()) {
jj_scanpos = xsp;
- if (jj_3R_205()) return true;
+ if (jj_3R_204()) return true;
}
}
}
@@ -8100,49 +8075,49 @@ void parseInline();
inline bool jj_3_64()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
inline bool jj_3_63()
{
if (jj_done) return true;
- if (jj_3R_107()) return true;
+ if (jj_3R_106()) return true;
return false;
}
- inline bool jj_3R_458()
+ inline bool jj_3R_456()
{
if (jj_done) return true;
- if (jj_3R_109()) return true;
+ if (jj_3R_108()) return true;
return false;
}
inline bool jj_3_62()
{
if (jj_done) return true;
- if (jj_3R_106()) return true;
+ if (jj_3R_105()) return true;
return false;
}
- inline bool jj_3R_457()
+ inline bool jj_3R_455()
{
if (jj_done) return true;
- if (jj_3R_525()) return true;
+ if (jj_3R_530()) return true;
return false;
}
inline bool jj_3_61()
{
if (jj_done) return true;
- if (jj_3R_62()) return true;
+ if (jj_3R_61()) return true;
return false;
}
- inline bool jj_3R_456()
+ inline bool jj_3R_454()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
@@ -8150,60 +8125,64 @@ void parseInline();
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_455()
+ inline bool jj_3R_453()
{
if (jj_done) return true;
- if (jj_3R_107()) return true;
+ if (jj_3R_106()) return true;
return false;
}
inline bool jj_3_59()
{
if (jj_done) return true;
- if (jj_3R_105()) return true;
+ if (jj_3R_104()) return true;
return false;
}
- inline bool jj_3R_454()
+ inline bool jj_3R_452()
{
if (jj_done) return true;
- if (jj_3R_106()) return true;
+ if (jj_3R_105()) return true;
return false;
}
- inline bool jj_3R_242()
+ inline bool jj_3R_241()
{
if (jj_done) return true;
- if (jj_3R_60()) return true;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_453()
+ inline bool jj_3R_451()
{
if (jj_done) return true;
- if (jj_3R_62()) return true;
+ if (jj_3R_61()) return true;
return false;
}
- inline bool jj_3R_452()
+ inline bool jj_3R_450()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_370()
+ inline bool jj_3R_369()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_449()) {
+ jj_scanpos = xsp;
+ if (jj_3R_450()) {
+ jj_scanpos = xsp;
if (jj_3R_451()) {
jj_scanpos = xsp;
if (jj_3R_452()) {
@@ -8214,11 +8193,7 @@ void parseInline();
jj_scanpos = xsp;
if (jj_3R_455()) {
jj_scanpos = xsp;
- if (jj_3R_456()) {
- jj_scanpos = xsp;
- if (jj_3R_457()) {
- jj_scanpos = xsp;
- if (jj_3R_458()) return true;
+ if (jj_3R_456()) return true;
}
}
}
@@ -8229,183 +8204,183 @@ void parseInline();
return false;
}
- inline bool jj_3R_451()
+ inline bool jj_3R_449()
{
if (jj_done) return true;
- if (jj_3R_105()) return true;
+ if (jj_3R_104()) return true;
return false;
}
- inline bool jj_3R_329()
+ inline bool jj_3R_328()
{
if (jj_done) return true;
if (jj_scan_token(PORT_T)) return true;
if (jj_scan_token(MAP_T)) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_166()) return true;
+ if (jj_3R_165()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_582()
+ inline bool jj_3R_581()
{
if (jj_done) return true;
- if (jj_3R_313()) return true;
+ if (jj_3R_312()) return true;
return false;
}
- inline bool jj_3R_532()
+ inline bool jj_3R_537()
{
if (jj_done) return true;
if (jj_scan_token(PORT_T)) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_582()) return true;
+ if (jj_3R_581()) return true;
if (jj_scan_token(RPAREN_T)) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_241()
+ inline bool jj_3R_240()
{
if (jj_done) return true;
- if (jj_3R_360()) return true;
+ if (jj_3R_359()) return true;
return false;
}
- inline bool jj_3R_112()
+ inline bool jj_3R_111()
{
if (jj_done) return true;
if (jj_scan_token(UNITS_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(SEMI_T)) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_241()) { jj_scanpos = xsp; break; }
+ if (jj_3R_240()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(END_T)) return true;
if (jj_scan_token(UNITS_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_242()) jj_scanpos = xsp;
+ if (jj_3R_241()) jj_scanpos = xsp;
return false;
}
inline bool jj_3_58()
{
if (jj_done) return true;
- if (jj_3R_104()) return true;
+ if (jj_3R_103()) return true;
return false;
}
- inline bool jj_3R_222()
+ inline bool jj_3R_221()
{
if (jj_done) return true;
- if (jj_3R_104()) return true;
+ if (jj_3R_103()) return true;
return false;
}
- inline bool jj_3R_103()
+ inline bool jj_3R_102()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_222()) jj_scanpos = xsp;
- if (jj_3R_60()) return true;
+ if (jj_3R_221()) jj_scanpos = xsp;
+ if (jj_3R_59()) return true;
return false;
}
- inline bool jj_3R_408()
+ inline bool jj_3R_407()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
- if (jj_scan_token(IN_T)) return true;
if (jj_3R_69()) return true;
+ if (jj_scan_token(IN_T)) return true;
+ if (jj_3R_68()) return true;
return false;
}
inline bool jj_3_57()
{
if (jj_done) return true;
- if (jj_3R_87()) return true;
+ if (jj_3R_86()) return true;
return false;
}
inline bool jj_3_55()
{
if (jj_done) return true;
- if (jj_3R_65()) return true;
+ if (jj_3R_64()) return true;
return false;
}
inline bool jj_3_56()
{
if (jj_done) return true;
- if (jj_3R_66()) return true;
+ if (jj_3R_65()) return true;
return false;
}
- inline bool jj_3R_351()
+ inline bool jj_3R_350()
{
if (jj_done) return true;
if (jj_scan_token(PACKAGE_T)) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
inline bool jj_3_54()
{
if (jj_done) return true;
- if (jj_3R_66()) return true;
+ if (jj_3R_65()) return true;
return false;
}
- inline bool jj_3R_317()
+ inline bool jj_3R_316()
{
if (jj_done) return true;
- if (jj_3R_405()) return true;
+ if (jj_3R_404()) return true;
return false;
}
- inline bool jj_3R_261()
+ inline bool jj_3R_260()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_167()
+ inline bool jj_3R_166()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
if (jj_scan_token(50)) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_317()) jj_scanpos = xsp;
+ if (jj_3R_316()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_310()
+ inline bool jj_3R_309()
{
if (jj_done) return true;
if (jj_scan_token(STRINGLITERAL)) return true;
return false;
}
- inline bool jj_3R_643()
+ inline bool jj_3R_646()
{
if (jj_done) return true;
if (jj_scan_token(TYPE_T)) return true;
return false;
}
- inline bool jj_3R_642()
+ inline bool jj_3R_645()
{
if (jj_done) return true;
if (jj_scan_token(FILE_T)) return true;
return false;
}
- inline bool jj_3R_641()
+ inline bool jj_3R_644()
{
if (jj_done) return true;
if (jj_scan_token(SHARED_T)) return true;
@@ -8416,47 +8391,47 @@ void parseInline();
inline bool jj_3_53()
{
if (jj_done) return true;
- if (jj_3R_103()) return true;
+ if (jj_3R_102()) return true;
return false;
}
- inline bool jj_3R_640()
+ inline bool jj_3R_643()
{
if (jj_done) return true;
if (jj_scan_token(VARIABLE_T)) return true;
return false;
}
- inline bool jj_3R_639()
+ inline bool jj_3R_642()
{
if (jj_done) return true;
if (jj_scan_token(SIGNAL_T)) return true;
return false;
}
- inline bool jj_3R_638()
+ inline bool jj_3R_641()
{
if (jj_done) return true;
if (jj_scan_token(CONSTANT_T)) return true;
return false;
}
- inline bool jj_3R_613()
+ inline bool jj_3R_612()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_638()) {
+ if (jj_3R_641()) {
jj_scanpos = xsp;
- if (jj_3R_639()) {
+ if (jj_3R_642()) {
jj_scanpos = xsp;
- if (jj_3R_640()) {
+ if (jj_3R_643()) {
jj_scanpos = xsp;
- if (jj_3R_641()) {
+ if (jj_3R_644()) {
jj_scanpos = xsp;
- if (jj_3R_642()) {
+ if (jj_3R_645()) {
jj_scanpos = xsp;
- if (jj_3R_643()) return true;
+ if (jj_3R_646()) return true;
}
}
}
@@ -8465,72 +8440,72 @@ void parseInline();
return false;
}
- inline bool jj_3R_353()
+ inline bool jj_3R_352()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_207()
+ inline bool jj_3R_206()
{
if (jj_done) return true;
- if (jj_3R_104()) return true;
+ if (jj_3R_103()) return true;
return false;
}
- inline bool jj_3R_206()
+ inline bool jj_3R_205()
{
if (jj_done) return true;
- if (jj_3R_103()) return true;
+ if (jj_3R_102()) return true;
return false;
}
- inline bool jj_3R_96()
+ inline bool jj_3R_95()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_206()) {
+ if (jj_3R_205()) {
jj_scanpos = xsp;
- if (jj_3R_207()) return true;
+ if (jj_3R_206()) return true;
}
return false;
}
- inline bool jj_3R_442()
+ inline bool jj_3R_440()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_363()
+ inline bool jj_3R_362()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_442()) jj_scanpos = xsp;
+ if (jj_3R_440()) jj_scanpos = xsp;
if (jj_scan_token(NULL_T)) return true;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_102()
+ inline bool jj_3R_101()
{
if (jj_done) return true;
if (jj_scan_token(COMMA_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
return false;
}
- inline bool jj_3R_262()
+ inline bool jj_3R_261()
{
if (jj_done) return true;
if (jj_scan_token(WHEN_T)) return true;
- if (jj_3R_80()) return true;
+ if (jj_3R_79()) return true;
return false;
}
@@ -8541,42 +8516,42 @@ void parseInline();
return false;
}
- inline bool jj_3R_260()
+ inline bool jj_3R_259()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
if (jj_scan_token(COLON_T)) return true;
return false;
}
- inline bool jj_3R_124()
+ inline bool jj_3R_123()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_260()) jj_scanpos = xsp;
+ if (jj_3R_259()) jj_scanpos = xsp;
if (jj_scan_token(NEXT_T)) return true;
xsp = jj_scanpos;
- if (jj_3R_261()) jj_scanpos = xsp;
+ if (jj_3R_260()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_262()) jj_scanpos = xsp;
+ if (jj_3R_261()) jj_scanpos = xsp;
if (jj_scan_token(SEMI_T)) return true;
return false;
}
- inline bool jj_3R_221()
+ inline bool jj_3R_220()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_219()
+ inline bool jj_3R_218()
{
if (jj_done) return true;
- if (jj_3R_234()) return true;
+ if (jj_3R_233()) return true;
return false;
}
@@ -8584,33 +8559,33 @@ void parseInline();
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_102()) { jj_scanpos = xsp; break; }
+ if (jj_3R_101()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_101()
+ inline bool jj_3R_100()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_219()) jj_scanpos = xsp;
+ if (jj_3R_218()) jj_scanpos = xsp;
if (jj_scan_token(APOSTROPHE_T)) return true;
- if (jj_3R_220()) return true;
+ if (jj_3R_219()) return true;
xsp = jj_scanpos;
- if (jj_3R_221()) jj_scanpos = xsp;
+ if (jj_3R_220()) jj_scanpos = xsp;
return false;
}
inline bool jj_3_47()
{
if (jj_done) return true;
- if (jj_3R_99()) return true;
+ if (jj_3R_98()) return true;
return false;
}
@@ -8618,7 +8593,7 @@ void parseInline();
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_68()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
@@ -8626,19 +8601,19 @@ void parseInline();
inline bool jj_3_49()
{
if (jj_done) return true;
- if (jj_3R_101()) return true;
+ if (jj_3R_100()) return true;
return false;
}
- inline bool jj_3R_214()
+ inline bool jj_3R_213()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_59()) return true;
+ if (jj_3R_58()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_353()) { jj_scanpos = xsp; break; }
+ if (jj_3R_352()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RPAREN_T)) return true;
return false;
@@ -8648,60 +8623,60 @@ void parseInline();
{
if (jj_done) return true;
if (jj_scan_token(DOT_T)) return true;
- if (jj_3R_100()) return true;
+ if (jj_3R_99()) return true;
return false;
}
- inline bool jj_3R_210()
+ inline bool jj_3R_209()
{
if (jj_done) return true;
- if (jj_3R_99()) return true;
+ if (jj_3R_98()) return true;
return false;
}
- inline bool jj_3R_213()
+ inline bool jj_3R_212()
{
if (jj_done) return true;
if (jj_scan_token(LPAREN_T)) return true;
- if (jj_3R_69()) return true;
+ if (jj_3R_68()) return true;
if (jj_scan_token(RPAREN_T)) return true;
return false;
}
- inline bool jj_3R_150()
+ inline bool jj_3R_149()
{
if (jj_done) return true;
- if (jj_3R_311()) return true;
+ if (jj_3R_310()) return true;
return false;
}
- inline bool jj_3R_212()
+ inline bool jj_3R_211()
{
if (jj_done) return true;
- if (jj_3R_101()) return true;
+ if (jj_3R_100()) return true;
return false;
}
- inline bool jj_3R_211()
+ inline bool jj_3R_210()
{
if (jj_done) return true;
if (jj_scan_token(DOT_T)) return true;
- if (jj_3R_100()) return true;
+ if (jj_3R_99()) return true;
return false;
}
- inline bool jj_3R_99()
+ inline bool jj_3R_98()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_210()) {
+ jj_scanpos = xsp;
if (jj_3R_211()) {
jj_scanpos = xsp;
if (jj_3R_212()) {
jj_scanpos = xsp;
- if (jj_3R_213()) {
- jj_scanpos = xsp;
- if (jj_3R_214()) return true;
+ if (jj_3R_213()) return true;
}
}
}
@@ -8711,155 +8686,155 @@ void parseInline();
inline bool jj_3_46()
{
if (jj_done) return true;
- if (jj_3R_98()) return true;
+ if (jj_3R_97()) return true;
return false;
}
- inline bool jj_3R_98()
+ inline bool jj_3R_97()
{
if (jj_done) return true;
- if (jj_3R_99()) return true;
+ if (jj_3R_98()) return true;
Token * xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_210()) { jj_scanpos = xsp; break; }
+ if (jj_3R_209()) { jj_scanpos = xsp; break; }
}
return false;
}
- inline bool jj_3R_149()
+ inline bool jj_3R_148()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_151()
+ inline bool jj_3R_150()
{
if (jj_done) return true;
- if (jj_3R_98()) return true;
+ if (jj_3R_97()) return true;
return false;
}
- inline bool jj_3R_148()
+ inline bool jj_3R_147()
{
if (jj_done) return true;
- if (jj_3R_310()) return true;
+ if (jj_3R_309()) return true;
return false;
}
- inline bool jj_3R_60()
+ inline bool jj_3R_59()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_148()) {
+ if (jj_3R_147()) {
jj_scanpos = xsp;
- if (jj_3R_149()) {
+ if (jj_3R_148()) {
jj_scanpos = xsp;
- if (jj_3R_150()) return true;
+ if (jj_3R_149()) return true;
}
}
xsp = jj_scanpos;
- if (jj_3R_151()) jj_scanpos = xsp;
+ if (jj_3R_150()) jj_scanpos = xsp;
return false;
}
- inline bool jj_3R_281()
+ inline bool jj_3R_280()
{
if (jj_done) return true;
if (jj_scan_token(REM_T)) return true;
return false;
}
- inline bool jj_3R_280()
+ inline bool jj_3R_279()
{
if (jj_done) return true;
if (jj_scan_token(MOD_T)) return true;
return false;
}
- inline bool jj_3R_279()
+ inline bool jj_3R_278()
{
if (jj_done) return true;
if (jj_scan_token(SLASH_T)) return true;
return false;
}
- inline bool jj_3R_135()
+ inline bool jj_3R_134()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
+ if (jj_3R_277()) {
+ jj_scanpos = xsp;
if (jj_3R_278()) {
jj_scanpos = xsp;
if (jj_3R_279()) {
jj_scanpos = xsp;
- if (jj_3R_280()) {
- jj_scanpos = xsp;
- if (jj_3R_281()) return true;
+ if (jj_3R_280()) return true;
}
}
}
return false;
}
- inline bool jj_3R_278()
+ inline bool jj_3R_277()
{
if (jj_done) return true;
if (jj_scan_token(MULT_T)) return true;
return false;
}
- inline bool jj_3R_625()
+ inline bool jj_3R_628()
{
if (jj_done) return true;
- if (jj_3R_70()) return true;
+ if (jj_3R_69()) return true;
return false;
}
- inline bool jj_3R_432()
+ inline bool jj_3R_430()
{
if (jj_done) return true;
if (jj_scan_token(LINKAGE_T)) return true;
return false;
}
- inline bool jj_3R_431()
+ inline bool jj_3R_429()
{
if (jj_done) return true;
if (jj_scan_token(BUFFER_T)) return true;
return false;
}
- inline bool jj_3R_430()
+ inline bool jj_3R_428()
{
if (jj_done) return true;
if (jj_scan_token(INOUT_T)) return true;
return false;
}
- inline bool jj_3R_429()
+ inline bool jj_3R_427()
{
if (jj_done) return true;
if (jj_scan_token(OUT_T)) return true;
return false;
}
- inline bool jj_3R_346()
+ inline bool jj_3R_345()
{
if (jj_done) return true;
Token * xsp;
xsp = jj_scanpos;
- if (jj_3R_428()) {
+ if (jj_3R_426()) {
jj_scanpos = xsp;
- if (jj_3R_429()) {
+ if (jj_3R_427()) {
jj_scanpos = xsp;
- if (jj_3R_430()) {
+ if (jj_3R_428()) {
jj_scanpos = xsp;
- if (jj_3R_431()) {
+ if (jj_3R_429()) {
jj_scanpos = xsp;
- if (jj_3R_432()) return true;
+ if (jj_3R_430()) return true;
}
}
}
@@ -8867,7 +8842,7 @@ void parseInline();
return false;
}
- inline bool jj_3R_428()
+ inline bool jj_3R_426()
{
if (jj_done) return true;
if (jj_scan_token(IN_T)) return true;
@@ -8893,7 +8868,7 @@ private:
bool jj_lookingAhead;
bool jj_semLA;
int jj_gen;
- int jj_la1[295];
+ int jj_la1[294];
ErrorHandler *errorHandler;
bool errorHandlerCreated;
protected:
@@ -8976,7 +8951,7 @@ static void addProto(const char *s1,const char *s2,const char *s3,const char *s4
static void addConfigureNode(const char* a,const char*b, bool,bool isLeaf,bool inlineConf);
static void createFunction(const char *impure,uint64 spec,const char *fname);
static void addVhdlType(const char *n,int startLine,int section, uint64 spec,const char* args,const char* type,Protection prot);
-static void addCompInst(char *n, char* instName, char* comp,int iLine);
+static void addCompInst(const char *n, const char* instName, const char* comp,int iLine);
static void handleCommentBlock(const char* doc,bool brief);
static void handleFlowComment(const char*);
static void initEntry(Entry *e);
diff --git a/vhdlparser/VhdlParserConstants.h b/vhdlparser/VhdlParserConstants.h
index 0c2c0e5..73f2a43 100644
--- a/vhdlparser/VhdlParserConstants.h
+++ b/vhdlparser/VhdlParserConstants.h
@@ -375,7 +375,9 @@ const int SPACE_CHARACTER = 184;
/** RegularExpression Id. */
const int LOWER_CASE_LETTER = 185;
/** RegularExpression Id. */
-const int VHDL2008TOOLDIR = 186;
+const int QUOTE = 186;
+ /** RegularExpression Id. */
+const int VHDL2008TOOLDIR = 187;
/** Lexical state. */
const int DEFAULT = 0;
@@ -754,6 +756,8 @@ const int DEFAULT = 0;
static JAVACC_CHAR_TYPE tokenImage_arr_185[] =
{0x22, 0x3c, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x3e, 0x22, 0};
static JAVACC_CHAR_TYPE tokenImage_arr_186[] =
+{0x22, 0x3c, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x3e, 0x22, 0};
+ static JAVACC_CHAR_TYPE tokenImage_arr_187[] =
{0x22, 0x3c, 0x56, 0x48, 0x44, 0x4c, 0x32, 0x30, 0x30, 0x38, 0x54, 0x4f, 0x4f, 0x4c, 0x44, 0x49, 0x52, 0x3e, 0x22, 0};
static JAVACC_STRING_TYPE tokenImage[] = {
tokenImage_arr_0,
@@ -943,6 +947,7 @@ tokenImage_arr_183,
tokenImage_arr_184,
tokenImage_arr_185,
tokenImage_arr_186,
+tokenImage_arr_187,
};
}
diff --git a/vhdlparser/VhdlParserTokenManager.cc b/vhdlparser/VhdlParserTokenManager.cc
index 9733acd..ca09e99 100644
--- a/vhdlparser/VhdlParserTokenManager.cc
+++ b/vhdlparser/VhdlParserTokenManager.cc
@@ -235,6 +235,7 @@ static JAVACC_CHAR_TYPE jjstrLiteralChars_183[] = {0};
static JAVACC_CHAR_TYPE jjstrLiteralChars_184[] = {0};
static JAVACC_CHAR_TYPE jjstrLiteralChars_185[] = {0};
static JAVACC_CHAR_TYPE jjstrLiteralChars_186[] = {0};
+static JAVACC_CHAR_TYPE jjstrLiteralChars_187[] = {0};
static const JAVACC_STRING_TYPE jjstrLiteralImages[] = {
jjstrLiteralChars_0,
jjstrLiteralChars_1,
@@ -423,6 +424,7 @@ jjstrLiteralChars_183,
jjstrLiteralChars_184,
jjstrLiteralChars_185,
jjstrLiteralChars_186,
+jjstrLiteralChars_187,
};
/** Lexer state names. */
@@ -432,7 +434,7 @@ static const JAVACC_STRING_TYPE lexStateNames[] = {
lexStateNames_arr_0,
};
static const unsigned long long jjtoToken[] = {
- 0xfffffffffffff801ULL, 0xffffffffffffffffULL, 0x4081fffffffffffULL,
+ 0xfffffffffffff801ULL, 0xffffffffffffffffULL, 0x8081fffffffffffULL,
};
static const unsigned long long jjtoSkip[] = {
0x7deULL, 0x0ULL, 0x0ULL,
@@ -2796,7 +2798,7 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){
jjstateSet[jjnewStateCnt++] = 18;
break;
case 18:
- if ((0xfffffffb00000200ULL & l) != 0L)
+ if ((0xffffffff00000200ULL & l) != 0L)
jjstateSet[jjnewStateCnt++] = 19;
break;
case 19:
@@ -2833,15 +2835,15 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){
case 28:
if (curChar != 34)
break;
- if (kind > 186)
- kind = 186;
+ if (kind > 187)
+ kind = 187;
{ jjCheckNAddTwoStates(26, 29); }
break;
case 29:
if ((0xfffffffb00000200ULL & l) == 0L)
break;
- if (kind > 186)
- kind = 186;
+ if (kind > 187)
+ kind = 187;
{ jjCheckNAddTwoStates(26, 29); }
break;
case 30:
@@ -3117,8 +3119,8 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){
case 29:
if ((0x7fffffffffffffffULL & l) == 0L)
break;
- if (kind > 186)
- kind = 186;
+ if (kind > 187)
+ kind = 187;
{ jjCheckNAddTwoStates(26, 29); }
break;
case 32:
@@ -3218,8 +3220,8 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){
case 29:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
- if (kind > 186)
- kind = 186;
+ if (kind > 187)
+ kind = 187;
{ jjAddStates(52, 53); }
break;
case 32:
@@ -3408,6 +3410,7 @@ void VhdlParserTokenManager::SkipLexicalActions(Token *matchedToken){
}
case 6 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+ {
QCString doc(image.data());
int count=doc.contains("--!");
::vhdl::parser::VhdlParser::setMultCommentLine();
@@ -3416,6 +3419,7 @@ void VhdlParserTokenManager::SkipLexicalActions(Token *matchedToken){
::vhdl::parser::VhdlParser::oneLineComment(doc);
else
::vhdl::parser::VhdlParser::handleCommentBlock(image.data(),FALSE); ;
+ }
break;
}
case 7 : {
@@ -3430,10 +3434,12 @@ void VhdlParserTokenManager::SkipLexicalActions(Token *matchedToken){
}
case 9 : {
image.append(input_stream->GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
- QCString q(image.data());
- q.stripPrefix("/*!");
- q.resize(q.length()-2);
- ::vhdl::parser::VhdlParser::handleCommentBlock(q.data(),TRUE);image.clear();
+ {
+ QCString q(image.data());
+ q.stripPrefix("/*!");
+ q.resize(q.length()-2);
+ ::vhdl::parser::VhdlParser::handleCommentBlock(q.data(),TRUE);image.clear();
+ }
break;
}
case 10 : {
diff --git a/vhdlparser/vhdlparser.jj b/vhdlparser/vhdlparser.jj
index 0225183..befc4e0 100644
--- a/vhdlparser/vhdlparser.jj
+++ b/vhdlparser/vhdlparser.jj
@@ -55,7 +55,7 @@ static void addProto(const char *s1,const char *s2,const char *s3,const char *s4
static void addConfigureNode(const char* a,const char*b, bool,bool isLeaf,bool inlineConf);
static void createFunction(const char *impure,uint64 spec,const char *fname);
static void addVhdlType(const char *n,int startLine,int section, uint64 spec,const char* args,const char* type,Protection prot);
-static void addCompInst(char *n, char* instName, char* comp,int iLine);
+static void addCompInst(const char *n, const char* instName, const char* comp,int iLine);
static void handleCommentBlock(const char* doc,bool brief);
static void handleFlowComment(const char*);
static void initEntry(Entry *e);
@@ -86,6 +86,7 @@ SKIP:
<#DOXYGEN_VHDL_COMMENT: (" "|"\t")*"--!"(~["\n", "\r"])* ("\n" | "\r" | "\r\n")?>
| <MULT_DOXYGEN_COMMENT: (<DOXYGEN_VHDL_COMMENT>)+ >
{
+ {
QCString doc(image.data());
int count=doc.contains("--!");
::vhdl::parser::VhdlParser::setMultCommentLine();
@@ -94,6 +95,7 @@ SKIP:
::vhdl::parser::VhdlParser::oneLineComment(doc);
else
::vhdl::parser::VhdlParser::handleCommentBlock(image.data(),FALSE); ;
+ }
}
|<VHDL_FLOWCHART_COMMENT: "--#" (~["\n", "\r"])* ("\n" | "\r" | "\r\n")?> { ::vhdl::parser::VhdlParser::handleFlowComment(image.data());}
@@ -108,10 +110,12 @@ SKIP :
{
<MULT_DOXYGEN_VHDL_COMMENT_2008 : "/*!" (~[])* "*/" >
{
- QCString q(image.data());
- q.stripPrefix("/*!");
- q.resize(q.length()-2);
- ::vhdl::parser::VhdlParser::handleCommentBlock(q.data(),TRUE);image.clear();
+ {
+ QCString q(image.data());
+ q.stripPrefix("/*!");
+ q.resize(q.length()-2);
+ ::vhdl::parser::VhdlParser::handleCommentBlock(q.data(),TRUE);image.clear();
+ }
}
| <MULT_VHDL_2008_COMMENT : "/*" (~[])* "*/" > {::vhdl::parser::VhdlParser::lineCount(image.data());image.clear();}
}
@@ -289,7 +293,7 @@ TOKEN:
| <STRINGLITERAL: (( ["\""](<GRAPHIC_CHARACTER>)*) "\"")+ >
| <BASIC_IDENTIFIER: (<LETTER> ( (["_"])* <LETTER_OR_DIGIT> )*) >
| <EXTENDED_CHARACTER: ( ["\\"](<GRAPHIC_CHARACTER>)*["\\"] ) >
- | <CHARACTER_LITERAL: (["'"]<GRAPHIC_CHARACTER>["'"]) >
+ | <CHARACTER_LITERAL: (["'"](<GRAPHIC_CHARACTER>|<QUOTE>)["'"]) >
| <DECIMAL_LITERAL: (<INTEGER> (["."]<INTEGER>)? (<EXPONENT>)? ) >
| <BASED_INTEGER: <LETTER_OR_DIGIT>( <LETTER_OR_DIGIT>)* >
| <BASED_LITERAL: <INTEGER>["#"]<BASED_INTEGER>(["."] <BASED_INTEGER>)? ["#"] (<EXPONENT>)? >
@@ -306,6 +310,7 @@ TOKEN:
| < #OTHER_SPECIAL_CHARACTER: ["%","!","$","@","?","[","\\","]","^","`","{","}","~","\u00A0"-"\u00FF"]>
| < #SPACE_CHARACTER: [" ","\t"] >
| < #LOWER_CASE_LETTER: ["a"-"z"] >
+ | < #QUOTE: ["\""] >
| <VHDL2008TOOLDIR : ["`"](<GRAPHIC_CHARACTER>|<STRINGLITERAL>)+ >
}
@@ -577,7 +582,7 @@ attribute_declaration()
LOOKAHEAD(3)
group_template_declaration()
| group_declaration()
-| <VHDL2008TOOLDIR>
+//| <VHDL2008TOOLDIR>
}
void block_declarative_part() : {}
@@ -2612,9 +2617,10 @@ void generate_statement_body() : {}
void generate_statement_body1() : {}
{
- LOOKAHEAD(block_declarative_item()<BEGIN_T> )
- (block_declarative_item() )* <BEGIN_T> (concurrent_statement())*
- | (concurrent_statement())*
+ // [LOOKAHEAD(block_declarative_item()<BEGIN_T> )(block_declarative_item() )* <BEGIN_T>] (concurrent_statement())*
+
+ [(LOOKAHEAD(block_declarative_item())block_declarative_item() )* <BEGIN_T>] (concurrent_statement())*
+ // | (concurrent_statement())*
}
QCString external_name(): {QCString s,s1,s2;}
diff --git a/vhdlparser/vhdlstring.h b/vhdlparser/vhdlstring.h
index f15ef6c..fde6ce4 100644
--- a/vhdlparser/vhdlstring.h
+++ b/vhdlparser/vhdlstring.h
@@ -5,6 +5,7 @@
#include <stdlib.h>
#include <string.h>
+
/** @brief Minimal string class with std::string like behaviour that fulfills the JavaCC
* string requirements.
*/