From b0554573d373519dbf8bc7109e0e143952ec6302 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sat, 28 Mar 2020 20:51:59 +0100 Subject: Migrated some code in pre.l to use STL containers --- addon/doxysearch/doxyindexer.cpp | 42 +-- qtools/qcstring.h | 7 + src/pre.l | 264 +++++++------- vhdlparser/CharStream.h | 4 +- vhdlparser/VhdlParser.h | 732 +++++++++++++-------------------------- 5 files changed, 399 insertions(+), 650 deletions(-) diff --git a/addon/doxysearch/doxyindexer.cpp b/addon/doxysearch/doxyindexer.cpp index df596a2..cd31b3d 100644 --- a/addon/doxysearch/doxyindexer.cpp +++ b/addon/doxysearch/doxyindexer.cpp @@ -3,8 +3,8 @@ * Copyright (C) 1997-2015 by Dimitri van 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 + * 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. * @@ -57,7 +57,7 @@ static std::string trim(const std::string& str, return str.substr(strBegin, strRange); } -/** trims \a whitespace from start and end and replace occurrences of +/** trims \a whitespace from start and end and replace occurrences of * \a whitespace with \a fill. */ static std::string reduce(const std::string& str, @@ -115,10 +115,10 @@ static void addIdentifiers(const std::string &s,Xapian::Document &doc,int wfd) } /** Replaces all occurrences of \a old with \a repl in string \a str */ -static void replace_all(std::string& str, const std::string& old, const std::string& repl) +static void replace_all(std::string& str, const std::string& old, const std::string& repl) { size_t pos = 0; - while ((pos = str.find(old, pos)) != std::string::npos) + while ((pos = str.find(old, pos)) != std::string::npos) { str.replace(pos, old.length(), repl); pos += repl.length(); @@ -144,8 +144,8 @@ class XMLContentHandler : public QXmlDefaultHandler { public: /** Handler for parsing XML data */ - XMLContentHandler(const QString &path) - : m_db((path+"doxysearch.db").utf8().data(),Xapian::DB_CREATE_OR_OVERWRITE), + XMLContentHandler(const QString &path) + : m_db((path+"doxysearch.db").utf8().data(),Xapian::DB_CREATE_OR_OVERWRITE), m_stemmer("english") { m_curFieldName = UnknownField; @@ -204,8 +204,8 @@ class XMLContentHandler : public QXmlDefaultHandler { partTerm = term.substr(pos+2); } - if (m_doc.get_value(TypeField)=="class" || - m_doc.get_value(TypeField)=="file" || + if (m_doc.get_value(TypeField)=="class" || + m_doc.get_value(TypeField)=="file" || m_doc.get_value(TypeField)=="namespace") // containers get highest prio { safeAddTerm(term,m_doc,1000); @@ -233,22 +233,22 @@ class XMLContentHandler : public QXmlDefaultHandler // replace XML entities m_data = unescapeXmlEntities(m_data); // add data to the document - m_doc.add_value(m_curFieldName,m_data); + m_doc.add_value(m_curFieldName,m_data); switch (m_curFieldName) { - case TypeField: - case NameField: - case TagField: - case UrlField: + case TypeField: + case NameField: + case TagField: + case UrlField: // meta data that is not searchable break; - case KeywordField: + case KeywordField: addWords(m_data,m_doc,50); break; - case ArgsField: + case ArgsField: addIdentifiers(m_data,m_doc,10); break; - case TextField: + case TextField: addWords(m_data,m_doc,2); break; default: @@ -262,9 +262,9 @@ class XMLContentHandler : public QXmlDefaultHandler } /** Handler for inline text */ - bool characters(const QString& ch) + bool characters(const QString& ch) { - m_data += ch.utf8(); + m_data += std::string(ch.utf8()); return TRUE; } @@ -292,7 +292,7 @@ class XMLErrorHandler : public QXmlErrorHandler } bool fatalError( const QXmlParseException &exception ) { - std::cerr << "Fatal error at line " << exception.lineNumber() + std::cerr << "Fatal error at line " << exception.lineNumber() << " column " << exception.columnNumber() << ": " << exception.message().utf8() << std::endl; return FALSE; @@ -371,7 +371,7 @@ int main(int argc,const char **argv) } } } - catch(const Xapian::Error &e) + catch(const Xapian::Error &e) { std::cerr << "Caught exception: " << e.get_description() << std::endl; } diff --git a/qtools/qcstring.h b/qtools/qcstring.h index a527fec..c62ce73 100644 --- a/qtools/qcstring.h +++ b/qtools/qcstring.h @@ -21,6 +21,8 @@ #include "qarray.h" #endif // QT_H +#include + #include #include #include @@ -303,6 +305,11 @@ public: return (const char *)data(); } + operator std::string() const + { + return data(); + } + /** Appends string \a str to this string and returns a reference to the result. */ QCString &operator+=( const char *str ) { diff --git a/src/pre.l b/src/pre.l index abcd9dd..1dd6004 100644 --- a/src/pre.l +++ b/src/pre.l @@ -1,12 +1,10 @@ /****************************************************************************** * - * - * - * Copyright (C) 1997-2015 by Dimitri van Heesch. + * Copyright (C) 1997-2020 by Dimitri van 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 + * 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. * @@ -28,19 +26,24 @@ * includes */ +#include +#include +#include +#include +#include +#include + #include #include #include #include -#include -#include #include #include #include #include #include - + #include "pre.h" #include "constexp.h" #include "define.h" @@ -74,7 +77,7 @@ static const char *stateToString(int state); struct CondCtx { - CondCtx(int line,QCString id,bool b) + CondCtx(int line,QCString id,bool b) : lineNr(line),sectionId(id), skip(b) {} int lineNr; QCString sectionId; @@ -83,16 +86,15 @@ struct CondCtx struct FileState { - FileState(int size) : lineNr(1), curlyCount(0),fileBuf(size), - oldFileBuf(0), oldFileBufPos(0), bufState(0) {} - int lineNr; - int curlyCount; + FileState(int size) : fileBuf(size) {} + int lineNr = 1; + int curlyCount = 0; BufStr fileBuf; - BufStr *oldFileBuf; - yy_size_t oldFileBufPos; - YY_BUFFER_STATE bufState; + BufStr *oldFileBuf = 0; + yy_size_t oldFileBufPos = 0; + YY_BUFFER_STATE bufState = 0; QCString fileName; -}; +}; /** @brief Singleton that manages the defines available while * preprocessing files. @@ -325,6 +327,14 @@ void DefineManager::DefinesPerFile::collectDefines( } } + +/* ----------------------------------------------------------------- + * + * global state + */ +static std::set g_allIncludes; + + /* ----------------------------------------------------------------- * * scanner's state @@ -332,63 +342,58 @@ void DefineManager::DefinesPerFile::collectDefines( struct preYY_state { - preYY_state() : allIncludes(10009) {} - int yyLineNr = 1; - int yyMLines = 1; - int yyColNr = 1; + int yyLineNr = 1; + int yyMLines = 1; + int yyColNr = 1; QCString yyFileName; - FileDef *yyFileDef; - FileDef *inputFileDef; - int ifcount = 0; - QStrList *pathList = 0; - QStack includeStack; - QDict *argDict = 0; - int defArgs = -1; + FileDef *yyFileDef = 0; + FileDef *inputFileDef = 0; + int ifcount = 0; + QStrList *pathList = 0; + std::deque< std::unique_ptr > includeStack; + QDict *argDict = 0; + int defArgs = -1; QCString defName; QCString defText; QCString defLitText; QCString defArgsStr; QCString defExtraSpacing; - bool defVarArgs; - int lastCContext; - int lastCPPContext; - - int level; - QArray levelGuard; - - BufStr *inputBuf = 0; - yy_size_t inputBufPos; - BufStr *outputBuf = 0; - int roundCount; - bool quoteArg; - DefineDict *expandedDict = 0; - int findDefArgContext; - bool expectGuard; + bool defVarArgs = false; + int lastCContext = 0; + int lastCPPContext = 0; + std::stack levelGuard; + BufStr *inputBuf = 0; + yy_size_t inputBufPos = 0; + BufStr *outputBuf = 0; + int roundCount = 0; + bool quoteArg = false; + int findDefArgContext = 0; + bool expectGuard = false; QCString guardName; QCString lastGuardName; QCString incName; QCString guardExpr; - int curlyCount; - bool nospaces; // add extra spaces during macro expansion - - bool macroExpansion; // from the configuration - bool expandOnlyPredef; // from the configuration - int commentCount; - bool insideComment; - bool isImported; + int curlyCount = 0; + bool nospaces = false; // add extra spaces during macro expansion + + bool macroExpansion = false; // from the configuration + bool expandOnlyPredef = false; // from the configuration + int commentCount = 0; + bool insideComment = false; + bool isImported = false; QCString blockName; - int condCtx; - bool skip; - QStack condStack; - bool insideCS; // C# has simpler preprocessor - bool insideFtn; - bool isSource; - - yy_size_t fenceSize = 0; - bool ccomment; + int condCtx = 0; + bool skip = false; + std::stack< std::unique_ptr > condStack; + bool insideCS = false; // C# has simpler preprocessor + bool insideFtn = false; + bool isSource = false; + + yy_size_t fenceSize = 0; + bool ccomment = false; QCString delimiter; - QDict allIncludes; - QDict expansionDict; + std::map expandedDict; + std::set expanded; DefineManager defineManager; ConstExpressionParser constExpParser; }; @@ -504,7 +509,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) if (skipFuncMacros && !yyextra->insideFtn && name!="Q_PROPERTY" && !( - (yyextra->includeStack.isEmpty() || yyextra->curlyCount>0) && + (yyextra->includeStack.empty() || yyextra->curlyCount>0) && yyextra->macroExpansion && (def=yyextra->defineManager.isDefined(name)) && /*macroIsAccessible(def) &&*/ @@ -537,14 +542,14 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) BEGIN(CopyRawString); } "{" { // count brackets inside the main file - if (yyextra->includeStack.isEmpty()) + if (yyextra->includeStack.empty()) { yyextra->curlyCount++; } outputChar(yyscanner,*yytext); } "}" { // count brackets inside the main file - if (yyextra->includeStack.isEmpty() && yyextra->curlyCount>0) + if (yyextra->includeStack.empty() && yyextra->curlyCount>0) { yyextra->curlyCount--; } @@ -633,13 +638,13 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) Define *def=0; //def=yyextra->globalDefineDict->find(yytext); //def=yyextra->defineManager.isDefined(yytext); - //printf("Search for define %s found=%d yyextra->includeStack.isEmpty()=%d " + //printf("Search for define %s found=%d yyextra->includeStack.empty()=%d " // "yyextra->curlyCount=%d yyextra->macroExpansion=%d yyextra->expandOnlyPredef=%d " // "isPreDefined=%d\n",yytext,def ? 1 : 0, - // yyextra->includeStack.isEmpty(),yyextra->curlyCount,yyextra->macroExpansion,yyextra->expandOnlyPredef, + // yyextra->includeStack.empty(),yyextra->curlyCount,yyextra->macroExpansion,yyextra->expandOnlyPredef, // def ? def->isPredefined : -1 // ); - if ((yyextra->includeStack.isEmpty() || yyextra->curlyCount>0) && + if ((yyextra->includeStack.empty() || yyextra->curlyCount>0) && yyextra->macroExpansion && (def=yyextra->defineManager.isDefined(yytext)) && /*(def->isPredefined || macroIsAccessible(def)) && */ @@ -667,7 +672,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) } {ID} { Define *def=0; - if ((yyextra->includeStack.isEmpty() || yyextra->curlyCount>0) && + if ((yyextra->includeStack.empty() || yyextra->curlyCount>0) && yyextra->macroExpansion && (def=yyextra->defineManager.isDefined(yytext)) && def->nargs==-1 && @@ -843,7 +848,6 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) } } "else"/[^a-z_A-Z0-9\x80-\xFF] { - //printf("else yyextra->levelGuard[%d]=%d\n",yyextra->level-1,yyextra->levelGuard[yyextra->level-1]); if (otherCaseDone(yyscanner)) { yyextra->ifcount=0; @@ -852,7 +856,6 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) else { setCaseDone(yyscanner,TRUE); - //yyextra->levelGuard[yyextra->level-1]=TRUE; } } "undef"{B}+ { @@ -918,7 +921,6 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) // yyextra->guardExpr.data()); bool guard=computeExpression(yyscanner,yyextra->guardExpr); setCaseDone(yyscanner,guard); - //printf("if yyextra->levelGuard[%d]=%d\n",yyextra->level-1,yyextra->levelGuard[yyextra->level-1]); if (guard) { BEGIN(Start); @@ -1541,7 +1543,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) outputChar(yyscanner,'\n'); Define *def=0; //printf("Define name='%s' text='%s' litTexti='%s'\n",yyextra->defName.data(),yyextra->defText.data(),yyextra->defLitText.data()); - if (yyextra->includeStack.isEmpty() || yyextra->curlyCount>0) + if (yyextra->includeStack.empty() || yyextra->curlyCount>0) { addDefine(yyscanner); } @@ -1553,7 +1555,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) yyextra->defineManager.addDefine(yyextra->yyFileName,nd); // also add it to the local file list if it is a source file - //if (yyextra->isSource && yyextra->includeStack.isEmpty()) + //if (yyextra->isSource && yyextra->includeStack.empty()) //{ // yyextra->fileDefineDict->insert(yyextra->defName,nd); //} @@ -1620,15 +1622,15 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) . { yyextra->defText += *yytext; yyextra->defLitText+=yytext; } <> { DBG_CTX((stderr,"End of include file\n")); - //printf("Include stack depth=%d\n",yyextra->includeStack.count()); - if (yyextra->includeStack.isEmpty()) + //printf("Include stack depth=%d\n",yyextra->includeStack.size()); + if (yyextra->includeStack.empty()) { DBG_CTX((stderr,"Terminating scanner!\n")); yyterminate(); } else { - FileState *fs=yyextra->includeStack.pop(); + const std::unique_ptr &fs=yyextra->includeStack.back(); //fileDefineCache->merge(yyextra->yyFileName,fs->fileName); YY_BUFFER_STATE oldBuf = YY_CURRENT_BUFFER; yy_switch_to_buffer( fs->bufState, yyscanner ); @@ -1640,14 +1642,14 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) yyextra->curlyCount = fs->curlyCount; setFileName(yyscanner,fs->fileName); DBG_CTX((stderr,"######## FileName %s\n",yyextra->yyFileName.data())); - + // Deal with file changes due to // #include's within { .. } blocks QCString lineStr(15+yyextra->yyFileName.length()); lineStr.sprintf("# %d \"%s\" 2",yyextra->yyLineNr,yyextra->yyFileName.data()); outputArray(yyscanner,lineStr.data(),lineStr.length()); - - delete fs; fs=0; + + yyextra->includeStack.pop_back(); } } <*>"/*"/"*/" | @@ -1724,20 +1726,17 @@ static void setFileName(yyscan_t yyscanner,const char *name) static void incrLevel(yyscan_t yyscanner) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - state->level++; - state->levelGuard.resize(state->level); - state->levelGuard[state->level-1]=FALSE; - //printf("%s line %d: incrLevel %d\n",yyextra->yyFileName.data(),yyextra->yyLineNr,yyextra->level); + state->levelGuard.push(false); + //printf("%s line %d: incrLevel %d\n",yyextra->yyFileName.data(),yyextra->yyLineNr,yyextra->levelGuard.size()); } static void decrLevel(yyscan_t yyscanner) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - //printf("%s line %d: decrLevel %d\n",state->yyFileName.data(),state->yyLineNr,state->level); - if (state->level > 0) + //printf("%s line %d: decrLevel %d\n",state->yyFileName.data(),state->yyLineNr,state->levelGuard.size()); + if (!state->levelGuard.empty()) { - state->level--; - state->levelGuard.resize(state->level); + state->levelGuard.pop(); } else { @@ -1748,21 +1747,21 @@ static void decrLevel(yyscan_t yyscanner) static bool otherCaseDone(yyscan_t yyscanner) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - if (state->level==0) + if (state->levelGuard.empty()) { warn(state->yyFileName,state->yyLineNr,"Found an #else without a preceding #if.\n"); return TRUE; } else { - return state->levelGuard[state->level-1]; + return state->levelGuard.top(); } } static void setCaseDone(yyscan_t yyscanner,bool value) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - state->levelGuard[state->level-1]=value; + state->levelGuard.top()=value; } @@ -1783,28 +1782,22 @@ static FileState *checkAndOpenFile(yyscan_t yyscanner,const QCString &fileName,b // global guard if (state->curlyCount==0) // not #include inside { ... } { - if (state->allIncludes.find(absName)!=0) + if (g_allIncludes.find(absName)!=g_allIncludes.end()) { alreadyIncluded = TRUE; //printf(" already included 1\n"); return 0; // already done } - state->allIncludes.insert(absName,(void *)0x8); + g_allIncludes.insert(absName); } // check include stack for absName - QStack tmpStack; - state->includeStack.setAutoDelete(FALSE); - while ((fs=state->includeStack.pop())) - { - if (fs->fileName==absName) alreadyIncluded=TRUE; - tmpStack.push(fs); - } - while ((fs=tmpStack.pop())) - { - state->includeStack.push(fs); - } - state->includeStack.setAutoDelete(TRUE); + alreadyIncluded = std::any_of( + state->includeStack.begin(), + state->includeStack.end(), + [absName](const std::unique_ptr &fs) + { return fs->fileName==absName; } + ); if (alreadyIncluded) { @@ -1814,7 +1807,6 @@ static FileState *checkAndOpenFile(yyscan_t yyscanner,const QCString &fileName,b //printf("#include %s\n",absName.data()); fs = new FileState(fi.size()+4096); - alreadyIncluded = FALSE; if (!readInputFile(absName,fs->fileBuf)) { // error //printf(" error reading\n"); @@ -2080,7 +2072,7 @@ static inline void addTillEndOfString(yyscan_t yyscanner,const QCString &expr,QC static bool replaceFunctionMacro(yyscan_t yyscanner,const QCString &expr,QCString *rest,int pos,int &len,const Define *def,QCString &result,int level) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - //printf(">replaceFunctionMacro(expr='%s',rest='%s',pos=%d,def='%s') level=%d\n",expr.data(),rest ? rest->data() : 0,pos,def->name.data(),state->level); + //printf(">replaceFunctionMacro(expr='%s',rest='%s',pos=%d,def='%s') level=%d\n",expr.data(),rest ? rest->data() : 0,pos,def->name.data(),state->levelGuard.size()); uint j=pos; len=0; result.resize(0); @@ -2323,10 +2315,10 @@ static bool replaceFunctionMacro(yyscan_t yyscanner,const QCString &expr,QCStrin } len=j-pos; result=resExpr; - //printf("data() : 0,pos,def->name.data(),result.data(),state->level); + //printf("data() : 0,pos,def->name.data(),result.data(),state->levelGuard.size()); return TRUE; } - //printf("data() : 0,pos,def->name.data(),result.data(),state->level); + //printf("data() : 0,pos,def->name.data(),result.data(),state->levelGuard.size()); return FALSE; } @@ -2404,14 +2396,15 @@ static bool expandExpression(yyscan_t yyscanner,QCString &expr,QCString *rest,in //printf("expansionDict.find(expr)!=0 && level>MAX_EXPANSION_DEPTH) // check for too deep recursive expansions + if (state->expanded.find(expr)!=state->expanded.end() && + level>MAX_EXPANSION_DEPTH) // check for too deep recursive expansions { //printf("expansionDict.insert(expr,(void*)0x8); + state->expanded.insert(expr); } QCString macroName; QCString expMacro; @@ -2426,7 +2419,7 @@ static bool expandExpression(yyscan_t yyscanner,QCString &expr,QCString *rest,in //printf(" p=%d macroName=%s\n",p,macroName.data()); if (p<2 || !(expr.at(p-2)=='@' && expr.at(p-1)=='-')) // no-rescan marker? { - if (state->expandedDict->find(macroName)==0) // expand macro + if (state->expandedDict.find(macroName)==state->expandedDict.end()) // expand macro { Define *def=state->defineManager.isDefined(macroName); if (macroName=="defined") @@ -2477,9 +2470,9 @@ static bool expandExpression(yyscan_t yyscanner,QCString &expr,QCString *rest,in bool expanded=false; if (def && !def->nonRecursive) { - state->expandedDict->insert(macroName,def); + state->expandedDict.emplace(macroName,def); expanded = expandExpression(yyscanner,resultExpr,&restExpr,0,level+1); - state->expandedDict->remove(macroName); + state->expandedDict.erase(macroName); } if (expanded) { @@ -2757,7 +2750,7 @@ static bool computeExpression(yyscan_t yyscanner,const QCString &expr) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); QCString e=expr; - state->expansionDict.clear(); + state->expanded.clear(); expandExpression(yyscanner,e,0,0,0); //printf("after expansion '%s'\n",e.data()); e = removeIdsAndMarkers(e); @@ -2774,7 +2767,7 @@ static QCString expandMacro(yyscan_t yyscanner,const QCString &name) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); QCString n=name; - state->expansionDict.clear(); + state->expanded.clear(); expandExpression(yyscanner,n,0,0,0); n=removeMarkers(n); //printf("expandMacro '%s'->'%s'\n",name.data(),n.data()); @@ -2872,13 +2865,13 @@ static void addDefine(yyscan_t yyscanner) static inline void outputChar(yyscan_t yyscanner,char c) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - if (state->includeStack.isEmpty() || state->curlyCount>0) state->outputBuf->addChar(c); + if (state->includeStack.empty() || state->curlyCount>0) state->outputBuf->addChar(c); } static inline void outputArray(yyscan_t yyscanner,const char *a,int len) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - if (state->includeStack.isEmpty() || state->curlyCount>0) state->outputBuf->addArray(a,len); + if (state->includeStack.empty() || state->curlyCount>0) state->outputBuf->addArray(a,len); } static void readIncludeFile(yyscan_t yyscanner,const QCString &inc) @@ -2965,7 +2958,7 @@ static void readIncludeFile(yyscan_t yyscanner,const QCString &inc) //printf("Found include file!\n"); if (Debug::isFlagSet(Debug::Preprocessor)) { - for (i=0;iincludeStack.count();i++) + for (i=0;iincludeStack.size();i++) { Debug::print(Debug::Preprocessor,0," "); } @@ -2996,7 +2989,7 @@ static void readIncludeFile(yyscan_t yyscanner,const QCString &inc) fs->curlyCount = state->curlyCount; state->curlyCount = 0; // push the state on the stack - state->includeStack.push(fs); + state->includeStack.emplace_back(fs); // set the scanner to the include file // Deal with file changes due to @@ -3059,10 +3052,10 @@ static void readIncludeFile(yyscan_t yyscanner,const QCString &inc) static void startCondSection(yyscan_t yyscanner,const char *sectId) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - //printf("startCondSection: skip=%d stack=%d\n",state->skip,state->condStack.count()); + //printf("startCondSection: skip=%d stack=%d\n",state->skip,state->condStack.size()); CondParser prs; bool expResult = prs.parse(state->yyFileName,state->yyLineNr,sectId); - state->condStack.push(new CondCtx(state->yyLineNr,sectId,state->skip)); + state->condStack.emplace(std::make_unique(state->yyLineNr,sectId,state->skip)); if (!expResult) { state->skip=TRUE; @@ -3073,15 +3066,15 @@ static void startCondSection(yyscan_t yyscanner,const char *sectId) static void endCondSection(yyscan_t yyscanner) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - if (state->condStack.isEmpty()) + if (state->condStack.empty()) { state->skip=FALSE; } else { - CondCtx *ctx = state->condStack.pop(); + const std::unique_ptr &ctx = state->condStack.top(); state->skip=ctx->skip; - delete ctx; + state->condStack.pop(); } //printf("endCondSection: skip=%d stack=%d\n",state->skip,state->condStack.count()); } @@ -3089,9 +3082,9 @@ static void endCondSection(yyscan_t yyscanner) static void forceEndCondSection(yyscan_t yyscanner) { YY_EXTRA_TYPE state = preYYget_extra(yyscanner); - while (!state->condStack.isEmpty()) + while (!state->condStack.empty()) { - delete state->condStack.pop(); + state->condStack.pop(); } state->skip=FALSE; } @@ -3220,14 +3213,11 @@ Preprocessor::Preprocessor() : p(std::make_unique()) YY_EXTRA_TYPE state = preYYget_extra(p->yyscanner); state->pathList = new QStrList; addSearchDir("."); - state->expandedDict = new DefineDict(17); } Preprocessor::~Preprocessor() { YY_EXTRA_TYPE state = preYYget_extra(p->yyscanner); - delete state->expandedDict; - state->expandedDict=0; delete state->pathList; state->pathList=0; preYYlex_destroy(p->yyscanner); @@ -3256,12 +3246,9 @@ void Preprocessor::processFile(const char *fileName,BufStr &input,BufStr &output state->inputBuf=&input; state->inputBufPos=0; state->outputBuf=&output; - state->includeStack.setAutoDelete(TRUE); state->includeStack.clear(); - state->expandedDict->setAutoDelete(FALSE); - state->expandedDict->clear(); - state->condStack.setAutoDelete(TRUE); - state->condStack.clear(); + state->expandedDict.clear(); + while (!state->condStack.empty()) state->condStack.pop(); //state->fileDefineDict->clear(); setFileName(yyscanner,fileName); @@ -3395,7 +3382,6 @@ void Preprocessor::processFile(const char *fileName,BufStr &input,BufStr &output state->yyLineNr = 1; state->yyColNr = 1; - state->level = 0; state->ifcount = 0; BEGIN( Start ); @@ -3407,14 +3393,14 @@ void Preprocessor::processFile(const char *fileName,BufStr &input,BufStr &output preYYlex(yyscanner); - while (!state->condStack.isEmpty()) + while (!state->condStack.empty()) { - CondCtx *ctx = state->condStack.pop(); + const std::unique_ptr &ctx = state->condStack.top(); QCString sectionInfo = " "; if (ctx->sectionId!=" ") sectionInfo.sprintf(" with label '%s' ",ctx->sectionId.stripWhiteSpace().data()); warn(fileName,ctx->lineNr,"Conditional section%sdoes not have " "a corresponding \\endcond command within this file.",sectionInfo.data()); - delete ctx; + state->condStack.pop(); } // make sure we don't extend a \cond with missing \endcond over multiple files (see bug 624829) forceEndCondSection(yyscanner); diff --git a/vhdlparser/CharStream.h b/vhdlparser/CharStream.h index bdfc48c..a955d8e 100644 --- a/vhdlparser/CharStream.h +++ b/vhdlparser/CharStream.h @@ -203,7 +203,7 @@ public: tokenBegin(0), column(0), line(0), prevCharIsCR(false), prevCharIsLF(false), available(0), maxNextCharInd(0), inBuf(0), tabSize(1), trackLineColumn(true), inputStream(nullptr), deleteStream(false) { - ReInit(input_stream, startline, startcolumn, INITIAL_BUFFER_SIZE); + ReInit(input_stream, startline, startcolumn, buffersize); } CharStream(ReaderStream *input_stream, int startline, int startcolumn) : @@ -268,4 +268,4 @@ protected: } #endif -/* JavaCC - OriginalChecksum=c036d83020b072972d6b8ef26a294af9 (do not edit this line) */ +/* JavaCC - OriginalChecksum=c5b4b2e72393f865547f405cc9def169 (do not edit this line) */ diff --git a/vhdlparser/VhdlParser.h b/vhdlparser/VhdlParser.h index 1809232..24a139a 100644 --- a/vhdlparser/VhdlParser.h +++ b/vhdlparser/VhdlParser.h @@ -1331,10 +1331,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_469()) { + if (!jj_3R_469()) return false; jj_scanpos = xsp; if (jj_3R_470()) return true; - } return false; } @@ -1368,16 +1367,13 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(116)) { + if (!jj_scan_token(116)) return false; jj_scanpos = xsp; - if (jj_scan_token(100)) { + if (!jj_scan_token(100)) return false; jj_scanpos = xsp; - if (jj_scan_token(31)) { + if (!jj_scan_token(31)) return false; jj_scanpos = xsp; if (jj_scan_token(101)) return true; - } - } - } return false; } @@ -1448,10 +1444,9 @@ void parseInline(); if (jj_scan_token(IS_T)) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_727()) { + if (!jj_3R_727()) return false; jj_scanpos = xsp; if (jj_scan_token(145)) return true; - } return false; } @@ -1496,22 +1491,17 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3_42()) { + if (!jj_3_42()) return false; jj_scanpos = xsp; - if (jj_3_43()) { + if (!jj_3_43()) return false; jj_scanpos = xsp; - if (jj_3_44()) { + if (!jj_3_44()) return false; jj_scanpos = xsp; - if (jj_3_45()) { + if (!jj_3_45()) return false; jj_scanpos = xsp; - if (jj_3R_582()) { + if (!jj_3R_582()) return false; jj_scanpos = xsp; if (jj_3R_583()) return true; - } - } - } - } - } return false; } @@ -1564,13 +1554,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_435()) { + if (!jj_3R_435()) return false; jj_scanpos = xsp; - if (jj_3R_436()) { + if (!jj_3R_436()) return false; jj_scanpos = xsp; if (jj_3R_437()) return true; - } - } return false; } @@ -1607,13 +1595,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_343()) { + if (!jj_3R_343()) return false; jj_scanpos = xsp; - if (jj_3R_344()) { + if (!jj_3R_344()) return false; jj_scanpos = xsp; if (jj_3R_345()) return true; - } - } return false; } @@ -1662,10 +1648,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_648()) { + if (!jj_3R_648()) return false; jj_scanpos = xsp; if (jj_3R_649()) return true; - } return false; } @@ -1728,10 +1713,9 @@ void parseInline(); if (jj_3R_90()) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(134)) { + if (!jj_scan_token(134)) return false; jj_scanpos = xsp; if (jj_scan_token(137)) return true; - } return false; } @@ -1771,10 +1755,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(84)) { + if (!jj_scan_token(84)) return false; jj_scanpos = xsp; if (jj_scan_token(52)) return true; - } return false; } @@ -1872,10 +1855,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_204()) { + if (!jj_3R_204()) return false; jj_scanpos = xsp; if (jj_3R_205()) return true; - } return false; } @@ -1933,10 +1915,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_170()) { + if (!jj_3R_170()) return false; jj_scanpos = xsp; if (jj_3R_171()) return true; - } return false; } @@ -1953,10 +1934,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(53)) { + if (!jj_scan_token(53)) return false; jj_scanpos = xsp; if (jj_scan_token(75)) return true; - } return false; } @@ -2003,10 +1983,9 @@ void parseInline(); if (jj_3R_90()) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(134)) { + if (!jj_scan_token(134)) return false; jj_scanpos = xsp; if (jj_scan_token(137)) return true; - } while (true) { xsp = jj_scanpos; if (jj_3R_406()) { jj_scanpos = xsp; break; } @@ -2101,10 +2080,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_638()) { + if (!jj_3R_638()) return false; jj_scanpos = xsp; if (jj_3R_639()) return true; - } return false; } @@ -2138,10 +2116,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_720()) { + if (!jj_3R_720()) return false; jj_scanpos = xsp; if (jj_3R_721()) return true; - } return false; } @@ -2258,10 +2235,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_281()) { + if (!jj_3R_281()) return false; jj_scanpos = xsp; if (jj_3R_282()) return true; - } return false; } @@ -2288,10 +2264,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_337()) { + if (!jj_3R_337()) return false; jj_scanpos = xsp; if (jj_3R_338()) return true; - } return false; } @@ -2401,10 +2376,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_279()) { + if (!jj_3R_279()) return false; jj_scanpos = xsp; if (jj_3R_280()) return true; - } return false; } @@ -2593,10 +2567,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_417()) { + if (!jj_3R_417()) return false; jj_scanpos = xsp; if (jj_3R_418()) return true; - } return false; } @@ -2621,10 +2594,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_640()) { + if (!jj_3R_640()) return false; jj_scanpos = xsp; if (jj_3R_641()) return true; - } return false; } @@ -2654,13 +2626,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_519()) { + if (!jj_3R_519()) return false; jj_scanpos = xsp; - if (jj_3R_520()) { + if (!jj_3R_520()) return false; jj_scanpos = xsp; if (jj_3R_521()) return true; - } - } return false; } @@ -2714,13 +2684,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_516()) { + if (!jj_3R_516()) return false; jj_scanpos = xsp; - if (jj_3R_517()) { + if (!jj_3R_517()) return false; jj_scanpos = xsp; if (jj_3R_518()) return true; - } - } return false; } @@ -2891,19 +2859,15 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_293()) { + if (!jj_3R_293()) return false; jj_scanpos = xsp; - if (jj_3R_294()) { + if (!jj_3R_294()) return false; jj_scanpos = xsp; - if (jj_3R_295()) { + if (!jj_3R_295()) return false; jj_scanpos = xsp; - if (jj_3R_296()) { + if (!jj_3R_296()) return false; jj_scanpos = xsp; if (jj_3R_297()) return true; - } - } - } - } return false; } @@ -3049,22 +3013,17 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_409()) { + if (!jj_3R_409()) return false; jj_scanpos = xsp; - if (jj_3R_410()) { + if (!jj_3R_410()) return false; jj_scanpos = xsp; - if (jj_3R_411()) { + if (!jj_3R_411()) return false; jj_scanpos = xsp; - if (jj_3R_412()) { + if (!jj_3R_412()) return false; jj_scanpos = xsp; - if (jj_3R_413()) { + if (!jj_3R_413()) return false; jj_scanpos = xsp; if (jj_3R_414()) return true; - } - } - } - } - } return false; } @@ -3228,10 +3187,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_219()) { + if (!jj_3R_219()) return false; jj_scanpos = xsp; if (jj_3R_220()) return true; - } return false; } @@ -3265,10 +3223,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_716()) { + if (!jj_3R_716()) return false; jj_scanpos = xsp; if (jj_3R_717()) return true; - } return false; } @@ -3397,13 +3354,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_446()) { + if (!jj_3R_446()) return false; jj_scanpos = xsp; - if (jj_3R_447()) { + if (!jj_3R_447()) return false; jj_scanpos = xsp; if (jj_3R_448()) return true; - } - } return false; } @@ -3431,13 +3386,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_614()) { + if (!jj_3R_614()) return false; jj_scanpos = xsp; - if (jj_3R_615()) { + if (!jj_3R_615()) return false; jj_scanpos = xsp; if (jj_3R_616()) return true; - } - } return false; } @@ -3573,13 +3526,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_752()) { + if (!jj_3R_752()) return false; jj_scanpos = xsp; - if (jj_3R_753()) { + if (!jj_3R_753()) return false; jj_scanpos = xsp; if (jj_3R_754()) return true; - } - } return false; } @@ -3758,43 +3709,31 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_740()) { + if (!jj_3R_740()) return false; jj_scanpos = xsp; - if (jj_3R_741()) { + if (!jj_3R_741()) return false; jj_scanpos = xsp; - if (jj_3R_742()) { + if (!jj_3R_742()) return false; jj_scanpos = xsp; - if (jj_3R_743()) { + if (!jj_3R_743()) return false; jj_scanpos = xsp; - if (jj_3R_744()) { + if (!jj_3R_744()) return false; jj_scanpos = xsp; - if (jj_3R_745()) { + if (!jj_3R_745()) return false; jj_scanpos = xsp; - if (jj_3R_746()) { + if (!jj_3R_746()) return false; jj_scanpos = xsp; - if (jj_3R_747()) { + if (!jj_3R_747()) return false; jj_scanpos = xsp; - if (jj_3R_748()) { + if (!jj_3R_748()) return false; jj_scanpos = xsp; - if (jj_3R_749()) { + if (!jj_3R_749()) return false; jj_scanpos = xsp; - if (jj_3R_750()) { + if (!jj_3R_750()) return false; jj_scanpos = xsp; - if (jj_3_113()) { + if (!jj_3_113()) return false; jj_scanpos = xsp; if (jj_3R_751()) return true; - } - } - } - } - } - } - } - } - } - } - } - } return false; } @@ -3989,55 +3928,39 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_617()) { + if (!jj_3R_617()) return false; jj_scanpos = xsp; - if (jj_3R_618()) { + if (!jj_3R_618()) return false; jj_scanpos = xsp; - if (jj_3R_619()) { + if (!jj_3R_619()) return false; jj_scanpos = xsp; - if (jj_3R_620()) { + if (!jj_3R_620()) return false; jj_scanpos = xsp; - if (jj_3R_621()) { + if (!jj_3R_621()) return false; jj_scanpos = xsp; - if (jj_3R_622()) { + if (!jj_3R_622()) return false; jj_scanpos = xsp; - if (jj_3R_623()) { + if (!jj_3R_623()) return false; jj_scanpos = xsp; - if (jj_3R_624()) { + if (!jj_3R_624()) return false; jj_scanpos = xsp; - if (jj_3R_625()) { + if (!jj_3R_625()) return false; jj_scanpos = xsp; - if (jj_3R_626()) { + if (!jj_3R_626()) return false; jj_scanpos = xsp; - if (jj_3R_627()) { + if (!jj_3R_627()) return false; jj_scanpos = xsp; - if (jj_3R_628()) { + if (!jj_3R_628()) return false; jj_scanpos = xsp; - if (jj_3R_629()) { + if (!jj_3R_629()) return false; jj_scanpos = xsp; - if (jj_3R_630()) { + if (!jj_3R_630()) return false; jj_scanpos = xsp; - if (jj_3R_631()) { + if (!jj_3R_631()) return false; jj_scanpos = xsp; - if (jj_3R_632()) { + if (!jj_3R_632()) return false; jj_scanpos = xsp; if (jj_3R_633()) return true; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } return false; } @@ -4079,13 +4002,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_593()) { + if (!jj_3R_593()) return false; jj_scanpos = xsp; - if (jj_3R_594()) { + if (!jj_3R_594()) return false; jj_scanpos = xsp; if (jj_3R_595()) return true; - } - } return false; } @@ -4094,10 +4015,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_426()) { + if (!jj_3R_426()) return false; jj_scanpos = xsp; if (jj_3R_427()) return true; - } return false; } @@ -4215,10 +4135,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_167()) { + if (!jj_3R_167()) return false; jj_scanpos = xsp; if (jj_3R_168()) return true; - } return false; } @@ -4301,10 +4220,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_466()) { + if (!jj_3R_466()) return false; jj_scanpos = xsp; if (jj_3R_467()) return true; - } return false; } @@ -4341,10 +4259,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_165()) { + if (!jj_3R_165()) return false; jj_scanpos = xsp; if (jj_3R_166()) return true; - } return false; } @@ -4367,10 +4284,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_599()) { + if (!jj_3R_599()) return false; jj_scanpos = xsp; if (jj_3R_600()) return true; - } return false; } @@ -4449,10 +4365,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_526()) { + if (!jj_3R_526()) return false; jj_scanpos = xsp; if (jj_3R_527()) return true; - } return false; } @@ -4552,16 +4467,13 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_186()) { + if (!jj_3R_186()) return false; jj_scanpos = xsp; - if (jj_3R_187()) { + if (!jj_3R_187()) return false; jj_scanpos = xsp; - if (jj_3R_188()) { + if (!jj_3R_188()) return false; jj_scanpos = xsp; if (jj_3R_189()) return true; - } - } - } return false; } @@ -4577,22 +4489,17 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_660()) { + if (!jj_3R_660()) return false; jj_scanpos = xsp; - if (jj_3R_661()) { + if (!jj_3R_661()) return false; jj_scanpos = xsp; - if (jj_3R_662()) { + if (!jj_3R_662()) return false; jj_scanpos = xsp; - if (jj_3R_663()) { + if (!jj_3R_663()) return false; jj_scanpos = xsp; - if (jj_3_110()) { + if (!jj_3_110()) return false; jj_scanpos = xsp; if (jj_3R_664()) return true; - } - } - } - } - } return false; } @@ -4608,10 +4515,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_287()) { + if (!jj_3R_287()) return false; jj_scanpos = xsp; if (jj_3R_288()) return true; - } return false; } @@ -4648,10 +4554,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3_109()) { + if (!jj_3_109()) return false; jj_scanpos = xsp; if (jj_3R_485()) return true; - } return false; } @@ -4736,10 +4641,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_257()) { + if (!jj_3R_257()) return false; jj_scanpos = xsp; if (jj_3R_258()) return true; - } return false; } @@ -4807,16 +4711,13 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_227()) { + if (!jj_3R_227()) return false; jj_scanpos = xsp; - if (jj_3R_228()) { + if (!jj_3R_228()) return false; jj_scanpos = xsp; - if (jj_3R_229()) { + if (!jj_3R_229()) return false; jj_scanpos = xsp; if (jj_3R_230()) return true; - } - } - } return false; } @@ -4839,10 +4740,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_597()) { + if (!jj_3R_597()) return false; jj_scanpos = xsp; if (jj_3R_598()) return true; - } return false; } @@ -4981,10 +4881,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(84)) { + if (!jj_scan_token(84)) return false; jj_scanpos = xsp; if (jj_scan_token(52)) return true; - } return false; } @@ -5067,10 +4966,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_459()) { + if (!jj_3R_459()) return false; jj_scanpos = xsp; if (jj_3R_460()) return true; - } return false; } @@ -5122,10 +5020,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(46)) { + if (!jj_scan_token(46)) return false; jj_scanpos = xsp; if (jj_scan_token(80)) return true; - } return false; } @@ -5295,31 +5192,23 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_585()) { + if (!jj_3R_585()) return false; jj_scanpos = xsp; - if (jj_3R_586()) { + if (!jj_3R_586()) return false; jj_scanpos = xsp; - if (jj_3R_587()) { + if (!jj_3R_587()) return false; jj_scanpos = xsp; - if (jj_3R_588()) { + if (!jj_3R_588()) return false; jj_scanpos = xsp; - if (jj_3R_589()) { + if (!jj_3R_589()) return false; jj_scanpos = xsp; - if (jj_3R_590()) { + if (!jj_3R_590()) return false; jj_scanpos = xsp; - if (jj_3R_591()) { + if (!jj_3R_591()) return false; jj_scanpos = xsp; - if (jj_3R_592()) { + if (!jj_3R_592()) return false; jj_scanpos = xsp; if (jj_scan_token(189)) return true; - } - } - } - } - } - } - } - } return false; } @@ -5398,43 +5287,31 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_696()) { + if (!jj_3R_696()) return false; jj_scanpos = xsp; - if (jj_3R_697()) { + if (!jj_3R_697()) return false; jj_scanpos = xsp; - if (jj_3R_698()) { + if (!jj_3R_698()) return false; jj_scanpos = xsp; - if (jj_3R_699()) { + if (!jj_3R_699()) return false; jj_scanpos = xsp; - if (jj_3R_700()) { + if (!jj_3R_700()) return false; jj_scanpos = xsp; - if (jj_3R_701()) { + if (!jj_3R_701()) return false; jj_scanpos = xsp; - if (jj_3R_702()) { + if (!jj_3R_702()) return false; jj_scanpos = xsp; - if (jj_3R_703()) { + if (!jj_3R_703()) return false; jj_scanpos = xsp; - if (jj_3R_704()) { + if (!jj_3R_704()) return false; jj_scanpos = xsp; - if (jj_3R_705()) { + if (!jj_3R_705()) return false; jj_scanpos = xsp; - if (jj_3R_706()) { + if (!jj_3R_706()) return false; jj_scanpos = xsp; - if (jj_3_102()) { + if (!jj_3_102()) return false; jj_scanpos = xsp; if (jj_3R_707()) return true; - } - } - } - } - } - } - } - } - } - } - } - } return false; } @@ -5470,10 +5347,9 @@ void parseInline(); xsp = jj_scanpos; if (jj_scan_token(79)) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_177()) { + if (!jj_3R_177()) return false; jj_scanpos = xsp; if (jj_3R_178()) return true; - } return false; } @@ -5489,10 +5365,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_461()) { + if (!jj_3R_461()) return false; jj_scanpos = xsp; if (jj_scan_token(137)) return true; - } return false; } @@ -5579,10 +5454,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_210()) { + if (!jj_3R_210()) return false; jj_scanpos = xsp; if (jj_3R_211()) return true; - } return false; } @@ -5613,10 +5487,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_710()) { + if (!jj_3R_710()) return false; jj_scanpos = xsp; if (jj_3R_711()) return true; - } return false; } @@ -5935,13 +5808,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_634()) { + if (!jj_3R_634()) return false; jj_scanpos = xsp; - if (jj_3R_635()) { + if (!jj_3R_635()) return false; jj_scanpos = xsp; if (jj_3R_636()) return true; - } - } return false; } @@ -5971,10 +5842,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_608()) { + if (!jj_3R_608()) return false; jj_scanpos = xsp; if (jj_3R_609()) return true; - } return false; } @@ -5990,19 +5860,15 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_355()) { + if (!jj_3R_355()) return false; jj_scanpos = xsp; - if (jj_3R_356()) { + if (!jj_3R_356()) return false; jj_scanpos = xsp; - if (jj_3R_357()) { + if (!jj_3R_357()) return false; jj_scanpos = xsp; - if (jj_3R_358()) { + if (!jj_3R_358()) return false; jj_scanpos = xsp; if (jj_3R_359()) return true; - } - } - } - } return false; } @@ -6139,13 +6005,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_463()) { + if (!jj_3R_463()) return false; jj_scanpos = xsp; - if (jj_3R_464()) { + if (!jj_3R_464()) return false; jj_scanpos = xsp; if (jj_3R_465()) return true; - } - } return false; } @@ -6208,10 +6072,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_421()) { + if (!jj_3R_421()) return false; jj_scanpos = xsp; if (jj_3R_422()) return true; - } return false; } @@ -6280,22 +6143,17 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_573()) { + if (!jj_3R_573()) return false; jj_scanpos = xsp; - if (jj_3R_574()) { + if (!jj_3R_574()) return false; jj_scanpos = xsp; - if (jj_3R_575()) { + if (!jj_3R_575()) return false; jj_scanpos = xsp; - if (jj_3R_576()) { + if (!jj_3R_576()) return false; jj_scanpos = xsp; - if (jj_3R_577()) { + if (!jj_3R_577()) return false; jj_scanpos = xsp; if (jj_3R_578()) return true; - } - } - } - } - } return false; } @@ -6636,43 +6494,31 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_254()) { + if (!jj_3R_254()) return false; jj_scanpos = xsp; - if (jj_3_85()) { + if (!jj_3_85()) return false; jj_scanpos = xsp; - if (jj_3_86()) { + if (!jj_3_86()) return false; jj_scanpos = xsp; - if (jj_3_87()) { + if (!jj_3_87()) return false; jj_scanpos = xsp; - if (jj_3R_255()) { + if (!jj_3R_255()) return false; jj_scanpos = xsp; - if (jj_3_89()) { + if (!jj_3_89()) return false; jj_scanpos = xsp; - if (jj_3_90()) { + if (!jj_3_90()) return false; jj_scanpos = xsp; - if (jj_3_91()) { + if (!jj_3_91()) return false; jj_scanpos = xsp; - if (jj_3_92()) { + if (!jj_3_92()) return false; jj_scanpos = xsp; - if (jj_3_93()) { + if (!jj_3_93()) return false; jj_scanpos = xsp; - if (jj_3_94()) { + if (!jj_3_94()) return false; jj_scanpos = xsp; - if (jj_3_95()) { + if (!jj_3_95()) return false; jj_scanpos = xsp; if (jj_3R_256()) return true; - } - } - } - } - } - } - } - } - } - } - } - } return false; } @@ -6738,52 +6584,37 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_299()) { + if (!jj_3R_299()) return false; jj_scanpos = xsp; - if (jj_3R_300()) { + if (!jj_3R_300()) return false; jj_scanpos = xsp; - if (jj_3R_301()) { + if (!jj_3R_301()) return false; jj_scanpos = xsp; - if (jj_3R_302()) { + if (!jj_3R_302()) return false; jj_scanpos = xsp; - if (jj_3R_303()) { + if (!jj_3R_303()) return false; jj_scanpos = xsp; - if (jj_3R_304()) { + if (!jj_3R_304()) return false; jj_scanpos = xsp; - if (jj_3R_305()) { + if (!jj_3R_305()) return false; jj_scanpos = xsp; - if (jj_3R_306()) { + if (!jj_3R_306()) return false; jj_scanpos = xsp; - if (jj_3R_307()) { + if (!jj_3R_307()) return false; jj_scanpos = xsp; - if (jj_3R_308()) { + if (!jj_3R_308()) return false; jj_scanpos = xsp; - if (jj_3R_309()) { + if (!jj_3R_309()) return false; jj_scanpos = xsp; - if (jj_3R_310()) { + if (!jj_3R_310()) return false; jj_scanpos = xsp; - if (jj_3R_311()) { + if (!jj_3R_311()) return false; jj_scanpos = xsp; - if (jj_3R_312()) { + if (!jj_3R_312()) return false; jj_scanpos = xsp; - if (jj_3_8()) { + if (!jj_3_8()) return false; jj_scanpos = xsp; if (jj_3R_313()) return true; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } return false; } @@ -7000,10 +6831,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_708()) { + if (!jj_3R_708()) return false; jj_scanpos = xsp; if (jj_3R_709()) return true; - } return false; } @@ -7072,10 +6902,9 @@ void parseInline(); if (jj_scan_token(APOSTROPHE_T)) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(85)) { + if (!jj_scan_token(85)) return false; jj_scanpos = xsp; if (jj_3R_251()) return true; - } xsp = jj_scanpos; if (jj_3R_252()) jj_scanpos = xsp; return false; @@ -7123,10 +6952,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_376()) { + if (!jj_3R_376()) return false; jj_scanpos = xsp; if (jj_3R_377()) return true; - } return false; } @@ -7253,40 +7081,29 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_504()) { + if (!jj_3R_504()) return false; jj_scanpos = xsp; - if (jj_3R_505()) { + if (!jj_3R_505()) return false; jj_scanpos = xsp; - if (jj_3R_506()) { + if (!jj_3R_506()) return false; jj_scanpos = xsp; - if (jj_3R_507()) { + if (!jj_3R_507()) return false; jj_scanpos = xsp; - if (jj_3R_508()) { + if (!jj_3R_508()) return false; jj_scanpos = xsp; - if (jj_3R_509()) { + if (!jj_3R_509()) return false; jj_scanpos = xsp; - if (jj_3R_510()) { + if (!jj_3R_510()) return false; jj_scanpos = xsp; - if (jj_3R_511()) { + if (!jj_3R_511()) return false; jj_scanpos = xsp; - if (jj_3R_512()) { + if (!jj_3R_512()) return false; jj_scanpos = xsp; - if (jj_3R_513()) { + if (!jj_3R_513()) return false; jj_scanpos = xsp; - if (jj_3R_514()) { + if (!jj_3R_514()) return false; jj_scanpos = xsp; if (jj_3R_515()) return true; - } - } - } - } - } - } - } - } - } - } - } return false; } @@ -7454,10 +7271,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_192()) { + if (!jj_3R_192()) return false; jj_scanpos = xsp; if (jj_3R_193()) return true; - } return false; } @@ -7496,10 +7312,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_729()) { + if (!jj_3R_729()) return false; jj_scanpos = xsp; if (jj_3R_730()) return true; - } return false; } @@ -7510,10 +7325,9 @@ void parseInline(); if (jj_scan_token(APOSTROPHE_T)) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_239()) { + if (!jj_3R_239()) return false; jj_scanpos = xsp; if (jj_3R_240()) return true; - } return false; } @@ -7578,10 +7392,9 @@ void parseInline(); if (jj_scan_token(LPAREN_T)) return true; Token * xsp; xsp = jj_scanpos; - if (jj_scan_token(15)) { + if (!jj_scan_token(15)) return false; jj_scanpos = xsp; if (jj_3R_362()) return true; - } if (jj_scan_token(RPAREN_T)) return true; return false; } @@ -7591,10 +7404,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3_4()) { + if (!jj_3_4()) return false; jj_scanpos = xsp; if (jj_3R_246()) return true; - } return false; } @@ -7640,13 +7452,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_561()) { + if (!jj_3R_561()) return false; jj_scanpos = xsp; - if (jj_3R_562()) { + if (!jj_3R_562()) return false; jj_scanpos = xsp; if (jj_3R_563()) return true; - } - } return false; } @@ -7836,13 +7646,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_283()) { + if (!jj_3R_283()) return false; jj_scanpos = xsp; - if (jj_3R_284()) { + if (!jj_3R_284()) return false; jj_scanpos = xsp; if (jj_3R_285()) return true; - } - } return false; } @@ -7865,40 +7673,29 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_537()) { + if (!jj_3R_537()) return false; jj_scanpos = xsp; - if (jj_3R_538()) { + if (!jj_3R_538()) return false; jj_scanpos = xsp; - if (jj_3R_539()) { + if (!jj_3R_539()) return false; jj_scanpos = xsp; - if (jj_3R_540()) { + if (!jj_3R_540()) return false; jj_scanpos = xsp; - if (jj_3R_541()) { + if (!jj_3R_541()) return false; jj_scanpos = xsp; - if (jj_3R_542()) { + if (!jj_3R_542()) return false; jj_scanpos = xsp; - if (jj_3R_543()) { + if (!jj_3R_543()) return false; jj_scanpos = xsp; - if (jj_3_77()) { + if (!jj_3_77()) return false; jj_scanpos = xsp; - if (jj_3R_544()) { + if (!jj_3R_544()) return false; jj_scanpos = xsp; - if (jj_3R_545()) { + if (!jj_3R_545()) return false; jj_scanpos = xsp; - if (jj_3_78()) { + if (!jj_3_78()) return false; jj_scanpos = xsp; if (jj_3R_546()) return true; - } - } - } - } - } - } - } - } - } - } - } return false; } @@ -7966,13 +7763,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_523()) { + if (!jj_3R_523()) return false; jj_scanpos = xsp; - if (jj_3R_524()) { + if (!jj_3R_524()) return false; jj_scanpos = xsp; if (jj_3R_525()) return true; - } - } return false; } @@ -8068,22 +7863,17 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_212()) { + if (!jj_3R_212()) return false; jj_scanpos = xsp; - if (jj_3R_213()) { + if (!jj_3R_213()) return false; jj_scanpos = xsp; - if (jj_3R_214()) { + if (!jj_3R_214()) return false; jj_scanpos = xsp; - if (jj_3_75()) { + if (!jj_3_75()) return false; jj_scanpos = xsp; - if (jj_3R_215()) { + if (!jj_3R_215()) return false; jj_scanpos = xsp; if (jj_3R_216()) return true; - } - } - } - } - } return false; } @@ -8113,13 +7903,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_153()) { + if (!jj_3R_153()) return false; jj_scanpos = xsp; - if (jj_3R_154()) { + if (!jj_3R_154()) return false; jj_scanpos = xsp; if (jj_3R_155()) return true; - } - } return false; } @@ -8208,13 +7996,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_235()) { + if (!jj_3R_235()) return false; jj_scanpos = xsp; - if (jj_3R_236()) { + if (!jj_3R_236()) return false; jj_scanpos = xsp; if (jj_3R_237()) return true; - } - } return false; } @@ -8267,28 +8053,21 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_477()) { + if (!jj_3R_477()) return false; jj_scanpos = xsp; - if (jj_3R_478()) { + if (!jj_3R_478()) return false; jj_scanpos = xsp; - if (jj_3R_479()) { + if (!jj_3R_479()) return false; jj_scanpos = xsp; - if (jj_3R_480()) { + if (!jj_3R_480()) return false; jj_scanpos = xsp; - if (jj_3R_481()) { + if (!jj_3R_481()) return false; jj_scanpos = xsp; - if (jj_3R_482()) { + if (!jj_3R_482()) return false; jj_scanpos = xsp; - if (jj_3R_483()) { + if (!jj_3R_483()) return false; jj_scanpos = xsp; if (jj_3R_484()) return true; - } - } - } - } - } - } - } return false; } @@ -8509,22 +8288,17 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_670()) { + if (!jj_3R_670()) return false; jj_scanpos = xsp; - if (jj_3R_671()) { + if (!jj_3R_671()) return false; jj_scanpos = xsp; - if (jj_3R_672()) { + if (!jj_3R_672()) return false; jj_scanpos = xsp; - if (jj_3R_673()) { + if (!jj_3R_673()) return false; jj_scanpos = xsp; - if (jj_3R_674()) { + if (!jj_3R_674()) return false; jj_scanpos = xsp; if (jj_3R_675()) return true; - } - } - } - } - } return false; } @@ -8555,10 +8329,9 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_217()) { + if (!jj_3R_217()) return false; jj_scanpos = xsp; if (jj_3R_218()) return true; - } return false; } @@ -8809,19 +8582,15 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_222()) { + if (!jj_3R_222()) return false; jj_scanpos = xsp; - if (jj_3R_223()) { + if (!jj_3R_223()) return false; jj_scanpos = xsp; - if (jj_3R_224()) { + if (!jj_3R_224()) return false; jj_scanpos = xsp; - if (jj_3R_225()) { + if (!jj_3R_225()) return false; jj_scanpos = xsp; if (jj_3R_226()) return true; - } - } - } - } return false; } @@ -8872,13 +8641,11 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_156()) { + if (!jj_3R_156()) return false; jj_scanpos = xsp; - if (jj_3R_157()) { + if (!jj_3R_157()) return false; jj_scanpos = xsp; if (jj_3R_158()) return true; - } - } return false; } @@ -8908,16 +8675,13 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_289()) { + if (!jj_3R_289()) return false; jj_scanpos = xsp; - if (jj_3R_290()) { + if (!jj_3R_290()) return false; jj_scanpos = xsp; - if (jj_3R_291()) { + if (!jj_3R_291()) return false; jj_scanpos = xsp; if (jj_3R_292()) return true; - } - } - } return false; } @@ -8968,19 +8732,15 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_454()) { + if (!jj_3R_454()) return false; jj_scanpos = xsp; - if (jj_3R_455()) { + if (!jj_3R_455()) return false; jj_scanpos = xsp; - if (jj_3R_456()) { + if (!jj_3R_456()) return false; jj_scanpos = xsp; - if (jj_3R_457()) { + if (!jj_3R_457()) return false; jj_scanpos = xsp; if (jj_3R_458()) return true; - } - } - } - } return false; } @@ -9078,19 +8838,15 @@ void parseInline(); if (jj_done) return true; Token * xsp; xsp = jj_scanpos; - if (jj_3R_241()) { + if (!jj_3R_241()) return false; jj_scanpos = xsp; - if (jj_3R_242()) { + if (!jj_3R_242()) return false; jj_scanpos = xsp; - if (jj_3R_243()) { + if (!jj_3R_243()) return false; jj_scanpos = xsp; - if (jj_3R_244()) { + if (!jj_3R_244()) return false; jj_scanpos = xsp; if (jj_3R_245()) return true; - } - } - } - } return false; } -- cgit v0.12