From a418518921ba7a99c7221ba7f40d2e791cb207c4 Mon Sep 17 00:00:00 2001 From: Weston Thayer Date: Tue, 6 Jan 2015 17:18:24 -0500 Subject: Add support for basic XML syntax highlighting. --- doc/dbusxml.doc | 5 + src/Makefile.in | 2 +- src/dbusxmlscanner.cpp | 43 +- src/libdoxygen.pro.in | 2 + src/libdoxygen.t.in | 3 + src/util.cpp | 2 +- src/xmlcode.h | 37 + src/xmlcode.l | 411 ++++ winbuild/Doxygen.vcproj | 5934 ++++++++++++++++++++++++----------------------- 9 files changed, 3459 insertions(+), 2980 deletions(-) create mode 100644 src/xmlcode.h create mode 100644 src/xmlcode.l diff --git a/doc/dbusxml.doc b/doc/dbusxml.doc index e487126..9ecf592 100644 --- a/doc/dbusxml.doc +++ b/doc/dbusxml.doc @@ -9,6 +9,11 @@ all XML comments starting with '*' or '!'. An additional '<' can be used to assign the documentation string to the previous entity instead of the one following the comment. +Doxygen will also show syntax highlighting for XML examples. Note that +in order for XML comments to show up, you must use 2 exclamation marks +instead of one. The extra ! will be stripped out for you. This is due +to a conflict with Doxygen's hidden comments. + Note that before the parsing of DBus XML file works one has to assign the .xml extension to the DBus XML parser using the following configuration option: diff --git a/src/Makefile.in b/src/Makefile.in index 9b3f531..ac7efaa 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -48,6 +48,6 @@ distclean: clean ce_parse.cpp ce_parse.h tag.cpp commentscan.cpp \ declinfo.cpp defargs.cpp commentcnv.cpp doctokenizer.cpp \ pycode.cpp pyscanner.cpp fortrancode.cpp fortranscanner.cpp \ - vhdlscanner.cpp vhdlcode.cpp tclscanner.cpp + xmlcode.cpp vhdlscanner.cpp vhdlcode.cpp tclscanner.cpp FORCE: diff --git a/src/dbusxmlscanner.cpp b/src/dbusxmlscanner.cpp index 15afca0..ff1097f 100644 --- a/src/dbusxmlscanner.cpp +++ b/src/dbusxmlscanner.cpp @@ -28,6 +28,11 @@ #include "util.h" #include "arguments.h" +#include "outputgen.h" +#include "memberdef.h" + +#include "xmlcode.h" + // ----------------------------------------------------------------------- // Convenience defines: // ----------------------------------------------------------------------- @@ -855,24 +860,30 @@ void DBusXMLScanner::parseInput(const char * fileName, bool DBusXMLScanner::needsPreprocessing(const QCString & /* extension */) { return (false); } -void DBusXMLScanner::parseCode(CodeOutputInterface & /* codeOutIntf */, - const char * /* scopeName */, - const QCString & /* input */, - SrcLangExt /* lang */, - bool /* isExampleBlock */, - const char * /* exampleName */, - FileDef * /* fileDef */, - int /* startLine */, - int /* endLine */, - bool /* inlineFragment */, - MemberDef * /* memberDef */, - bool /*showLineNumbers*/, - Definition * /* searchCtx */, - bool /*collectXRefs*/ ) -{ } +void DBusXMLScanner::parseCode(CodeOutputInterface & codeOutIntf, + const char * scopeName, + const QCString & input, + SrcLangExt /*lang*/, + bool isExampleBlock, + const char * exampleName, + FileDef * fileDef, + int startLine, + int endLine, + bool inlineFragment, + MemberDef * memberDef, + bool showLineNumbers, + Definition * searchCtx, + bool collectXRefs ) +{ + parseXmlCode(codeOutIntf,scopeName,input,isExampleBlock,exampleName, + fileDef,startLine,endLine,inlineFragment,memberDef, + showLineNumbers,searchCtx,collectXRefs); +} void DBusXMLScanner::resetCodeParserState() -{ } +{ + resetXmlCodeParserState(); +} void DBusXMLScanner::parsePrototype(const char * /* text */) { } diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in index 162c7d9..f76d862 100644 --- a/src/libdoxygen.pro.in +++ b/src/libdoxygen.pro.in @@ -122,6 +122,7 @@ HEADERS = arguments.h \ xmlgen.h \ docbookvisitor.h \ docbookgen.h \ + xmlcode.h \ vhdljjparser.h @@ -217,6 +218,7 @@ SOURCES = arguments.cpp \ ../generated_src/doxygen/doctokenizer.cpp \ ../generated_src/doxygen/pre.cpp \ ../generated_src/doxygen/pycode.cpp \ + ../generated_src/doxygen/xmlcode.cpp \ ../generated_src/doxygen/pyscanner.cpp \ ../generated_src/doxygen/scanner.cpp \ ../generated_src/doxygen/tclscanner.cpp \ diff --git a/src/libdoxygen.t.in b/src/libdoxygen.t.in index dd497b6..a9195bc 100644 --- a/src/libdoxygen.t.in +++ b/src/libdoxygen.t.in @@ -71,6 +71,9 @@ sub GenerateLex { #$ GenerateDep("\$(GENERATED_SRC)/pycode.cpp","pycode.l"); #$ GenerateLex("pycode",0); +#$ GenerateDep("\$(GENERATED_SRC)/xmlcode.cpp","xmlcode.l"); +#$ GenerateLex("xmlcode",0); + #$ GenerateDep("\$(GENERATED_SRC)/fortranscanner.cpp","fortranscanner.l"); #$ GenerateLex("fortranscanner",1); diff --git a/src/util.cpp b/src/util.cpp index 9bb1632..1a44a38 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -6876,7 +6876,7 @@ void initDefaultExtensionMapping() updateLanguageMapping(".md", "md"); updateLanguageMapping(".markdown", "md"); - //updateLanguageMapping(".xml", "dbusxml"); + updateLanguageMapping(".xml", "dbusxml"); } SrcLangExt getLanguageFromFileName(const QCString fileName) diff --git a/src/xmlcode.h b/src/xmlcode.h new file mode 100644 index 0000000..5a9c78c --- /dev/null +++ b/src/xmlcode.h @@ -0,0 +1,37 @@ +/****************************************************************************** + * + * + * + * Copyright (C) 1997-2014 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + * Documents produced by Doxygen are derivative works derived from the + * input used in their production; they are not affected by this license. + * + */ + + +#ifndef XMLCODE_H +#define XMLCODE_H + +#include "types.h" + +class CodeOutputInterface; +class FileDef; +class MemberDef; +class QCString; +class Definition; + +extern void parseXmlCode(CodeOutputInterface &,const char *,const QCString &, + bool ,const char *,FileDef *fd, + int startLine,int endLine,bool inlineFragment, + MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx, + bool collectXRefs); +extern void resetXmlCodeParserState(); + +#endif diff --git a/src/xmlcode.l b/src/xmlcode.l new file mode 100644 index 0000000..ebba910 --- /dev/null +++ b/src/xmlcode.l @@ -0,0 +1,411 @@ +/****************************************************************************** + * + * Copyright (C) 1997-2014 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + * Documents produced by Doxygen are derivative works derived from the + * input used in their production; they are not affected by this license. + * + */ +/****************************************************************************** + * Parser for syntax hightlighting and references for XML + * written by Weston Thayer + ******************************************************************************/ + +%{ + +#include + +#include "xmlcode.h" + +#include "entry.h" +#include "doxygen.h" +#include "outputlist.h" +#include "util.h" +#include "membername.h" +#include "searchindex.h" +#include "config.h" +#include "filedef.h" +#include "tooltip.h" + +#define YY_NEVER_INTERACTIVE 1 +#define YY_NO_INPUT 1 + +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 +static int g_inputPosition; //!< read offset during parsing +static int g_inputLines; //!< number of line in the code fragment +static int g_yyLineNr; //!< current line number +static bool g_needsTermination; +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; + +static FileDef * g_sourceFileDef; +static Definition * g_currentDefinition; +static MemberDef * g_currentMemberDef; +static bool g_includeCodeFragment; +static const char * g_currentFontClass; + +static void codify(const char* text) +{ + g_code->codify(text); +} + +static void setCurrentDoc(const QCString &anchor) +{ + if (Doxygen::searchIndex) + { + if (g_searchCtx) + { + Doxygen::searchIndex->setCurrentDoc(g_searchCtx,g_searchCtx->anchor(),FALSE); + } + else + { + Doxygen::searchIndex->setCurrentDoc(g_sourceFileDef,anchor,TRUE); + } + } +} + +/*! start a new line of code, inserting a line number if g_sourceFileDef + * is TRUE. If a definition starts at the current line, then the line + * number is linked to the documentation of that definition. + */ +static void startCodeLine() +{ + if (g_sourceFileDef) + { + Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr); + + if (!g_includeCodeFragment && d && d->isLinkableInProject()) + { + g_currentDefinition = d; + g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr); + //g_insideBody = FALSE; + g_classScope = d->name().copy(); + QCString lineAnchor; + lineAnchor.sprintf("l%05d",g_yyLineNr); + if (g_currentMemberDef) + { + g_code->writeLineNumber(g_currentMemberDef->getReference(), + g_currentMemberDef->getOutputFileBase(), + g_currentMemberDef->anchor(),g_yyLineNr); + setCurrentDoc(lineAnchor); + } + else + { + g_code->writeLineNumber(d->getReference(), + d->getOutputFileBase(), + 0,g_yyLineNr); + setCurrentDoc(lineAnchor); + } + } + else + { + g_code->writeLineNumber(0,0,0,g_yyLineNr); + } + } + + g_code->startCodeLine(g_sourceFileDef); + + if (g_currentFontClass) + { + g_code->startFontClass(g_currentFontClass); + } +} + +static void endFontClass() +{ + if (g_currentFontClass) + { + g_code->endFontClass(); + g_currentFontClass=0; + } +} + +static void endCodeLine() +{ + endFontClass(); + g_code->endCodeLine(); +} + +static void nextCodeLine() +{ + const char *fc = g_currentFontClass; + endCodeLine(); + if (g_yyLineNrcodify(sp); + nextCodeLine(); + } + else + { + g_code->codify(sp); + done=TRUE; + } + } +} + +static void startFontClass(const char *s) +{ + endFontClass(); + g_code->startFontClass(s); + g_currentFontClass=s; +} + +/*! counts the number of lines in the input */ +static int countLines() +{ + const char *p=g_inputString; + char c; + int count=1; + while ((c=*p)) + { + p++ ; + if (c=='\n') count++; + } + if (p>g_inputString && *(p-1)!='\n') + { // last line does not end with a \n, so we add an extra + // line and explicitly terminate the line after parsing. + count++, + g_needsTermination=TRUE; + } + return count; +} + +#undef YY_INPUT +#define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size); + +static int yyread(char *buf,int max_size) +{ + int c=0; + while( c < max_size && g_inputString[g_inputPosition] ) + { + *buf = g_inputString[g_inputPosition++] ; + c++; buf++; + } + return c; +} + +%} + +nl (\r\n|\r|\n) +ws [ \t]+ +open "<" +close ">" +namestart [A-Za-z\200-\377_] +namechar [:A-Za-z\200-\377_0-9.-] +esc "&#"[0-9]+";"|"&#x"[0-9a-fA-F]+";" +name {namestart}{namechar}* +comment {open}"!!--"([^-]|"-"[^-])*"--"{close} +data "random string" +string \"([^"&]|{esc})*\"|\'([^'&]|{esc})*\' + +%option noyywrap +%option nounput + +%% + +{ws} { + codifyLines(yytext); + } +"/" { + endFontClass(); + codify(yytext); + } +"=" { + endFontClass(); + codify(yytext); + } +{close} { + endFontClass(); + codify(yytext); + } +{name} { + startFontClass("keyword"); + codify(yytext); + endFontClass(); + } +{string} { + startFontClass("stringliteral"); + codifyLines(yytext); + endFontClass(); + } + +{open}{ws}?{name} { + // Write the < in a different color + char openBracket[] = { yytext[0], '\0' }; + codify(openBracket); + + // Then write the rest + yytext++; + startFontClass("keywordtype"); + codify(yytext); + endFontClass(); + + BEGIN(INITIAL); + } +{open}{ws}?"/"{name} { + // Write the "clearTooltips(); + + g_code = &od; + g_inputString = s; + g_inputPosition = 0; + g_currentFontClass = 0; + g_needsTermination = FALSE; + g_searchCtx=searchCtx; + + if (endLine!=-1) + g_inputLines = endLine+1; + else + g_inputLines = countLines(); + + if (startLine!=-1) + g_yyLineNr = startLine; + else + g_yyLineNr = 1; + + g_exampleName = exName; + g_sourceFileDef = fd; + + bool cleanupSourceDef = FALSE; + + if (fd==0) + { + // create a dummy filedef for the example + g_sourceFileDef = new FileDef("",(exName?exName:"generated")); + cleanupSourceDef = TRUE; + } + + if (g_sourceFileDef) + { + setCurrentDoc("l00001"); + } + + // Starts line 1 on the output + startCodeLine(); + + xmlcodeYYrestart( xmlcodeYYin ); + + xmlcodeYYlex(); + + if (g_needsTermination) + { + endCodeLine(); + } + if (fd) + { + TooltipManager::instance()->writeTooltips(*g_code); + } + if (cleanupSourceDef) + { + // delete the temporary file definition used for this example + delete g_sourceFileDef; + g_sourceFileDef=0; + } + + return; +} + +void resetXmlCodeParserState() +{ + g_currentDefinition = 0; + g_currentMemberDef = 0; +} + +#if !defined(YY_FLEX_SUBMINOR_VERSION) +extern "C" { // some bogus code to keep the compiler happy + void xmlcodeYYdummy() { yy_flex_realloc(0,0); } +} +#elif YY_FLEX_SUBMINOR_VERSION<33 +#error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)." +#endif + diff --git a/winbuild/Doxygen.vcproj b/winbuild/Doxygen.vcproj index 03764f2..0c68a63 100644 --- a/winbuild/Doxygen.vcproj +++ b/winbuild/Doxygen.vcproj @@ -379,7 +379,7 @@ + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v0.12 From 5a0379944f8bdf883fdb25e94e0cdb1e5d2f4366 Mon Sep 17 00:00:00 2001 From: Adrian Negreanu Date: Fri, 17 Apr 2015 10:40:39 +0300 Subject: xml: use STRIP_FROM_PATH on @file attributes. --- src/xmlgen.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index 215b88a..bdb0d0e 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -978,7 +978,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De if (md->getDefLine()!=-1) { t << " getDefFileName() << "\" line=\"" + << stripFromPath(md->getDefFileName()) << "\" line=\"" << md->getDefLine() << "\"" << " column=\"" << md->getDefColumn() << "\"" ; if (md->getStartBodyLine()!=-1) @@ -1404,7 +1404,7 @@ static void generateXMLForClass(ClassDef *cd,FTextStream &ti) t << " " << endl; } t << " getDefFileName() << "\" line=\"" + << stripFromPath(cd->getDefFileName()) << "\" line=\"" << cd->getDefLine() << "\"" << " column=\"" << cd->getDefColumn() << "\"" ; if (cd->getStartBodyLine()!=-1) @@ -1492,7 +1492,7 @@ static void generateXMLForNamespace(NamespaceDef *nd,FTextStream &ti) writeXMLDocBlock(t,nd->docFile(),nd->docLine(),nd,0,nd->documentation()); t << " " << endl; t << " getDefFileName() << "\" line=\"" + << stripFromPath(nd->getDefFileName()) << "\" line=\"" << nd->getDefLine() << "\"" << " column=\"" << nd->getDefColumn() << "\"/>" << endl ; t << " " << endl; @@ -1634,7 +1634,7 @@ static void generateXMLForFile(FileDef *fd,FTextStream &ti) writeXMLCodeBlock(t,fd); t << " " << endl; } - t << " getDefFileName() << "\"/>" << endl; + t << " getDefFileName()) << "\"/>" << endl; t << " " << endl; t << "" << endl; @@ -1748,7 +1748,7 @@ static void generateXMLForDir(DirDef *dd,FTextStream &ti) t << " " << endl; writeXMLDocBlock(t,dd->docFile(),dd->docLine(),dd,0,dd->documentation()); t << " " << endl; - t << " name() << "\"/>" << endl; + t << " name()) << "\"/>" << endl; t << " " << endl; t << "" << endl; -- cgit v0.12 From 551012f2647c53d8532d638361011d003d5b81f3 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 19 Apr 2015 10:43:13 +0200 Subject: Removed dbus XML parser, various refinements --- doc/dbusxml.doc | 154 --------- src/dbusxmlscanner.cpp | 889 ------------------------------------------------ src/dbusxmlscanner.h | 65 ---- src/doxygen.cpp | 7 +- src/libdoxygen.pro.in | 3 +- src/util.cpp | 7 +- src/util.h | 1 + src/xmlcode.l | 6 +- src/xmlscanner.h | 65 ++++ winbuild/Doxygen.vcproj | 9 +- 10 files changed, 84 insertions(+), 1122 deletions(-) delete mode 100644 doc/dbusxml.doc delete mode 100644 src/dbusxmlscanner.cpp delete mode 100644 src/dbusxmlscanner.h create mode 100644 src/xmlscanner.h diff --git a/doc/dbusxml.doc b/doc/dbusxml.doc deleted file mode 100644 index 9ecf592..0000000 --- a/doc/dbusxml.doc +++ /dev/null @@ -1,154 +0,0 @@ -/*! \page dbusxml DBus XML output format - -\addindex dbusxml - -

Doxygen can generate documentation for DBus XML files. This way -DBus interfaces can be annotated with doxygen style comments, and -without writing custom XML parsers. Doxygen extracts its text from -all XML comments starting with '*' or '!'. An additional '<' can be -used to assign the documentation string to the previous entity instead -of the one following the comment. - -Doxygen will also show syntax highlighting for XML examples. Note that -in order for XML comments to show up, you must use 2 exclamation marks -instead of one. The extra ! will be stripped out for you. This is due -to a conflict with Doxygen's hidden comments. - -Note that before the parsing of DBus XML file works one has to -assign the .xml extension to the DBus XML parser using the -following configuration option: - -\verbatim -EXTENSION_MAPPING = xml=dbusxml -\endverbatim - -\section dbusxml_supported Supported XML elements and attributes - -

The following DBus XML elemets can be annotated: - -

    -
  • interface - -
  • method or signal - -
  • arg - -
  • property - -
- -Additional elements are supported. These are available once -the xmlns "http://psiamp.org/dtd/doxygen_dbusxml.dtd" is -available. - -
    -
  • namespace: This can be used to group other more of the -additional elemets. This element requires a name attribute. - -
  • enum is used to define enums. value element is - then used to define the individual values in the enum. This element - requires the name and type attributes. A - optional named-type attribute is allowed, referrencing typed - previously defined by one of the additional elements. A enum name - can be used anywhere a type is required using the named-type - attribute. - -
  • flagset is used to define sets of flags. Required and - optional attributes are identical to the ones used by enum. - While enums assume the values to be consecutive, while - a flagset is values suitable for flags. A flagset name - can be used anywhere a type is required using the named-type - attribute. - -
  • struct is used to define structures. A name - attribute is required. - -
  • member is used to define members of structs. It - is valid inside struct elements. This - element requires name and type attributes. In - addition to (or even instead of) the type attribute a - named-type attribute may be used to reference types defined - by enum, flagset or struct. - -\section dbusxml_example Example - -
    -
    -
    -
    -
    -  
    -  
    -    
    -    
    -    
    -    
    -  
    -
    -  
    -  
    -    
    -    
    -  
    -
    -  
    -  
    -    
    -    
    -       
    -       
    -    
    -  
    -  
    -  
    -    
    -    
    -      
    -      
    -      
    -      
    -    
    -
    -    
    -    
    -      
    -      
    -      
    -      
    -        
    -        
    -      
    -      
    -      
    -    
    -    
    -    
    -      
    -      
    -    
    -
    -    
    -      
    -      
    -    
    -
    -    
    -    
    -
    -    
    -    
    -    
    -    
    -  
    -
    -
    -*/ diff --git a/src/dbusxmlscanner.cpp b/src/dbusxmlscanner.cpp deleted file mode 100644 index ff1097f..0000000 --- a/src/dbusxmlscanner.cpp +++ /dev/null @@ -1,889 +0,0 @@ -/****************************************************************************** - * - * - * - * Copyright (C) 2009 by Tobias Hunger - * - * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software - * for any purpose. It is provided "as is" without express or implied warranty. - * See the GNU General Public License for more details. - * - * Documents produced by Doxygen are derivative works derived from the - * input used in their production; they are not affected by this license. - * - */ - -#include "dbusxmlscanner.h" - -#include "commentscan.h" -#include "entry.h" - -#include -#include -#include - -#include "message.h" -#include "util.h" -#include "arguments.h" - -#include "outputgen.h" -#include "memberdef.h" - -#include "xmlcode.h" - -// ----------------------------------------------------------------------- -// Convenience defines: -// ----------------------------------------------------------------------- - -#define CONDITION(cond, msg) \ - do {\ - if (cond)\ - {\ - if (m_errorString.isEmpty()) { m_errorString = msg; }\ - return false;\ - }\ - }\ - while (0) - -#define DOC_ERROR(msg) \ - warn_doc_error(m_fileName.data(), lineNumber(), msg.data()) - -#define COND_DOC_ERROR(cond, msg) \ - do {\ - if (cond)\ - {\ - DOC_ERROR(msg);\ - return true;\ - }\ - }\ - while (0) - -#define DBUS(name) isDBusElement(namespaceURI, localName, qName, name) -#define EXTENSION(name) isExtensionElement(namespaceURI, localName, qName, name) - -// ----------------------------------------------------------------------- -// DBusXMLHandler class -// ----------------------------------------------------------------------- - -const QString EXTENSION_URI("http://psiamp.org/dtd/doxygen_dbusxml.dtd"); - -/** DBus implementation of the generic QXmlDefaultHandler. */ -class DBusXMLHandler : public QXmlDefaultHandler -{ -public: - DBusXMLHandler(ParserInterface * parser, - QXmlSimpleReader * reader, - const char * file_name, - Entry * root) : - m_parser(parser), - m_locator(reader), - m_currentEntry(0), - m_currentInterface(0), - m_currentMethod(0), - m_currentArgument(0), - m_currentProperty(0), - m_currentEnum(0), - m_fileName(file_name), - m_currentComment(0) - { - setDocumentLocator(&m_locator); - - m_scopeCount = 0; - - // Set up stack cleanup: - m_structStack.setAutoDelete(TRUE); - m_elementStack.setAutoDelete(TRUE); - m_scopeStack.setAutoDelete(TRUE); - - openScopes(root); - } - - ~DBusXMLHandler() - { closeScopes(); } - - QString errorString() - { return m_errorString; } - - bool startElement(const QString &namespaceURI, - const QString &localName, - const QString &qName, - const QXmlAttributes &attributes) - { - // add to elements stack: - m_elementStack.append(new ElementData(qName.utf8())); - - // First we need a node. - if (DBUS("node")) - { - CONDITION(!m_currentNode.isEmpty(), "Node inside a node."); - - const int idx(indexOf(attributes, "name")); - COND_DOC_ERROR(idx < 0, QCString("Anonymous node found.")); - - m_currentNode = attributes.value(idx).utf8(); - // A node is actually of little interest, so do nothing here. - return true; - } - - // Then we need an interface. - if (DBUS("interface")) - { - // We need a nodeName for interfaces: - CONDITION(m_currentNode.isEmpty(), "Interface without a node."); - CONDITION(m_currentInterface, "Interface within another interface."); - - const int idx(indexOf(attributes, "name")); - COND_DOC_ERROR(idx < 0, QString("Interface without a name found.")); - - // A interface is roughly equivalent to a class: - m_currentInterface = createEntry(); - - m_currentInterface->section = Entry::CLASS_SEC; - m_currentInterface->spec |= Entry::Interface; - m_currentInterface->type = "Interface"; - m_currentInterface->name = substitute(attributes.value(idx).utf8(), ".", "::"); - - openScopes(m_currentInterface); - - return true; - } - - if (DBUS("method") || DBUS("signal")) - { - // We need a interfaceName for methods and signals: - CONDITION(!m_currentInterface, "Method or signal found outside a interface."); - CONDITION(m_currentMethod, "Method or signal found inside another method or signal."); - CONDITION(m_currentProperty, "Methor or signal found inside a property."); - CONDITION(!m_structStack.isEmpty(), "Method or signal found inside a struct."); - CONDITION(m_currentEnum, "Methor or signal found inside a enum."); - - const int idx(indexOf(attributes, "name")); - COND_DOC_ERROR(idx < 0, QString("Method or signal without a name found.")); - - m_currentMethod = createEntry(); - - m_currentMethod->section = Entry::FUNCTION_SEC; - m_currentMethod->name = attributes.value(idx).utf8(); - m_currentMethod->mtype = Method; - m_currentMethod->type = "void"; - - if (DBUS("signal")) - { m_currentMethod->mtype = Signal; } - } - - if (DBUS("arg")) - { - // We need a method for arguments: - CONDITION(!m_currentMethod, "Argument found outside a method or signal."); - CONDITION(m_currentArgument, "Argument found inside another argument."); - - const int name_idx(indexOf(attributes, "name")); - COND_DOC_ERROR(name_idx < 0, QString("Argument without a name found.")); - COND_DOC_ERROR(!hasType(attributes), QString("Argument without a type found.")); - - const int direction_idx(indexOf(attributes, "direction")); - - if ((m_currentMethod->mtype == Signal && - direction_idx >= 0 && - attributes.value(direction_idx) != "in") || - (m_currentMethod->mtype == Method && - direction_idx >= 0 && - attributes.value(direction_idx) != "in" && - attributes.value(direction_idx) != "out")) - { - m_errorString = "Invalid direction found."; - return false; - } - - m_currentArgument = new Argument; - m_currentArgument->type = getType(attributes).utf8(); - m_currentArgument->name = attributes.value(name_idx).utf8(); - if (direction_idx >= 0) - { m_currentArgument->attrib = attributes.value(direction_idx).utf8(); } - else - { - if (m_currentMethod->mtype == Signal) - { m_currentArgument->attrib = "in"; } - else - { m_currentArgument->attrib = "out"; } - } - } - - if (DBUS("property")) - { - CONDITION(m_currentMethod, "Property found inside a method or signal."); - CONDITION(!m_currentInterface, "Property found outside an interface."); - CONDITION(m_currentProperty, "Property found inside another property."); - CONDITION(!m_structStack.isEmpty(), "Property found inside a struct."); - CONDITION(m_currentEnum, "Property found inside a enum."); - - const int name_idx(indexOf(attributes, "name")); - COND_DOC_ERROR(name_idx < 0, QString("Anonymous property found.")); - COND_DOC_ERROR(!hasType(attributes), QString("Property without a type found.")); - - const int access_idx(indexOf(attributes, "access")); - COND_DOC_ERROR(access_idx < 0, QString("Property without a access attribute found.")); - COND_DOC_ERROR(attributes.value(access_idx) != "read" && - attributes.value(access_idx) != "write" && - attributes.value(access_idx) != "readwrite", - QString("Property with invalid access attribute \"%1\" found."). - arg(attributes.value(access_idx))); - - m_currentProperty = createEntry(); - - m_currentProperty->section = Entry::FUNCTION_SEC; - - if (attributes.value(access_idx) == "read" || - attributes.value(access_idx) == "readwrite") - { m_currentProperty->spec |= Entry::Readable; } - - if (attributes.value(access_idx) == "write" || - attributes.value(access_idx) == "readwrite") - { m_currentProperty->spec |= Entry::Writable; } - - m_currentProperty->name = attributes.value(name_idx).utf8(); - m_currentProperty->mtype = Property; - m_currentProperty->type = getType(attributes).utf8(); - } - - if (EXTENSION("namespace")) - { - CONDITION(m_currentNode.isEmpty(), "Namespace found outside a node."); - CONDITION(m_currentInterface, "Namespace found inside an interface."); - - const int idx(indexOf(attributes, "name")); - COND_DOC_ERROR(idx < 0, QString("Anonymous namespace found.")); - - m_namespaceStack.append(openNamespace(attributes.value(idx))); - openScopes(m_namespaceStack.getLast()); - } - - if (EXTENSION("struct")) - { - CONDITION(m_currentMethod, "Struct found inside a method or signal."); - CONDITION(m_currentProperty, "Struct found inside a property."); - CONDITION(m_currentEnum, "Struct found inside an enum."); - - const int idx(indexOf(attributes, "name")); - COND_DOC_ERROR(idx < 0, QString("Anonymous struct found.")); - - Entry * current_struct = createEntry(); - current_struct->section = Entry::CLASS_SEC; - current_struct->spec = Entry::Struct; - current_struct->name = attributes.value(idx).utf8(); - - openScopes(current_struct); - - current_struct->type = current_struct->name + " struct"; - - m_structStack.append(new StructData(current_struct)); - } - - if (EXTENSION("member")) - { - CONDITION(m_structStack.isEmpty(), "Member found outside of struct."); - - const int name_idx(indexOf(attributes, "name")); - COND_DOC_ERROR(name_idx < 0, QString("Anonymous member found.")); - COND_DOC_ERROR(!hasType(attributes), QString("Member without a type found.")); - - createEntry(); - - m_currentEntry->section = Entry::VARIABLE_SEC; - m_currentEntry->name = attributes.value(name_idx).utf8(); - m_currentEntry->type = getType(attributes).utf8(); - - QString type(getDBusType(m_currentEntry->type)); - m_structStack.getLast()->type.append(type.utf8()); - } - - if (EXTENSION("enum") || EXTENSION("flagset")) - { - CONDITION(m_currentMethod, "Enum found inside a method or signal."); - CONDITION(m_currentProperty, "Enum found inside a property."); - - const int name_idx(indexOf(attributes, "name")); - COND_DOC_ERROR(name_idx < 0, QString("Anonymous enum found.")); - - const int type_idx(indexOf(attributes, "type")); - QString type = "u"; - if (type_idx >= 0) - { type = attributes.value(type_idx); } - if (type != "y" && type != "q" && type != "u" && type != "t") - { DOC_ERROR(QString("Invalid enum type \"%1\" found.").arg(type)); } - - m_currentEnum = createEntry(); - m_currentEnum->section = Entry::ENUM_SEC; - m_currentEnum->name = attributes.value(name_idx).utf8(); - - openScopes(m_currentEnum); - - m_currentEnum->type = m_currentEntry->name + " enum"; - - addNamedType(type.utf8()); - } - - if (EXTENSION("value")) - { - CONDITION(!m_currentEnum, "Value found outside an enum."); - - const int name_idx(indexOf(attributes, "name")); - COND_DOC_ERROR(name_idx < 0, QString("Anonymous value found.")); - - const int value_idx(indexOf(attributes, "value")); - - createEntry(); - - m_currentEntry->section = Entry::VARIABLE_SEC; - m_currentEntry->name = attributes.value(name_idx).utf8(); - m_currentEntry->type = m_currentEnum->name; // "@"; // enum marker! - if (value_idx >= 0) - { m_currentEntry->initializer = attributes.value(value_idx).utf8(); } - } - - return true; - } - - bool endElement(const QString &namespaceURI, - const QString &localName, - const QString &qName) - { - // Clean up elements stack: - // Since we made sure to get the elements in the proper order when - // adding we do not need to do so again here. - COND_DOC_ERROR(m_elementStack.getLast()->element != qName.utf8(), - QString("Malformed XML: Unexpected closing element found."). - arg(m_elementStack.getLast()->element).utf8()); - m_elementStack.removeLast(); - - // Interface: - if (DBUS("interface")) - { - CONDITION(!m_currentInterface, "end of interface found without start."); - m_currentInterface->endBodyLine = lineNumber(); - closeScopes(); - m_currentInterface = 0; - } - - if (DBUS("method") || DBUS("signal")) - { - CONDITION(!m_currentMethod, "end of method found without start."); - CONDITION(!m_currentInterface, "end of method found outside interface."); - m_currentMethod->endBodyLine = lineNumber(); - m_currentInterface->addSubEntry(m_currentMethod); - m_currentMethod = 0; - } - - if (DBUS("property")) - { - CONDITION(!m_currentProperty, "end of property found without start."); - CONDITION(!m_currentInterface, "end of property found outside interface."); - m_currentProperty->endBodyLine = lineNumber(); - m_currentInterface->addSubEntry(m_currentProperty); - m_currentProperty = 0; - } - - if (DBUS("arg")) - { - CONDITION(!m_currentMethod, "end of arg found outside method."); - m_currentMethod->argList->append(m_currentArgument); - m_currentArgument = 0; - } - - if (EXTENSION("namespace")) - { - Entry * current = m_namespaceStack.getLast(); - CONDITION(!current, "end of namespace without start."); - m_namespaceStack.removeLast(); - - current->endBodyLine = lineNumber(); - closeScopes(); - } - - if (EXTENSION("struct")) - { - StructData * data = m_structStack.getLast(); - CONDITION(!data, "end of struct without start."); - - data->entry->endBodyLine = lineNumber(); - - QString current_type; - current_type.append(QString("(")); - current_type.append(data->type); - current_type.append(QString(")")); - - addNamedType(current_type.utf8()); - - closeScopes(); - - m_structStack.removeLast(); - } - - if (EXTENSION("member")) - { - StructData * data = m_structStack.getLast(); - CONDITION(!data, "end of member outside struct."); - data->entry->addSubEntry(m_currentEntry); - } - - if (EXTENSION("enum") || EXTENSION("flagset")) - { - CONDITION(!m_currentEnum, "end of enum without start."); - m_currentEnum->endBodyLine = lineNumber(); - closeScopes(); - - m_currentEnum = 0; - } - - if (EXTENSION("value") && m_currentEnum) - { - CONDITION(!m_currentEntry, "end of value without start"); - m_currentEntry->endBodyLine = lineNumber(); - - m_currentEnum->addSubEntry(m_currentEntry); - } - - return true; - } - - bool characters(const QString & /*chars*/) - { return true; } - - bool comment(const QString & comment_) - { - if (m_currentComment) - { handleComment(); } - - m_currentComment = new CommentData(m_fileName, lineNumber(), comment_.utf8()); - - if (m_currentComment->shouldIgnore) - { - delete m_currentComment; - m_currentComment = 0; - return true; - } - - if (m_currentComment->associateWithPrevious) - { handleComment(); } - - return true; - } - - void handleComment() - { - if (m_currentComment == 0 || m_currentEntry == 0) - { return; } - - QCString text(m_currentComment->text); - - m_currentEntry->docFile = m_currentComment->fileName; - m_currentEntry->docLine = m_currentComment->line; - - int position(0); - bool needs_entry(false); - bool brief(false); - Protection prot(Public); - int lineNr = lineNumber(); - - while (parseCommentBlock(m_parser, - m_currentEntry, - text, m_fileName.data(), - lineNr, - brief, m_currentComment->isJavaStyle, - false, - prot, - position, - needs_entry)) - { - if (needs_entry) { createEntry(); } - } - if (needs_entry) { createEntry(); } - - delete m_currentComment; - m_currentComment = 0; - } - - QXmlLocator * locator() - { return &m_locator; } - - int lineNumber() - { return m_locator.lineNumber(); } - - void setSection() - { - Entry * current = createEntry(); - current->reset(); - - current->name = m_fileName; - current->section = Entry::SOURCE_SEC; - - // Open/Close the scope to do the bookkeeping: - openScopes(current); - closeScopes(); - } - -private: - bool isDBusElement(const QString & namespaceURI, - const QString & localName, - const QString & qName, - const QString & element) - { - return (namespaceURI.isEmpty() && localName == element && qName == element) || - (namespaceURI.isEmpty() && localName.isEmpty() && qName == element); - } - - bool isExtensionElement(const QString & namespaceURI, - const QString & localName, - const QString & qName, - const QString & element) - { - (void)qName; - - return namespaceURI == EXTENSION_URI && localName == element; - } - - bool hasType(const QXmlAttributes & attributes) - { - const int type_idx(indexOf(attributes, "type")); - const int named_type_idx(indexOf(attributes, "named-type")); - - return named_type_idx >= 0 || type_idx >= 0; - } - - QString getType(const QXmlAttributes & attributes) - { - const int type_idx(indexOf(attributes, "type")); - const int named_type_idx(indexOf(attributes, "named-type")); - - QCString type; - - if (named_type_idx >= 0) - { - type = attributes.value(named_type_idx).utf8(); - if (type.left(2)!="::") - { type = getCurrentScope(attributes.value(named_type_idx).utf8()); } - else - { type = type.mid(2); } - if (m_namedTypeMap.contains(type)) - { - if (type_idx >= 0) - { - const QCString dbus_type(attributes.value(type_idx).utf8()); - if (dbus_type != m_namedTypeMap[type]) - { - DOC_ERROR(QString("Type \"%1\" does not match up with " - "previous definition of named type \"%2\" (which was \"%3\"."). - arg(dbus_type). - arg(type). - arg(m_namedTypeMap[type])); - } - } - return type; - } - - DOC_ERROR(QString("Undefined named type \"%1\" used.").arg(type)); - } - - if (type_idx >= 0) - { - type = attributes.value(type_idx).utf8(); - - QRegExp reg_exp(QCString("(a?[ybnqiuxdtsogv]|a[{]sv[}])")); - if (reg_exp.match(type.data())) - { return type; } - - DOC_ERROR(QString("Unnamed complex D-Bus type \"%1\" found.").arg(type)); - } - - return QString(); - } - - QString getDBusType(const QCString & type) - { - QCString scoped_type = type; - if (!scoped_type.contains("::")) - { scoped_type = getCurrentScope(type); } - - if (m_namedTypeMap.contains(scoped_type)) - { return m_namedTypeMap[scoped_type]; } - else - { return type; } - } - - void addNamedType(const QCString &type) - { - QCString scoped_name(getCurrentScope()); - - if (m_namedTypeMap.contains(scoped_name)) - { - DOC_ERROR(QString("Named type \"%1\" is already defined.").arg(scoped_name)); - return; - } - - m_namedTypeMap.insert(scoped_name, type); - } - - QCString getCurrentScope(const QCString & type = QCString()) - { - QCString scoped_name; - if (!m_scopeStack.isEmpty()) - { - scoped_name = m_scopeStack.getLast()->scope->name; - scoped_name.append("::"); - } - if (!type.isEmpty()) - { scoped_name.append(type); } - else - { scoped_name = scoped_name.left(scoped_name.length() - 2); } - - return scoped_name; - } - - int indexOf(const QXmlAttributes & attributes, const QString & name, - const QString & type = "CDATA", const bool mandatory = true) - { - const int idx(attributes.index(name)); - if (idx < 0 || idx > attributes.length()) { return -1; } - if (attributes.type(idx) != type) { return -1; } - if (mandatory && attributes.value(idx).isEmpty()) { return -1; } - - return idx; - } - - Entry * createEntry() - { - Entry * entry = new Entry(); - - entry->protection = Public ; - entry->virt = Normal; - entry->stat = false; - entry->lang = SrcLangExt_XML; - entry->spec = 0; - - entry->fileName = m_fileName; - entry->startLine = lineNumber(); - entry->bodyLine = lineNumber(); - - initGroupInfo(entry); - - m_currentEntry = entry; - - handleComment(); - - return entry; - } - - void openScopes(Entry * object) - { - int cur_scope_separator_pos = 0; - int last_scope_separator_pos = 0; - while (0 <= (cur_scope_separator_pos = object->name.find("::", last_scope_separator_pos))) - { - QString scope = object->name.mid(last_scope_separator_pos, - cur_scope_separator_pos - last_scope_separator_pos); - last_scope_separator_pos = cur_scope_separator_pos + 2; - - Entry * current_namespace = openNamespace(scope); - - if (!m_scopeStack.isEmpty()) - { m_scopeStack.getLast()->scope->addSubEntry(current_namespace); } - - m_scopeStack.append(new ScopeData(current_namespace, m_scopeCount)); - } - - QCString scoped_name(getCurrentScope()); - if (!scoped_name.isEmpty()) - { scoped_name.append("::"); } - scoped_name.append(object->name.mid(last_scope_separator_pos)); - - object->name = scoped_name; - - if (!m_scopeStack.isEmpty()) - { m_scopeStack.getLast()->scope->addSubEntry(object); } - m_scopeStack.append(new ScopeData(object, m_scopeCount)); - - ++m_scopeCount; - } - - Entry * openNamespace(const QString & name) - { - Entry * current_namespace = createEntry(); - QCString scoped_name(getCurrentScope()); - if (!scoped_name.isEmpty()) - { scoped_name.append("::"); } - scoped_name.append(name.utf8()); - current_namespace->name = scoped_name; - current_namespace->section = Entry::NAMESPACE_SEC; - current_namespace->type = "namespace" ; - - return current_namespace; - } - - void closeScopes() - { - const int current_scope_count(m_scopeStack.getLast()->count); - - // Do not close the root scope. - if (current_scope_count == 0) - { return; } - - while (current_scope_count == m_scopeStack.getLast()->count) - { m_scopeStack.removeLast(); } - } - - ParserInterface * m_parser; - - QXmlLocator m_locator; - QCString m_currentNode; // Nodes can not be nested, no entry necessary. - - struct ElementData - { - ElementData(const QCString & e) : - element(e) - { } - ~ElementData() { } - - QCString element; //*< The element name - QCString text; //*< The actual xml code. - }; - QList m_elementStack; - - Entry * m_currentEntry; // The currently open entry. - - Entry * m_currentInterface; // Interfaces can not be nested. - Entry * m_currentMethod; // Methods can not be nested. - Argument * m_currentArgument; // Arguments can not be nested. - Entry * m_currentProperty; // Properties can not be nested. - Entry * m_currentEnum; // Enums can not be nested. - QList m_namespaceStack; - - struct StructData - { - StructData(Entry * e) : entry(e) { } - ~StructData() { } - - QCString type; - Entry * entry; - }; - QList m_structStack; // Structs can be nested. - - struct ScopeData - { - ScopeData(Entry * s, int c) : - scope(s), - count(c) - { } - ~ScopeData() { } - - Entry * scope; - int count; - }; - QList m_scopeStack; // Scopes are nested. - - QCString m_fileName; - - struct CommentData - { - CommentData(const QCString & f, const int l, const QCString & t) : - isJavaStyle(false), - isQtStyle(false), - line(l), - fileName(f) - { - isJavaStyle = t.length()>0 && t.at(0)=='*'; - isQtStyle = t.length()>0 && t.at(0)=='!'; - shouldIgnore = (!isJavaStyle && !isQtStyle); - associateWithPrevious = (t.length()>1 && t.at(1)=='<'); - if (associateWithPrevious) - { text = t.mid(2); } - else - { text = t.mid(1); } - } - ~CommentData() { } - - QCString text; - bool isJavaStyle; - bool isQtStyle; - bool shouldIgnore; - bool associateWithPrevious; - int line; - QCString fileName; - }; - CommentData * m_currentComment; - - int m_scopeCount; //*< unique scope id. - - QString m_errorString; - - QMap m_namedTypeMap; -}; - -// ----------------------------------------------------------------------- -// DBusXMLScanner -// ----------------------------------------------------------------------- - -DBusXMLScanner::DBusXMLScanner() -{ } - -DBusXMLScanner::~DBusXMLScanner() -{ } - -void DBusXMLScanner::parseInput(const char * fileName, - const char * /* fileBuf */, - Entry *root, - bool /*sameTranslationUnit*/, - QStrList & /*filesInSameTranslationUnit*/) -{ - QFile inputFile(fileName); - - QXmlInputSource inputSource(inputFile); - QXmlSimpleReader reader; - - DBusXMLHandler handler(this, &reader, fileName, root); - reader.setContentHandler(&handler); - reader.setErrorHandler(&handler); - reader.setLexicalHandler(&handler); - - groupEnterFile(fileName, 1); - handler.setSection(); - reader.parse(inputSource); - - if (!handler.errorString().isEmpty()) - { err("DBus XML Parser: Error at line %d: %s\n", - handler.locator()->lineNumber(),handler.errorString().utf8().data()); } - - groupLeaveFile(fileName, 1); -} - -bool DBusXMLScanner::needsPreprocessing(const QCString & /* extension */) -{ return (false); } - -void DBusXMLScanner::parseCode(CodeOutputInterface & codeOutIntf, - const char * scopeName, - const QCString & input, - SrcLangExt /*lang*/, - bool isExampleBlock, - const char * exampleName, - FileDef * fileDef, - int startLine, - int endLine, - bool inlineFragment, - MemberDef * memberDef, - bool showLineNumbers, - Definition * searchCtx, - bool collectXRefs ) -{ - parseXmlCode(codeOutIntf,scopeName,input,isExampleBlock,exampleName, - fileDef,startLine,endLine,inlineFragment,memberDef, - showLineNumbers,searchCtx,collectXRefs); -} - -void DBusXMLScanner::resetCodeParserState() -{ - resetXmlCodeParserState(); -} - -void DBusXMLScanner::parsePrototype(const char * /* text */) -{ } diff --git a/src/dbusxmlscanner.h b/src/dbusxmlscanner.h deleted file mode 100644 index e1504e9..0000000 --- a/src/dbusxmlscanner.h +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * - * - * - * Copyright (C) 2009 by Tobias Hunger - * - * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software - * for any purpose. It is provided "as is" without express or implied warranty. - * See the GNU General Public License for more details. - * - * Documents produced by Doxygen are derivative works derived from the - * input used in their production; they are not affected by this license. - * - */ - -#ifndef SCANNER_DBUSXML_H -#define SCANNER_DBUSXML_H - -#include "parserintf.h" - -/** D-Bus XML parser. - * - * This is the D-Bus XML parser for doxygen. - */ -class DBusXMLScanner : public ParserInterface -{ -public: - DBusXMLScanner(); - virtual ~DBusXMLScanner(); - void startTranslationUnit(const char *) {} - void finishTranslationUnit() {} - void parseInput(const char *fileName, - const char *fileBuf, - Entry *root, - bool sameTranslationUnit, - QStrList &filesInSameTranslationUnit); - - bool needsPreprocessing(const QCString &extension); - - void parseCode(CodeOutputInterface &codeOutIntf, - const char *scopeName, - const QCString &input, - SrcLangExt lang, - bool isExampleBlock, - const char *exampleName=0, - FileDef *fileDef=0, - int startLine=-1, - int endLine=-1, - bool inlineFragment=FALSE, - MemberDef *memberDef=0, - bool showLineNumbers=TRUE, - Definition *searchCtx=0, - bool collectXRefs=TRUE - ); - - void resetCodeParserState(); - - void parsePrototype(const char *text); - -private: -}; - -#endif diff --git a/src/doxygen.cpp b/src/doxygen.cpp index c3d2063..20d12a8 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -72,7 +72,7 @@ #include "htags.h" #include "pyscanner.h" #include "fortranscanner.h" -#include "dbusxmlscanner.h" +#include "xmlscanner.h" #include "tclscanner.h" #include "code.h" #include "objcache.h" @@ -10010,7 +10010,7 @@ void initDoxygen() Doxygen::parserManager->registerParser("fortranfree", new FortranLanguageScannerFree); Doxygen::parserManager->registerParser("fortranfixed", new FortranLanguageScannerFixed); Doxygen::parserManager->registerParser("vhdl", new VHDLLanguageScanner); - Doxygen::parserManager->registerParser("dbusxml", new DBusXMLScanner); + Doxygen::parserManager->registerParser("xml", new XMLScanner); Doxygen::parserManager->registerParser("tcl", new TclLanguageScanner); Doxygen::parserManager->registerParser("md", new MarkdownFileParser); @@ -11396,6 +11396,9 @@ void generateOutput() * Initialize output generators * **************************************************************************/ + /// add extra languages for which we can only produce syntax highlighted code + addCodeOnlyMappings(); + //// dump all symbols if (g_dumpSymbolMap) { diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in index f76d862..3680f97 100644 --- a/src/libdoxygen.pro.in +++ b/src/libdoxygen.pro.in @@ -94,7 +94,7 @@ HEADERS = arguments.h \ pyscanner.h \ fortrancode.h \ fortranscanner.h \ - dbusxmlscanner.h \ + xmlscanner.h \ qhp.h \ qhpxmlwriter.h \ reflist.h \ @@ -135,7 +135,6 @@ SOURCES = arguments.cpp \ condparser.cpp \ context.cpp \ cppvalue.cpp \ - dbusxmlscanner.cpp \ debug.cpp \ defgen.cpp \ define.cpp \ diff --git a/src/util.cpp b/src/util.cpp index 1a44a38..8a91fb0 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -6781,7 +6781,7 @@ g_lang2extMap[] = { "fortranfree", "fortranfree", SrcLangExt_Fortran }, { "fortranfixed", "fortranfixed", SrcLangExt_Fortran }, { "vhdl", "vhdl", SrcLangExt_VHDL }, - { "dbusxml", "dbusxml", SrcLangExt_XML }, + { "xml", "xml", SrcLangExt_XML }, { "tcl", "tcl", SrcLangExt_Tcl }, { "md", "md", SrcLangExt_Markdown }, { 0, 0, (SrcLangExt)0 } @@ -6875,8 +6875,11 @@ void initDefaultExtensionMapping() updateLanguageMapping(".qsf", "vhdl"); updateLanguageMapping(".md", "md"); updateLanguageMapping(".markdown", "md"); +} - updateLanguageMapping(".xml", "dbusxml"); +void addCodeOnlyMappings() +{ + updateLanguageMapping(".xml", "xml"); } SrcLangExt getLanguageFromFileName(const QCString fileName) diff --git a/src/util.h b/src/util.h index c5179d6..43d8752 100644 --- a/src/util.h +++ b/src/util.h @@ -376,6 +376,7 @@ QCString stripLeadingAndTrailingEmptyLines(const QCString &s,int &docLine); bool updateLanguageMapping(const QCString &extension,const QCString &parser); SrcLangExt getLanguageFromFileName(const QCString fileName); void initDefaultExtensionMapping(); +void addCodeOnlyMappings(); MemberDef *getMemberFromSymbol(Definition *scope,FileDef *fileScope, const char *n); diff --git a/src/xmlcode.l b/src/xmlcode.l index ebba910..772f919 100644 --- a/src/xmlcode.l +++ b/src/xmlcode.l @@ -234,7 +234,7 @@ namestart [A-Za-z\200-\377_] namechar [:A-Za-z\200-\377_0-9.-] esc "&#"[0-9]+";"|"&#x"[0-9a-fA-F]+";" name {namestart}{namechar}* -comment {open}"!!--"([^-]|"-"[^-])*"--"{close} +comment {open}"!--"([^-]|"-"[^-])*"--"{close} data "random string" string \"([^"&]|{esc})*\"|\'([^'&]|{esc})*\' @@ -299,8 +299,8 @@ string \"([^"&]|{esc})*\"|\'([^'&]|{esc})*\' } {comment} { // Strip off the extra '!' - yytext++; // < - *yytext = '<'; // replace '!' with '<' + // yytext++; // < + // *yytext = '<'; // replace '!' with '<' startFontClass("comment"); codifyLines(yytext); diff --git a/src/xmlscanner.h b/src/xmlscanner.h new file mode 100644 index 0000000..6053b96 --- /dev/null +++ b/src/xmlscanner.h @@ -0,0 +1,65 @@ +/****************************************************************************** + * + * Copyright (C) 1997-2015 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + * Documents produced by Doxygen are derivative works derived from the + * input used in their production; they are not affected by this license. + * + */ + +#ifndef XMLSCANNER_H +#define XMLSCANNER_H + +#include "parserintf.h" +#include "xmlcode.h" + +/** XML scanner. Only support syntax highlighting of code at the moment. + */ +class XMLScanner : public ParserInterface +{ +public: + XMLScanner() {} + virtual ~XMLScanner() {} + void startTranslationUnit(const char *) {} + void finishTranslationUnit() {} + void parseInput(const char *, const char *, Entry *, bool , QStrList &) {} + bool needsPreprocessing(const QCString &) { return FALSE; } + + void parseCode(CodeOutputInterface &codeOutIntf, + const char *scopeName, + const QCString &input, + SrcLangExt, + bool isExampleBlock, + const char *exampleName=0, + FileDef *fileDef=0, + int startLine=-1, + int endLine=-1, + bool inlineFragment=FALSE, + MemberDef *memberDef=0, + bool showLineNumbers=TRUE, + Definition *searchCtx=0, + bool collectXRefs=TRUE + ) + { + parseXmlCode(codeOutIntf,scopeName,input,isExampleBlock,exampleName, + fileDef,startLine,endLine,inlineFragment,memberDef, + showLineNumbers,searchCtx,collectXRefs); + } + + void resetCodeParserState() + { + resetXmlCodeParserState(); + } + + void parsePrototype(const char *) {} + +private: +}; + +#endif diff --git a/winbuild/Doxygen.vcproj b/winbuild/Doxygen.vcproj index 0c68a63..94dfc3f 100644 --- a/winbuild/Doxygen.vcproj +++ b/winbuild/Doxygen.vcproj @@ -618,10 +618,6 @@ > - - @@ -876,6 +872,7 @@ + @@ -1161,6 +1158,7 @@ + @@ -4376,7 +4374,7 @@ > + -- cgit v0.12 From efd55ae1787f8f7ec35761849dc7cfd3175f8b33 Mon Sep 17 00:00:00 2001 From: albert-github Date: Sun, 19 Apr 2015 12:25:55 +0200 Subject: Remove wrong Remove superfluous --- winbuild/Doxygen.vcproj | 1 - 1 file changed, 1 deletion(-) diff --git a/winbuild/Doxygen.vcproj b/winbuild/Doxygen.vcproj index 94dfc3f..3d0b2ba 100644 --- a/winbuild/Doxygen.vcproj +++ b/winbuild/Doxygen.vcproj @@ -5001,7 +5001,6 @@ RelativePath="..\vhdlparser\vhdlstring.h" > - -- cgit v0.12 From 2c679e7d39144dadef2e9fd25772f0e41586e18b Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 26 Apr 2015 12:40:31 +0200 Subject: Bug 746417 - Nested list in C# XML comments closes outer list prematurely --- src/docparser.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/docparser.cpp b/src/docparser.cpp index 7944bf7..f4261ac 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -3664,7 +3664,8 @@ int DocHtmlTable::parseXml() DBG(("DocHtmlTable::parseXml() end\n")); DocNode *n=g_nodeStack.pop(); ASSERT(n==this); - return retval==RetVal_EndTable ? RetVal_OK : retval; + tagId=Mappers::htmlTagMapper->map(g_token->name); + return tagId==XML_LIST && g_token->endTag ? RetVal_OK : retval; } /** Helper class to compute the grid for an HTML style table */ @@ -6237,9 +6238,9 @@ int DocPara::handleHtmlEndTag(const QCString &tagName) case XML_REMARKS: case XML_PARA: case XML_VALUE: - case XML_LIST: case XML_EXAMPLE: case XML_PARAM: + case XML_LIST: case XML_TYPEPARAM: case XML_RETURNS: case XML_SEE: -- cgit v0.12 From 3eed7a5c5b330736b508c722c9614c774a678ef1 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 27 Apr 2015 21:04:45 +0200 Subject: Various VHDL related fixes --- src/vhdldocgen.cpp | 13 + vhdlparser/VhdlParser.cc | 58 +- vhdlparser/VhdlParser.h | 3900 +++++++++++++++++----------------- vhdlparser/VhdlParserTokenManager.cc | 272 +-- vhdlparser/VhdlParserTokenManager.h | 4 +- vhdlparser/vhdlparser.jj | 72 +- 6 files changed, 2198 insertions(+), 2121 deletions(-) diff --git a/src/vhdldocgen.cpp b/src/vhdldocgen.cpp index 2b92d40..029d0bd 100644 --- a/src/vhdldocgen.cpp +++ b/src/vhdldocgen.cpp @@ -2212,6 +2212,19 @@ void VhdlDocGen::writeVHDLDeclaration(MemberDef* mdef,OutputList &ol, ol.insertMemberAlign(); VhdlDocGen::formatString(ltype,ol,mdef); break; + case VhdlDocGen::RECORD: + case VhdlDocGen::UNITS: + writeLink(mdef,ol); + ol.docify(" "); + ol.startBold(); + if (ltype.isEmpty()) { + ol.docify(" "); + } + ol.insertMemberAlign(); + if (!ltype.isEmpty()) + VhdlDocGen::formatString(ltype,ol,mdef); + ol.endBold(); + break; case VhdlDocGen::TYPE: bRec=largs.stripPrefix("record") ; bUnit=largs.stripPrefix("units") ; diff --git a/vhdlparser/VhdlParser.cc b/vhdlparser/VhdlParser.cc index c695c93..949f227 100644 --- a/vhdlparser/VhdlParser.cc +++ b/vhdlparser/VhdlParser.cc @@ -1673,7 +1673,7 @@ assert(false); QCString VhdlParser::choice() {QCString s; if (jj_2_10(2147483647)) {if (!hasError) { - s = simple_expression(); + s = discrete_range(); } if (!hasError) { @@ -1682,7 +1682,7 @@ return s; } else if (jj_2_11(2147483647)) {if (!hasError) { - s = discrete_range(); + s = simple_expression(); } if (!hasError) { @@ -1998,7 +1998,7 @@ return s; } if (!hasError) { -return s; +return s+"#"; } break; @@ -2960,7 +2960,9 @@ QCString VhdlParser::element_declaration() {QCString s,s1;if (!hasError) { jj_consume_token(SEMI_T); } -return s+":"+s1; +addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s1.data(),Public); + //addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public); + return s+":"+s1; assert(false); } @@ -4411,7 +4413,7 @@ assert(false); } -QCString VhdlParser::full_type_declaration() {QCString s,s1,s2;if (!hasError) { +QCString VhdlParser::full_type_declaration() {Entry *tmpEntry;QCString s,s1,s2;if (!hasError) { jj_consume_token(TYPE_T); } @@ -4425,6 +4427,11 @@ QCString VhdlParser::full_type_declaration() {QCString s,s1,s2;if (!hasError) { } if (!hasError) { +tmpEntry=current; + addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,0,Public); + } + if (!hasError) { + try {if (!hasError) { s2 = type_definition(); @@ -4439,8 +4446,25 @@ error_skipto(SEMI_T); jj_consume_token(SEMI_T); } -addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::TYPE,0,s2.data(),Public); - return "type "+s+" is "+s2+";"; +if (s2.contains("#")) { + VhdlDocGen::deleteAllChars(s2,'#'); + tmpEntry->spec=VhdlDocGen::RECORD; + tmpEntry->type=s2.data(); + //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s2.data(),Public); + } + else if (s2.contains("%")) { + VhdlDocGen::deleteAllChars(s2,'%'); + tmpEntry->spec=VhdlDocGen::UNITS; + tmpEntry->type=s2.data(); + //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,s2.data(),s2.data(),Public); + } + else { + tmpEntry->spec=VhdlDocGen::TYPE; + tmpEntry->type=s2.data(); + //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::TYPE,0,s2.data(),Public); + } + tmpEntry=0; + return "type "+s+" is "+s2+";"; assert(false); } @@ -7171,6 +7195,10 @@ QCString VhdlParser::physical_type_definition() {QCString s,s1,s2;if (!hasError) } if (!hasError) { +addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,0,Public); + } + if (!hasError) { + while (!hasError) { switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { case BASIC_IDENTIFIER: @@ -7185,10 +7213,6 @@ QCString VhdlParser::physical_type_definition() {QCString s,s1,s2;if (!hasError) s1 = secondary_unit_declaration(); } - if (!hasError) { - -s2+=s1;s2+="#"; - } } end_label_31: ; @@ -7220,10 +7244,7 @@ s2+=s1;s2+="#"; } } -current->args=s2; - current->args.prepend("units"); - current->spec=VhdlDocGen::UNITS; - return s2; +return s+"%"; assert(false); } @@ -8352,7 +8373,7 @@ return s; } if (!hasError) { -s+=" ";s+=s1;return s; +return s+" "+s1+"%"; } break; @@ -8407,7 +8428,10 @@ QCString VhdlParser::secondary_unit_declaration() {QCString s,s1;if (!hasError) jj_consume_token(SEMI_T); } -return s+"="+s1; +//printf("\n %s %s [%d]",s.data(),s1.data(),getLine()); + addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,s1.data(),Public); + + return s+"="+s1; assert(false); } diff --git a/vhdlparser/VhdlParser.h b/vhdlparser/VhdlParser.h index 91bf32d..1c4c73d 100644 --- a/vhdlparser/VhdlParser.h +++ b/vhdlparser/VhdlParser.h @@ -1490,74 +1490,6 @@ void parseInline(); { jj_save(113, xla); } } - inline bool jj_3R_257() - { - if (jj_done) return true; - if (jj_3R_366()) return true; - return false; - } - - inline bool jj_3R_256() - { - if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; - return false; - } - - inline bool jj_3R_122() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_256()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_257()) jj_scanpos = xsp; - if (jj_scan_token(LOOP_T)) 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_628()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; - return false; - } - - inline bool jj_3_45() - { - if (jj_done) return true; - if (jj_3R_96()) return true; - return false; - } - - inline bool jj_3_44() - { - 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_scan_token(NULL_T)) return true; - return false; - } - - inline bool jj_3_43() - { - if (jj_done) return true; - if (jj_3R_94()) return true; - return false; - } - - inline bool jj_3R_231() - { - if (jj_done) return true; - if (jj_3R_355()) return true; - return false; - } - inline bool jj_3R_230() { if (jj_done) return true; @@ -1817,7 +1749,7 @@ void parseInline(); { if (jj_done) return true; if (jj_scan_token(COMMA_T)) return true; - if (jj_3R_68()) return true; + if (jj_3R_67()) return true; return false; } @@ -1908,7 +1840,7 @@ void parseInline(); inline bool jj_3_37() { if (jj_done) return true; - if (jj_3R_68()) return true; + if (jj_3R_67()) return true; return false; } @@ -1922,15 +1854,6 @@ void parseInline(); return false; } - inline bool jj_3R_154() - { - if (jj_done) 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_425() { if (jj_done) return true; @@ -1944,6 +1867,15 @@ void parseInline(); return false; } + inline bool jj_3R_154() + { + if (jj_done) 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_621() { if (jj_done) return true; @@ -1954,7 +1886,7 @@ void parseInline(); inline bool jj_3R_620() { if (jj_done) return true; - if (jj_3R_68()) return true; + if (jj_3R_67()) return true; return false; } @@ -1974,7 +1906,7 @@ void parseInline(); { if (jj_done) return true; if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_68()) return true; + if (jj_3R_67()) return true; Token * xsp; while (true) { xsp = jj_scanpos; @@ -2079,6 +2011,17 @@ void parseInline(); return false; } + 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_519()) jj_scanpos = xsp; + return false; + } + inline bool jj_3R_163() { if (jj_done) return true; @@ -2098,30 +2041,19 @@ void parseInline(); return false; } - inline bool jj_3R_544() - { - if (jj_done) return true; - if (jj_scan_token(COMMA_T)) return true; - if (jj_3R_543()) return true; - return false; - } - - inline bool jj_3R_423() + inline bool jj_3_114() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_scan_token(77)) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_519()) jj_scanpos = xsp; + if (jj_3R_58()) return true; + if (jj_scan_token(WHEN_T)) return true; return false; } - inline bool jj_3_114() + inline bool jj_3R_544() { if (jj_done) return true; - if (jj_3R_58()) return true; - if (jj_scan_token(WHEN_T)) return true; + if (jj_scan_token(COMMA_T)) return true; + if (jj_3R_543()) return true; return false; } @@ -2168,6 +2100,14 @@ void parseInline(); return false; } + inline bool jj_3R_545() + { + if (jj_done) return true; + if (jj_scan_token(WHEN_T)) return true; + if (jj_3R_58()) return true; + return false; + } + inline bool jj_3R_382() { if (jj_done) return true; @@ -2182,14 +2122,6 @@ void parseInline(); return false; } - inline bool jj_3R_545() - { - if (jj_done) return true; - if (jj_scan_token(WHEN_T)) return true; - if (jj_3R_58()) return true; - return false; - } - inline bool jj_3R_304() { if (jj_done) return true; @@ -2197,18 +2129,6 @@ void parseInline(); return false; } - inline bool jj_3R_474() - { - if (jj_done) return true; - if (jj_3R_543()) return true; - Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_544()) { jj_scanpos = xsp; break; } - } - return false; - } - inline bool jj_3R_424() { if (jj_done) return true; @@ -2237,6 +2157,18 @@ void parseInline(); return false; } + inline bool jj_3R_474() + { + if (jj_done) return true; + if (jj_3R_543()) return true; + Token * xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_544()) { jj_scanpos = xsp; break; } + } + return false; + } + inline bool jj_3R_607() { if (jj_done) return true; @@ -2244,6 +2176,14 @@ void parseInline(); return false; } + inline bool jj_3R_303() + { + if (jj_done) return true; + if (jj_3R_58()) return true; + if (jj_3R_384()) return true; + return false; + } + inline bool jj_3R_606() { if (jj_done) return true; @@ -2263,6 +2203,15 @@ void parseInline(); return false; } + inline bool jj_3R_342() + { + if (jj_done) return true; + if (jj_scan_token(PROCEDURE_T)) return true; + if (jj_3R_69()) return true; + if (jj_3R_423()) return true; + return false; + } + inline bool jj_3R_70() { if (jj_done) return true; @@ -2274,23 +2223,6 @@ void parseInline(); return false; } - inline bool jj_3R_303() - { - if (jj_done) return true; - if (jj_3R_58()) return true; - if (jj_3R_384()) return true; - return false; - } - - inline bool jj_3R_342() - { - if (jj_done) return true; - if (jj_scan_token(PROCEDURE_T)) return true; - if (jj_3R_69()) return true; - if (jj_3R_423()) return true; - return false; - } - inline bool jj_3R_170() { if (jj_done) return true; @@ -2342,17 +2274,6 @@ void parseInline(); return false; } - 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; @@ -2365,6 +2286,17 @@ void parseInline(); return false; } + 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_321() { if (jj_done) return true; @@ -2373,42 +2305,42 @@ void parseInline(); return false; } - inline bool jj_3R_168() + inline bool jj_3R_383() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_320()) { + if (jj_scan_token(53)) { jj_scanpos = xsp; - if (jj_3R_321()) return true; + if (jj_scan_token(75)) return true; } return false; } - inline bool jj_3R_320() + inline bool jj_3R_446() { if (jj_done) return true; - if (jj_scan_token(FOR_T)) return true; - if (jj_3R_407()) return true; + if (jj_3R_404()) return true; return false; } - inline bool jj_3R_383() + inline bool jj_3R_168() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(53)) { + if (jj_3R_320()) { jj_scanpos = xsp; - if (jj_scan_token(75)) return true; + if (jj_3R_321()) return true; } return false; } - inline bool jj_3R_446() + inline bool jj_3R_320() { if (jj_done) return true; - if (jj_3R_404()) return true; + if (jj_scan_token(FOR_T)) return true; + if (jj_3R_407()) return true; return false; } @@ -2427,31 +2359,7 @@ void parseInline(); return false; } - inline bool jj_3R_462() - { - if (jj_done) return true; - if (jj_3R_533()) return true; - return false; - } - - inline bool jj_3R_74() - { - if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; - if (jj_3R_168()) return true; - if (jj_scan_token(GENERATE_T)) 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_170()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; - return false; - } - - inline bool jj_3R_305() + inline bool jj_3R_305() { if (jj_done) return true; if (jj_3R_58()) return true; @@ -2470,20 +2378,27 @@ void parseInline(); return false; } - inline bool jj_3R_302() + inline bool jj_3R_74() { if (jj_done) return true; - if (jj_3R_383()) return true; + if (jj_3R_69()) return true; + if (jj_scan_token(COLON_T)) return true; + if (jj_3R_168()) return true; + if (jj_scan_token(GENERATE_T)) 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_170()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_104() + inline bool jj_3R_302() { if (jj_done) 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; + if (jj_3R_383()) return true; return false; } @@ -2495,6 +2410,16 @@ void parseInline(); return false; } + inline bool jj_3R_104() + { + if (jj_done) 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_3R_144() { if (jj_done) return true; @@ -2520,15 +2445,6 @@ void parseInline(); return false; } - inline bool jj_3R_156() - { - if (jj_done) 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_368() { if (jj_done) return true; @@ -2561,17 +2477,6 @@ void parseInline(); return false; } - inline bool jj_3R_136() - { - if (jj_done) return true; - if (jj_scan_token(TYPE_T)) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(IS_T)) return true; - if (jj_3R_576()) return true; - if (jj_scan_token(SEMI_T)) return true; - return false; - } - inline bool jj_3R_574() { if (jj_done) return true; @@ -2599,13 +2504,10 @@ void parseInline(); return false; } - inline bool jj_3R_63() + inline bool jj_3R_462() { if (jj_done) return true; - if (jj_3R_59()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_156()) jj_scanpos = xsp; + if (jj_3R_533()) return true; return false; } @@ -2638,39 +2540,6 @@ void parseInline(); return false; } - 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_311() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_396()) { - jj_scanpos = xsp; - if (jj_3R_397()) return true; - } - return false; - } - - inline bool jj_3R_396() - { - if (jj_done) return true; - if (jj_3R_59()) return true; - return false; - } - inline bool jj_3R_270() { if (jj_done) return true; @@ -2697,6 +2566,15 @@ void parseInline(); return false; } + inline bool jj_3R_156() + { + if (jj_done) 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_143() { if (jj_done) return true; @@ -2714,12 +2592,14 @@ void parseInline(); return false; } - inline bool jj_3R_656() + inline bool jj_3R_136() { if (jj_done) return true; - if (jj_scan_token(FILE_T)) return true; - if (jj_scan_token(OF_T)) return true; - if (jj_3R_157()) return true; + if (jj_scan_token(TYPE_T)) return true; + if (jj_3R_69()) return true; + if (jj_scan_token(IS_T)) return true; + if (jj_3R_576()) return true; + if (jj_scan_token(SEMI_T)) return true; return false; } @@ -2748,22 +2628,13 @@ void parseInline(); return false; } - inline bool jj_3R_579() - { - if (jj_done) return true; - if (jj_scan_token(OPEN_T)) return true; - if (jj_3R_58()) return true; - return false; - } - - inline bool jj_3R_533() + inline bool jj_3R_63() { if (jj_done) return true; + if (jj_3R_59()) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_579()) jj_scanpos = xsp; - if (jj_scan_token(IS_T)) return true; - if (jj_3R_580()) return true; + if (jj_3R_156()) jj_scanpos = xsp; return false; } @@ -2784,6 +2655,13 @@ void parseInline(); return false; } + inline bool jj_3R_569() + { + if (jj_done) return true; + if (jj_3R_312()) return true; + return false; + } + inline bool jj_3R_268() { if (jj_done) return true; @@ -2791,37 +2669,48 @@ void parseInline(); return false; } - inline bool jj_3R_580() + inline bool jj_3R_397() { if (jj_done) return true; - if (jj_3R_58()) return true; + if (jj_scan_token(INTEGER)) return true; return false; } - inline bool jj_3R_126() + inline bool jj_3R_311() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_267()) { + if (jj_3R_396()) { jj_scanpos = xsp; - if (jj_3R_268()) return true; + if (jj_3R_397()) return true; } return false; } - inline bool jj_3R_267() + inline bool jj_3R_396() { if (jj_done) return true; - if (jj_3R_143()) return true; + if (jj_3R_59()) return true; return false; } - inline bool jj_3R_448() + inline bool jj_3R_126() { if (jj_done) return true; - if (jj_scan_token(DOUBLEMULT_T)) return true; - if (jj_3R_369()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_267()) { + jj_scanpos = xsp; + if (jj_3R_268()) return true; + } + return false; + } + + inline bool jj_3R_267() + { + if (jj_done) return true; + if (jj_3R_143()) return true; return false; } @@ -2862,244 +2751,193 @@ void parseInline(); return false; } - inline bool jj_3R_375() + inline bool jj_3R_656() { if (jj_done) return true; if (jj_scan_token(FILE_T)) return true; - if (jj_3R_196()) return true; - if (jj_scan_token(COLON_T)) return true; - if (jj_3R_84()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_462()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; - return false; - } - - inline bool jj_3R_263() - { - if (jj_done) return true; - if (jj_3R_69()) return true; + if (jj_scan_token(OF_T)) return true; + if (jj_3R_157()) return true; return false; } - inline bool jj_3R_283() + inline bool jj_3R_579() { if (jj_done) return true; - if (jj_scan_token(NOT_T)) return true; - if (jj_3R_369()) return true; + if (jj_scan_token(OPEN_T)) return true; + if (jj_3R_58()) return true; return false; } - inline bool jj_3R_282() + inline bool jj_3R_611() { if (jj_done) return true; - if (jj_scan_token(ABS_T)) return true; - if (jj_3R_369()) return true; + if (jj_3R_141()) return true; return false; } - inline bool jj_3R_135() + inline bool jj_3R_533() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_281()) { - jj_scanpos = xsp; - if (jj_3R_282()) { - jj_scanpos = xsp; - if (jj_3R_283()) return true; - } - } + if (jj_3R_579()) jj_scanpos = xsp; + if (jj_scan_token(IS_T)) return true; + if (jj_3R_580()) return true; return false; } - inline bool jj_3R_281() + inline bool jj_3R_142() { if (jj_done) return true; - if (jj_3R_369()) return true; + if (jj_3R_69()) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_448()) jj_scanpos = xsp; + if (jj_3R_301()) jj_scanpos = xsp; return false; } - inline bool jj_3R_611() + inline bool jj_3R_580() { if (jj_done) return true; - if (jj_3R_141()) return true; + if (jj_3R_58()) return true; return false; } - inline bool jj_3R_696() + inline bool jj_3R_639() { if (jj_done) return true; - if (jj_scan_token(COMMA_T)) return true; - if (jj_3R_96()) return true; + if (jj_scan_token(NEG_T)) return true; + if (jj_scan_token(DOT_T)) return true; return false; } - inline bool jj_3R_142() + inline bool jj_3R_610() { if (jj_done) return true; - if (jj_3R_69()) return true; Token * xsp; - xsp = jj_scanpos; - if (jj_3R_301()) jj_scanpos = xsp; + if (jj_3R_639()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_639()) { jj_scanpos = xsp; break; } + } return false; } - inline bool jj_3R_146() + inline bool jj_3R_448() { if (jj_done) return true; - if (jj_3R_308()) return true; - if (jj_3R_145()) return true; + if (jj_scan_token(DOUBLEMULT_T)) return true; + if (jj_3R_369()) return true; return false; } - inline bool jj_3R_393() + inline bool jj_3_108() { if (jj_done) 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(XOR_T)) return true; - return false; - } - - inline bool jj_3R_391() - { - if (jj_done) return true; - if (jj_scan_token(XNOR_T)) return true; - return false; - } - - inline bool jj_3R_639() - { - if (jj_done) return true; - if (jj_scan_token(NEG_T)) return true; if (jj_scan_token(DOT_T)) return true; + if (jj_3R_141()) return true; return false; } - inline bool jj_3R_390() - { - if (jj_done) return true; - if (jj_scan_token(NOR_T)) return true; - return false; - } - - inline bool jj_3R_610() + inline bool jj_3R_553() { if (jj_done) return true; + if (jj_3R_610()) return true; Token * xsp; - if (jj_3R_639()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_639()) { jj_scanpos = xsp; break; } - } + xsp = jj_scanpos; + if (jj_3R_611()) jj_scanpos = xsp; + if (jj_3R_69()) return true; return false; } - inline bool jj_3R_389() + inline bool jj_3R_375() { if (jj_done) return true; - if (jj_scan_token(NAND_T)) return true; + if (jj_scan_token(FILE_T)) return true; + if (jj_3R_196()) return true; + if (jj_scan_token(COLON_T)) return true; + if (jj_3R_84()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_462()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_308() + inline bool jj_3R_263() { 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()) { - jj_scanpos = xsp; - if (jj_3R_391()) { - jj_scanpos = xsp; - if (jj_3R_392()) { - jj_scanpos = xsp; - if (jj_3R_393()) return true; - } - } - } - } - } + if (jj_3R_69()) return true; return false; } - inline bool jj_3R_388() + inline bool jj_3R_609() { if (jj_done) return true; - if (jj_scan_token(AND_T)) return true; + if (jj_scan_token(DOT_T)) return true; + if (jj_3R_69()) return true; return false; } - inline bool jj_3_108() + inline bool jj_3R_283() { if (jj_done) return true; - if (jj_scan_token(DOT_T)) return true; - if (jj_3R_141()) return true; + if (jj_scan_token(NOT_T)) return true; + if (jj_3R_369()) return true; return false; } - inline bool jj_3R_553() + inline bool jj_3R_282() { if (jj_done) return true; - if (jj_3R_610()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_611()) jj_scanpos = xsp; - if (jj_3R_69()) return true; + if (jj_scan_token(ABS_T)) return true; + if (jj_3R_369()) return true; 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_141()) return true; if (jj_3R_69()) return true; return false; } - inline bool jj_3R_58() + inline bool jj_3R_552() { if (jj_done) return true; - if (jj_3R_145()) return true; Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_146()) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3R_608()) { + jj_scanpos = xsp; + if (jj_3R_609()) return true; } return false; } - inline bool jj_3R_608() + inline bool jj_3R_135() { if (jj_done) return true; - if (jj_scan_token(DOT_T)) return true; - if (jj_3R_141()) return true; - if (jj_3R_69()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_281()) { + jj_scanpos = xsp; + if (jj_3R_282()) { + jj_scanpos = xsp; + if (jj_3R_283()) return true; + } + } return false; } - inline bool jj_3R_552() + inline bool jj_3R_281() { if (jj_done) return true; + if (jj_3R_369()) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_608()) { - jj_scanpos = xsp; - if (jj_3R_609()) return true; - } + if (jj_3R_448()) jj_scanpos = xsp; return false; } @@ -3117,6 +2955,14 @@ void parseInline(); return false; } + inline bool jj_3R_696() + { + if (jj_done) return true; + if (jj_scan_token(COMMA_T)) return true; + if (jj_3R_96()) return true; + return false; + } + inline bool jj_3R_395() { if (jj_done) return true; @@ -3139,6 +2985,21 @@ void parseInline(); return false; } + inline bool jj_3R_146() + { + if (jj_done) 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(OR_T)) return true; + return false; + } + inline bool jj_3_105() { if (jj_done) return true; @@ -3146,19 +3007,17 @@ void parseInline(); return false; } - inline bool jj_3R_264() + inline bool jj_3R_392() { if (jj_done) return true; - if (jj_scan_token(WHEN_T)) return true; - if (jj_3R_79()) return true; + if (jj_scan_token(XOR_T)) return true; return false; } - inline bool jj_3R_262() + inline bool jj_3R_391() { if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; + if (jj_scan_token(XNOR_T)) return true; return false; } @@ -3169,6 +3028,13 @@ void parseInline(); return false; } + inline bool jj_3R_390() + { + if (jj_done) return true; + if (jj_scan_token(NOR_T)) return true; + return false; + } + inline bool jj_3R_484() { if (jj_done) return true; @@ -3176,93 +3042,88 @@ void parseInline(); return false; } - inline bool jj_3R_124() + inline bool jj_3R_389() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_262()) jj_scanpos = xsp; - if (jj_scan_token(EXIT_T)) return true; - xsp = jj_scanpos; - if (jj_3R_263()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_264()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; + if (jj_scan_token(NAND_T)) return true; return false; } - inline bool jj_3R_394() + inline bool jj_3R_308() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_483()) { + if (jj_3R_388()) { jj_scanpos = xsp; - if (jj_3R_484()) { + if (jj_3R_389()) { jj_scanpos = xsp; - if (jj_3R_485()) return true; + if (jj_3R_390()) { + jj_scanpos = xsp; + if (jj_3R_391()) { + jj_scanpos = xsp; + if (jj_3R_392()) { + jj_scanpos = xsp; + if (jj_3R_393()) return true; + } + } + } } } return false; } - inline bool jj_3R_483() + inline bool jj_3R_388() { if (jj_done) return true; - if (jj_scan_token(CONSTANT_T)) return true; + if (jj_scan_token(AND_T)) return true; return false; } - inline bool jj_3R_687() + inline bool jj_3R_394() { if (jj_done) return true; - if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_96()) return true; Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_696()) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3R_483()) { + jj_scanpos = xsp; + if (jj_3R_484()) { + jj_scanpos = xsp; + if (jj_3R_485()) return true; + } } - if (jj_scan_token(RPAREN_T)) return true; - return false; - } - - inline bool jj_3_107() - { - if (jj_done) return true; - if (jj_3R_140()) return true; return false; } - inline bool jj_3R_274() + inline bool jj_3R_483() { if (jj_done) return true; - if (jj_3R_132()) return true; + if (jj_scan_token(CONSTANT_T)) return true; return false; } - inline bool jj_3R_208() + inline bool jj_3_107() { if (jj_done) return true; - if (jj_3R_351()) return true; + if (jj_3R_140()) return true; return false; } - inline bool jj_3R_207() + inline bool jj_3R_274() { if (jj_done) return true; - if (jj_3R_69()) return true; + if (jj_3R_132()) return true; return false; } - inline bool jj_3R_96() + inline bool jj_3R_58() { if (jj_done) return true; + if (jj_3R_145()) return true; Token * xsp; - xsp = jj_scanpos; - if (jj_3R_207()) { - jj_scanpos = xsp; - if (jj_3R_208()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_146()) { jj_scanpos = xsp; break; } } return false; } @@ -3279,13 +3140,6 @@ void parseInline(); return false; } - inline bool jj_3R_694() - { - if (jj_done) return true; - if (jj_3R_351()) return true; - return false; - } - inline bool jj_3R_408() { if (jj_done) return true; @@ -3318,29 +3172,19 @@ void parseInline(); return false; } - inline bool jj_3R_693() + inline bool jj_3R_264() { if (jj_done) return true; - if (jj_3R_59()) return true; + if (jj_scan_token(WHEN_T)) return true; + if (jj_3R_79()) return true; return false; } - inline bool jj_3R_683() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_693()) { - jj_scanpos = xsp; - if (jj_3R_694()) return true; - } - return false; - } - - inline bool jj_3_36() + inline bool jj_3R_262() { 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; } @@ -3359,10 +3203,18 @@ void parseInline(); return false; } - inline bool jj_3_35() + inline bool jj_3R_124() { if (jj_done) return true; - if (jj_3R_87()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_262()) jj_scanpos = xsp; + if (jj_scan_token(EXIT_T)) return true; + xsp = jj_scanpos; + if (jj_3R_263()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_264()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; return false; } @@ -3381,6 +3233,20 @@ void parseInline(); return false; } + inline bool jj_3R_687() + { + if (jj_done) return true; + if (jj_scan_token(LPAREN_T)) return true; + if (jj_3R_96()) return true; + Token * xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_696()) { jj_scanpos = xsp; break; } + } + if (jj_scan_token(RPAREN_T)) return true; + return false; + } + inline bool jj_3R_138() { if (jj_done) return true; @@ -3399,6 +3265,32 @@ void parseInline(); return false; } + inline bool jj_3R_208() + { + if (jj_done) return true; + if (jj_3R_351()) return true; + return false; + } + + inline bool jj_3R_207() + { + if (jj_done) return true; + if (jj_3R_69()) return true; + return false; + } + + inline bool jj_3R_96() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_207()) { + jj_scanpos = xsp; + if (jj_3R_208()) return true; + } + return false; + } + inline bool jj_3R_651() { if (jj_done) return true; @@ -3424,33 +3316,29 @@ void parseInline(); return false; } - inline bool jj_3R_469() - { - if (jj_done) return true; - if (jj_3R_538()) return true; - if (jj_scan_token(COLON_T)) return true; - if (jj_3R_539()) return true; - return false; - } - - inline bool jj_3R_684() + inline bool jj_3R_694() { if (jj_done) return true; - if (jj_3R_233()) return true; + if (jj_3R_351()) return true; return false; } - inline bool jj_3R_584() + inline bool jj_3R_693() { if (jj_done) return true; - if (jj_scan_token(ALL_T)) return true; + if (jj_3R_59()) return true; return false; } - inline bool jj_3R_583() + inline bool jj_3R_683() { if (jj_done) return true; - if (jj_scan_token(OTHER_T)) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_693()) { + jj_scanpos = xsp; + if (jj_3R_694()) return true; + } return false; } @@ -3464,47 +3352,17 @@ void parseInline(); return false; } - inline bool jj_3R_637() - { - if (jj_done) return true; - if (jj_3R_658()) return true; - return false; - } - - inline bool jj_3R_582() - { - if (jj_done) return true; - Token * xsp; - if (jj_3R_637()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_637()) { jj_scanpos = xsp; break; } - } - return false; - } - - inline bool jj_3R_538() + inline bool jj_3_36() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_582()) { - jj_scanpos = xsp; - if (jj_3R_583()) { - jj_scanpos = xsp; - if (jj_3R_584()) return true; - } - } + if (jj_3R_88()) return true; return false; } - inline bool jj_3R_658() + inline bool jj_3_35() { if (jj_done) return true; - if (jj_3R_683()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_684()) jj_scanpos = xsp; + if (jj_3R_87()) return true; return false; } @@ -3529,32 +3387,67 @@ void parseInline(); return false; } - inline bool jj_3_32() + inline bool jj_3R_469() { if (jj_done) return true; - if (jj_3R_64()) return true; + if (jj_3R_538()) return true; + if (jj_scan_token(COLON_T)) return true; + if (jj_3R_539()) return true; return false; } - inline bool jj_3_34() + inline bool jj_3R_684() { if (jj_done) return true; - if (jj_3R_86()) return true; + if (jj_3R_233()) return true; return false; } - inline bool jj_3_33() + inline bool jj_3R_584() { if (jj_done) return true; - if (jj_3R_65()) return true; + if (jj_scan_token(ALL_T)) return true; return false; } - inline bool jj_3R_542() + inline bool jj_3R_583() { if (jj_done) return true; - if (jj_scan_token(COMMA_T)) return true; - if (jj_3R_541()) return true; + if (jj_scan_token(OTHER_T)) return true; + return false; + } + + inline bool jj_3R_637() + { + if (jj_done) return true; + if (jj_3R_658()) return true; + return false; + } + + inline bool jj_3R_582() + { + if (jj_done) return true; + Token * xsp; + if (jj_3R_637()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_637()) { jj_scanpos = xsp; break; } + } + return false; + } + + inline bool jj_3R_538() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_582()) { + jj_scanpos = xsp; + if (jj_3R_583()) { + jj_scanpos = xsp; + if (jj_3R_584()) return true; + } + } return false; } @@ -3574,6 +3467,16 @@ void parseInline(); return false; } + inline bool jj_3R_658() + { + if (jj_done) return true; + if (jj_3R_683()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_684()) jj_scanpos = xsp; + return false; + } + inline bool jj_3R_107() { if (jj_done) return true; @@ -3604,70 +3507,46 @@ void parseInline(); return false; } - inline bool jj_3R_605() + inline bool jj_3_32() { if (jj_done) return true; - if (jj_scan_token(BOX_T)) return true; + if (jj_3R_64()) return true; return false; } - inline bool jj_3R_348() + inline bool jj_3_34() { if (jj_done) return true; - if (jj_scan_token(ENTITY_T)) return true; - if (jj_3R_69()) return true; + if (jj_3R_86()) return true; return false; } - inline bool jj_3R_682() + inline bool jj_3_33() { if (jj_done) return true; - if (jj_3R_69()) return true; + if (jj_3R_65()) return true; return false; } - inline bool jj_3R_473() + inline bool jj_3R_542() { if (jj_done) return true; + if (jj_scan_token(COMMA_T)) return true; if (jj_3R_541()) return true; - Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_542()) { jj_scanpos = xsp; break; } - } - return false; - } - - inline bool jj_3R_253() - { - if (jj_done) return true; - if (jj_3R_365()) return true; - return false; - } - - inline bool jj_3R_541() - { - if (jj_done) return true; - if (jj_3R_539()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_605()) jj_scanpos = xsp; return false; } - inline bool jj_3R_619() + inline bool jj_3R_682() { if (jj_done) return true; - if (jj_scan_token(LPAREN_T)) return true; if (jj_3R_69()) return true; - if (jj_scan_token(RPAREN_T)) return true; return false; } - inline bool jj_3R_601() + inline bool jj_3R_253() { if (jj_done) return true; - if (jj_scan_token(FILE_T)) return true; + if (jj_3R_365()) return true; return false; } @@ -3679,10 +3558,10 @@ void parseInline(); return false; } - inline bool jj_3R_600() + inline bool jj_3R_605() { if (jj_done) return true; - if (jj_scan_token(GROUP_T)) return true; + if (jj_scan_token(BOX_T)) return true; return false; } @@ -3697,66 +3576,25 @@ void parseInline(); return false; } - inline bool jj_3R_599() + inline bool jj_3R_719() { if (jj_done) return true; - if (jj_scan_token(UNITS_T)) return true; + if (jj_3R_381()) return true; return false; } - inline bool jj_3R_598() + inline bool jj_3R_718() { if (jj_done) return true; - if (jj_scan_token(LITERAL_T)) return true; + if (jj_3R_378()) return true; return false; } - inline bool jj_3R_597() + inline bool jj_3R_348() { if (jj_done) return true; - if (jj_scan_token(LABEL_T)) return true; - return false; - } - - inline bool jj_3R_719() - { - if (jj_done) return true; - if (jj_3R_381()) return true; - return false; - } - - inline bool jj_3R_596() - { - if (jj_done) return true; - if (jj_scan_token(COMPONENT_T)) return true; - return false; - } - - inline bool jj_3R_718() - { - if (jj_done) return true; - if (jj_3R_378()) return true; - return false; - } - - inline bool jj_3R_595() - { - if (jj_done) return true; - if (jj_scan_token(VARIABLE_T)) return true; - return false; - } - - inline bool jj_3R_594() - { - if (jj_done) return true; - if (jj_scan_token(SIGNAL_T)) return true; - return false; - } - - inline bool jj_3R_593() - { - if (jj_done) return true; - if (jj_scan_token(CONSTANT_T)) return true; + if (jj_scan_token(ENTITY_T)) return true; + if (jj_3R_69()) return true; return false; } @@ -3782,269 +3620,212 @@ void parseInline(); return false; } - inline bool jj_3R_592() + inline bool jj_3R_473() { if (jj_done) return true; - if (jj_scan_token(SUBTYPE_T)) return true; + if (jj_3R_541()) return true; + Token * xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_542()) { jj_scanpos = xsp; break; } + } return false; } - inline bool jj_3R_591() + inline bool jj_3R_680() { if (jj_done) return true; - if (jj_scan_token(TYPE_T)) return true; + if (jj_3R_69()) return true; return false; } - inline bool jj_3R_590() + inline bool jj_3R_252() { if (jj_done) return true; - if (jj_scan_token(PACKAGE_T)) return true; + if (jj_3R_364()) return true; return false; } - inline bool jj_3R_589() + inline bool jj_3R_657() { if (jj_done) return true; - if (jj_scan_token(FUNCTION_T)) return true; + if (jj_scan_token(PROTECTED_T)) return true; + if (jj_3R_681()) return true; + if (jj_scan_token(END_T)) return true; + if (jj_scan_token(PROTECTED_T)) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_682()) jj_scanpos = xsp; return false; } - inline bool jj_3R_588() + inline bool jj_3R_541() { if (jj_done) return true; - if (jj_scan_token(PROCEDURE_T)) return true; + if (jj_3R_539()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_605()) jj_scanpos = xsp; return false; } - inline bool jj_3R_587() + inline bool jj_3R_691() { if (jj_done) return true; - if (jj_scan_token(CONFIGURATION_T)) return true; + if (jj_3R_701()) return true; return false; } - inline bool jj_3R_586() + inline bool jj_3R_619() { if (jj_done) return true; - if (jj_scan_token(ARCHITECTURE_T)) return true; + if (jj_scan_token(LPAREN_T)) return true; + if (jj_3R_69()) return true; + if (jj_scan_token(RPAREN_T)) return true; return false; } - inline bool jj_3R_680() + inline bool jj_3R_601() { if (jj_done) return true; - if (jj_3R_69()) return true; + if (jj_scan_token(FILE_T)) return true; return false; } - inline bool jj_3R_585() + inline bool jj_3_103() { if (jj_done) return true; - if (jj_scan_token(ENTITY_T)) return true; + if (jj_3R_64()) return true; return false; } - inline bool jj_3R_539() + inline bool jj_3R_679() { 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()) { - jj_scanpos = xsp; - if (jj_3R_588()) { - jj_scanpos = xsp; - if (jj_3R_589()) { - jj_scanpos = xsp; - if (jj_3R_590()) { - jj_scanpos = xsp; - if (jj_3R_591()) { - jj_scanpos = xsp; - if (jj_3R_592()) { - jj_scanpos = xsp; - if (jj_3R_593()) { - jj_scanpos = xsp; - if (jj_3R_594()) { - jj_scanpos = xsp; - if (jj_3R_595()) { - jj_scanpos = xsp; - if (jj_3R_596()) { - jj_scanpos = xsp; - if (jj_3R_597()) { - jj_scanpos = xsp; - if (jj_3R_598()) { - jj_scanpos = xsp; - if (jj_3R_599()) { - jj_scanpos = xsp; - if (jj_3R_600()) { - jj_scanpos = xsp; - if (jj_3R_601()) return true; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } + while (true) { + xsp = jj_scanpos; + if (jj_3R_691()) { jj_scanpos = xsp; break; } } return false; } - inline bool jj_3R_252() + inline bool jj_3R_600() { if (jj_done) return true; - if (jj_3R_364()) return true; + if (jj_scan_token(GROUP_T)) return true; return false; } - inline bool jj_3R_657() + inline bool jj_3R_599() { if (jj_done) return true; - if (jj_scan_token(PROTECTED_T)) return true; - if (jj_3R_681()) return true; - if (jj_scan_token(END_T)) return true; - if (jj_scan_token(PROTECTED_T)) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_682()) jj_scanpos = xsp; + if (jj_scan_token(UNITS_T)) return true; return false; } - inline bool jj_3R_563() + inline bool jj_3R_598() { if (jj_done) return true; - if (jj_scan_token(OPEN_T)) return true; + if (jj_scan_token(LITERAL_T)) return true; return false; } - inline bool jj_3R_562() + inline bool jj_3R_597() { if (jj_done) return true; - if (jj_scan_token(CONFIGURATION_T)) return true; - if (jj_3R_59()) return true; + if (jj_scan_token(LABEL_T)) return true; return false; } - inline bool jj_3R_691() + inline bool jj_3R_716() { if (jj_done) return true; - if (jj_3R_701()) return true; + if (jj_3R_382()) return true; return false; } - inline bool jj_3_103() + inline bool jj_3R_596() { if (jj_done) return true; - if (jj_3R_64()) return true; + if (jj_scan_token(COMPONENT_T)) return true; return false; } - inline bool jj_3R_679() + inline bool jj_3R_595() { if (jj_done) return true; - Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_691()) { jj_scanpos = xsp; break; } - } + if (jj_scan_token(VARIABLE_T)) return true; return false; } - inline bool jj_3R_561() + inline bool jj_3R_594() { if (jj_done) return true; - if (jj_scan_token(ENTITY_T)) return true; - if (jj_3R_59()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_619()) jj_scanpos = xsp; + if (jj_scan_token(SIGNAL_T)) return true; return false; } - inline bool jj_3R_505() + inline bool jj_3_104() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_561()) { - jj_scanpos = xsp; - if (jj_3R_562()) { - jj_scanpos = xsp; - if (jj_3R_563()) return true; - } - } + if (jj_3R_65()) return true; return false; } - inline bool jj_3R_716() + 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_3_31() + inline bool jj_3R_593() { if (jj_done) return true; - if (jj_3R_85()) return true; - if (jj_scan_token(ARROW_T)) return true; + if (jj_scan_token(CONSTANT_T)) return true; return false; } - inline bool jj_3R_704() + inline bool jj_3R_714() { if (jj_done) return true; - if (jj_3R_196()) return true; - if (jj_scan_token(COLON_T)) return true; - if (jj_3R_84()) return true; - if (jj_scan_token(SEMI_T)) return true; + if (jj_3R_378()) return true; return false; } - inline bool jj_3_104() + inline bool jj_3R_592() { if (jj_done) return true; - if (jj_3R_65()) return true; + if (jj_scan_token(SUBTYPE_T)) return true; return false; } - inline bool jj_3R_715() + inline bool jj_3R_591() { if (jj_done) return true; - if (jj_3R_381()) return true; + if (jj_scan_token(TYPE_T)) return true; return false; } - inline bool jj_3R_714() + inline bool jj_3R_713() { if (jj_done) return true; - if (jj_3R_378()) return true; + if (jj_3R_64()) return true; return false; } - inline bool jj_3R_713() + inline bool jj_3R_590() { if (jj_done) return true; - if (jj_3R_64()) return true; + if (jj_scan_token(PACKAGE_T)) return true; return false; } - inline bool jj_3_30() + inline bool jj_3R_589() { if (jj_done) return true; - if (jj_3R_84()) return true; + if (jj_scan_token(FUNCTION_T)) return true; return false; } @@ -4055,6 +3836,13 @@ void parseInline(); return false; } + inline bool jj_3R_588() + { + if (jj_done) return true; + if (jj_scan_token(PROCEDURE_T)) return true; + return false; + } + inline bool jj_3R_711() { if (jj_done) return true; @@ -4062,10 +3850,10 @@ void parseInline(); return false; } - inline bool jj_3_29() + inline bool jj_3R_587() { if (jj_done) return true; - if (jj_3R_83()) return true; + if (jj_scan_token(CONFIGURATION_T)) return true; return false; } @@ -4076,18 +3864,17 @@ void parseInline(); return false; } - inline bool jj_3R_709() + inline bool jj_3R_586() { if (jj_done) return true; - if (jj_3R_372()) return true; + if (jj_scan_token(ARCHITECTURE_T)) return true; return false; } - inline bool jj_3R_358() + inline bool jj_3R_709() { if (jj_done) return true; - if (jj_3R_85()) return true; - if (jj_scan_token(ARROW_T)) return true; + if (jj_3R_372()) return true; return false; } @@ -4098,20 +3885,74 @@ void parseInline(); return false; } - inline bool jj_3R_235() + inline bool jj_3R_707() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_358()) jj_scanpos = xsp; - if (jj_3R_58()) return true; + if (jj_3R_370()) return true; return false; } - inline bool jj_3R_707() + inline bool jj_3R_585() { if (jj_done) return true; - if (jj_3R_370()) return true; + if (jj_scan_token(ENTITY_T)) return true; + return false; + } + + 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()) { + jj_scanpos = xsp; + if (jj_3R_588()) { + jj_scanpos = xsp; + if (jj_3R_589()) { + jj_scanpos = xsp; + if (jj_3R_590()) { + jj_scanpos = xsp; + if (jj_3R_591()) { + jj_scanpos = xsp; + if (jj_3R_592()) { + jj_scanpos = xsp; + if (jj_3R_593()) { + jj_scanpos = xsp; + if (jj_3R_594()) { + jj_scanpos = xsp; + if (jj_3R_595()) { + jj_scanpos = xsp; + if (jj_3R_596()) { + jj_scanpos = xsp; + if (jj_3R_597()) { + jj_scanpos = xsp; + if (jj_3R_598()) { + jj_scanpos = xsp; + if (jj_3R_599()) { + jj_scanpos = xsp; + if (jj_3R_600()) { + jj_scanpos = xsp; + if (jj_3R_601()) return true; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } return false; } @@ -4122,10 +3963,10 @@ void parseInline(); return false; } - inline bool jj_3R_162() + inline bool jj_3R_563() { if (jj_done) return true; - if (jj_3R_84()) return true; + if (jj_scan_token(OPEN_T)) return true; return false; } @@ -4181,6 +4022,14 @@ void parseInline(); return false; } + inline bool jj_3R_562() + { + if (jj_done) return true; + if (jj_scan_token(CONFIGURATION_T)) return true; + if (jj_3R_59()) return true; + return false; + } + inline bool jj_3R_251() { if (jj_done) return true; @@ -4188,21 +4037,28 @@ void parseInline(); return false; } - inline bool jj_3R_161() + inline bool jj_3R_561() { if (jj_done) return true; - if (jj_3R_83()) return true; + if (jj_scan_token(ENTITY_T)) return true; + if (jj_3R_59()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_619()) jj_scanpos = xsp; return false; } - inline bool jj_3R_68() + inline bool jj_3R_505() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_161()) { + if (jj_3R_561()) { jj_scanpos = xsp; - if (jj_3R_162()) return true; + if (jj_3R_562()) { + jj_scanpos = xsp; + if (jj_3R_563()) return true; + } } return false; } @@ -4215,15 +4071,6 @@ void parseInline(); return false; } - inline bool jj_3R_470() - { - if (jj_done) return true; - if (jj_3R_540()) return true; - if (jj_scan_token(COLON_T)) return true; - if (jj_3R_59()) return true; - return false; - } - inline bool jj_3R_137() { if (jj_done) return true; @@ -4247,55 +4094,43 @@ void parseInline(); return false; } - inline bool jj_3R_380() - { - if (jj_done) return true; - if (jj_scan_token(DISCONNECT_T)) return true; - if (jj_3R_470()) return true; - if (jj_scan_token(AFTER_T)) return true; - if (jj_3R_58()) return true; - if (jj_scan_token(SEMI_T)) return true; - return false; - } - - inline bool jj_3R_458() + inline bool jj_3_31() { if (jj_done) return true; - if (jj_scan_token(VARASSIGN_T)) return true; - if (jj_3R_58()) return true; + if (jj_3R_85()) return true; + if (jj_scan_token(ARROW_T)) return true; return false; } - inline bool jj_3R_238() + inline bool jj_3R_704() { if (jj_done) return true; - if (jj_scan_token(DOWNTO_T)) return true; + if (jj_3R_196()) return true; + if (jj_scan_token(COLON_T)) return true; + if (jj_3R_84()) return true; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_109() + inline bool jj_3_30() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_237()) { - jj_scanpos = xsp; - if (jj_3R_238()) return true; - } + if (jj_3R_84()) return true; return false; } - inline bool jj_3R_237() + inline bool jj_3_29() { if (jj_done) return true; - if (jj_scan_token(TO_T)) return true; + if (jj_3R_83()) return true; return false; } - inline bool jj_3R_568() + inline bool jj_3R_358() { if (jj_done) return true; - if (jj_3R_309()) return true; + if (jj_3R_85()) return true; + if (jj_scan_token(ARROW_T)) return true; return false; } @@ -4309,22 +4144,20 @@ void parseInline(); return false; } - inline bool jj_3R_567() + inline bool jj_3R_235() { if (jj_done) return true; - if (jj_3R_69()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_358()) jj_scanpos = xsp; + if (jj_3R_58()) return true; return false; } - inline bool jj_3R_520() + inline bool jj_3R_160() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_567()) { - jj_scanpos = xsp; - if (jj_3R_568()) return true; - } + if (jj_3R_84()) return true; return false; } @@ -4335,6 +4168,25 @@ void parseInline(); return false; } + inline bool jj_3R_159() + { + if (jj_done) return true; + if (jj_3R_83()) return true; + return false; + } + + inline bool jj_3R_67() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_159()) { + jj_scanpos = xsp; + if (jj_3R_160()) return true; + } + return false; + } + inline bool jj_3R_317() { if (jj_done) return true; @@ -4359,11 +4211,12 @@ void parseInline(); return false; } - inline bool jj_3R_558() + inline bool jj_3R_470() { if (jj_done) return true; - if (jj_scan_token(REJECT_T)) return true; - if (jj_3R_58()) return true; + if (jj_3R_540()) return true; + if (jj_scan_token(COLON_T)) return true; + if (jj_3R_59()) return true; return false; } @@ -4375,16 +4228,6 @@ void parseInline(); return false; } - inline bool jj_3R_494() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_558()) jj_scanpos = xsp; - if (jj_scan_token(INERTIAL_T)) return true; - return false; - } - inline bool jj_3R_117() { if (jj_done) return true; @@ -4402,36 +4245,55 @@ void parseInline(); return false; } - inline bool jj_3R_404() + inline bool jj_3R_380() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_493()) { - jj_scanpos = xsp; - if (jj_3R_494()) return true; - } + if (jj_scan_token(DISCONNECT_T)) return true; + if (jj_3R_470()) return true; + if (jj_scan_token(AFTER_T)) return true; + if (jj_3R_58()) return true; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_493() + inline bool jj_3R_458() { if (jj_done) return true; - if (jj_scan_token(TRANSPORT_T)) return true; + if (jj_scan_token(VARASSIGN_T)) return true; + if (jj_3R_58()) return true; return false; } - inline bool jj_3_28() + inline bool jj_3R_238() { if (jj_done) return true; - if (jj_3R_82()) return true; + if (jj_scan_token(DOWNTO_T)) return true; return false; } - inline bool jj_3_27() + inline bool jj_3R_109() { if (jj_done) return true; - if (jj_3R_81()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_237()) { + jj_scanpos = xsp; + if (jj_3R_238()) return true; + } + return false; + } + + inline bool jj_3R_237() + { + if (jj_done) return true; + if (jj_scan_token(TO_T)) return true; + return false; + } + + inline bool jj_3R_568() + { + if (jj_done) return true; + if (jj_3R_309()) return true; return false; } @@ -4443,29 +4305,30 @@ void parseInline(); return false; } - inline bool jj_3R_276() + inline bool jj_3R_567() { if (jj_done) return true; - if (jj_3R_82()) return true; + if (jj_3R_69()) return true; return false; } - inline bool jj_3R_133() + inline bool jj_3R_520() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_275()) { + if (jj_3R_567()) { jj_scanpos = xsp; - if (jj_3R_276()) return true; + if (jj_3R_568()) return true; } return false; } - inline bool jj_3R_275() + inline bool jj_3R_558() { if (jj_done) return true; - if (jj_3R_81()) return true; + if (jj_scan_token(REJECT_T)) return true; + if (jj_3R_58()) return true; return false; } @@ -4477,6 +4340,16 @@ void parseInline(); return false; } + inline bool jj_3R_494() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_558()) jj_scanpos = xsp; + if (jj_scan_token(INERTIAL_T)) return true; + return false; + } + inline bool jj_3R_374() { if (jj_done) return true; @@ -4501,13 +4374,22 @@ void parseInline(); return false; } - inline bool jj_3R_703() + inline bool jj_3R_404() { if (jj_done) return true; - if (jj_scan_token(ARRAY_T)) return true; - if (jj_3R_82()) return true; - if (jj_scan_token(OF_T)) return true; - if (jj_3R_84()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_493()) { + jj_scanpos = xsp; + if (jj_3R_494()) return true; + } + return false; + } + + inline bool jj_3R_493() + { + if (jj_done) return true; + if (jj_scan_token(TRANSPORT_T)) return true; return false; } @@ -4518,6 +4400,13 @@ void parseInline(); return false; } + inline bool jj_3_28() + { + if (jj_done) return true; + if (jj_3R_82()) return true; + return false; + } + inline bool jj_3_102() { if (jj_done) return true; @@ -4526,6 +4415,13 @@ void parseInline(); return false; } + inline bool jj_3_27() + { + if (jj_done) return true; + if (jj_3R_81()) return true; + return false; + } + inline bool jj_3R_361() { if (jj_done) return true; @@ -4551,41 +4447,29 @@ void parseInline(); return false; } - inline bool jj_3R_372() - { - if (jj_done) return true; - if (jj_scan_token(CONSTANT_T)) return true; - if (jj_3R_196()) return true; - if (jj_scan_token(COLON_T)) return true; - if (jj_3R_84()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_458()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; - return false; - } - - inline bool jj_3_26() + inline bool jj_3R_276() { if (jj_done) return true; - if (jj_3R_80()) return true; + if (jj_3R_82()) return true; return false; } - inline bool jj_3R_379() + inline bool jj_3R_133() { if (jj_done) return true; - if (jj_scan_token(FOR_T)) return true; - if (jj_3R_177()) return true; - if (jj_3R_331()) return true; - if (jj_scan_token(SEMI_T)) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_275()) { + jj_scanpos = xsp; + if (jj_3R_276()) return true; + } return false; } - inline bool jj_3R_566() + inline bool jj_3R_275() { if (jj_done) return true; - if (jj_3R_332()) return true; + if (jj_3R_81()) return true; return false; } @@ -4603,22 +4487,13 @@ void parseInline(); return false; } - inline bool jj_3R_565() - { - if (jj_done) return true; - if (jj_3R_80()) return true; - return false; - } - - inline bool jj_3R_507() + inline bool jj_3R_703() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_565()) { - jj_scanpos = xsp; - if (jj_3R_566()) return true; - } + if (jj_scan_token(ARRAY_T)) return true; + if (jj_3R_82()) return true; + if (jj_scan_token(OF_T)) return true; + if (jj_3R_84()) return true; return false; } @@ -4653,6 +4528,20 @@ void parseInline(); return false; } + inline bool jj_3R_372() + { + if (jj_done) return true; + if (jj_scan_token(CONSTANT_T)) return true; + if (jj_3R_196()) return true; + if (jj_scan_token(COLON_T)) return true; + if (jj_3R_84()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_458()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; + return false; + } + inline bool jj_3_101() { if (jj_done) return true; @@ -4674,6 +4563,13 @@ void parseInline(); return false; } + inline bool jj_3_26() + { + if (jj_done) return true; + if (jj_3R_80()) return true; + return false; + } + inline bool jj_3R_633() { if (jj_done) return true; @@ -4681,6 +4577,16 @@ void parseInline(); return false; } + inline bool jj_3R_379() + { + if (jj_done) return true; + if (jj_scan_token(FOR_T)) 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_632() { if (jj_done) return true; @@ -4712,34 +4618,43 @@ void parseInline(); return false; } - inline bool jj_3_25() + inline bool jj_3R_566() { if (jj_done) return true; - if (jj_scan_token(WHEN_T)) return true; - if (jj_3R_79()) return true; - if (jj_scan_token(ELSE_T)) return true; + if (jj_3R_332()) return true; return false; } - inline bool jj_3R_349() + inline bool jj_3_97() { if (jj_done) return true; - if (jj_scan_token(CONFIGURATION_T)) return true; - if (jj_3R_69()) return true; + if (jj_3R_133()) return true; return false; } - inline bool jj_3_97() + inline bool jj_3R_457() { if (jj_done) return true; - if (jj_3R_133()) return true; + if (jj_3R_531()) return true; return false; } - inline bool jj_3R_457() + inline bool jj_3R_565() { if (jj_done) return true; - if (jj_3R_531()) return true; + if (jj_3R_80()) return true; + return false; + } + + inline bool jj_3R_507() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_565()) { + jj_scanpos = xsp; + if (jj_3R_566()) return true; + } return false; } @@ -4762,14 +4677,6 @@ void parseInline(); return false; } - inline bool jj_3R_319() - { - if (jj_done) return true; - if (jj_scan_token(WHEN_T)) return true; - if (jj_3R_79()) return true; - return false; - } - inline bool jj_3R_105() { if (jj_done) return true; @@ -4780,16 +4687,6 @@ void parseInline(); return false; } - inline bool jj_3R_318() - { - if (jj_done) return true; - if (jj_scan_token(WHEN_T)) return true; - if (jj_3R_79()) return true; - if (jj_scan_token(ELSE_T)) return true; - if (jj_3R_317()) return true; - return false; - } - inline bool jj_3_99() { if (jj_done) return true; @@ -4805,20 +4702,6 @@ void parseInline(); return false; } - inline bool jj_3R_167() - { - if (jj_done) return true; - if (jj_3R_317()) return true; - Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_318()) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_319()) jj_scanpos = xsp; - return false; - } - inline bool jj_3R_365() { if (jj_done) return true; @@ -4827,17 +4710,6 @@ void parseInline(); return false; } - inline bool jj_3R_71() - { - if (jj_done) 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_scan_token(SEMI_T)) return true; - return false; - } - inline bool jj_3R_129() { if (jj_done) return true; @@ -4857,14 +4729,6 @@ void parseInline(); return false; } - inline bool jj_3R_364() - { - if (jj_done) return true; - if (jj_scan_token(UNTIL_T)) return true; - if (jj_3R_79()) return true; - return false; - } - inline bool jj_3R_114() { if (jj_done) return true; @@ -4891,159 +4755,135 @@ void parseInline(); return false; } - inline bool jj_3_96() - { - if (jj_done) return true; - if (jj_3R_59()) return true; - return false; - } - - inline bool jj_3R_217() - { - if (jj_done) return true; - if (jj_scan_token(ALL_T)) return true; - return false; - } - - inline bool jj_3R_79() - { - if (jj_done) return true; - if (jj_3R_58()) return true; - return false; - } - - inline bool jj_3R_216() - { - if (jj_done) return true; - if (jj_3R_309()) return true; - return false; - } - - inline bool jj_3R_215() + inline bool jj_3_25() { if (jj_done) return true; - if (jj_3R_351()) return true; + if (jj_scan_token(WHEN_T)) return true; + if (jj_3R_79()) return true; + if (jj_scan_token(ELSE_T)) return true; return false; } - inline bool jj_3_24() + inline bool jj_3R_349() { if (jj_done) return true; - if (jj_3R_78()) return true; + if (jj_scan_token(CONFIGURATION_T)) return true; + if (jj_3R_69()) return true; return false; } - inline bool jj_3R_214() + inline bool jj_3_96() { if (jj_done) return true; if (jj_3R_59()) return true; return false; } - inline bool jj_3R_99() + inline bool jj_3R_217() { 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()) return true; - } - } - } + if (jj_scan_token(ALL_T)) return true; return false; } - inline bool jj_3_23() + inline bool jj_3R_216() { if (jj_done) return true; - if (jj_3R_77()) return true; + if (jj_3R_309()) return true; return false; } - inline bool jj_3R_183() + inline bool jj_3R_215() { if (jj_done) return true; - if (jj_3R_59()) return true; + if (jj_3R_351()) return true; return false; } - inline bool jj_3_22() + inline bool jj_3R_319() { if (jj_done) return true; - if (jj_3R_76()) return true; + if (jj_scan_token(WHEN_T)) return true; + if (jj_3R_79()) return true; return false; } - inline bool jj_3R_84() + inline bool jj_3R_214() { if (jj_done) return true; if (jj_3R_59()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_183()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_184()) jj_scanpos = xsp; - return false; - } - - inline bool jj_3R_75() - { - if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; return false; } - inline bool jj_3_21() + inline bool jj_3R_99() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - 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; + 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()) return true; + } + } + } return false; } - inline bool jj_3R_503() + inline bool jj_3R_318() { if (jj_done) return true; - if (jj_3R_78()) return true; + if (jj_scan_token(WHEN_T)) return true; + if (jj_3R_79()) return true; + if (jj_scan_token(ELSE_T)) return true; + if (jj_3R_317()) return true; return false; } - inline bool jj_3R_502() + inline bool jj_3R_183() { if (jj_done) return true; - if (jj_3R_77()) return true; + if (jj_3R_59()) return true; return false; } - inline bool jj_3_20() + inline bool jj_3R_84() { if (jj_done) return true; - if (jj_3R_74()) return true; + if (jj_3R_59()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_183()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_184()) jj_scanpos = xsp; return false; } - inline bool jj_3R_73() + inline bool jj_3R_167() { if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; + if (jj_3R_317()) return true; + Token * xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_318()) { jj_scanpos = xsp; break; } + } + xsp = jj_scanpos; + if (jj_3R_319()) jj_scanpos = xsp; return false; } - inline bool jj_3R_501() + inline bool jj_3R_71() { if (jj_done) return true; - if (jj_3R_76()) 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_scan_token(SEMI_T)) return true; return false; } @@ -5058,18 +4898,6 @@ void parseInline(); return false; } - inline bool jj_3_19() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - 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_630() { if (jj_done) return true; @@ -5088,135 +4916,91 @@ void parseInline(); return false; } - inline bool jj_3R_72() - { - if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; - return false; - } - - inline bool jj_3R_500() - { - if (jj_done) return true; - if (jj_3R_87()) return true; - return false; - } - - inline bool jj_3_18() + inline bool jj_3R_364() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_72()) jj_scanpos = xsp; - if (jj_scan_token(BLOCK_T)) return true; + if (jj_scan_token(UNTIL_T)) return true; + if (jj_3R_79()) return true; return false; } - inline bool jj_3R_499() + inline bool jj_3R_79() { if (jj_done) return true; - if (jj_3R_560()) return true; + if (jj_3R_58()) return true; return false; } - inline bool jj_3R_498() + inline bool jj_3R_523() { if (jj_done) return true; - if (jj_3R_74()) 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_497() + inline bool jj_3_24() { if (jj_done) return true; - if (jj_3R_88()) return true; + if (jj_3R_78()) return true; return false; } - inline bool jj_3R_523() + inline bool jj_3R_521() { if (jj_done) return true; if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_569()) return true; + if (jj_3R_312()) return true; if (jj_scan_token(RPAREN_T)) return true; return false; } - inline bool jj_3R_409() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_496()) { - jj_scanpos = xsp; - if (jj_3R_497()) { - jj_scanpos = xsp; - if (jj_3R_498()) { - jj_scanpos = xsp; - if (jj_3R_499()) { - jj_scanpos = xsp; - if (jj_3R_500()) { - jj_scanpos = xsp; - if (jj_3R_501()) { - jj_scanpos = xsp; - if (jj_3R_502()) { - jj_scanpos = xsp; - if (jj_3R_503()) { - jj_scanpos = xsp; - if (jj_scan_token(187)) return true; - } - } - } - } - } - } - } - } - return false; - } - - inline bool jj_3R_496() + inline bool jj_3_95() { if (jj_done) return true; - if (jj_3R_559()) return true; + if (jj_3R_132()) return true; return false; } - inline bool jj_3_17() + inline bool jj_3_23() { if (jj_done) return true; - if (jj_3R_71()) return true; + if (jj_3R_77()) return true; return false; } - inline bool jj_3R_521() + inline bool jj_3_94() { 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_131()) return true; return false; } - inline bool jj_3_95() + inline bool jj_3_22() { if (jj_done) return true; - if (jj_3R_132()) return true; + if (jj_3R_76()) return true; return false; } - inline bool jj_3_94() + inline bool jj_3R_75() { if (jj_done) return true; - if (jj_3R_131()) return true; + if (jj_3R_69()) return true; + if (jj_scan_token(COLON_T)) return true; return false; } - inline bool jj_3R_172() + inline bool jj_3_21() { if (jj_done) return true; - if (jj_3R_324()) return true; + Token * xsp; + xsp = jj_scanpos; + 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; } @@ -5232,18 +5016,10 @@ void parseInline(); return false; } - inline bool jj_3R_171() - { - if (jj_done) return true; - if (jj_3R_71()) return true; - return false; - } - - inline bool jj_3_16() + inline bool jj_3R_503() { if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; + if (jj_3R_78()) return true; return false; } @@ -5262,23 +5038,21 @@ void parseInline(); return false; } - inline bool jj_3R_76() + inline bool jj_3R_502() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3_16()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_scan_token(79)) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_171()) { - jj_scanpos = xsp; - if (jj_3R_172()) return true; - } + if (jj_3R_77()) return true; return false; } - inline bool jj_3_15() + inline bool jj_3_20() + { + if (jj_done) return true; + if (jj_3R_74()) return true; + return false; + } + + inline bool jj_3R_73() { if (jj_done) return true; if (jj_3R_69()) return true; @@ -5286,20 +5060,26 @@ void parseInline(); return false; } - inline bool jj_3R_78() + inline bool jj_3R_501() + { + if (jj_done) return true; + if (jj_3R_76()) return true; + return false; + } + + inline bool jj_3_19() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3_15()) jj_scanpos = xsp; + if (jj_3R_73()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_scan_token(79)) jj_scanpos = xsp; - if (jj_3R_176()) return true; - if (jj_scan_token(SEMI_T)) return true; + if (jj_scan_token(PROCESS_T)) return true; return false; } - inline bool jj_3_14() + inline bool jj_3R_72() { if (jj_done) return true; if (jj_3R_69()) return true; @@ -5307,37 +5087,34 @@ void parseInline(); return false; } - inline bool jj_3_13() + inline bool jj_3R_500() { if (jj_done) return true; - if (jj_3R_70()) return true; + if (jj_3R_87()) return true; return false; } - inline bool jj_3R_87() + inline bool jj_3_18() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3_14()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_scan_token(79)) jj_scanpos = xsp; - if (jj_3R_187()) return true; - if (jj_scan_token(SEMI_T)) return true; + if (jj_3R_72()) jj_scanpos = xsp; + if (jj_scan_token(BLOCK_T)) return true; return false; } - inline bool jj_3R_678() + inline bool jj_3R_499() { if (jj_done) return true; - if (jj_3R_690()) return true; + if (jj_3R_560()) return true; return false; } - inline bool jj_3R_468() + inline bool jj_3R_498() { if (jj_done) return true; - if (jj_3R_69()) return true; + if (jj_3R_74()) return true; return false; } @@ -5369,36 +5146,57 @@ void parseInline(); return false; } - inline bool jj_3R_677() + inline bool jj_3R_497() { if (jj_done) return true; - if (jj_3R_689()) return true; + if (jj_3R_88()) return true; return false; } - inline bool jj_3R_654() + inline bool jj_3R_409() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_677()) { + if (jj_3R_496()) { + jj_scanpos = xsp; + if (jj_3R_497()) { + jj_scanpos = xsp; + if (jj_3R_498()) { + jj_scanpos = xsp; + if (jj_3R_499()) { + jj_scanpos = xsp; + if (jj_3R_500()) { + jj_scanpos = xsp; + if (jj_3R_501()) { jj_scanpos = xsp; - if (jj_3R_678()) return true; + if (jj_3R_502()) { + jj_scanpos = xsp; + if (jj_3R_503()) { + jj_scanpos = xsp; + if (jj_scan_token(187)) return true; + } + } + } + } + } + } + } } return false; } - inline bool jj_3R_175() + inline bool jj_3R_496() { if (jj_done) return true; - if (jj_3R_328()) return true; + if (jj_3R_559()) return true; return false; } - inline bool jj_3R_174() + inline bool jj_3_17() { if (jj_done) return true; - if (jj_3R_70()) return true; + if (jj_3R_71()) return true; return false; } @@ -5414,15 +5212,6 @@ void parseInline(); return false; } - inline bool jj_3R_177() - { - if (jj_done) return true; - if (jj_3R_330()) return true; - if (jj_scan_token(COLON_T)) return true; - if (jj_3R_59()) return true; - return false; - } - inline bool jj_3R_629() { if (jj_done) return true; @@ -5441,6 +5230,13 @@ void parseInline(); return false; } + inline bool jj_3R_172() + { + if (jj_done) return true; + if (jj_3R_324()) return true; + return false; + } + inline bool jj_3_92() { if (jj_done) return true; @@ -5455,25 +5251,49 @@ void parseInline(); return false; } - inline bool jj_3R_673() + inline bool jj_3R_171() { if (jj_done) return true; - if (jj_3R_381()) return true; + if (jj_3R_71()) return true; return false; } - inline bool jj_3R_77() + inline bool jj_3_16() { if (jj_done) return true; if (jj_3R_69()) return true; if (jj_scan_token(COLON_T)) return true; - if (jj_3R_173()) return true; + return false; + } + + inline bool jj_3R_76() + { + if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_174()) jj_scanpos = xsp; + if (jj_3_16()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_175()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; + if (jj_scan_token(79)) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_171()) { + jj_scanpos = xsp; + if (jj_3R_172()) return true; + } + return false; + } + + inline bool jj_3R_673() + { + if (jj_done) return true; + if (jj_3R_381()) return true; + return false; + } + + inline bool jj_3_15() + { + if (jj_done) return true; + if (jj_3R_69()) return true; + if (jj_scan_token(COLON_T)) return true; return false; } @@ -5491,6 +5311,19 @@ void parseInline(); return false; } + inline bool jj_3R_78() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3_15()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_scan_token(79)) jj_scanpos = xsp; + if (jj_3R_176()) return true; + if (jj_scan_token(SEMI_T)) return true; + return false; + } + inline bool jj_3R_671() { if (jj_done) return true; @@ -5505,6 +5338,21 @@ void parseInline(); return false; } + inline bool jj_3_14() + { + if (jj_done) return true; + if (jj_3R_69()) return true; + if (jj_scan_token(COLON_T)) return true; + return false; + } + + inline bool jj_3_13() + { + if (jj_done) return true; + if (jj_3R_70()) return true; + return false; + } + inline bool jj_3R_669() { if (jj_done) return true; @@ -5533,10 +5381,16 @@ void parseInline(); return false; } - inline bool jj_3R_467() + inline bool jj_3R_87() { if (jj_done) return true; - if (jj_3R_537()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3_14()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_scan_token(79)) jj_scanpos = xsp; + if (jj_3R_187()) return true; + if (jj_scan_token(SEMI_T)) return true; return false; } @@ -5554,40 +5408,43 @@ void parseInline(); return false; } - inline bool jj_3R_466() + inline bool jj_3R_678() { if (jj_done) return true; - if (jj_3R_66()) return true; + if (jj_3R_690()) return true; return false; } - inline bool jj_3R_179() + inline bool jj_3R_468() { if (jj_done) return true; - if (jj_3R_332()) return true; + if (jj_3R_69()) return true; return false; } - inline bool jj_3R_178() + inline bool jj_3R_664() { if (jj_done) return true; - if (jj_3R_331()) return true; - if (jj_scan_token(SEMI_T)) return true; + if (jj_3R_370()) return true; return false; } - inline bool jj_3R_664() + inline bool jj_3R_677() { if (jj_done) return true; - if (jj_3R_370()) return true; + if (jj_3R_689()) return true; return false; } - inline bool jj_3R_186() + inline bool jj_3R_654() { if (jj_done) return true; - if (jj_scan_token(BAR_T)) return true; - if (jj_3R_185()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_677()) { + jj_scanpos = xsp; + if (jj_3R_678()) return true; + } return false; } @@ -5643,23 +5500,17 @@ void parseInline(); return false; } - inline bool jj_3R_377() + inline bool jj_3R_175() { if (jj_done) return true; - if (jj_scan_token(COMPONENT_T)) 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_466()) jj_scanpos = xsp; - xsp = jj_scanpos; - 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_468()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; + if (jj_3R_328()) return true; + return false; + } + + inline bool jj_3R_174() + { + if (jj_done) return true; + if (jj_3R_70()) return true; return false; } @@ -5671,19 +5522,12 @@ void parseInline(); return false; } - inline bool jj_3R_80() + inline bool jj_3R_177() { if (jj_done) return true; - if (jj_scan_token(FOR_T)) return true; - if (jj_3R_177()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_178()) jj_scanpos = xsp; - xsp = jj_scanpos; - 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; + if (jj_3R_330()) return true; + if (jj_scan_token(COLON_T)) return true; + if (jj_3R_59()) return true; return false; } @@ -5713,32 +5557,6 @@ void parseInline(); return false; } - inline bool jj_3_12() - { - if (jj_done) return true; - if (jj_3R_69()) return true; - return false; - } - - inline bool jj_3_11() - { - if (jj_done) return true; - if (jj_3R_68()) return true; - return false; - } - - inline bool jj_3R_85() - { - if (jj_done) return true; - if (jj_3R_185()) return true; - Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_186()) { jj_scanpos = xsp; break; } - } - return false; - } - inline bool jj_3R_200() { if (jj_done) return true; @@ -5747,20 +5565,6 @@ void parseInline(); return false; } - inline bool jj_3_10() - { - if (jj_done) return true; - if (jj_3R_67()) return true; - return false; - } - - inline bool jj_3R_336() - { - if (jj_done) return true; - if (jj_scan_token(OTHER_T)) return true; - return false; - } - inline bool jj_3R_572() { if (jj_done) return true; @@ -5795,80 +5599,106 @@ void parseInline(); return false; } - inline bool jj_3R_335() + inline bool jj_3R_77() { if (jj_done) return true; if (jj_3R_69()) return true; + if (jj_scan_token(COLON_T)) return true; + if (jj_3R_173()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_174()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_175()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_334() + inline bool jj_3R_467() { if (jj_done) return true; - if (jj_3R_68()) return true; + if (jj_3R_537()) return true; return false; } - inline bool jj_3R_185() + inline bool jj_3R_459() { 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()) return true; - } - } - } + if (jj_3R_532()) return true; + return false; + } + + inline bool jj_3R_466() + { + if (jj_done) return true; + if (jj_3R_66()) return true; return false; } - inline bool jj_3R_333() + inline bool jj_3R_162() { if (jj_done) return true; - if (jj_3R_67()) return true; + if (jj_3R_128()) return true; + if (jj_3R_129()) return true; return false; } - inline bool jj_3R_627() + inline bool jj_3R_179() { if (jj_done) return true; - if (jj_3R_69()) return true; + if (jj_3R_332()) return true; return false; } - inline bool jj_3R_459() + inline bool jj_3R_178() { if (jj_done) return true; - if (jj_3R_532()) return true; + if (jj_3R_331()) return true; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_160() + inline bool jj_3R_186() { if (jj_done) return true; - if (jj_3R_128()) return true; - if (jj_3R_129()) return true; + if (jj_scan_token(BAR_T)) return true; + if (jj_3R_185()) return true; return false; } - inline bool jj_3R_351() + inline bool jj_3R_377() { if (jj_done) return true; - if (jj_scan_token(CHARACTER_LITERAL)) return true; + if (jj_scan_token(COMPONENT_T)) 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_466()) jj_scanpos = xsp; + xsp = jj_scanpos; + 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_468()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_613() + inline bool jj_3R_80() { if (jj_done) return true; - if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_58()) return true; - if (jj_scan_token(RPAREN_T)) return true; + if (jj_scan_token(FOR_T)) return true; + if (jj_3R_177()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_178()) jj_scanpos = xsp; + xsp = jj_scanpos; + 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; return false; } @@ -5889,35 +5719,43 @@ void parseInline(); return false; } - inline bool jj_3R_625() + inline bool jj_3_12() { if (jj_done) return true; - if (jj_scan_token(WHEN_T)) return true; - if (jj_3R_85()) return true; - if (jj_scan_token(ARROW_T)) return true; - if (jj_3R_258()) return true; + if (jj_3R_69()) return true; return false; } - inline bool jj_3R_617() + 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_626() + inline bool jj_3R_85() { if (jj_done) return true; - if (jj_3R_625()) return true; + if (jj_3R_185()) return true; + Token * xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_186()) { jj_scanpos = xsp; break; } + } return false; } - inline bool jj_3R_659() + inline bool jj_3_10() { if (jj_done) return true; - if (jj_3R_70()) return true; - if (jj_scan_token(SEMI_T)) return true; + if (jj_3R_67()) return true; + return false; + } + + inline bool jj_3R_336() + { + if (jj_done) return true; + if (jj_scan_token(OTHER_T)) return true; return false; } @@ -5928,83 +5766,97 @@ void parseInline(); return false; } - inline bool jj_3R_434() + inline bool jj_3R_335() { if (jj_done) return true; - if (jj_scan_token(COMMA_T)) return true; - if (jj_3R_59()) return true; + if (jj_3R_69()) return true; return false; } - inline bool jj_3R_159() + inline bool jj_3R_334() { if (jj_done) return true; - if (jj_3R_313()) return true; + if (jj_3R_68()) return true; return false; } - inline bool jj_3R_255() + inline bool jj_3R_434() + { + if (jj_done) return true; + if (jj_scan_token(COMMA_T)) return true; + if (jj_3R_59()) return true; + return false; + } + + inline bool jj_3R_627() { if (jj_done) return true; if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; return false; } - inline bool jj_3R_67() + inline bool jj_3R_185() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_159()) jj_scanpos = xsp; - if (jj_3R_129()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_160()) { jj_scanpos = xsp; break; } + 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()) return true; + } + } } return false; } - inline bool jj_3R_121() + inline bool jj_3R_333() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_255()) jj_scanpos = xsp; - if (jj_scan_token(CASE_T)) return true; - if (jj_3R_58()) return true; - if (jj_scan_token(IS_T)) return true; - if (jj_3R_625()) return true; - while (true) { - xsp = jj_scanpos; - 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_627()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; + if (jj_3R_67()) return true; return false; } - inline bool jj_3R_650() + inline bool jj_3R_161() { if (jj_done) return true; - if (jj_3R_409()) return true; + if (jj_3R_313()) return true; return false; } - inline bool jj_3R_616() + inline bool jj_3R_351() + { + if (jj_done) return true; + if (jj_scan_token(CHARACTER_LITERAL)) return true; + return false; + } + + inline bool jj_3R_68() { if (jj_done) return true; Token * xsp; + xsp = jj_scanpos; + if (jj_3R_161()) jj_scanpos = xsp; + if (jj_3R_129()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_650()) { jj_scanpos = xsp; break; } + if (jj_3R_162()) { jj_scanpos = xsp; break; } } return false; } + inline bool jj_3R_613() + { + if (jj_done) 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_357() { if (jj_done) return true; @@ -6046,11 +5898,20 @@ void parseInline(); return false; } - inline bool jj_3R_660() + inline bool jj_3R_625() { if (jj_done) return true; - if (jj_3R_328()) return true; - if (jj_scan_token(SEMI_T)) return true; + if (jj_scan_token(WHEN_T)) return true; + if (jj_3R_85()) return true; + if (jj_scan_token(ARROW_T)) return true; + if (jj_3R_258()) return true; + return false; + } + + inline bool jj_3R_617() + { + if (jj_done) return true; + if (jj_3R_69()) return true; return false; } @@ -6061,6 +5922,13 @@ void parseInline(); return false; } + inline bool jj_3R_626() + { + if (jj_done) return true; + if (jj_3R_625()) return true; + return false; + } + inline bool jj_3R_603() { if (jj_done) return true; @@ -6068,6 +5936,14 @@ void parseInline(); return false; } + inline bool jj_3R_659() + { + if (jj_done) return true; + if (jj_3R_70()) return true; + if (jj_scan_token(SEMI_T)) return true; + return false; + } + inline bool jj_3R_602() { if (jj_done) return true; @@ -6095,15 +5971,6 @@ void parseInline(); return false; } - inline bool jj_3R_506() - { - if (jj_done) return true; - if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_564()) return true; - if (jj_scan_token(RPAREN_T)) return true; - return false; - } - inline bool jj_3R_578() { if (jj_done) return true; @@ -6111,100 +5978,59 @@ void parseInline(); return false; } - inline bool jj_3R_559() - { - if (jj_done) 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_613()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_scan_token(56)) jj_scanpos = xsp; - if (jj_3R_614()) return true; - if (jj_3R_615()) return true; - if (jj_scan_token(BEGIN_T)) 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_617()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; - return false; - } - inline bool jj_3R_577() - { - if (jj_done) return true; - if (jj_scan_token(REGISTER_T)) return true; - return false; - } - - inline bool jj_3R_532() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_577()) { - jj_scanpos = xsp; - if (jj_3R_578()) return true; - } - return false; - } - - inline bool jj_3_9() - { - if (jj_done) return true; - if (jj_3R_66()) return true; - return false; - } - - inline bool jj_3R_418() - { - if (jj_done) return true; - if (jj_3R_59()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_506()) jj_scanpos = xsp; + { + if (jj_done) return true; + if (jj_scan_token(REGISTER_T)) return true; return false; } - inline bool jj_3R_648() + inline bool jj_3R_532() { if (jj_done) return true; - if (jj_3R_537()) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_660()) jj_scanpos = xsp; + if (jj_3R_577()) { + jj_scanpos = xsp; + if (jj_3R_578()) return true; + } return false; } - inline bool jj_3R_647() + inline bool jj_3R_255() { if (jj_done) return true; - if (jj_3R_66()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_659()) jj_scanpos = xsp; + if (jj_3R_69()) return true; + if (jj_scan_token(COLON_T)) return true; return false; } - inline bool jj_3R_614() + inline bool jj_3R_121() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_647()) jj_scanpos = xsp; + if (jj_3R_255()) jj_scanpos = xsp; + if (jj_scan_token(CASE_T)) return true; + if (jj_3R_58()) return true; + if (jj_scan_token(IS_T)) return true; + if (jj_3R_625()) return true; + while (true) { + xsp = jj_scanpos; + 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_648()) jj_scanpos = xsp; + if (jj_3R_627()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_649() + inline bool jj_3R_650() { if (jj_done) return true; - if (jj_3R_140()) return true; + if (jj_3R_409()) return true; return false; } @@ -6224,24 +6050,17 @@ void parseInline(); return false; } - inline bool jj_3R_615() + inline bool jj_3R_616() { if (jj_done) return true; Token * xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_649()) { jj_scanpos = xsp; break; } + if (jj_3R_650()) { jj_scanpos = xsp; break; } } return false; } - inline bool jj_3R_299() - { - if (jj_done) return true; - if (jj_3R_382()) return true; - return false; - } - inline bool jj_3_89() { if (jj_done) return true; @@ -6249,10 +6068,11 @@ void parseInline(); return false; } - inline bool jj_3_7() + inline bool jj_3R_660() { if (jj_done) return true; - if (jj_3R_64()) return true; + if (jj_3R_328()) return true; + if (jj_scan_token(SEMI_T)) return true; return false; } @@ -6263,20 +6083,6 @@ void parseInline(); return false; } - inline bool jj_3_8() - { - if (jj_done) return true; - if (jj_3R_65()) return true; - return false; - } - - inline bool jj_3R_298() - { - if (jj_done) return true; - if (jj_3R_381()) return true; - return false; - } - inline bool jj_3R_525() { if (jj_done) return true; @@ -6284,17 +6090,12 @@ void parseInline(); return false; } - inline bool jj_3R_297() - { - if (jj_done) return true; - if (jj_3R_380()) return true; - return false; - } - - inline bool jj_3R_296() + inline bool jj_3R_506() { if (jj_done) return true; - if (jj_3R_379()) return true; + if (jj_scan_token(LPAREN_T)) return true; + if (jj_3R_564()) return true; + if (jj_scan_token(RPAREN_T)) return true; return false; } @@ -6306,13 +6107,6 @@ void parseInline(); return false; } - inline bool jj_3R_295() - { - if (jj_done) return true; - if (jj_3R_378()) return true; - return false; - } - inline bool jj_3R_437() { if (jj_done) return true; @@ -6328,24 +6122,40 @@ void parseInline(); return false; } - inline bool jj_3R_436() + inline bool jj_3R_559() { if (jj_done) return true; - if (jj_3R_127()) 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_613()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_scan_token(56)) jj_scanpos = xsp; + if (jj_3R_614()) return true; + if (jj_3R_615()) return true; + if (jj_scan_token(BEGIN_T)) 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_617()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_293() + inline bool jj_3_9() { if (jj_done) return true; - if (jj_3R_377()) return true; + if (jj_3R_66()) return true; return false; } - inline bool jj_3R_294() + inline bool jj_3R_436() { if (jj_done) return true; - if (jj_3R_64()) return true; + if (jj_3R_127()) return true; return false; } @@ -6353,21 +6163,17 @@ void parseInline(); { if (jj_done) return true; if (jj_3R_476()) return true; - if (jj_3R_67()) return true; - return false; - } - - inline bool jj_3R_292() - { - if (jj_done) return true; - if (jj_3R_376()) return true; + if (jj_3R_68()) return true; return false; } - inline bool jj_3R_291() + inline bool jj_3R_418() { if (jj_done) return true; - if (jj_3R_375()) return true; + if (jj_3R_59()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_506()) jj_scanpos = xsp; return false; } @@ -6393,139 +6199,78 @@ void parseInline(); return false; } - inline bool jj_3R_290() - { - if (jj_done) return true; - if (jj_3R_374()) return true; - return false; - } - - inline bool jj_3R_289() - { - if (jj_done) return true; - if (jj_3R_373()) return true; - return false; - } - - inline bool jj_3R_288() - { - if (jj_done) return true; - if (jj_3R_372()) return true; - return false; - } - - inline bool jj_3R_287() - { - if (jj_done) return true; - if (jj_3R_371()) return true; - return false; - } - - inline bool jj_3R_286() + inline bool jj_3R_648() { if (jj_done) return true; - if (jj_3R_370()) return true; + if (jj_3R_537()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_660()) jj_scanpos = xsp; return false; } - inline bool jj_3R_420() + inline bool jj_3R_401() { if (jj_done) return true; - if (jj_3R_507()) return true; + if (jj_scan_token(MINUS_T)) return true; return false; } - inline bool jj_3R_401() + inline bool jj_3R_647() { if (jj_done) return true; - if (jj_scan_token(MINUS_T)) return true; + if (jj_3R_66()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_659()) jj_scanpos = xsp; return false; } - inline bool jj_3R_419() + inline bool jj_3R_614() { if (jj_done) return true; - if (jj_3R_381()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_647()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_648()) jj_scanpos = xsp; return false; } - inline bool jj_3R_140() + inline bool jj_3R_313() { 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()) { - jj_scanpos = xsp; - if (jj_3R_288()) { - jj_scanpos = xsp; - if (jj_3R_289()) { - jj_scanpos = xsp; - if (jj_3R_290()) { - jj_scanpos = xsp; - if (jj_3R_291()) { - jj_scanpos = xsp; - if (jj_3R_292()) { - jj_scanpos = xsp; - if (jj_3R_293()) { - jj_scanpos = xsp; - if (jj_3R_294()) { - jj_scanpos = xsp; - if (jj_3R_295()) { - jj_scanpos = xsp; - if (jj_3R_296()) { - jj_scanpos = xsp; - if (jj_3R_297()) { - jj_scanpos = xsp; - if (jj_3R_298()) { - jj_scanpos = xsp; - if (jj_3_8()) { + if (jj_3R_400()) { jj_scanpos = xsp; - if (jj_3R_299()) return true; - } - } - } - } - } - } - } - } - } - } - } - } - } - } + if (jj_3R_401()) return true; } return false; } - inline bool jj_3R_285() + inline bool jj_3R_400() { if (jj_done) return true; - if (jj_3R_92()) return true; + if (jj_scan_token(PLUS_T)) return true; return false; } - inline bool jj_3R_313() + inline bool jj_3R_649() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_400()) { - jj_scanpos = xsp; - if (jj_3R_401()) return true; - } + if (jj_3R_140()) return true; return false; } - inline bool jj_3R_400() + inline bool jj_3R_615() { if (jj_done) return true; - if (jj_scan_token(PLUS_T)) return true; + Token * xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_649()) { jj_scanpos = xsp; break; } + } return false; } @@ -6557,37 +6302,24 @@ void parseInline(); return false; } - inline bool jj_3R_332() + inline bool jj_3R_547() { if (jj_done) return true; - if (jj_scan_token(FOR_T)) return true; - if (jj_3R_418()) return true; - Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_419()) { jj_scanpos = xsp; break; } - } - while (true) { - xsp = jj_scanpos; - if (jj_3R_420()) { jj_scanpos = xsp; break; } - } - if (jj_scan_token(END_T)) return true; - if (jj_scan_token(FOR_T)) return true; - if (jj_scan_token(SEMI_T)) return true; + if (jj_scan_token(SRL_T)) return true; return false; } - inline bool jj_3R_547() + inline bool jj_3R_546() { if (jj_done) return true; - if (jj_scan_token(SRL_T)) return true; + if (jj_scan_token(SLL_T)) return true; return false; } - inline bool jj_3R_546() + inline bool jj_3R_299() { if (jj_done) return true; - if (jj_scan_token(SLL_T)) return true; + if (jj_3R_382()) return true; return false; } @@ -6615,36 +6347,62 @@ void parseInline(); return false; } + inline bool jj_3_7() + { + if (jj_done) return true; + if (jj_3R_64()) return true; + return false; + } + + inline bool jj_3_8() + { + if (jj_done) return true; + if (jj_3R_65()) return true; + return false; + } + + inline bool jj_3R_298() + { + if (jj_done) return true; + if (jj_3R_381()) return true; + return false; + } + + inline bool jj_3R_297() + { + if (jj_done) return true; + if (jj_3R_380()) return true; + return false; + } + inline bool jj_3R_306() { if (jj_done) return true; - if (jj_3R_67()) return true; + if (jj_3R_68()) return true; Token * xsp; xsp = jj_scanpos; if (jj_3R_386()) jj_scanpos = xsp; return false; } - inline bool jj_3R_244() + inline bool jj_3R_296() { if (jj_done) return true; - if (jj_3R_362()) return true; + if (jj_3R_379()) return true; return false; } - inline bool jj_3R_94() + inline bool jj_3R_295() { if (jj_done) return true; - if (jj_scan_token(BIT_STRING_LITERAL)) return true; + if (jj_3R_378()) return true; return false; } - inline bool jj_3R_239() + inline bool jj_3R_244() { if (jj_done) return true; - if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_58()) return true; - if (jj_scan_token(RPAREN_T)) return true; + if (jj_3R_362()) return true; return false; } @@ -6655,10 +6413,31 @@ void parseInline(); return false; } - inline bool jj_3R_417() + inline bool jj_3R_293() { if (jj_done) return true; - if (jj_3R_328()) return true; + if (jj_3R_377()) return true; + return false; + } + + inline bool jj_3R_294() + { + if (jj_done) return true; + if (jj_3R_64()) return true; + return false; + } + + inline bool jj_3R_292() + { + if (jj_done) return true; + if (jj_3R_376()) return true; + return false; + } + + inline bool jj_3R_291() + { + if (jj_done) return true; + if (jj_3R_375()) return true; return false; } @@ -6669,18 +6448,24 @@ void parseInline(); return false; } - inline bool jj_3R_416() + inline bool jj_3R_290() { if (jj_done) return true; - if (jj_3R_70()) return true; + if (jj_3R_374()) return true; return false; } - inline bool jj_3R_415() + inline bool jj_3R_289() { if (jj_done) return true; - if (jj_scan_token(USE_T)) return true; - if (jj_3R_505()) return true; + if (jj_3R_373()) return true; + return false; + } + + inline bool jj_3R_288() + { + if (jj_done) return true; + if (jj_3R_372()) return true; return false; } @@ -6691,16 +6476,10 @@ void parseInline(); return false; } - inline bool jj_3R_331() + inline bool jj_3R_287() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_415()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_416()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_417()) jj_scanpos = xsp; + if (jj_3R_371()) return true; return false; } @@ -6712,6 +6491,27 @@ void parseInline(); return false; } + inline bool jj_3R_286() + { + if (jj_done) return true; + if (jj_3R_370()) return true; + return false; + } + + inline bool jj_3R_420() + { + if (jj_done) return true; + if (jj_3R_507()) return true; + return false; + } + + inline bool jj_3R_419() + { + if (jj_done) return true; + if (jj_3R_381()) return true; + return false; + } + inline bool jj_3_79() { if (jj_done) return true; @@ -6730,6 +6530,67 @@ void parseInline(); return false; } + 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()) { + jj_scanpos = xsp; + if (jj_3R_288()) { + jj_scanpos = xsp; + if (jj_3R_289()) { + jj_scanpos = xsp; + if (jj_3R_290()) { + jj_scanpos = xsp; + if (jj_3R_291()) { + jj_scanpos = xsp; + if (jj_3R_292()) { + jj_scanpos = xsp; + if (jj_3R_293()) { + jj_scanpos = xsp; + if (jj_3R_294()) { + jj_scanpos = xsp; + if (jj_3R_295()) { + jj_scanpos = xsp; + if (jj_3R_296()) { + jj_scanpos = xsp; + if (jj_3R_297()) { + jj_scanpos = xsp; + if (jj_3R_298()) { + jj_scanpos = xsp; + if (jj_3_8()) { + jj_scanpos = xsp; + if (jj_3R_299()) return true; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + return false; + } + + inline bool jj_3R_285() + { + if (jj_done) return true; + if (jj_3R_92()) return true; + return false; + } + inline bool jj_3_82() { if (jj_done) return true; @@ -6744,6 +6605,26 @@ void parseInline(); return false; } + inline bool jj_3R_332() + { + if (jj_done) return true; + if (jj_scan_token(FOR_T)) return true; + if (jj_3R_418()) return true; + Token * xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_419()) { jj_scanpos = xsp; break; } + } + while (true) { + xsp = jj_scanpos; + if (jj_3R_420()) { jj_scanpos = xsp; break; } + } + if (jj_scan_token(END_T)) return true; + if (jj_scan_token(FOR_T)) return true; + if (jj_scan_token(SEMI_T)) return true; + return false; + } + inline bool jj_3_80() { if (jj_done) return true; @@ -6791,6 +6672,22 @@ void parseInline(); return false; } + 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_239() + { + if (jj_done) 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_3_76() { if (jj_done) return true; @@ -6808,6 +6705,13 @@ void parseInline(); return false; } + inline bool jj_3R_417() + { + if (jj_done) return true; + if (jj_3R_328()) return true; + return false; + } + inline bool jj_3R_112() { if (jj_done) return true; @@ -6853,10 +6757,25 @@ void parseInline(); return false; } - inline bool jj_3R_242() + inline bool jj_3R_242() + { + if (jj_done) return true; + if (jj_3R_360()) return true; + return false; + } + + inline bool jj_3R_416() + { + if (jj_done) return true; + if (jj_3R_70()) return true; + return false; + } + + inline bool jj_3R_415() { if (jj_done) return true; - if (jj_3R_360()) return true; + if (jj_scan_token(USE_T)) return true; + if (jj_3R_505()) return true; return false; } @@ -6868,11 +6787,16 @@ void parseInline(); return false; } - inline bool jj_3R_338() + inline bool jj_3R_331() { if (jj_done) return true; - if (jj_scan_token(SEVERITY_T)) return true; - if (jj_3R_58()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_415()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_416()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_417()) jj_scanpos = xsp; return false; } @@ -6894,13 +6818,6 @@ void parseInline(); return false; } - inline bool jj_3R_266() - { - if (jj_done) return true; - if (jj_3R_58()) return true; - return false; - } - inline bool jj_3R_421() { if (jj_done) return true; @@ -6913,43 +6830,10 @@ void parseInline(); return false; } - inline bool jj_3R_378() + inline bool jj_3R_266() { if (jj_done) return true; - if (jj_scan_token(ATTRIBUTE_T)) return true; - if (jj_3R_219()) return true; - if (jj_scan_token(OF_T)) return true; - if (jj_3R_469()) return true; - if (jj_scan_token(IS_T)) return true; if (jj_3R_58()) return true; - if (jj_scan_token(SEMI_T)) return true; - return false; - } - - inline bool jj_3R_315() - { - if (jj_done) return true; - if (jj_scan_token(COMMA_T)) return true; - if (jj_3R_314()) return true; - return false; - } - - inline bool jj_3R_110() - { - if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(APOSTROPHE_T)) return true; - if (jj_3R_59()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_239()) jj_scanpos = xsp; - return false; - } - - inline bool jj_3_73() - { - if (jj_done) return true; - if (jj_3R_111()) return true; return false; } @@ -6961,29 +6845,10 @@ void parseInline(); return false; } - inline bool jj_3R_354() - { - if (jj_done) return true; - if (jj_scan_token(RANGE_T)) return true; - return false; - } - - inline bool jj_3R_219() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_353()) { - jj_scanpos = xsp; - if (jj_3R_354()) return true; - } - return false; - } - - inline bool jj_3R_353() + inline bool jj_3_73() { if (jj_done) return true; - if (jj_3R_69()) return true; + if (jj_3R_111()) return true; return false; } @@ -7001,13 +6866,6 @@ void parseInline(); return false; } - inline bool jj_3R_688() - { - if (jj_done) return true; - if (jj_3R_111()) return true; - return false; - } - inline bool jj_3R_324() { if (jj_done) return true; @@ -7022,51 +6880,60 @@ void parseInline(); return false; } - inline bool jj_3_6() + inline bool jj_3R_338() { if (jj_done) return true; - if (jj_3R_63()) return true; - if (jj_scan_token(ARROW_T)) return true; + if (jj_scan_token(SEVERITY_T)) return true; + if (jj_3R_58()) return true; return false; } - inline bool jj_3R_64() + inline bool jj_3R_688() + { + if (jj_done) return true; + if (jj_3R_111()) return true; + return false; + } + + inline bool jj_3R_471() { if (jj_done) return true; - if (jj_scan_token(ATTRIBUTE_T)) return true; if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; - if (jj_3R_157()) return true; - if (jj_scan_token(SEMI_T)) return true; + if (jj_scan_token(DOT_T)) return true; + if (jj_3R_99()) return true; return false; } - inline bool jj_3R_337() + inline bool jj_3R_378() { if (jj_done) return true; - if (jj_scan_token(REPORT_T)) return true; + if (jj_scan_token(ATTRIBUTE_T)) return true; + if (jj_3R_219()) return true; + if (jj_scan_token(OF_T)) return true; + if (jj_3R_469()) return true; + if (jj_scan_token(IS_T)) return true; if (jj_3R_58()) return true; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_471() + inline bool jj_3R_315() { if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(DOT_T)) return true; - if (jj_3R_99()) return true; + if (jj_scan_token(COMMA_T)) return true; + if (jj_3R_314()) return true; return false; } - inline bool jj_3R_165() + inline bool jj_3R_110() { if (jj_done) return true; - if (jj_3R_314()) return true; + if (jj_3R_69()) return true; + if (jj_scan_token(APOSTROPHE_T)) return true; + if (jj_3R_59()) return true; Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_315()) { jj_scanpos = xsp; break; } - } + xsp = jj_scanpos; + if (jj_3R_239()) jj_scanpos = xsp; return false; } @@ -7080,29 +6947,29 @@ void parseInline(); return false; } - inline bool jj_3R_402() + inline bool jj_3R_354() { if (jj_done) return true; - if (jj_3R_63()) return true; - if (jj_scan_token(ARROW_T)) return true; + if (jj_scan_token(RANGE_T)) return true; return false; } - inline bool jj_3R_314() + inline bool jj_3R_219() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_402()) jj_scanpos = xsp; - if (jj_3R_403()) return true; + if (jj_3R_353()) { + jj_scanpos = xsp; + if (jj_3R_354()) return true; + } return false; } - inline bool jj_3R_247() + inline bool jj_3R_353() { if (jj_done) return true; - if (jj_3R_139()) return true; - if (jj_scan_token(COLON_T)) return true; + if (jj_3R_69()) return true; return false; } @@ -7116,17 +6983,6 @@ void parseInline(); return false; } - inline bool jj_3R_115() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_247()) jj_scanpos = xsp; - if (jj_3R_187()) return true; - if (jj_scan_token(SEMI_T)) return true; - return false; - } - inline bool jj_3R_675() { if (jj_done) return true; @@ -7146,24 +7002,38 @@ void parseInline(); return false; } - inline bool jj_3R_265() + inline bool jj_3_6() + { + if (jj_done) return true; + if (jj_3R_63()) return true; + if (jj_scan_token(ARROW_T)) return true; + return false; + } + + inline bool jj_3R_64() { if (jj_done) return true; + if (jj_scan_token(ATTRIBUTE_T)) return true; if (jj_3R_69()) return true; if (jj_scan_token(COLON_T)) return true; + if (jj_3R_157()) return true; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_187() + inline bool jj_3R_337() { if (jj_done) return true; - if (jj_scan_token(ASSERT_T)) return true; - if (jj_3R_79()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_337()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_338()) jj_scanpos = xsp; + if (jj_scan_token(REPORT_T)) return true; + if (jj_3R_58()) return true; + return false; + } + + inline bool jj_3R_265() + { + if (jj_done) return true; + if (jj_3R_69()) return true; + if (jj_scan_token(COLON_T)) return true; return false; } @@ -7180,13 +7050,6 @@ void parseInline(); return false; } - inline bool jj_3_5() - { - if (jj_done) return true; - if (jj_3R_62()) return true; - return false; - } - inline bool jj_3R_249() { if (jj_done) return true; @@ -7195,10 +7058,15 @@ void parseInline(); return false; } - inline bool jj_3R_698() + inline bool jj_3R_165() { if (jj_done) return true; - if (jj_3R_703()) return true; + if (jj_3R_314()) return true; + Token * xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_315()) { jj_scanpos = xsp; break; } + } return false; } @@ -7210,22 +7078,21 @@ void parseInline(); return false; } - inline bool jj_3R_697() + inline bool jj_3R_402() { if (jj_done) return true; - if (jj_3R_62()) return true; + if (jj_3R_63()) return true; + if (jj_scan_token(ARROW_T)) return true; return false; } - inline bool jj_3R_689() + inline bool jj_3R_314() { if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_697()) { - jj_scanpos = xsp; - if (jj_3R_698()) return true; - } + if (jj_3R_402()) jj_scanpos = xsp; + if (jj_3R_403()) return true; return false; } @@ -7237,6 +7104,14 @@ void parseInline(); return false; } + inline bool jj_3R_247() + { + if (jj_done) return true; + if (jj_3R_139()) return true; + if (jj_scan_token(COLON_T)) return true; + return false; + } + inline bool jj_3R_116() { if (jj_done) return true; @@ -7258,6 +7133,17 @@ void parseInline(); return false; } + inline bool jj_3R_115() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_247()) jj_scanpos = xsp; + if (jj_3R_187()) return true; + if (jj_scan_token(SEMI_T)) return true; + return false; + } + inline bool jj_3R_482() { if (jj_done) return true; @@ -7320,14 +7206,27 @@ void parseInline(); inline bool jj_3R_477() { if (jj_done) return true; - if (jj_scan_token(LT_T)) return true; + if (jj_scan_token(LT_T)) return true; + return false; + } + + inline bool jj_3R_187() + { + if (jj_done) return true; + if (jj_scan_token(ASSERT_T)) return true; + if (jj_3R_79()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_337()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_338()) jj_scanpos = xsp; return false; } - inline bool jj_3R_465() + inline bool jj_3_5() { if (jj_done) return true; - if (jj_3R_233()) return true; + if (jj_3R_62()) return true; return false; } @@ -7348,6 +7247,13 @@ void parseInline(); return false; } + inline bool jj_3R_698() + { + if (jj_done) return true; + if (jj_3R_703()) return true; + return false; + } + inline bool jj_3R_690() { if (jj_done) return true; @@ -7365,20 +7271,31 @@ void parseInline(); return false; } - inline bool jj_3R_236() + inline bool jj_3R_697() { if (jj_done) return true; - if (jj_scan_token(COMMA_T)) return true; - if (jj_3R_235()) return true; + if (jj_3R_62()) return true; + return false; + } + + inline bool jj_3R_689() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_697()) { + jj_scanpos = xsp; + if (jj_3R_698()) return true; + } return false; } inline bool jj_3_71() { if (jj_done) return true; - if (jj_3R_67()) return true; + if (jj_3R_68()) return true; if (jj_3R_109()) return true; - if (jj_3R_67()) return true; + if (jj_3R_68()) return true; return false; } @@ -7397,14 +7314,6 @@ void parseInline(); return false; } - inline bool jj_3R_575() - { - if (jj_done) return true; - if (jj_scan_token(NEW_T)) return true; - if (jj_3R_84()) return true; - return false; - } - inline bool jj_3_70() { if (jj_done) return true; @@ -7422,9 +7331,9 @@ void parseInline(); inline bool jj_3R_181() { if (jj_done) return true; - if (jj_3R_67()) return true; + if (jj_3R_68()) return true; if (jj_3R_109()) return true; - if (jj_3R_67()) return true; + if (jj_3R_68()) return true; return false; } @@ -7440,30 +7349,10 @@ void parseInline(); return false; } - 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_575()) return true; - } - return false; - } - - inline bool jj_3_4() - { - if (jj_done) return true; - if (jj_scan_token(NEW_T)) return true; - if (jj_3R_61()) return true; - return false; - } - - inline bool jj_3R_536() + inline bool jj_3R_465() { if (jj_done) return true; - if (jj_3R_309()) return true; + if (jj_3R_233()) return true; return false; } @@ -7476,35 +7365,6 @@ void parseInline(); return false; } - inline bool jj_3R_535() - { - if (jj_done) return true; - if (jj_scan_token(CHARACTER_LITERAL)) return true; - return false; - } - - inline bool jj_3R_534() - { - if (jj_done) return true; - if (jj_3R_69()) return true; - return false; - } - - inline bool jj_3R_463() - { - if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_534()) { - jj_scanpos = xsp; - if (jj_3R_535()) { - jj_scanpos = xsp; - if (jj_3R_536()) return true; - } - } - return false; - } - inline bool jj_3R_226() { if (jj_done) return true; @@ -7526,6 +7386,14 @@ void parseInline(); return false; } + inline bool jj_3R_236() + { + if (jj_done) return true; + if (jj_scan_token(COMMA_T)) return true; + if (jj_3R_235()) return true; + return false; + } + inline bool jj_3R_341() { if (jj_done) return true; @@ -7544,14 +7412,6 @@ void parseInline(); return false; } - inline bool jj_3R_464() - { - if (jj_done) return true; - if (jj_scan_token(COLON_T)) return true; - if (jj_3R_84()) return true; - return false; - } - inline bool jj_3R_192() { if (jj_done) return true; @@ -7559,19 +7419,11 @@ void parseInline(); return false; } - inline bool jj_3R_376() + inline bool jj_3R_575() { if (jj_done) return true; - if (jj_scan_token(ALIAS_T)) return true; - if (jj_3R_463()) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_464()) jj_scanpos = xsp; - if (jj_scan_token(IS_T)) return true; - if (jj_3R_59()) return true; - xsp = jj_scanpos; - if (jj_3R_465()) jj_scanpos = xsp; - if (jj_scan_token(SEMI_T)) return true; + if (jj_scan_token(NEW_T)) return true; + if (jj_3R_84()) return true; return false; } @@ -7582,149 +7434,162 @@ void parseInline(); return false; } - inline bool jj_3R_108() + inline bool jj_3R_530() { if (jj_done) return true; - if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_235()) return true; Token * xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_236()) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3_4()) { + jj_scanpos = xsp; + if (jj_3R_575()) return true; } - if (jj_scan_token(RPAREN_T)) return true; return false; } - inline bool jj_3R_272() + inline bool jj_3_4() { if (jj_done) return true; - if (jj_scan_token(MINUS_T)) return true; + if (jj_scan_token(NEW_T)) return true; + if (jj_3R_61()) return true; return false; } - inline bool jj_3R_273() + inline bool jj_3R_536() { if (jj_done) return true; - if (jj_scan_token(AMPERSAND_T)) return true; + if (jj_3R_309()) return true; return false; } - inline bool jj_3R_128() + inline bool jj_3R_535() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_271()) { - jj_scanpos = xsp; - if (jj_3R_272()) { - jj_scanpos = xsp; - if (jj_3R_273()) return true; - } - } + if (jj_scan_token(CHARACTER_LITERAL)) return true; return false; } - inline bool jj_3R_271() + inline bool jj_3R_534() { if (jj_done) return true; - if (jj_scan_token(PLUS_T)) return true; + if (jj_3R_69()) return true; return false; } - inline bool jj_3_3() + inline bool jj_3R_463() { if (jj_done) return true; - if (jj_3R_60()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_534()) { + jj_scanpos = xsp; + if (jj_3R_535()) { + jj_scanpos = xsp; + if (jj_3R_536()) return true; + } + } return false; } - inline bool jj_3R_491() + inline bool jj_3R_464() { if (jj_done) return true; - if (jj_scan_token(BOX_T)) return true; + if (jj_scan_token(COLON_T)) return true; + if (jj_3R_84()) return true; return false; } - inline bool jj_3R_492() + inline bool jj_3R_376() { if (jj_done) return true; + if (jj_scan_token(ALIAS_T)) return true; + if (jj_3R_463()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_464()) jj_scanpos = xsp; + if (jj_scan_token(IS_T)) return true; if (jj_3R_59()) return true; - if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_60()) return true; - if (jj_scan_token(RPAREN_T)) return true; + xsp = jj_scanpos; + if (jj_3R_465()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; return false; } - inline bool jj_3R_403() + inline bool jj_3R_189() { if (jj_done) return true; + if (jj_scan_token(LPAREN_T)) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_490()) { - jj_scanpos = xsp; - if (jj_3R_491()) { + if (jj_scan_token(15)) { jj_scanpos = xsp; - if (jj_3R_492()) return true; - } + if (jj_3R_339()) return true; } + if (jj_scan_token(RPAREN_T)) return true; return false; } - inline bool jj_3R_490() + inline bool jj_3R_108() { if (jj_done) return true; - if (jj_3R_60()) return true; + if (jj_scan_token(LPAREN_T)) return true; + if (jj_3R_235()) return true; + Token * xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_236()) { jj_scanpos = xsp; break; } + } + if (jj_scan_token(RPAREN_T)) return true; return false; } - inline bool jj_3_2() + inline bool jj_3R_272() { if (jj_done) return true; - if (jj_3R_59()) return true; + if (jj_scan_token(MINUS_T)) return true; return false; } - inline bool jj_3R_225() + inline bool jj_3R_273() { if (jj_done) return true; - if (jj_3R_165()) return true; + if (jj_scan_token(AMPERSAND_T)) return true; return false; } - inline bool jj_3R_189() + inline bool jj_3R_128() { if (jj_done) return true; - if (jj_scan_token(LPAREN_T)) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(15)) { + if (jj_3R_271()) { jj_scanpos = xsp; - if (jj_3R_339()) return true; + if (jj_3R_272()) { + jj_scanpos = xsp; + if (jj_3R_273()) return true; + } } - if (jj_scan_token(RPAREN_T)) return true; return false; } - inline bool jj_3_1() + inline bool jj_3R_271() { if (jj_done) return true; - if (jj_3R_58()) return true; + if (jj_scan_token(PLUS_T)) return true; return false; } - inline bool jj_3R_153() + inline bool jj_3R_188() { if (jj_done) return true; - if (jj_3R_59()) 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_3_3() { if (jj_done) return true; - if (jj_3R_69()) return true; - if (jj_scan_token(COLON_T)) return true; + if (jj_3R_60()) return true; return false; } @@ -7754,13 +7619,6 @@ void parseInline(); return false; } - inline bool jj_3R_152() - { - if (jj_done) return true; - if (jj_3R_58()) return true; - return false; - } - inline bool jj_3R_340() { if (jj_done) return true; @@ -7768,25 +7626,20 @@ void parseInline(); return false; } - inline bool jj_3R_151() + inline bool jj_3R_491() { if (jj_done) return true; - if (jj_scan_token(OPEN_T)) return true; + if (jj_scan_token(BOX_T)) return true; return false; } - inline bool jj_3R_60() + inline bool jj_3R_492() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_151()) { - jj_scanpos = xsp; - if (jj_3R_152()) { - jj_scanpos = xsp; - if (jj_3R_153()) return true; - } - } + if (jj_3R_59()) return true; + if (jj_scan_token(LPAREN_T)) return true; + if (jj_3R_60()) return true; + if (jj_scan_token(RPAREN_T)) return true; return false; } @@ -7801,25 +7654,39 @@ void parseInline(); return false; } - inline bool jj_3R_655() + inline bool jj_3R_518() { if (jj_done) return true; - if (jj_scan_token(ACCESS_T)) return true; - if (jj_3R_84()) return true; + if (jj_3R_382()) return true; return false; } - inline bool jj_3R_518() + inline bool jj_3R_403() { if (jj_done) return true; - if (jj_3R_382()) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_490()) { + jj_scanpos = xsp; + if (jj_3R_491()) { + jj_scanpos = xsp; + if (jj_3R_492()) return true; + } + } return false; } - inline bool jj_3R_224() + inline bool jj_3R_490() { if (jj_done) return true; - if (jj_scan_token(BASED_LITERAL)) return true; + if (jj_3R_60()) return true; + return false; + } + + inline bool jj_3_2() + { + if (jj_done) return true; + if (jj_3R_59()) return true; return false; } @@ -7837,10 +7704,10 @@ void parseInline(); return false; } - inline bool jj_3R_223() + inline bool jj_3R_225() { if (jj_done) return true; - if (jj_scan_token(INTEGER)) return true; + if (jj_3R_165()) return true; return false; } @@ -7851,25 +7718,10 @@ void parseInline(); return false; } - inline bool jj_3R_222() - { - if (jj_done) return true; - if (jj_scan_token(DECIMAL_LITERAL)) return true; - return false; - } - - inline bool jj_3R_103() + inline bool jj_3_1() { if (jj_done) return true; - Token * xsp; - xsp = jj_scanpos; - if (jj_3R_222()) { - jj_scanpos = xsp; - if (jj_3R_223()) { - jj_scanpos = xsp; - if (jj_3R_224()) return true; - } - } + if (jj_3R_58()) return true; return false; } @@ -7908,6 +7760,13 @@ void parseInline(); return false; } + inline bool jj_3R_153() + { + if (jj_done) return true; + if (jj_3R_59()) return true; + return false; + } + inline bool jj_3R_511() { if (jj_done) return true; @@ -7922,6 +7781,13 @@ void parseInline(); return false; } + inline bool jj_3R_152() + { + if (jj_done) return true; + if (jj_3R_58()) return true; + return false; + } + inline bool jj_3R_422() { if (jj_done) return true; @@ -7980,6 +7846,36 @@ void parseInline(); return false; } + inline bool jj_3R_151() + { + if (jj_done) return true; + if (jj_scan_token(OPEN_T)) return true; + return false; + } + + inline bool jj_3R_60() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_151()) { + jj_scanpos = xsp; + if (jj_3R_152()) { + jj_scanpos = xsp; + if (jj_3R_153()) return true; + } + } + return false; + } + + inline bool jj_3R_655() + { + if (jj_done) return true; + if (jj_scan_token(ACCESS_T)) return true; + if (jj_3R_84()) return true; + return false; + } + inline bool jj_3_67() { if (jj_done) return true; @@ -7999,6 +7895,42 @@ void parseInline(); return false; } + inline bool jj_3R_224() + { + if (jj_done) return true; + if (jj_scan_token(BASED_LITERAL)) return true; + return false; + } + + inline bool jj_3R_223() + { + if (jj_done) return true; + if (jj_scan_token(INTEGER)) return true; + return false; + } + + inline bool jj_3R_222() + { + if (jj_done) return true; + if (jj_scan_token(DECIMAL_LITERAL)) return true; + return false; + } + + inline bool jj_3R_103() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_222()) { + jj_scanpos = xsp; + if (jj_3R_223()) { + jj_scanpos = xsp; + if (jj_3R_224()) return true; + } + } + return false; + } + inline bool jj_3R_176() { if (jj_done) return true; @@ -8144,17 +8076,17 @@ void parseInline(); return false; } - inline bool jj_3R_452() + inline bool jj_3R_241() { if (jj_done) return true; - if (jj_3R_105()) return true; + if (jj_3R_59()) return true; return false; } - inline bool jj_3R_241() + inline bool jj_3R_452() { if (jj_done) return true; - if (jj_3R_59()) return true; + if (jj_3R_105()) return true; return false; } @@ -8229,6 +8161,13 @@ void parseInline(); return false; } + inline bool jj_3R_240() + { + if (jj_done) return true; + if (jj_3R_359()) return true; + return false; + } + inline bool jj_3R_537() { if (jj_done) return true; @@ -8240,13 +8179,6 @@ void parseInline(); return false; } - inline bool jj_3R_240() - { - if (jj_done) return true; - if (jj_3R_359()) return true; - return false; - } - inline bool jj_3R_111() { if (jj_done) return true; @@ -8294,7 +8226,7 @@ void parseInline(); if (jj_done) return true; if (jj_3R_69()) return true; if (jj_scan_token(IN_T)) return true; - if (jj_3R_68()) return true; + if (jj_3R_67()) return true; return false; } @@ -8593,7 +8525,7 @@ void parseInline(); { if (jj_done) return true; if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_68()) return true; + if (jj_3R_67()) return true; if (jj_scan_token(RPAREN_T)) return true; return false; } @@ -8638,7 +8570,7 @@ void parseInline(); { if (jj_done) return true; if (jj_scan_token(LPAREN_T)) return true; - if (jj_3R_68()) return true; + if (jj_3R_67()) return true; if (jj_scan_token(RPAREN_T)) return true; return false; } @@ -8849,6 +8781,74 @@ void parseInline(); return false; } + inline bool jj_3R_257() + { + if (jj_done) return true; + if (jj_3R_366()) return true; + return false; + } + + inline bool jj_3R_256() + { + if (jj_done) return true; + if (jj_3R_69()) return true; + if (jj_scan_token(COLON_T)) return true; + return false; + } + + inline bool jj_3R_122() + { + if (jj_done) return true; + Token * xsp; + xsp = jj_scanpos; + if (jj_3R_256()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_257()) jj_scanpos = xsp; + if (jj_scan_token(LOOP_T)) 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_628()) jj_scanpos = xsp; + if (jj_scan_token(SEMI_T)) return true; + return false; + } + + inline bool jj_3_45() + { + if (jj_done) return true; + if (jj_3R_96()) return true; + return false; + } + + inline bool jj_3_44() + { + 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_scan_token(NULL_T)) return true; + return false; + } + + inline bool jj_3_43() + { + if (jj_done) return true; + if (jj_3R_94()) return true; + return false; + } + + inline bool jj_3R_231() + { + if (jj_done) return true; + if (jj_3R_355()) return true; + return false; + } + public: TokenManager *token_source; diff --git a/vhdlparser/VhdlParserTokenManager.cc b/vhdlparser/VhdlParserTokenManager.cc index ca09e99..07364a4 100644 --- a/vhdlparser/VhdlParserTokenManager.cc +++ b/vhdlparser/VhdlParserTokenManager.cc @@ -13,10 +13,10 @@ static const unsigned long long jjbitVec3[] = { 0x0ULL, 0x0ULL, 0xffffffff00000000ULL, 0xffffffffffffffffULL }; static const int jjnextStates[] = { - 53, 54, 55, 56, 57, 60, 64, 65, 66, 47, 48, 2, 36, 37, 0, 3, - 4, 5, 7, 12, 13, 15, 16, 32, 33, 35, 38, 39, 41, 55, 56, 57, - 60, 59, 58, 60, 64, 65, 66, 67, 68, 70, 9, 10, 23, 24, 27, 28, - 44, 46, 49, 51, 26, 29, + 54, 55, 56, 57, 58, 61, 65, 66, 67, 48, 49, 2, 37, 38, 0, 3, + 4, 5, 7, 12, 13, 15, 16, 24, 23, 25, 33, 34, 36, 39, 40, 42, + 56, 57, 58, 61, 60, 59, 61, 65, 66, 67, 68, 69, 71, 9, 10, 28, + 29, 45, 47, 50, 52, 27, 30, }; static JAVACC_CHAR_TYPE jjstrLiteralChars_0[] = {0}; static JAVACC_CHAR_TYPE jjstrLiteralChars_1[] = {0}; @@ -2683,7 +2683,7 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){ curChar = input_stream->readChar(); curPos = 0; int startsAt = 0; - jjnewStateCnt = 75; + jjnewStateCnt = 76; int i = 1; jjstateSet[0] = startState; int kind = 0x7fffffff; @@ -2814,216 +2814,216 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){ break; case 22: if (curChar == 34) - { jjCheckNAddTwoStates(23, 24); } + { jjCheckNAdd(23); } break; case 23: if ((0x3ff000000000000ULL & l) != 0L) - { jjCheckNAddTwoStates(23, 24); } + { jjCheckNAddStates(23, 25); } break; - case 24: + case 25: if (curChar == 34 && kind > 179) kind = 179; break; - case 26: + case 27: if (curChar == 34) - { jjCheckNAddTwoStates(27, 28); } + { jjCheckNAddTwoStates(28, 29); } break; - case 27: + case 28: if ((0xfffffffb00000200ULL & l) != 0L) - { jjCheckNAddTwoStates(27, 28); } + { jjCheckNAddTwoStates(28, 29); } break; - case 28: + case 29: if (curChar != 34) break; if (kind > 187) kind = 187; - { jjCheckNAddTwoStates(26, 29); } + { jjCheckNAddTwoStates(27, 30); } break; - case 29: + case 30: if ((0xfffffffb00000200ULL & l) == 0L) break; if (kind > 187) kind = 187; - { jjCheckNAddTwoStates(26, 29); } + { jjCheckNAddTwoStates(27, 30); } break; - case 30: + case 31: if (curChar == 45) { jjCheckNAddStates(11, 13); } break; - case 31: + case 32: if (curChar != 35) break; if (kind > 7) kind = 7; - { jjCheckNAddStates(23, 25); } + { jjCheckNAddStates(26, 28); } break; - case 32: + case 33: if ((0xffffffffffffdbffULL & l) == 0L) break; if (kind > 7) kind = 7; - { jjCheckNAddStates(23, 25); } + { jjCheckNAddStates(26, 28); } break; - case 33: + case 34: if ((0x2400ULL & l) != 0L && kind > 7) kind = 7; break; - case 34: + case 35: if (curChar == 10 && kind > 7) kind = 7; break; - case 35: + case 36: if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 34; + jjstateSet[jjnewStateCnt++] = 35; break; - case 36: + case 37: if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 31; + jjstateSet[jjnewStateCnt++] = 32; break; - case 37: + case 38: if (curChar != 45) break; if (kind > 8) kind = 8; - { jjCheckNAddStates(26, 28); } + { jjCheckNAddStates(29, 31); } break; - case 38: + case 39: if ((0xffffffffffffdbffULL & l) == 0L) break; if (kind > 8) kind = 8; - { jjCheckNAddStates(26, 28); } + { jjCheckNAddStates(29, 31); } break; - case 39: + case 40: if ((0x2400ULL & l) != 0L && kind > 8) kind = 8; break; - case 40: + case 41: if (curChar == 10 && kind > 8) kind = 8; break; - case 41: + case 42: if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 40; + jjstateSet[jjnewStateCnt++] = 41; break; - case 42: + case 43: if (curChar == 47) { jjAddStates(9, 10); } break; - case 43: - if (curChar == 33) - { jjCheckNAddTwoStates(44, 46); } - break; case 44: - { jjCheckNAddTwoStates(44, 46); } + if (curChar == 33) + { jjCheckNAddTwoStates(45, 47); } break; case 45: - if (curChar == 47 && kind > 9) - kind = 9; + { jjCheckNAddTwoStates(45, 47); } break; case 46: - if (curChar == 42) - jjstateSet[jjnewStateCnt++] = 45; + if (curChar == 47 && kind > 9) + kind = 9; break; case 47: if (curChar == 42) - jjstateSet[jjnewStateCnt++] = 43; + jjstateSet[jjnewStateCnt++] = 46; break; case 48: if (curChar == 42) - { jjCheckNAddTwoStates(49, 51); } + jjstateSet[jjnewStateCnt++] = 44; break; case 49: - { jjCheckNAddTwoStates(49, 51); } + if (curChar == 42) + { jjCheckNAddTwoStates(50, 52); } break; case 50: + { jjCheckNAddTwoStates(50, 52); } + break; + case 51: if (curChar == 47 && kind > 10) kind = 10; break; - case 51: + case 52: if (curChar == 42) - jjstateSet[jjnewStateCnt++] = 50; + jjstateSet[jjnewStateCnt++] = 51; break; - case 52: + case 53: if ((0x3ff000000000000ULL & l) == 0L) break; if (kind > 165) kind = 165; { jjCheckNAddStates(0, 8); } break; - case 54: + case 55: if ((0x3ff000000000000ULL & l) == 0L) break; if (kind > 165) kind = 165; - { jjCheckNAddTwoStates(53, 54); } + { jjCheckNAddTwoStates(54, 55); } break; - case 56: + case 57: if ((0x3ff000000000000ULL & l) == 0L) break; if (kind > 170) kind = 170; - { jjCheckNAddStates(29, 32); } + { jjCheckNAddStates(32, 35); } break; - case 57: + case 58: if (curChar == 46) - { jjCheckNAdd(58); } + { jjCheckNAdd(59); } break; - case 58: + case 59: if ((0x3ff000000000000ULL & l) == 0L) break; if (kind > 170) kind = 170; - { jjCheckNAddStates(33, 35); } + { jjCheckNAddStates(36, 38); } break; - case 61: + case 62: if ((0x280000000000ULL & l) != 0L) - { jjCheckNAdd(62); } + { jjCheckNAdd(63); } break; - case 62: + case 63: if ((0x3ff000000000000ULL & l) == 0L) break; if (kind > 170) kind = 170; - { jjCheckNAddTwoStates(63, 62); } + { jjCheckNAddTwoStates(64, 63); } break; - case 65: + case 66: if ((0x3ff000000000000ULL & l) != 0L) - { jjCheckNAddStates(36, 38); } + { jjCheckNAddStates(39, 41); } break; - case 66: + case 67: if (curChar == 35) - { jjCheckNAdd(67); } + { jjCheckNAdd(68); } break; - case 67: + case 68: if ((0x3ff000000000000ULL & l) != 0L) - { jjCheckNAddStates(39, 41); } + { jjCheckNAddStates(42, 44); } break; - case 68: + case 69: if (curChar == 46) - { jjCheckNAdd(69); } + { jjCheckNAdd(70); } break; - case 69: + case 70: if ((0x3ff000000000000ULL & l) != 0L) - { jjCheckNAddTwoStates(69, 70); } + { jjCheckNAddTwoStates(70, 71); } break; - case 70: + case 71: if (curChar != 35) break; if (kind > 172) kind = 172; - jjstateSet[jjnewStateCnt++] = 71; + jjstateSet[jjnewStateCnt++] = 72; break; - case 72: + case 73: if ((0x280000000000ULL & l) != 0L) - { jjCheckNAdd(73); } + { jjCheckNAdd(74); } break; - case 73: + case 74: if ((0x3ff000000000000ULL & l) == 0L) break; if (kind > 172) kind = 172; - { jjCheckNAddTwoStates(74, 73); } + { jjCheckNAddTwoStates(75, 74); } break; default : break; } @@ -3045,7 +3045,7 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){ { jjCheckNAdd(20); } } else if (curChar == 96) - { jjCheckNAddTwoStates(26, 29); } + { jjCheckNAddTwoStates(27, 30); } else if (curChar == 92) { jjCheckNAddTwoStates(15, 16); } if ((0x7fffffe07fffffeULL & l) != 0L) @@ -3064,7 +3064,7 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){ break; case 9: if ((0x7fffffffffffffffULL & l) != 0L) - { jjAddStates(42, 43); } + { jjAddStates(45, 46); } break; case 12: if (curChar == 95) @@ -3106,78 +3106,82 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){ break; case 23: if ((0x7fffffe07fffffeULL & l) != 0L) - { jjAddStates(44, 45); } + { jjCheckNAddStates(23, 25); } break; - case 25: + case 24: + if (curChar == 95) + { jjCheckNAddTwoStates(24, 23); } + break; + case 26: if (curChar == 96) - { jjCheckNAddTwoStates(26, 29); } + { jjCheckNAddTwoStates(27, 30); } break; - case 27: + case 28: if ((0x7fffffffffffffffULL & l) != 0L) - { jjAddStates(46, 47); } + { jjAddStates(47, 48); } break; - case 29: + case 30: if ((0x7fffffffffffffffULL & l) == 0L) break; if (kind > 187) kind = 187; - { jjCheckNAddTwoStates(26, 29); } + { jjCheckNAddTwoStates(27, 30); } break; - case 32: + case 33: if (kind > 7) kind = 7; - { jjAddStates(23, 25); } + { jjAddStates(26, 28); } break; - case 38: + case 39: if (kind > 8) kind = 8; - { jjAddStates(26, 28); } + { jjAddStates(29, 31); } break; - case 44: - { jjAddStates(48, 49); } + case 45: + { jjAddStates(49, 50); } break; - case 49: - { jjAddStates(50, 51); } + case 50: + { jjAddStates(51, 52); } break; - case 53: + case 54: if (curChar == 95) - jjstateSet[jjnewStateCnt++] = 54; + jjstateSet[jjnewStateCnt++] = 55; break; - case 55: + case 56: if (curChar == 95) - jjstateSet[jjnewStateCnt++] = 56; + jjstateSet[jjnewStateCnt++] = 57; break; - case 59: + case 60: if (curChar == 95) - jjstateSet[jjnewStateCnt++] = 58; + jjstateSet[jjnewStateCnt++] = 59; break; - case 60: + case 61: if ((0x2000000020ULL & l) != 0L) - { jjCheckNAddTwoStates(61, 62); } + { jjCheckNAddTwoStates(62, 63); } break; - case 63: + case 64: if (curChar == 95) - { jjCheckNAdd(62); } + { jjCheckNAdd(63); } break; - case 64: + case 65: if (curChar == 95) - jjstateSet[jjnewStateCnt++] = 65; + jjstateSet[jjnewStateCnt++] = 66; break; - case 67: + case 68: if ((0x7fffffe07fffffeULL & l) != 0L) - { jjCheckNAddStates(39, 41); } + { jjCheckNAddStates(42, 44); } break; - case 69: + case 70: if ((0x7fffffe07fffffeULL & l) != 0L) - { jjCheckNAddTwoStates(69, 70); } + { jjCheckNAddTwoStates(70, 71); } break; - case 71: + case 72: if ((0x2000000020ULL & l) != 0L) - { jjCheckNAddTwoStates(72, 73); } + { jjCheckNAddTwoStates(73, 74); } break; - case 74: + case 75: if (curChar == 95) - { jjCheckNAdd(73); } + { jjCheckNAdd(74); } break; default : break; } @@ -3203,7 +3207,7 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){ break; case 9: if (jjCanMove_1(hiByte, i1, i2, l1, l2)) - { jjAddStates(42, 43); } + { jjAddStates(45, 46); } break; case 15: if (jjCanMove_1(hiByte, i1, i2, l1, l2)) @@ -3213,38 +3217,38 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){ if (jjCanMove_1(hiByte, i1, i2, l1, l2)) jjstateSet[jjnewStateCnt++] = 19; break; - case 27: + case 28: if (jjCanMove_1(hiByte, i1, i2, l1, l2)) - { jjAddStates(46, 47); } + { jjAddStates(47, 48); } break; - case 29: + case 30: if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) break; if (kind > 187) kind = 187; - { jjAddStates(52, 53); } + { jjAddStates(53, 54); } break; - case 32: + case 33: if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) break; if (kind > 7) kind = 7; - { jjAddStates(23, 25); } + { jjAddStates(26, 28); } break; - case 38: + case 39: if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) break; if (kind > 8) kind = 8; - { jjAddStates(26, 28); } + { jjAddStates(29, 31); } break; - case 44: + case 45: if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - { jjAddStates(48, 49); } + { jjAddStates(49, 50); } break; - case 49: + case 50: if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - { jjAddStates(50, 51); } + { jjAddStates(51, 52); } break; default : if (i1 == 0 || l1 == 0 || i2 == 0 || l2 == 0) break; else break; } @@ -3257,7 +3261,7 @@ int VhdlParserTokenManager::jjMoveNfa_0(int startState, int curPos){ kind = 0x7fffffff; } ++curPos; - if ((i = jjnewStateCnt), (jjnewStateCnt = startsAt), (i == (startsAt = 75 - startsAt))) + if ((i = jjnewStateCnt), (jjnewStateCnt = startsAt), (i == (startsAt = 76 - startsAt))) break; if (input_stream->endOfInput()) { break; } curChar = input_stream->readChar(); @@ -3570,6 +3574,12 @@ void VhdlParserTokenManager::TokenLexicalActions(Token *matchedToken){ ::vhdl::parser::VhdlParser::setLineParsed(UNITS_T); break; } + case 137 : { + image.append(jjstrLiteralImages[137]); + lengthOfMatch = jjstrLiteralImages[137].length(); + ::vhdl::parser::VhdlParser::setLineParsed(SEMI_T); + break; + } default : break; } @@ -3591,7 +3601,7 @@ void VhdlParserTokenManager::TokenLexicalActions(Token *matchedToken){ void VhdlParserTokenManager::ReInitRounds() { int i; jjround = 0x80000001; - for (i = 75; i-- > 0;) + for (i = 76; i-- > 0;) jjrounds[i] = 0x80000000; } diff --git a/vhdlparser/VhdlParserTokenManager.h b/vhdlparser/VhdlParserTokenManager.h index f24c8e3..d624373 100644 --- a/vhdlparser/VhdlParserTokenManager.h +++ b/vhdlparser/VhdlParserTokenManager.h @@ -121,8 +121,8 @@ void TokenLexicalActions(Token *matchedToken); const JAVACC_SIMPLE_STRING jjKindsForBitVector(int i, unsigned long long vec); const JAVACC_SIMPLE_STRING jjKindsForStateVector(int lexState, int vec[], int start, int end); JAVACC_CHARSTREAM* input_stream; - int jjrounds[75]; - int jjstateSet[2 * 75]; + int jjrounds[76]; + int jjstateSet[2 * 76]; JAVACC_STRING_TYPE jjimage; JAVACC_STRING_TYPE image; int jjimageLen; diff --git a/vhdlparser/vhdlparser.jj b/vhdlparser/vhdlparser.jj index befc4e0..7b56cef 100644 --- a/vhdlparser/vhdlparser.jj +++ b/vhdlparser/vhdlparser.jj @@ -18,7 +18,7 @@ options { TOKEN_MANAGER_INCLUDES="VhdlParser.h"; //OUTPUT_DIRECTORY = "."; -// DEBUG_PARSER=true; + //DEBUG_PARSER=true; //DEBUG_LOOKAHEAD=true; } @@ -256,7 +256,7 @@ TOKEN : | < COMMA_T: "," > | < VARASSIGN_T: ":=" > | < COLON_T: ":" > -| < SEMI_T: ";" > +| < SEMI_T: ";" >{::vhdl::parser::VhdlParser::setLineParsed(SEMI_T);} | < LESSTHAN_T: "<=" > | < GREATERTHAN_T: ">=" > | < LT_T: "<" > @@ -303,7 +303,7 @@ TOKEN: | < #LETTER_OR_DIGIT: ( | ) > | < #LETTER: (|) > | < #UPPER_CASE_LETTER: ["A"-"Z"] > - | ["\""]()* ["\""] > + | ["\""](((["_"])*)*) ["\""] > | <#BASE_SPECIFIER:["B","O","X","b","o","x"]> | < #DIGIT: ["0"-"9"] > | < #SPECIAL_CHARACTER: ["#","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","_","|"] > @@ -656,12 +656,12 @@ QCString character_literal() : {Token *tok=0;} QCString choice() : {QCString s;} { - LOOKAHEAD(simple_expression()) - s=simple_expression(){ return s; } - | LOOKAHEAD(discrete_range()) s=discrete_range(){ return s; } | + LOOKAHEAD(simple_expression()) + s=simple_expression(){ return s; } + | LOOKAHEAD(identifier()) s=identifier(){ return s; } | { return " others "; } @@ -713,7 +713,7 @@ instantiation_list() name() QCString composite_type_definition() : { QCString s,s1;} { s=array_type_definition(){ return s; } -| record_type_definition(){ return s; } +| record_type_definition(){ return s+"#"; } } void concurrent_assertion_statement() : {} @@ -951,7 +951,13 @@ return s1; QCString element_declaration() : {QCString s,s1;} { -s=identifier_list() s1=subtype_indication() {return s+":"+s1;} +s=identifier_list() s1=subtype_indication() +{ + + addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s1.data(),Public); + //addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public); + return s+":"+s1; +} } @@ -1191,16 +1197,37 @@ QCString formal_part() : {QCString s,s1;} s=name() [ formal_designator() {s+"("+s1+")";}] {return s;} } -QCString full_type_declaration() : {QCString s,s1,s2;} +QCString full_type_declaration() : {Entry *tmpEntry;QCString s,s1,s2;} { s=identifier() +{ + tmpEntry=current; + addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,0,Public); +} try{ s2=type_definition() }catch(...){error_skipto(SEMI_T);} { - addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::TYPE,0,s2.data(),Public); - return "type "+s+" is "+s2+";"; + if (s2.contains("#")) { + VhdlDocGen::deleteAllChars(s2,'#'); + tmpEntry->spec=VhdlDocGen::RECORD; + tmpEntry->type=s2.data(); + //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s2.data(),Public); + } + else if (s2.contains("%")) { + VhdlDocGen::deleteAllChars(s2,'%'); + tmpEntry->spec=VhdlDocGen::UNITS; + tmpEntry->type=s2.data(); + //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,s2.data(),s2.data(),Public); + } + else { + tmpEntry->spec=VhdlDocGen::TYPE; + tmpEntry->type=s2.data(); + //addVhdlType(s.data(),getLine(TYPE_T),Entry::VARIABLE_SEC,VhdlDocGen::TYPE,0,s2.data(),Public); + } + tmpEntry=0; + return "type "+s+" is "+s2+";"; } } @@ -1762,15 +1789,13 @@ QCString physical_literal() : {QCString s,s1;} QCString physical_type_definition() : {QCString s,s1,s2;} { - s=identifier() - (s1=secondary_unit_declaration(){s2+=s1;s2+="#";})* + s=identifier() { addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,0,Public);} + ( + s1=secondary_unit_declaration() + )* [name()] - { - current->args=s2; - current->args.prepend("units"); - current->spec=VhdlDocGen::UNITS; - return s2; - } + { return s+"%";} + } void port_clause() : {} @@ -1989,7 +2014,7 @@ QCString scalar_type_definition() : {QCString s,s1;} { s=enumeration_type_definition(){ return s;} -| s=range_constraint() [LOOKAHEAD( physical_type_definition()) s1=physical_type_definition()] { s+=" ";s+=s1;return s;} +| s=range_constraint() [LOOKAHEAD( physical_type_definition()) s1=physical_type_definition()] { return s+" "+s1+"%";} } void secondary_unit() : {} @@ -2000,7 +2025,12 @@ architecture_body() QCString secondary_unit_declaration() : {QCString s,s1;} { -s=identifier() s1=physical_literal() { return s+"="+s1; } +s=identifier() s1=physical_literal() +{ + //printf("\n %s %s [%d]",s.data(),s1.data(),getLine()); + addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,s1.data(),Public); + + return s+"="+s1; } } QCString selected_name() : {QCString s,s1;} -- cgit v0.12 From 528bb8054ca362843630ec261ca6e6990a206081 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 3 May 2015 09:51:19 +0200 Subject: Bug 748208 - Bug #313527 regression - Enum in bitfield is not parsed properly. --- src/scanner.l | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/scanner.l b/src/scanner.l index 9529c34..b3ae01a 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -5634,7 +5634,13 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) BEGIN( ClassVar ); } ":" { - if (current->section==Entry::ENUM_SEC) // enum E:2, see bug 313527, + if (current->section==Entry::VARIABLE_SEC) // enum A B:2, see bug 748208 + { + current->bitfields+=":"; + current->args.resize(0); + BEGIN(BitFields); + } + else if (current->section==Entry::ENUM_SEC) // enum E:2, see bug 313527, // or C++11 style enum: 'E : unsigned int {...}' { current->args.resize(0); -- cgit v0.12 From ac576bd974ac27bc1f395e8ae6c77b19f800b6db Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 3 May 2015 21:10:48 +0200 Subject: Bug 746734 - Don't warn about missing documentation for deleted functions. --- src/arguments.cpp | 3 +++ src/arguments.h | 6 ++++-- src/memberdef.cpp | 9 +++++++-- src/memberdef.h | 1 + src/scanner.l | 1 + 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/arguments.cpp b/src/arguments.cpp index 87d0438..095aa96 100644 --- a/src/arguments.cpp +++ b/src/arguments.cpp @@ -32,6 +32,7 @@ ArgumentList *ArgumentList::deepCopy() const argList->volatileSpecifier = volatileSpecifier; argList->pureSpecifier = pureSpecifier; argList->trailingReturnType = trailingReturnType; + argList->isDeleted = isDeleted; return argList; } @@ -61,6 +62,7 @@ ArgumentList *ArgumentList::unmarshal(StorageIntf *s) result->volatileSpecifier = unmarshalBool(s); result->pureSpecifier = unmarshalBool(s); result->trailingReturnType = unmarshalQCString(s); + result->isDeleted = unmarshalBool(s); return result; } @@ -93,6 +95,7 @@ void ArgumentList::marshal(StorageIntf *s,ArgumentList *argList) marshalBool(s,argList->volatileSpecifier); marshalBool(s,argList->pureSpecifier); marshalQCString(s,argList->trailingReturnType); + marshalBool(s,argList->isDeleted); } } diff --git a/src/arguments.h b/src/arguments.h index 8b3d211..555b573 100644 --- a/src/arguments.h +++ b/src/arguments.h @@ -86,7 +86,8 @@ class ArgumentList : public QList ArgumentList() : QList(), constSpecifier(FALSE), volatileSpecifier(FALSE), - pureSpecifier(FALSE) + pureSpecifier(FALSE), + isDeleted(FALSE) { setAutoDelete(TRUE); } /*! Destroys the argument list */ ~ArgumentList() {} @@ -102,7 +103,8 @@ class ArgumentList : public QList bool pureSpecifier; /*! C++11 style Trailing return type? */ QCString trailingReturnType; - /*! C++11 defaulted method */ + /*! method with =delete */ + bool isDeleted; static ArgumentList *unmarshal(StorageIntf *s); static void marshal(StorageIntf *s,ArgumentList *argList); diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 23c171a..7f93b51 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -3231,7 +3231,7 @@ void MemberDef::warnIfUndocumented() !isFriendClass() && name().find('@')==-1 && d && d->name().find('@')==-1 && protectionLevelVisible(m_impl->prot) && - !isReference() + !isReference() && !isDeleted() ) { warn_undoc(d->getDefFileName(),d->getDefLine(),"Member %s%s (%s) of %s %s is not documented.", @@ -3258,11 +3258,16 @@ bool MemberDef::isDocumentedFriendClass() const (fcd=getClass(baseName)) && fcd->isLinkable()); } +bool MemberDef::isDeleted() const +{ + return m_impl->defArgList && m_impl->defArgList->isDeleted; +} + bool MemberDef::hasDocumentation() const { return Definition::hasDocumentation() || (m_impl->mtype==MemberType_Enumeration && m_impl->docEnumValues) || // has enum values - (m_impl->defArgList!=0 && m_impl->defArgList->hasDocumentation()); // has doc arguments + (m_impl->defArgList!=0 && m_impl->defArgList->hasDocumentation()); // has doc arguments } #if 0 diff --git a/src/memberdef.h b/src/memberdef.h index 93cd72d..f60fb54 100644 --- a/src/memberdef.h +++ b/src/memberdef.h @@ -188,6 +188,7 @@ class MemberDef : public Definition bool isLinkable() const; bool hasDocumentation() const; // overrides hasDocumentation in definition.h //bool hasUserDocumentation() const; // overrides hasUserDocumentation + bool isDeleted() const; bool isBriefSectionVisible() const; bool isDetailedSectionVisible(bool inGroup,bool inFile) const; bool isDetailedSectionLinkable() const; diff --git a/src/scanner.l b/src/scanner.l index b3ae01a..4f8cdd8 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -4663,6 +4663,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) lineCount(); current->args += " = delete"; current->spec |= Entry::Delete; + current->argList->isDeleted=TRUE; BEGIN(FuncQual); } {BN}*"="{BN}*"default"{BN}* { // C++11 explicitly defaulted constructor/assignment operator -- cgit v0.12 From 2e099b1950eee2c3a0d5d8ae4b25575caeb938b1 Mon Sep 17 00:00:00 2001 From: Adrian Negreanu Date: Fri, 15 May 2015 17:30:11 +0300 Subject: use cmake runtest.pl replaced by testing/test_driver.cmake version.py replaced by cmake/version.cmake lang_cfg.py replaced by cmake/lang_cfg.cmake settings.py implemented in src/CMakeLists.txt increasebuffer.py replaced by defining the YY_BUF_SIZE and YY_READ_BUF_SIZE Signed-off-by: Adrian Negreanu --- CMakeLists.txt | 80 ++++++++++++ addon/doxmlparser/CMakeLists.txt | 0 addon/doxyapp/CMakeLists.txt | 25 ++++ addon/doxysearch/CMakeLists.txt | 24 ++++ addon/doxywizard/CMakeLists.txt | 55 ++++++++ cmake/FindIconv.cmake | 115 +++++++++++++++++ cmake/FindSQLite3.cmake | 86 +++++++++++++ cmake/lang_cfg.cmake | 11 ++ cmake/version.cmake | 6 + doc/CMakeLists.txt | 37 ++++++ libmd5/CMakeLists.txt | 3 + qtools/CMakeLists.txt | 57 +++++++++ src/CMakeLists.txt | 270 +++++++++++++++++++++++++++++++++++++++ testing/CMakeLists.txt | 60 +++++++++ testing/test_driver.cmake | 29 +++++ vhdlparser/CMakeLists.txt | 10 ++ 16 files changed, 868 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 addon/doxmlparser/CMakeLists.txt create mode 100644 addon/doxyapp/CMakeLists.txt create mode 100644 addon/doxysearch/CMakeLists.txt create mode 100644 addon/doxywizard/CMakeLists.txt create mode 100644 cmake/FindIconv.cmake create mode 100644 cmake/FindSQLite3.cmake create mode 100644 cmake/lang_cfg.cmake create mode 100644 cmake/version.cmake create mode 100644 doc/CMakeLists.txt create mode 100644 libmd5/CMakeLists.txt create mode 100644 qtools/CMakeLists.txt create mode 100644 src/CMakeLists.txt create mode 100644 testing/CMakeLists.txt create mode 100644 testing/test_driver.cmake create mode 100644 vhdlparser/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..b412c43 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,80 @@ +# vim:ts=4:sw=4:expandtab:autoindent: +# +# Copyright (C) 1997-2015 by Dimitri van Heesch. +# +# Permission to use, copy, modify, and distribute this software and its +# documentation under the terms of the GNU General Public License is hereby +# granted. No representations are made about the suitability of this software +# for any purpose. It is provided "as is" without express or implied warranty. +# See the GNU General Public License for more details. +# +# Documents produced by Doxygen are derivative works derived from the +# input used in their production; they are not affected by this license. + +cmake_minimum_required(VERSION 3.0) +project(doxygen) + +option(build_wizard "Build the GUI frontend for doxygen." OFF) +option(build_app "Example showing how to embed doxygen in an application." OFF) +option(build_xmlparser "Example showing how to parse doxygen's XML output." OFF) +option(build_search "Build external search tools (doxysearch and doxyindexer)" OFF) +option(use_sqlite3 "Add support for sqlite3 output [experimental]." OFF) +option(use_libclang "Add support for libclang parsing." OFF) + +list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") +include(version) + +set(sqlite3 "0" CACHE INTERNAL "used in settings.h") +set(clang "0" CACHE INTERNAL "used in settings.h") +if (use_sqlite3) + set(sqlite3 "1" CACHE INTERNAL "used in settings.h") +endif() +if (use_libclang) + set(clang "1" CACHE INTERNAL "used in settings.h") +endif() + + +if (${CMAKE_SYSTEM} MATCHES "Darwin") + set(CMAKE_CXX_FLAGS "-Wno-deprecated-register ${CMAKE_CXX_FLAGS}") + find_library(CORESERVICES_LIB CoreServices) + set(EXTRA_LIBS ${CORESERVICES_LIB}) +endif() + +if (WIN32) + set(ICONV_DIR "${CMAKE_SOURCE_DIR}/winbuild") + set(CMAKE_REQUIRED_DEFINITIONS "-DLIBICONV_STATIC") + add_definitions(-DLIBICONV_STATIC -D_CRT_SECURE_NO_WARNINGS) +endif() + +find_program(DOT NAMES dot) +find_package(PythonInterp REQUIRED) +find_package(FLEX REQUIRED) +find_package(BISON REQUIRED) +find_package(Threads) + +if (sqlite3) + find_package(SQLite3 REQUIRED) +endif() + +find_package(Iconv REQUIRED) +include_directories(${ICONV_INCLUDE_DIR}) + +set(DOXYDOCS ${CMAKE_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs") +set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS}) +set(GENERATED_SRC "${CMAKE_BINARY_DIR}/generated_src" CACHE INTERNAL "Stores generated files") +set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) +set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) + +add_subdirectory(libmd5) +add_subdirectory(qtools) +add_subdirectory(vhdlparser) +add_subdirectory(src) +add_subdirectory(doc) + +add_subdirectory(addon/doxmlparser) +add_subdirectory(addon/doxyapp) +add_subdirectory(addon/doxysearch) +add_subdirectory(addon/doxywizard) + +enable_testing() +add_subdirectory(testing) diff --git a/addon/doxmlparser/CMakeLists.txt b/addon/doxmlparser/CMakeLists.txt new file mode 100644 index 0000000..e69de29 diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt new file mode 100644 index 0000000..e2e6841 --- /dev/null +++ b/addon/doxyapp/CMakeLists.txt @@ -0,0 +1,25 @@ +if (build_app) + +find_package(Iconv) + +include_directories( + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_SOURCE_DIR}/qtools + ${ICONV_INCLUDE_DIR} +) + +add_executable(doxyapp +doxyapp.cpp +) +target_link_libraries(doxyapp +_doxygen +qtools +md5 +doxycfg +vhdlparser +${ICONV_LIBRARIES} +${CMAKE_THREAD_LIBS_INIT} +${SQLITE3_LIBRARIES} +) + +endif() diff --git a/addon/doxysearch/CMakeLists.txt b/addon/doxysearch/CMakeLists.txt new file mode 100644 index 0000000..188d80b --- /dev/null +++ b/addon/doxysearch/CMakeLists.txt @@ -0,0 +1,24 @@ +if (build_search) + +find_package(Xapian REQUIRED) + +include_directories( + ${CMAKE_SOURCE_DIR}/qtools + ${XAPIAN_INCLUDE_DIR} +) +add_executable(doxyindexer +doxyindexer.cpp +) +target_link_libraries(doxyindexer +${XAPIAN_LIBRARIES} +qtools +) + +add_executable(doxysearch.cgi +doxysearch.cpp +) +target_link_libraries(doxysearch.cgi +${XAPIAN_LIBRARIES} +) + +endif() diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt new file mode 100644 index 0000000..a432081 --- /dev/null +++ b/addon/doxywizard/CMakeLists.txt @@ -0,0 +1,55 @@ +if (build_wizard) + +include_directories( + . + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_SOURCE_DIR}/qtools + ${GENERATED_SRC} +) + +add_definitions(-DQT_ARCH_X86_64 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII) +set(QT_USE_QTXML TRUE) +find_package(Qt4 REQUIRED) +include(${QT_USE_FILE}) + +add_custom_command( +COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configdoc.cpp +OUTPUT ${GENERATED_SRC}/configdoc.cpp +) +set_source_files_properties(${GENERATED_SRC}/configdoc.cpp PROPERTIES GENERATED 1) + +FLEX_TARGET(config_doxyw config_doxyw.l ${GENERATED_SRC}/config_doxyw.cpp COMPILE_FLAGS "-Pconfig_doxywYY") + +QT4_WRAP_CPP(doxywizard_MOC +doxywizard.h +expert.h +helplabel.h +inputint.h +inputbool.h +inputstring.h +inputstrlist.h +wizard.h +) + +QT4_ADD_RESOURCES(doxywizard_RESOURCES_RCC doxywizard.qrc) + +add_executable(doxywizard +doxywizard.cpp +expert.cpp +wizard.cpp +inputbool.cpp +inputstring.cpp +inputint.cpp +inputstrlist.cpp +${GENERATED_SRC}/settings.h +${GENERATED_SRC}/version.cpp +${GENERATED_SRC}/config_doxyw.cpp +${GENERATED_SRC}/configdoc.cpp +${doxywizard_MOC} +${doxywizard_RESOURCES_RCC} +) +target_link_libraries(doxywizard +qtools md5 vhdlparser ${QT_LIBRARIES} +) + +endif() diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake new file mode 100644 index 0000000..5ef8686 --- /dev/null +++ b/cmake/FindIconv.cmake @@ -0,0 +1,115 @@ +# vim:ts=4:sw=4:expandtab:autoindent: +# +# The MIT License +# +# Copyright (c) 2008, 2009 Flusspferd contributors (see "CONTRIBUTORS" or +# http://flusspferd.org/contributors.txt) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# + +Include(CheckFunctionExists) +include(CheckCXXSourceCompiles) + +if(ICONV_INCLUDE_DIR) + set(ICONV_FIND_QUIETLY TRUE) +endif() + +find_path(ICONV_INCLUDE_DIR iconv.h + HINTS + ${CMAKE_PREFIX_PATH} + ${ICONV_DIR} + $ENV{ICONV_DIR} + PATH_SUFFIXES include +) + +if(NOT ICONV_INCLUDE_DIR STREQUAL "ICONV_INCLUDE_DIR-NOTFOUND") + set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) + check_function_exists(iconv_open ICONV_IN_GLIBC) +endif() + +if(NOT ICONV_IN_GLIBC) + find_library(ICONV_LIBRARY + NAMES iconv + HINTS + ${CMAKE_PREFIX_PATH} + ${ICONV_DIR} + $ENV{ICONV_DIR} + PATH_SUFFIXES lib64 lib + ) + set(ICONV_TEST ${ICONV_LIBRARY}) +else() + set(ICONV_TEST "In glibc") +endif() + +set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) +set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY}) +check_cxx_source_compiles( + "#include + int main() { + iconv(iconv_t(-1), 0, 0, 0, 0); + }" + ICONV_COMPILES) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(ICONV DEFAULT_MSG ICONV_TEST ICONV_INCLUDE_DIR ICONV_COMPILES) + +if(ICONV_FOUND) + set(ICONV_LIBRARIES ${ICONV_LIBRARY}) +else(ICONV_FOUND) + set(ICONV_LIBRARIES) +endif(ICONV_FOUND) + +if(ICONV_FOUND) + set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) + + if (NOT DEFINED ICONV_ACCEPTS_NONCONST_INPUT) + # Display a useful message first time we come through here + message(STATUS "One (and only one) of the ICONV_ACCEPTS_... tests must pass") + endif() + check_cxx_source_compiles( + "#include + int main() { + char *p = 0; + iconv(iconv_t(-1), &p, 0, 0, 0); + }" + ICONV_ACCEPTS_NONCONST_INPUT) + + check_cxx_source_compiles( + "#include + int main() { + char const *p = 0; + iconv(iconv_t(-1), &p, 0, 0, 0); + }" + ICONV_ACCEPTS_CONST_INPUT) + + if (ICONV_LIBRARY) + list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY}) + list(REMOVE_DUPLICATES CMAKE_REQUIRED_LIBRARIES) + endif() +endif() + +if(NOT ICONV_ACCEPTS_CONST_INPUT AND NOT ICONV_ACCEPTS_NONCONST_INPUT) + MESSAGE(FATAL_ERROR "Unable to determine iconv() signature") +elseif(ICONV_ACCEPTS_CONST_INPUT AND ICONV_ACCEPTS_NONCONST_INPUT) + MESSAGE(FATAL_ERROR "Unable to determine iconv() signature - both test cases passed!") +endif() + +mark_as_advanced(ICONV_LIBRARY ICONV_INCLUDE_DIR) diff --git a/cmake/FindSQLite3.cmake b/cmake/FindSQLite3.cmake new file mode 100644 index 0000000..77b8eb4 --- /dev/null +++ b/cmake/FindSQLite3.cmake @@ -0,0 +1,86 @@ +# - Try to find Sqlite3 +# Once done this will define +# +# SQLITE3_FOUND - system has Sqlite3 +# SQLITE3_INCLUDE_DIRS - the Sqlite3 include directory +# SQLITE3_LIBRARIES - Link these to use Sqlite3 +# SQLITE3_DEFINITIONS - Compiler switches required for using Sqlite3 +# +# Copyright (c) 2008 Andreas Schneider +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + + +if (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS) + # in cache already + set(SQLITE3_FOUND TRUE) +else (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + include(UsePkgConfig) + pkgconfig(sqlite3 _SQLITE3_INCLUDEDIR _SQLITE3_LIBDIR _SQLITE3_LDFLAGS _SQLITE3_CFLAGS) + else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + pkg_check_modules(_SQLITE3 sqlite3) + endif (PKG_CONFIG_FOUND) + endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_path(SQLITE3_INCLUDE_DIR + NAMES + sqlite3.h + PATHS + ${_SQLITE3_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + ) + + find_library(SQLITE3_LIBRARY + NAMES + sqlite3 + PATHS + ${_SQLITE3_LIBDIR} + /usr/lib + /usr/local/lib + /opt/local/lib + /sw/lib + ) + + if (SQLITE3_LIBRARY) + set(SQLITE3_FOUND TRUE) + endif (SQLITE3_LIBRARY) + + set(SQLITE3_INCLUDE_DIRS + ${SQLITE3_INCLUDE_DIR} + ) + + if (SQLITE3_FOUND) + set(SQLITE3_LIBRARIES + ${SQLITE3_LIBRARIES} + ${SQLITE3_LIBRARY} + ) + endif (SQLITE3_FOUND) + + if (SQLITE3_INCLUDE_DIRS AND SQLITE3_LIBRARIES) + set(SQLITE3_FOUND TRUE) + endif (SQLITE3_INCLUDE_DIRS AND SQLITE3_LIBRARIES) + + if (SQLITE3_FOUND) + if (NOT Sqlite3_FIND_QUIETLY) + message(STATUS "Found Sqlite3: ${SQLITE3_LIBRARIES}") + endif (NOT Sqlite3_FIND_QUIETLY) + else (SQLITE3_FOUND) + if (Sqlite3_FIND_REQUIRED) + message(FATAL_ERROR "Could not find Sqlite3") + endif (Sqlite3_FIND_REQUIRED) + endif (SQLITE3_FOUND) + + # show the SQLITE3_INCLUDE_DIRS and SQLITE3_LIBRARIES variables only in the advanced view + mark_as_advanced(SQLITE3_INCLUDE_DIRS SQLITE3_LIBRARIES) + +endif (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS) diff --git a/cmake/lang_cfg.cmake b/cmake/lang_cfg.cmake new file mode 100644 index 0000000..b2b6708 --- /dev/null +++ b/cmake/lang_cfg.cmake @@ -0,0 +1,11 @@ +if(${CMAKE_ARGC} GREATER 1) + if ("${CMAKE_ARGV3}" STREQUAL "ENONLY") + message("#define ENGLISH_ONLY") + else() + math(EXPR UPTO ${CMAKE_ARGC}-1) + foreach(i RANGE 3 ${UPTO}) + message("#define ENGLISH_${CMAKE_ARGV${i}}") + endforeach() + endif() +endif() + diff --git a/cmake/version.cmake b/cmake/version.cmake new file mode 100644 index 0000000..b8af217 --- /dev/null +++ b/cmake/version.cmake @@ -0,0 +1,6 @@ +set(doxygen_version_major "1" CACHE STRING "Major") +set(doxygen_version_minor "8" CACHE STRING "Minor") +set(doxygen_version_revision "8" CACHE STRING "Revision") +#set(doxygen_version_mmn "-5" CACHE STRING "Mmn") +set(VERSION "${doxygen_version_major}.${doxygen_version_minor}.${doxygen_version_revision}${doxygen_version_mmn}") +set(ENV{VERSION} "${VERSION}") diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 0000000..4505391 --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1,37 @@ +find_program(EPSTOPDF NAMES epstopdf ) +find_program(SED NAMES sed ) + +add_custom_target(doc + ALL + COMMENT "Generating documentation in ${DOXYDOCS}" + COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen + COMMAND ${CMAKE_COMMAND} -E remove_directory ../latex/refman.tex + COMMAND ${CMAKE_COMMAND} -E copy doxygen_logo.gif ../html + COMMAND ${CMAKE_COMMAND} -E copy doxygen_logo_low.gif ../html + COMMAND ${CMAKE_COMMAND} -E copy Makefile.latex ../latex/Makefile + COMMAND ${SED} -e "s/\$$VERSION/$(VERSION)/g" doxygen_manual.tex > ../latex/doxygen_manual.tex + COMMAND ${SED} -e "s/\$$VERSION/$(VERSION)/g" doxygen.sty > ../latex/doxygen.sty + COMMAND ${EPSTOPDF} doxygen_logo.eps --outfile=../latex/doxygen_logo.pdf + DEPENDS doxygen language.doc config.doc + WORKING_DIRECTORY ${DOXYDOCS} + VERBATIM + ) + +# language.doc +add_custom_command( + COMMAND ${PYTHON_EXECUTABLE} ${DOXYDOCS}/translator.py + DEPENDS ${DOXYDOCS}/translator.py + DEPENDS maintainers.txt language.tpl translator.py + OUTPUT language.doc + WORKING_DIRECTORY ${DOXYDOCS} +) +set_source_files_properties(${DOXYDOCS}/language.doc PROPERTIES GENERATED 1) + +# config.doc +add_custom_command( + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -doc ${CMAKE_SOURCE_DIR}/src/config.xml > config.doc + DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py + OUTPUT config.doc + WORKING_DIRECTORY ${DOXYDOCS} +) +set_source_files_properties(${DOXYDOCS}/config.doc PROPERTIES GENERATED 1) diff --git a/libmd5/CMakeLists.txt b/libmd5/CMakeLists.txt new file mode 100644 index 0000000..4d98d01 --- /dev/null +++ b/libmd5/CMakeLists.txt @@ -0,0 +1,3 @@ +add_library(md5 +md5.c +) diff --git a/qtools/CMakeLists.txt b/qtools/CMakeLists.txt new file mode 100644 index 0000000..96c0f27 --- /dev/null +++ b/qtools/CMakeLists.txt @@ -0,0 +1,57 @@ +include_directories(.) + +list(APPEND qtools_src +qbuffer.cpp +qcollection.cpp +qcstring.cpp +qdatastream.cpp +qdatetime.cpp +qdir.cpp +qfile.cpp +qfileinfo.cpp +qgarray.cpp +qgcache.cpp +qgdict.cpp +qglist.cpp +qglobal.cpp +qgstring.cpp +qgvector.cpp +qiodevice.cpp +qregexp.cpp +qstring.cpp +qtextstream.cpp +qtextcodec.cpp +qstringlist.cpp +qxml.cpp +qmap.cpp +qthread.cpp +qmutex.cpp +qutfcodec.cpp +) + +if (UNIX) +list(APPEND qtools_src +qfile_unix.cpp +qdir_unix.cpp +qfileinfo_unix.cpp +qthread_unix.cpp +qmutex_unix.cpp +qwaitcondition_unix.cpp +) +endif() + +if (WIN32) +list(APPEND qtools_src +qfile_win32.cpp +qdir_win32.cpp +qfileinfo_win32.cpp +qthread_win32.cpp +qmutex_win32.cpp +qwaitcondition_win32.cpp + +) +endif() + +add_library(qtools +${qtools_src} +) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..85da5e1 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,270 @@ +# vim:ts=4:sw=4:expandtab:autoindent: + +include_directories( + ${CMAKE_SOURCE_DIR}/qtools + ${CMAKE_SOURCE_DIR}/libmd5 + ${CMAKE_SOURCE_DIR}/vhdlparser/ + ${CMAKE_SOURCE_DIR}/src + ${GENERATED_SRC} +) + + +file(MAKE_DIRECTORY ${GENERATED_SRC}) + +# instead of increasebuffer.py +add_definitions(-DYY_BUF_SIZE=262144 -DYY_READ_BUF_SIZE=262144) + +# generate settings.h +file(GENERATE OUTPUT ${GENERATED_SRC}/settings.h +CONTENT "#ifndef SETTINGS_H +#define SETTINGS_H +#define USE_SQLITE3 ${sqlite3} +#define USE_LIBCLANG ${clang} +#define IS_SUPPORTED(x) \\ + ((USE_SQLITE3 && strcmp(\"USE_SQLITE3\",(x))==0) || \\ + (USE_LIBCLANG && strcmp(\"USE_LIBCLANG\",(x))==0) || \\ + 0) +#endif" ) +set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1) + + +# generate version.cpp +file(GENERATE OUTPUT ${GENERATED_SRC}/version.cpp + CONTENT "char versionString[]=\"${VERSION}\";" +) +set_source_files_properties(${GENERATED_SRC}/version.cpp PROPERTIES GENERATED 1) + + +# configoptions.cpp +add_custom_command( + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -cpp ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configoptions.cpp + DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py + OUTPUT ${GENERATED_SRC}/configoptions.cpp +) +set_source_files_properties(${GENERATED_SRC}/configoptions.cpp PROPERTIES GENERATED 1) + + +# ce_parse.h +add_custom_command( + COMMAND ${BISON_EXECUTABLE} -l -d -p ce_parsexpYY ${CMAKE_SOURCE_DIR}/src/constexp.y -o ce_parse.c + DEPENDS ${CMAKE_SOURCE_DIR}/src/constexp.y + OUTPUT ${GENERATED_SRC}/ce_parse.h + WORKING_DIRECTORY ${GENERATED_SRC} +) +set_source_files_properties(${GENERATED_SRC}/ce_parse.h PROPERTIES GENERATED 1) + + +# lang_cfg.h +add_custom_command( + COMMENT "Generating ${GENERATED_SRC}/lang_cfg.h" + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ENONLY 2> ${GENERATED_SRC}/lang_cfg.h + OUTPUT ${GENERATED_SRC}/lang_cfg.h +) +set_source_files_properties(${GENERATED_SRC}/lang_cfg.h PROPERTIES GENERATED 1) + + +# resources.cpp +add_custom_command( + COMMENT "Generating ${GENERATED_SRC}/resources.cpp" + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp + OUTPUT ${GENERATED_SRC}/resources.cpp +) +set_source_files_properties(${GENERATED_SRC}/resources.cpp PROPERTIES GENERATED 1) + + +# +function( to_c_cmd in_file out_file) +add_custom_command( + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/to_c_cmd.py < ${CMAKE_SOURCE_DIR}/templates/html/${in_file} > ${GENERATED_SRC}/${out_file} + DEPENDS ${CMAKE_SOURCE_DIR}/templates/html/${in_file} + OUTPUT ${GENERATED_SRC}/${out_file} +) +set_source_files_properties(${GENERATED_SRC}/${out_file} PROPERTIES GENERATED 1) +endfunction() + + +# Targets for flex/bison generated files +FLEX_TARGET(scanner scanner.l ${GENERATED_SRC}/scanner.cpp COMPILE_FLAGS "-PscannerYY") +FLEX_TARGET(code code.l ${GENERATED_SRC}/code.cpp COMPILE_FLAGS "-PcodeYY") +FLEX_TARGET(pyscanner pyscanner.l ${GENERATED_SRC}/pyscanner.cpp COMPILE_FLAGS "-PpyscannerYY") +FLEX_TARGET(pycode pycode.l ${GENERATED_SRC}/pycode.cpp COMPILE_FLAGS "-PpycodeYY") +FLEX_TARGET(fortranscanner fortranscanner.l ${GENERATED_SRC}/fortranscanner.cpp COMPILE_FLAGS "-i -PfortranscannerYY") +FLEX_TARGET(fortrancode fortrancode.l ${GENERATED_SRC}/fortrancode.cpp COMPILE_FLAGS "-i -PfortrancodeYY") +FLEX_TARGET(vhdlcode vhdlcode.l ${GENERATED_SRC}/vhdlcode.cpp COMPILE_FLAGS "-i -PvhdlcodeYY") +FLEX_TARGET(tclscanner tclscanner.l ${GENERATED_SRC}/tclscanner.cpp COMPILE_FLAGS "-i -PtclscannerYY") +FLEX_TARGET(pre pre.l ${GENERATED_SRC}/pre.cpp COMPILE_FLAGS "-PpreYY") +FLEX_TARGET(declinfo declinfo.l ${GENERATED_SRC}/declinfo.cpp COMPILE_FLAGS "-PdeclinfoYY") +FLEX_TARGET(defargs defargs.l ${GENERATED_SRC}/defargs.cpp COMPILE_FLAGS "-PdefargsYY") +FLEX_TARGET(doctokenizer doctokenizer.l ${GENERATED_SRC}/doctokenizer.cpp COMPILE_FLAGS "-PdoctokenizerYY") +FLEX_TARGET(commentcnv commentcnv.l ${GENERATED_SRC}/commentcnv.cpp COMPILE_FLAGS "-PcommentcnvYY") +FLEX_TARGET(commentscan commentscan.l ${GENERATED_SRC}/commentscan.cpp COMPILE_FLAGS "-PcommentscanYY") +FLEX_TARGET(constexp constexp.l ${GENERATED_SRC}/constexp.cpp COMPILE_FLAGS "-PconstexpYY") +FLEX_TARGET(xmlcode xmlcode.l ${GENERATED_SRC}/xmlcode.cpp COMPILE_FLAGS "-PxmlcodeYY") + +FLEX_TARGET(config config.l ${GENERATED_SRC}/config.cpp COMPILE_FLAGS "-PconfigYY") + +BISON_TARGET(vhdlparser vhdlparser.y ${GENERATED_SRC}/vhdlparser.cpp COMPILE_FLAGS "-l -p vhdlscannerYY") +BISON_TARGET(constexp constexp.y ${GENERATED_SRC}/ce_parse.cpp COMPILE_FLAGS "-l -p constexpYY") + + +to_c_cmd(navtree.js navtree.js.h) +to_c_cmd(navtree.css navtree.css.h) +to_c_cmd(resize.js resize.js.h) +to_c_cmd(header.html header.html.h) +to_c_cmd(footer.html footer.html.h) +to_c_cmd(doxygen.css doxygen.css.h) +to_c_cmd(layout_default.xml layout_default.xml.h) +to_c_cmd(search_functions.php search_functions.php.h) +to_c_cmd(search_opensearch.php search_opensearch.php.h) +to_c_cmd(search.css search.css.h) +to_c_cmd(jquery.js jquery.js.h) +to_c_cmd(svgpan.js svgpan.js.h) +to_c_cmd(dynsections.js dynsections.js.h) +to_c_cmd(extsearch.js extsearch.js.h) +to_c_cmd(search.js search.js.h) + +add_library(doxycfg + ${GENERATED_SRC}/lang_cfg.h + ${GENERATED_SRC}/config.cpp + ${GENERATED_SRC}/configoptions.cpp + portable.cpp + portable_c.c +) + +add_library(_doxygen + # custom generated files + ${GENERATED_SRC}/lang_cfg.h + ${GENERATED_SRC}/settings.h + ${GENERATED_SRC}/version.cpp + ${GENERATED_SRC}/ce_parse.h + ${GENERATED_SRC}/resources.cpp + # generated by flex/bison + ${GENERATED_SRC}/scanner.cpp + ${GENERATED_SRC}/code.cpp + ${GENERATED_SRC}/pyscanner.cpp + ${GENERATED_SRC}/pycode.cpp + ${GENERATED_SRC}/fortranscanner.cpp + ${GENERATED_SRC}/fortrancode.cpp + ${GENERATED_SRC}/vhdlcode.cpp + ${GENERATED_SRC}/tclscanner.cpp + ${GENERATED_SRC}/pre.cpp + ${GENERATED_SRC}/declinfo.cpp + ${GENERATED_SRC}/defargs.cpp + ${GENERATED_SRC}/doctokenizer.cpp + ${GENERATED_SRC}/commentcnv.cpp + ${GENERATED_SRC}/commentscan.cpp + ${GENERATED_SRC}/constexp.cpp + ${GENERATED_SRC}/xmlcode.cpp + # + ${GENERATED_SRC}/ce_parse.cpp + # generated by to_c_cmd + ${GENERATED_SRC}/navtree.js.h + ${GENERATED_SRC}/navtree.css.h + ${GENERATED_SRC}/resize.js.h + ${GENERATED_SRC}/header.html.h + ${GENERATED_SRC}/footer.html.h + ${GENERATED_SRC}/doxygen.css.h + ${GENERATED_SRC}/layout_default.xml.h + ${GENERATED_SRC}/search_functions.php.h + ${GENERATED_SRC}/search_opensearch.php.h + ${GENERATED_SRC}/search.css.h + ${GENERATED_SRC}/jquery.js.h + ${GENERATED_SRC}/svgpan.js.h + ${GENERATED_SRC}/dynsections.js.h + ${GENERATED_SRC}/extsearch.js.h + ${GENERATED_SRC}/search.js.h + # + plantuml.cpp + arguments.cpp + cite.cpp + clangparser.cpp + fileparser.cpp + classdef.cpp + classlist.cpp + cmdmapper.cpp + condparser.cpp + context.cpp + cppvalue.cpp + debug.cpp + defgen.cpp + define.cpp + definition.cpp + diagram.cpp + dirdef.cpp + docparser.cpp + docsets.cpp + dot.cpp + doxygen.cpp + eclipsehelp.cpp + entry.cpp + filedef.cpp + filename.cpp + formula.cpp + ftextstream.cpp + ftvhelp.cpp + groupdef.cpp + htags.cpp + htmldocvisitor.cpp + htmlentity.cpp + resourcemgr.cpp + htmlgen.cpp + htmlhelp.cpp + image.cpp + index.cpp + language.cpp + latexdocvisitor.cpp + latexgen.cpp + layout.cpp + lodepng.cpp + logos.cpp + mandocvisitor.cpp + mangen.cpp + sqlite3gen.cpp + markdown.cpp + marshal.cpp + memberdef.cpp + membergroup.cpp + memberlist.cpp + membername.cpp + message.cpp + msc.cpp + dia.cpp + namespacedef.cpp + objcache.cpp + outputgen.cpp + outputlist.cpp + pagedef.cpp + perlmodgen.cpp + qhp.cpp + qhpxmlwriter.cpp + reflist.cpp + rtfdocvisitor.cpp + rtfgen.cpp + rtfstyle.cpp + searchindex.cpp + store.cpp + tagreader.cpp + template.cpp + textdocvisitor.cpp + tooltip.cpp + util.cpp + vhdldocgen.cpp + vhdljjparser.cpp + xmldocvisitor.cpp + xmlgen.cpp + docbookvisitor.cpp + docbookgen.cpp +) + +add_executable(doxygen main.cpp) +target_link_libraries(doxygen + _doxygen + doxycfg + qtools + md5 + vhdlparser + ${SQLITE3_LIBRARIES} + ${ICONV_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBS} +) diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt new file mode 100644 index 0000000..cb9479d --- /dev/null +++ b/testing/CMakeLists.txt @@ -0,0 +1,60 @@ +find_program(XMLLINT NAMES xmllint) +find_program(DIFF NAMES diff) + +file(GLOB test_files "[0-9][0-9][0-9]_*.*") +foreach(test_file ${test_files}) + if ( ${test_file} MATCHES "([0-9][0-9][0-9])_") + set(test_id ${CMAKE_MATCH_1}) + set(test_out ${CMAKE_BINARY_DIR}/testing/${test_id}) + get_filename_component(test_dirname ${test_file} DIRECTORY) + get_filename_component(test_basename ${test_file} NAME) + set(doxyfile ${test_out}/Doxyfile) + + # setup the test directory + execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory ${test_out}) + execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${test_out}) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/testing/Doxyfile ${test_out}) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${test_file} ${test_out}) + file(APPEND ${doxyfile} "STRIP_FROM_PATH = ${test_out}\n") + file(APPEND ${doxyfile} "INPUT = ${test_basename}\n") + + # extract config lines from test files + file(STRINGS "${test_basename}" test_file_config REGEX "// [a-z]+: .*") + + # clear the lists + set(test_objective) + set(test_config) + set(test_check) + + # turn the config lines into lists + foreach(line IN LISTS test_file_config) + if ("${line}" MATCHES "//[ ]*([a-zA-Z]+)[ ]*:[ ]*(.*)") + list(APPEND test_${CMAKE_MATCH_1} ${CMAKE_MATCH_2}) + endif() + endforeach() + foreach(line IN LISTS test_config) + # append the config line to Doxyfile + file(APPEND ${doxyfile} "${line}\n") + # in case this is an INPUT line, copy the files to test directory + if ("${line}" MATCHES "INPUT[ ]*=(.*)") + separate_arguments(items UNIX_COMMAND "${CMAKE_MATCH_1}") + foreach(i IN LISTS items) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${test_dirname}/${i} ${test_out}) + endforeach() + endif() + endforeach() + # replace spaces with semicolons so it can be passed as argument + separate_arguments(test_check UNIX_COMMAND "${test_check}") + add_test(NAME test_${test_id} + WORKING_DIRECTORY ${test_out} + COMMAND cmake + -D check=${test_check} + -D dirname=${test_dirname}/${test_id} + -D top=${CMAKE_SOURCE_DIR} + -D doxygen=${EXECUTABLE_OUTPUT_PATH}/doxygen + -D diff=${DIFF} + -D xmllint=${XMLLINT} + -P ${CMAKE_SOURCE_DIR}/testing/test_driver.cmake + ) + endif() +endforeach() diff --git a/testing/test_driver.cmake b/testing/test_driver.cmake new file mode 100644 index 0000000..ca591c2 --- /dev/null +++ b/testing/test_driver.cmake @@ -0,0 +1,29 @@ +include(${top}/cmake/version.cmake) + +macro(check_rv) + if (${ARGV0}) + message(FATAL_ERROR "test failed") + endif() +endmacro() + +execute_process( COMMAND ${doxygen} Doxyfile RESULT_VARIABLE rv) +check_rv(${rv}) + +foreach (_check IN LISTS check) + set(xml_file "out_${_check}") + + set(xml_cmd ${xmllint} --format --noblanks --nowarning xml/${_check} --output ${xml_file}) + message(STATUS ${xml_cmd}) + execute_process(COMMAND ${xml_cmd} RESULT_VARIABLE rv) + check_rv(${rv}) + + message(STATUS "CHOMP VOLATILE") + file(READ ${xml_file} OUT_XML) + string(REGEX REPLACE "version=\"${VERSION}\"" "version=\"\"" OUT_WO_VERSION_XML "${OUT_XML}") + file(WRITE ${xml_file} ${OUT_WO_VERSION_XML}) + + set(diff_cmd ${diff} -u ${xml_file} ${dirname}/${_check}) + message(STATUS ${diff_cmd}) + execute_process(COMMAND ${diff_cmd} RESULT_VARIABLE rv) + check_rv(${rv}) +endforeach() diff --git a/vhdlparser/CMakeLists.txt b/vhdlparser/CMakeLists.txt new file mode 100644 index 0000000..e1e4ab1 --- /dev/null +++ b/vhdlparser/CMakeLists.txt @@ -0,0 +1,10 @@ +include_directories(${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/qtools) +add_library(vhdlparser +CharStream.cc +ParseException.cc +Token.cc +TokenMgrError.cc +VhdlParser.cc +VhdlParserTokenManager.cc +VhdlParserIF.cpp +) -- cgit v0.12 From 45ebb6ff4846255ad7209e3bec7cd4fe0544ffd5 Mon Sep 17 00:00:00 2001 From: Adrian Negreanu Date: Sun, 14 Dec 2014 18:48:49 +0200 Subject: move layout_default.xml to templates/html/ --- src/layout_default.xml | 194 -------------------------------------- templates/html/layout_default.xml | 194 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 194 insertions(+), 194 deletions(-) delete mode 100644 src/layout_default.xml create mode 100644 templates/html/layout_default.xml diff --git a/src/layout_default.xml b/src/layout_default.xml deleted file mode 100644 index f087958..0000000 --- a/src/layout_default.xml +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/templates/html/layout_default.xml b/templates/html/layout_default.xml new file mode 100644 index 0000000..f087958 --- /dev/null +++ b/templates/html/layout_default.xml @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v0.12 From 1dd0cf03f5bf173fa4ac3bb8279d12fff1b98eb7 Mon Sep 17 00:00:00 2001 From: Adrian Negreanu Date: Tue, 5 May 2015 18:50:02 +0300 Subject: drop #include Signed-off-by: Adrian Negreanu --- src/code.l | 4 ++-- src/commentcnv.l | 5 ++--- src/commentscan.l | 5 +++-- src/config.l | 3 ++- src/constexp.l | 4 ++-- src/declinfo.l | 3 ++- src/defargs.l | 4 ++-- src/doctokenizer.l | 4 ++-- src/doxygen.cpp | 1 - src/formula.cpp | 2 -- src/fortrancode.l | 4 ++-- src/fortranscanner.l | 5 ++--- src/pre.l | 6 +++--- src/pycode.l | 4 ++-- src/pyscanner.l | 5 ++--- src/scanner.l | 5 ++--- src/tclscanner.l | 4 ++-- src/vhdlcode.l | 4 ++-- 18 files changed, 34 insertions(+), 38 deletions(-) diff --git a/src/code.l b/src/code.l index d06fab6..c906144 100644 --- a/src/code.l +++ b/src/code.l @@ -14,7 +14,7 @@ * input used in their production; they are not affected by this license. * */ - +%option never-interactive %{ /* @@ -46,7 +46,7 @@ //#define DBG_CTX(x) fprintf x #define DBG_CTX(x) do { } while(0) -#define YY_NEVER_INTERACTIVE 1 +#define YY_NO_UNISTD_H 1 #define CLASSBLOCK (int *)4 #define SCOPEBLOCK (int *)8 diff --git a/src/commentcnv.l b/src/commentcnv.l index 979e6ee..8823b68 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -14,11 +14,9 @@ * input used in their production; they are not affected by this license. * */ - +%option never-interactive %{ -#define YY_NEVER_INTERACTIVE 1 - #include #include @@ -39,6 +37,7 @@ #include #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 #define ADDCHAR(c) g_outBuf->addChar(c) #define ADDARRAY(a,s) g_outBuf->addArray(a,s) diff --git a/src/commentscan.l b/src/commentscan.l index 54adbd8..3546277 100644 --- a/src/commentscan.l +++ b/src/commentscan.l @@ -12,7 +12,8 @@ * input used in their production; they are not affected by this license. * */ - + +%option never-interactive %{ /* @@ -26,7 +27,6 @@ #include #include #include -#include #include #include "scanner.h" @@ -49,6 +49,7 @@ #include "formula.h" #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 // forward declarations static bool handleBrief(const QCString &); diff --git a/src/config.l b/src/config.l index 2ed9973..1bbe320 100644 --- a/src/config.l +++ b/src/config.l @@ -9,7 +9,7 @@ * See the GNU General Public License for more details. * */ - +%option never-interactive %{ /* @@ -45,6 +45,7 @@ #undef Config_getBool #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 // use in-class definitions #define Config_getString(val) getString(__FILE__,__LINE__,val) diff --git a/src/constexp.l b/src/constexp.l index f1f8cd4..e3ff3f1 100644 --- a/src/constexp.l +++ b/src/constexp.l @@ -15,7 +15,7 @@ * input used in their production; they are not affected by this license. * */ - +%option never-interactive %{ #include "constexp.h" @@ -23,8 +23,8 @@ #include "ce_parse.h" // generated header file #include "message.h" -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 QCString g_strToken; CPPValue g_resultValue; diff --git a/src/declinfo.l b/src/declinfo.l index b7689c7..0f24d9e 100644 --- a/src/declinfo.l +++ b/src/declinfo.l @@ -14,7 +14,7 @@ * input used in their production; they are not affected by this license. * */ - +%option never-interactive %{ /* @@ -30,6 +30,7 @@ #include "message.h" #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 /* ----------------------------------------------------------------- * diff --git a/src/defargs.l b/src/defargs.l index 40a77fb..e0b30fa 100644 --- a/src/defargs.l +++ b/src/defargs.l @@ -39,7 +39,7 @@ * type, and the matchArgumentList in util.cpp is be used to * further determine the correct separation. */ - +%option never-interactive %{ /* @@ -57,8 +57,8 @@ #include "arguments.h" #include "message.h" -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 /* ----------------------------------------------------------------- * state variables diff --git a/src/doctokenizer.l b/src/doctokenizer.l index c642fc1..31d583c 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -16,7 +16,7 @@ * */ - +%option never-interactive %{ #include @@ -37,8 +37,8 @@ #include "doxygen.h" #include "portable.h" -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 //-------------------------------------------------------------------------- diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 20d12a8..5c991cb 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include diff --git a/src/formula.cpp b/src/formula.cpp index 7b8d346..ad37782 100644 --- a/src/formula.cpp +++ b/src/formula.cpp @@ -15,8 +15,6 @@ */ #include -#include - #include #include #include diff --git a/src/fortrancode.l b/src/fortrancode.l index bf50835..af1a82e 100644 --- a/src/fortrancode.l +++ b/src/fortrancode.l @@ -23,7 +23,7 @@ - links to interface functions - references to variables **/ - +%option never-interactive %{ /* @@ -56,9 +56,9 @@ //#define DBG_CTX(x) fprintf x #define DBG_CTX(x) do { } while(0) -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_TOP_STATE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 /* * For fixed formatted code position 6 is of importance (continuation character). diff --git a/src/fortranscanner.l b/src/fortranscanner.l index 094bfb1..cbe13fd 100644 --- a/src/fortranscanner.l +++ b/src/fortranscanner.l @@ -37,7 +37,7 @@ * * - Must track yyLineNr when using REJECT, unput() or similar commands. */ - +%option never-interactive %{ #include @@ -48,7 +48,6 @@ #include #include #include -#include #include #include @@ -69,8 +68,8 @@ //#define DBG_CTX(x) fprintf x #define DBG_CTX(x) do { } while(0) -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 enum ScanVar { V_IGNORE, V_VARIABLE, V_PARAMETER, V_RESULT}; enum InterfaceType { IF_NONE, IF_SPECIFIC, IF_GENERIC, IF_ABSTRACT }; diff --git a/src/pre.l b/src/pre.l index e56b8ab..86f9ebb 100644 --- a/src/pre.l +++ b/src/pre.l @@ -14,7 +14,7 @@ * input used in their production; they are not affected by this license. * */ - +%option never-interactive %{ /* @@ -54,12 +54,12 @@ #include "memberdef.h" #include "membername.h" +#define YY_NO_UNISTD_H 1 + // Toggle for some debugging info //#define DBG_CTX(x) fprintf x #define DBG_CTX(x) do { } while(0) -#define YY_NEVER_INTERACTIVE 1 - struct CondCtx { CondCtx(int line,QCString id,bool b) diff --git a/src/pycode.l b/src/pycode.l index 306acab..3c41a69 100644 --- a/src/pycode.l +++ b/src/pycode.l @@ -21,7 +21,7 @@ * taught by Peter H. Froehlich . */ - +%option never-interactive %{ #include @@ -48,8 +48,8 @@ //#define DBG_CTX(x) fprintf x #define DBG_CTX(x) do { } while(0) -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 static ClassSDict g_codeClassSDict(17); static QCString g_curClassName; diff --git a/src/pyscanner.l b/src/pyscanner.l index 775b0a4..8332a36 100644 --- a/src/pyscanner.l +++ b/src/pyscanner.l @@ -21,7 +21,7 @@ * taught by Peter H. Froehlich . */ - +%option never-interactive %{ /* @@ -35,7 +35,6 @@ #include #include #include -#include #include #include @@ -55,8 +54,8 @@ //#define DBG_CTX(x) fprintf x #define DBG_CTX(x) do { } while(0) -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 /* ----------------------------------------------------------------- * diff --git a/src/scanner.l b/src/scanner.l index 4f8cdd8..6fb4631 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -14,7 +14,7 @@ * input used in their production; they are not affected by this license. * */ - +%option never-interactive %{ /* @@ -28,7 +28,6 @@ #include #include #include -#include #include #include "scanner.h" @@ -45,8 +44,8 @@ #include "clangparser.h" -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 /* ----------------------------------------------------------------- * diff --git a/src/tclscanner.l b/src/tclscanner.l index 7befd40..5e249a6 100644 --- a/src/tclscanner.l +++ b/src/tclscanner.l @@ -14,12 +14,12 @@ * input used in their production; they are not affected by this license. * */ +%option never-interactive %{ #include #include #include #include -#include #include #include @@ -51,8 +51,8 @@ #include "namespacedef.h" #include "filedef.h" -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 #define MAX_INCLUDE_DEPTH 10 diff --git a/src/vhdlcode.l b/src/vhdlcode.l index 0de0966..369ae48 100644 --- a/src/vhdlcode.l +++ b/src/vhdlcode.l @@ -17,7 +17,7 @@ * written by M. Kreis * supports VHDL-87/93/2008 ******************************************************************************/ - +%option never-interactive %{ /* @@ -44,8 +44,8 @@ #include "filedef.h" #include "tooltip.h" -#define YY_NEVER_INTERACTIVE 1 #define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 // Toggle for some debugging info //#define DBG_CTX(x) fprintf x -- cgit v0.12