From 8e9306fe1f1673772b6695ee390ce781898e8565 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Thu, 12 Dec 2019 20:45:59 +0100 Subject: Revert to locally patched version 6.2 of JavaCC due to more regressions :-( --- vhdlparser/CharStream.cc | 4 +- vhdlparser/CharStream.h | 204 ++++++------ vhdlparser/ErrorHandler.h | 5 +- vhdlparser/ParseException.cc | 4 +- vhdlparser/ParseException.h | 4 +- vhdlparser/Token.cc | 4 +- vhdlparser/Token.h | 7 +- vhdlparser/TokenManager.h | 14 +- vhdlparser/TokenMgrError.cc | 6 +- vhdlparser/TokenMgrError.h | 23 +- vhdlparser/VhdlParser.cc | 611 ++++++++++++++++++----------------- vhdlparser/VhdlParser.h | 320 +++++++++--------- vhdlparser/VhdlParserTokenManager.cc | 45 ++- vhdlparser/VhdlParserTokenManager.h | 26 +- 14 files changed, 668 insertions(+), 609 deletions(-) diff --git a/vhdlparser/CharStream.cc b/vhdlparser/CharStream.cc index bcc83ba..65179f5 100644 --- a/vhdlparser/CharStream.cc +++ b/vhdlparser/CharStream.cc @@ -1,4 +1,4 @@ -/* Generated By:JavaCC: Do not edit this line. CharStream.cc Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. CharStream.cc Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ #include "CharStream.h" @@ -209,4 +209,4 @@ void CharStream::UpdateLineColumn(JAVACC_CHAR_TYPE c) { } } -/* JavaCC - OriginalChecksum=eff57228f86b403d970758af731465ce (do not edit this line) */ +/* JavaCC - OriginalChecksum=ade3c1b57a731a003629de593814ffa6 (do not edit this line) */ diff --git a/vhdlparser/CharStream.h b/vhdlparser/CharStream.h index 12b58b8..2543ad1 100644 --- a/vhdlparser/CharStream.h +++ b/vhdlparser/CharStream.h @@ -1,4 +1,4 @@ -/* Generated By:JavaCC: Do not edit this line. CharStream.h Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. CharStream.h Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ #ifndef CHARSTREAM_H #define CHARSTREAM_H @@ -28,17 +28,33 @@ namespace parser { class CharStream { +public: + void setTabSize(int i) { tabSize = i; } + int getTabSize(int i) { return tabSize; } + private: + int getBufcolumn(int pos) { + if (trackLineColumn && pos>=0) { + return bufcolumn[pos]; + } else { + return -1; + } + } + int getBufline(int pos) { + if (trackLineColumn && pos>=0) { + return bufline[pos]; + } else { + return -1; + } + } public: - void setTabSize(int i) { tabSize = i; } - int getTabSize(int i) { return tabSize; } - virtual int getColumn() { return trackLineColumn ? bufcolumn[bufpos] : -1; } - virtual int getLine() { return trackLineColumn ? bufline[bufpos] : -1; } - virtual int getEndColumn() { return trackLineColumn ? bufcolumn[bufpos] : -1; } - virtual int getEndLine() { return trackLineColumn ? bufline[bufpos] : -1; } - virtual int getBeginColumn() { return trackLineColumn ? bufcolumn[tokenBegin] : -1; } - virtual int getBeginLine() { return trackLineColumn ? bufline[tokenBegin] : -1; } - - virtual bool getTrackLineColumn() { return trackLineColumn; } + virtual int getColumn() { return getBufcolumn(bufpos); } + virtual int getLine() { return getBufline(bufpos); } + virtual int getEndColumn() { return getBufcolumn(bufpos); } + virtual int getEndLine() { return getBufline(bufpos); } + virtual int getBeginColumn() { return getBufcolumn(tokenBegin); } + virtual int getBeginLine() { return getBufline(tokenBegin); } + + virtual bool getTrackLineColumn() { return trackLineColumn; } virtual void setTrackLineColumn(bool val) { trackLineColumn = val; } /** @@ -47,25 +63,25 @@ class CharStream { * (longer) token. So, they will be used again as the prefix of the next * token and it is the implemetation's responsibility to do this right. */ -virtual inline void backup(int amount) { - inBuf += amount; - bufpos -= amount; - if (bufpos < 0) { - bufpos += bufsize; + virtual inline void backup(int amount) { + inBuf += amount; + bufpos -= amount; + if (bufpos < 0) { + bufpos += bufsize; + } } -} /** * Returns the next character that marks the beginning of the next token. * All characters must remain in the buffer between two successive calls * to this method to implement backup correctly. */ -virtual inline JAVACC_CHAR_TYPE BeginToken() { - tokenBegin = -1; - JAVACC_CHAR_TYPE c = readChar(); - tokenBegin = bufpos; - return c; -} + virtual inline JAVACC_CHAR_TYPE BeginToken() { + tokenBegin = -1; + JAVACC_CHAR_TYPE c = readChar(); + tokenBegin = bufpos; + return c; + } /** @@ -73,31 +89,30 @@ virtual inline JAVACC_CHAR_TYPE BeginToken() { * of selecting the input is the responsibility of the class * implementing this class. */ -virtual inline JAVACC_CHAR_TYPE readChar() { - if (inBuf > 0) { - --inBuf; - ++bufpos; - if (bufpos == bufsize) { - bufpos = 0; + virtual inline JAVACC_CHAR_TYPE readChar() { + if (inBuf > 0) { + --inBuf; + ++bufpos; + if (bufpos == bufsize) { + bufpos = 0; + } + return buffer[bufpos]; } - return buffer[bufpos]; - } + ++bufpos; + if (bufpos >= maxNextCharInd) { + FillBuff(); + } - ++bufpos; - if (bufpos >= maxNextCharInd) { - FillBuff(); - } + JAVACC_CHAR_TYPE c = buffer[bufpos]; - JAVACC_CHAR_TYPE c = buffer[bufpos]; + if (trackLineColumn) { + UpdateLineColumn(c); + } - if (trackLineColumn) { - UpdateLineColumn(c); + return c; } - return c; -} - virtual void ExpandBuff(bool wrapAround); virtual void FillBuff(); @@ -112,8 +127,7 @@ virtual inline JAVACC_CHAR_TYPE readChar() { if (bufpos >= tokenBegin) return JAVACC_STRING_TYPE(buffer + tokenBegin, bufpos - tokenBegin + 1); else - return JAVACC_STRING_TYPE(buffer + tokenBegin, bufsize - tokenBegin) - .append(buffer, bufpos + 1); + return JAVACC_STRING_TYPE(buffer + tokenBegin, bufsize - tokenBegin).append(buffer, bufpos + 1); } /** @@ -126,8 +140,7 @@ virtual inline JAVACC_CHAR_TYPE readChar() { if ((bufpos + 1) >= len) { return JAVACC_STRING_TYPE(buffer + bufpos - len + 1, len); } - return JAVACC_STRING_TYPE(buffer + bufsize - (len - bufpos - 1), len - bufpos - 1) - .append(buffer, bufpos + 1); + return JAVACC_STRING_TYPE(buffer + bufsize - (len - bufpos - 1), len - bufpos - 1).append(buffer, bufpos + 1); } /** @@ -144,74 +157,71 @@ virtual inline JAVACC_CHAR_TYPE readChar() { } bool endOfInput() { - return inBuf == 0 && bufpos + 1 >= maxNextCharInd && - inputStream->endOfInput(); + return inBuf == 0 && bufpos + 1 >= maxNextCharInd && inputStream->endOfInput(); } CharStream(const JAVACC_CHAR_TYPE *buf, int sz, int startline, int startcolumn, int buffersize) : - bufline(NULL), bufcolumn(NULL), inputStream(NULL), deleteStream(false), - buffer(NULL), bufpos(0), bufsize(0), tokenBegin(0), column(0), line(0), - prevCharIsCR (false), prevCharIsLF (false), available(0), maxNextCharInd(0), - inBuf(0),tabSize(1), trackLineColumn(true) { + bufline(NULL), bufcolumn(NULL), buffer(NULL), bufpos(0), bufsize(0), + tokenBegin(0), column(0), line(0), prevCharIsCR(false), prevCharIsLF(false), + available(0), maxNextCharInd(0), inBuf(0), tabSize(1), trackLineColumn(true), + inputStream(NULL), deleteStream(false) { ReInit(JAVACC_STRING_TYPE(buf, sz), startline, startcolumn, buffersize); } CharStream(const JAVACC_CHAR_TYPE *buf, int sz, int startline, int startcolumn) : - bufline(NULL), bufcolumn(NULL), inputStream(NULL), deleteStream(false), - buffer(NULL), bufpos(0), bufsize(0), tokenBegin(0), column(0), line(0), - prevCharIsCR (false), prevCharIsLF (false), available(0), maxNextCharInd(0), - inBuf(0),tabSize(1), trackLineColumn(true) { + bufline(NULL), bufcolumn(NULL), buffer(NULL), bufpos(0), bufsize(0), + tokenBegin(0), column(0), line(0), prevCharIsCR(false), prevCharIsLF(false), + available(0), maxNextCharInd(0), inBuf(0), tabSize(1), trackLineColumn(true), + inputStream(NULL), deleteStream(false) { ReInit(JAVACC_STRING_TYPE(buf, sz), startline, startcolumn, INITIAL_BUFFER_SIZE); } CharStream(const JAVACC_STRING_TYPE& str, int startline, int startcolumn, int buffersize) : - bufline(NULL), bufcolumn(NULL), inputStream(NULL), deleteStream(false), - buffer(NULL), bufpos(0), bufsize(0), tokenBegin(0), column(0), line(0), - prevCharIsCR (false), prevCharIsLF (false), available(0), maxNextCharInd(0), - inBuf(0),tabSize(1), trackLineColumn(true) { + bufline(NULL), bufcolumn(NULL), buffer(NULL), bufpos(0), bufsize(0), + tokenBegin(0), column(0), line(0), prevCharIsCR(false), prevCharIsLF(false), + available(0), maxNextCharInd(0), inBuf(0), tabSize(1), trackLineColumn(true), + inputStream(NULL), deleteStream(false) { ReInit(str, startline, startcolumn, buffersize); } CharStream(const JAVACC_STRING_TYPE& str, int startline, int startcolumn) : - bufline(NULL), bufcolumn(NULL), inputStream(NULL), deleteStream(false), - buffer(NULL), bufpos(0), bufsize(0), tokenBegin(0), column(0), line(0), - prevCharIsCR (false), prevCharIsLF (false), available(0), maxNextCharInd(0), - inBuf(0) ,tabSize(1), trackLineColumn(true){ + bufline(NULL), bufcolumn(NULL), buffer(NULL), bufpos(0), bufsize(0), + tokenBegin(0), column(0), line(0), prevCharIsCR(false), prevCharIsLF(false), + available(0), maxNextCharInd(0), inBuf(0), tabSize(1), trackLineColumn(true), + inputStream(NULL), deleteStream(false) { ReInit(str, startline, startcolumn, INITIAL_BUFFER_SIZE); } CharStream(ReaderStream *input_stream, int startline, int startcolumn, int buffersize) : - bufline(NULL), bufcolumn(NULL), inputStream(NULL), deleteStream(false), - buffer(NULL), bufpos(0), bufsize(0), tokenBegin(0), column(0), line(0), - prevCharIsCR (false), prevCharIsLF (false), available(0), maxNextCharInd(0), - inBuf(0),tabSize(1), trackLineColumn(true) { + bufline(NULL), bufcolumn(NULL), buffer(NULL), bufpos(0), bufsize(0), + tokenBegin(0), column(0), line(0), prevCharIsCR(false), prevCharIsLF(false), + available(0), maxNextCharInd(0), inBuf(0), tabSize(1), trackLineColumn(true), + inputStream(NULL), deleteStream(false) { ReInit(input_stream, startline, startcolumn, INITIAL_BUFFER_SIZE); } CharStream(ReaderStream *input_stream, int startline, int startcolumn) : - bufline(NULL), bufcolumn(NULL), inputStream(NULL), deleteStream(false), - buffer(NULL), bufpos(0), bufsize(0), tokenBegin(0), column(0), line(0), - prevCharIsCR (false), prevCharIsLF (false), available(0), maxNextCharInd(0), - inBuf(0),tabSize(1), trackLineColumn(true) { + bufline(NULL), bufcolumn(NULL), buffer(NULL), bufpos(0), bufsize(0), + tokenBegin(0), column(0), line(0), prevCharIsCR(false), prevCharIsLF(false), + available(0), maxNextCharInd(0), inBuf(0), tabSize(1), trackLineColumn(true), + inputStream(NULL), deleteStream(false) { ReInit(input_stream, startline, startcolumn, INITIAL_BUFFER_SIZE); } CharStream(ReaderStream *input_stream) : - bufline(NULL), bufcolumn(NULL), inputStream(NULL), deleteStream(false), - buffer(NULL), bufpos(0), bufsize(0), tokenBegin(0), column(0), line(0), - prevCharIsCR (false), prevCharIsLF (false), available(0), maxNextCharInd(0), - inBuf(0),tabSize(1), trackLineColumn(true) { + bufline(NULL), bufcolumn(NULL), buffer(NULL), bufpos(0), bufsize(0), + tokenBegin(0), column(0), line(0), prevCharIsCR(false), prevCharIsLF(false), + available(0), maxNextCharInd(0), inBuf(0), tabSize(1), trackLineColumn(true), + inputStream(NULL), deleteStream(false) { ReInit(input_stream, 1, 1, INITIAL_BUFFER_SIZE); } - virtual void ReInit(ReaderStream *input_stream, int startline, int startcolumn, - int buffersize); + virtual void ReInit(ReaderStream *input_stream, int startline, int startcolumn, int buffersize); - virtual void ReInit(ReaderStream *input_stream, int startline, - int startcolumn) { + virtual void ReInit(ReaderStream *input_stream, int startline, int startcolumn) { ReInit(input_stream, startline, startcolumn, INITIAL_BUFFER_SIZE); } @@ -232,26 +242,26 @@ virtual inline JAVACC_CHAR_TYPE readChar() { protected: virtual void UpdateLineColumn(JAVACC_CHAR_TYPE c); - int *bufline; - int *bufcolumn; - ReaderStream *inputStream; - bool deleteStream; - JAVACC_CHAR_TYPE * buffer; - int bufpos; - int bufsize; - int tokenBegin; - int column; - int line; - bool prevCharIsCR ; - bool prevCharIsLF ; - int available; - int maxNextCharInd; - int inBuf ; - int tabSize ; - bool trackLineColumn; + int* bufline; + int* bufcolumn; + JAVACC_CHAR_TYPE* buffer; + int bufpos; + int bufsize; + int tokenBegin; + int column; + int line; + bool prevCharIsCR; + bool prevCharIsLF; + int available; + int maxNextCharInd; + int inBuf; + int tabSize; + bool trackLineColumn; + ReaderStream* inputStream; + bool deleteStream; }; } } #endif -/* JavaCC - OriginalChecksum=f8c313c692e78dec0bf9c85d18cb3b56 (do not edit this line) */ +/* JavaCC - OriginalChecksum=3f0e693d1617236429891c8c95713d73 (do not edit this line) */ diff --git a/vhdlparser/ErrorHandler.h b/vhdlparser/ErrorHandler.h index d3778c3..9f7dc07 100644 --- a/vhdlparser/ErrorHandler.h +++ b/vhdlparser/ErrorHandler.h @@ -1,7 +1,8 @@ -/* Generated By:JavaCC: Do not edit this line. ErrorHandler.h Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. ErrorHandler.h Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true,BUILD_PARSER=true,BUILD_TOKEN_MANAGER=true */ #ifndef ERRORHANDLER_H #define ERRORHANDLER_H +#include #include #include "JavaCC.h" #include "Token.h" @@ -75,4 +76,4 @@ JAVACC_SIMPLE_STRING addUnicodeEscapes(JAVACC_STRING_TYPE str); } #endif -/* JavaCC - OriginalChecksum=0dce21f9359cd0e5094357ad5cbc315d (do not edit this line) */ +/* JavaCC - OriginalChecksum=c18f1105ba178be8e21cc9f279f94496 (do not edit this line) */ diff --git a/vhdlparser/ParseException.cc b/vhdlparser/ParseException.cc index 2ebb875..6ef9738 100644 --- a/vhdlparser/ParseException.cc +++ b/vhdlparser/ParseException.cc @@ -1,4 +1,4 @@ -/* Generated By:JavaCC: Do not edit this line. ParseException.cc Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. ParseException.cc Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ #include "ParseException.h" @@ -181,4 +181,4 @@ namespace parser { } } -/* JavaCC - OriginalChecksum=e25164d58610a09ceb227db80376beba (do not edit this line) */ +/* JavaCC - OriginalChecksum=9f6af8fd72f5fe3e4210cf02acbd8387 (do not edit this line) */ diff --git a/vhdlparser/ParseException.h b/vhdlparser/ParseException.h index d69c391..c36613f 100644 --- a/vhdlparser/ParseException.h +++ b/vhdlparser/ParseException.h @@ -1,4 +1,4 @@ -/* Generated By:JavaCC: Do not edit this line. ParseException.h Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. ParseException.h Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ #ifndef _PARSE_EXCEPTION_H #define _PARSE_EXCEPTION_H @@ -96,4 +96,4 @@ class ParseException { } } #endif -/* JavaCC - OriginalChecksum=339b52f10b77d027ae2838b74a4934e1 (do not edit this line) */ +/* JavaCC - OriginalChecksum=bd87c2fc11a4306bd2c2482fd1025b7c (do not edit this line) */ diff --git a/vhdlparser/Token.cc b/vhdlparser/Token.cc index d6fdebd..735091d 100644 --- a/vhdlparser/Token.cc +++ b/vhdlparser/Token.cc @@ -1,4 +1,4 @@ -/* Generated By:JavaCC: Do not edit this line. Token.cc Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. Token.cc Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true,TOKEN_INCLUDES=,TOKEN_EXTENDS= */ #include "Token.h" @@ -89,4 +89,4 @@ namespace parser { } } -/* JavaCC - OriginalChecksum=ad49760663454c3609232308a7bb7379 (do not edit this line) */ +/* JavaCC - OriginalChecksum=dcb0f64486aa6455ae5af05d6bb539ec (do not edit this line) */ diff --git a/vhdlparser/Token.h b/vhdlparser/Token.h index a1ac519..040899e 100644 --- a/vhdlparser/Token.h +++ b/vhdlparser/Token.h @@ -1,4 +1,4 @@ -/* Generated By:JavaCC: Do not edit this line. Token.h Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. Token.h Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true,TOKEN_INCLUDES=,TOKEN_EXTENDS= */ #ifndef TOKEN_H #define TOKEN_H @@ -86,12 +86,13 @@ class Token */ Token(int kind, JAVACC_STRING_TYPE image); + virtual ~Token(); + /** * Returns the image. */ JAVACC_STRING_TYPE toString(); - public: virtual ~Token(); /** * Returns a new Token void *, by default. However, if you want, you @@ -113,4 +114,4 @@ class Token } } #endif -/* JavaCC - OriginalChecksum=d80e40280c93973eed89266ba3cfbdca (do not edit this line) */ +/* JavaCC - OriginalChecksum=4748c3d6443aa3445d3c95ab54f14c2a (do not edit this line) */ diff --git a/vhdlparser/TokenManager.h b/vhdlparser/TokenManager.h index 9aed782..0c2caa6 100644 --- a/vhdlparser/TokenManager.h +++ b/vhdlparser/TokenManager.h @@ -1,10 +1,12 @@ -/* Generated By:JavaCC: Do not edit this line. TokenManager.h Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. TokenManager.h Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ #ifndef TOKENMANAGER_H #define TOKENMANAGER_H +#include #include "JavaCC.h" #include "Token.h" +using namespace std; namespace vhdl { namespace parser { @@ -19,10 +21,10 @@ public: /** This gets the next token from the input stream. * A token of kind 0 () should be returned on EOF. */ - public: virtual Token *getNextToken() = 0; - public: virtual ~TokenManager() { } - public: virtual void lexicalError() { - fprintf(stderr, "Lexical error encountered.\n"); + virtual ~TokenManager() { } + virtual Token *getNextToken() = 0; + virtual void lexicalError() { + cerr << "Lexical error encountered." << endl; } }; @@ -30,4 +32,4 @@ public: } } #endif -/* JavaCC - OriginalChecksum=c9208158050f6de2e723c580fee8011c (do not edit this line) */ +/* JavaCC - OriginalChecksum=918e2eba53e028d6c4142283ce3f498f (do not edit this line) */ diff --git a/vhdlparser/TokenMgrError.cc b/vhdlparser/TokenMgrError.cc index d6c43ee..74908f0 100644 --- a/vhdlparser/TokenMgrError.cc +++ b/vhdlparser/TokenMgrError.cc @@ -1,4 +1,4 @@ -/* Generated By:JavaCC: Do not edit this line. TokenMgrError.cc Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. TokenMgrError.cc Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ #include "TokenMgrError.h" @@ -64,7 +64,7 @@ namespace parser { // i < 16 - guaranteed char hexChar(int i) { if (i < 10) { - return i - '0'; + return i + '0'; } return 'a' + (i - 10); } @@ -115,4 +115,4 @@ JAVACC_SIMPLE_STRING addUnicodeEscapes(JAVACC_STRING_TYPE str) { } } -/* JavaCC - OriginalChecksum=c94a22f5e55a710d715f7e0d07db2460 (do not edit this line) */ +/* JavaCC - OriginalChecksum=72f292bc267bd0602e63291bf864f942 (do not edit this line) */ diff --git a/vhdlparser/TokenMgrError.h b/vhdlparser/TokenMgrError.h index 32905ec..abb305d 100644 --- a/vhdlparser/TokenMgrError.h +++ b/vhdlparser/TokenMgrError.h @@ -1,4 +1,4 @@ -/* Generated By:JavaCC: Do not edit this line. TokenMgrError.h Version 6.1 */ +/* Generated By:JavaCC: Do not edit this line. TokenMgrError.h Version 6.2 */ /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ #ifndef _TOKENMGRERROR_H #define _TOKENMGRERROR_H @@ -8,7 +8,7 @@ namespace vhdl { namespace parser { - enum LexerErrors { +enum LexerErrors { /** * Lexical error occurred. */ @@ -28,11 +28,10 @@ namespace parser { * Detected (and bailed out of) an infinite loop in the token manager. */ LOOP_DETECTED = 3, - }; +}; -class TokenMgrError -{ - public: +class TokenMgrError { +public: /* * Ordinals for various reasons why an Error of this type can be thrown. */ @@ -57,7 +56,8 @@ class TokenMgrError */ JAVACC_STRING_TYPE LexicalError(bool EOFSeen, int lexState, int errorLine, int errorColumn, JAVACC_STRING_TYPE errorAfter, JAVACC_CHAR_TYPE curChar); - private: JAVACC_STRING_TYPE message; +private: + JAVACC_STRING_TYPE message; /** * You can also modify the body of this method to customize your error messages. @@ -68,6 +68,7 @@ class TokenMgrError * * from this method for such cases in the release version of your parser. */ +public: JAVACC_STRING_TYPE getMessage() ; /* @@ -75,16 +76,16 @@ class TokenMgrError */ /** No arg constructor. */ - public: TokenMgrError() ; + TokenMgrError() ; /** Constructor with message and reason. */ - public: TokenMgrError(JAVACC_STRING_TYPE message, int reason) ; + TokenMgrError(JAVACC_STRING_TYPE message, int reason) ; /** Full Constructor. */ - public: TokenMgrError(bool EOFSeen, int lexState, int errorLine, int errorColumn, JAVACC_STRING_TYPE errorAfter, JAVACC_CHAR_TYPE curChar, int reason) ; + TokenMgrError(bool EOFSeen, int lexState, int errorLine, int errorColumn, JAVACC_STRING_TYPE errorAfter, JAVACC_CHAR_TYPE curChar, int reason) ; }; } } #endif -/* JavaCC - OriginalChecksum=a97a71ddb969ae96c94e5d370217e1a8 (do not edit this line) */ +/* JavaCC - OriginalChecksum=c22a1b25630ec91deb47dcba22b6b39d (do not edit this line) */ diff --git a/vhdlparser/VhdlParser.cc b/vhdlparser/VhdlParser.cc index 1c36d01..b360217 100644 --- a/vhdlparser/VhdlParser.cc +++ b/vhdlparser/VhdlParser.cc @@ -1,5 +1,6 @@ /* VhdlParser.cc */ -#include "/Users/dimitri/doxygen/vhdlparser/VhdlParser.h" +#include "VhdlParser.h" +#include "TokenMgrError.h" namespace vhdl { namespace parser { unsigned int jj_la1_0[] = { @@ -61,7 +62,7 @@ return tok->image.c_str(); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::access_type_definition() {Token *tok=0;QCString str,str1;if (!hasError) { @@ -75,7 +76,7 @@ QCString VhdlParser::access_type_definition() {Token *tok=0;QCString str,str1;if str=tok->image.c_str(); return str+str1; assert(false); - } +} QCString VhdlParser::actual_designator() {QCString str;Token *t=0; @@ -117,7 +118,7 @@ return str; } } assert(false); - } +} QCString VhdlParser::actual_parameter_part() {QCString s;if (!hasError) { @@ -127,7 +128,7 @@ QCString VhdlParser::actual_parameter_part() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::actual_part() {QCString s,s1; @@ -186,7 +187,7 @@ s+="(";s+=s1+")";return s; } } assert(false); - } +} QCString VhdlParser::adding_operator() { @@ -230,7 +231,7 @@ return "&"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::aggregate() {QCString s,s1,s2;if (!hasError) { @@ -275,7 +276,7 @@ s+=","+s1; return "("+s+")"; assert(false); - } +} QCString VhdlParser::alias_declaration() {QCString s,s1,s2;if (!hasError) { @@ -357,7 +358,7 @@ addVhdlType(s2.data(),getLine(ALIAS_T),Entry::VARIABLE_SEC,VhdlDocGen::ALIAS,0,s return s2+" "+s+";"; assert(false); - } +} QCString VhdlParser::alias_designator() {Token *tok=0;QCString s; @@ -402,7 +403,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} void VhdlParser::allocator() { @@ -434,7 +435,7 @@ void VhdlParser::allocator() { errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } } - } +} void VhdlParser::architecture_body() {QCString s,s1;if (!hasError) { @@ -527,7 +528,7 @@ error_skipto(BEGIN_T); } lastEntity=0;lastCompound=0; genLabels.resize(0); - } +} void VhdlParser::architecture_declarative_part() {if (!hasError) { @@ -567,7 +568,7 @@ void VhdlParser::architecture_declarative_part() {if (!hasError) { end_label_2: ; } - } +} void VhdlParser::architecture_statement_part() {if (!hasError) { @@ -600,7 +601,7 @@ void VhdlParser::architecture_statement_part() {if (!hasError) { end_label_3: ; } - } +} QCString VhdlParser::array_type_definition() {QCString s; @@ -633,7 +634,7 @@ return s; } } assert(false); - } +} QCString VhdlParser::assertion() {QCString s,s1,s2;Token *t=0;Token *t1=0;if (!hasError) { @@ -688,7 +689,7 @@ s.prepend("assert "); if(t1) s2.prepend(" report "); return s+s1+s2; assert(false); - } +} QCString VhdlParser::assertion_statement() {QCString s,s1,s2;Token *t=0;if (!hasError) { @@ -723,7 +724,7 @@ QCString VhdlParser::assertion_statement() {QCString s,s1,s2;Token *t=0;if (!has if(t) s+=":"; return s+s1+";"; assert(false); - } +} QCString VhdlParser::association_element() {QCString s,s1;if (!hasError) { @@ -748,7 +749,7 @@ QCString VhdlParser::association_element() {QCString s,s1;if (!hasError) { return s+" => "+s1; assert(false); - } +} QCString VhdlParser::association_list() {QCString s,s1;if (!hasError) { @@ -785,7 +786,7 @@ s+=","+s1; return s; assert(false); - } +} QCString VhdlParser::attribute_declaration() {QCString s,s1;if (!hasError) { @@ -812,7 +813,7 @@ QCString VhdlParser::attribute_declaration() {QCString s,s1;if (!hasError) { addVhdlType(s.data(),getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,s1.data(),Public); return " attribute "+s+":"+s1+";"; assert(false); - } +} QCString VhdlParser::attribute_designator() {QCString s;Token *tok=0; @@ -846,7 +847,7 @@ return tok->image.c_str(); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::attribute_name() {QCString s,s1;if (!hasError) { @@ -895,7 +896,7 @@ s+"("+s1+")"; return s; assert(false); - } +} QCString VhdlParser::attribute_specification() {QCString s,s1,s2;if (!hasError) { @@ -931,7 +932,7 @@ QCString t= s1+" is "+s2; addVhdlType(s.data(),getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,t.data(),Public); return " attribute "+s+" of "+s1+ " is "+s2+";"; assert(false); - } +} QCString VhdlParser::base() {Token *tok=0;if (!hasError) { @@ -941,7 +942,7 @@ QCString VhdlParser::base() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} QCString VhdlParser::base_specifier() {Token *tok=0;if (!hasError) { @@ -951,7 +952,7 @@ QCString VhdlParser::base_specifier() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} QCString VhdlParser::base_unit_declaration() {QCString s;if (!hasError) { @@ -961,7 +962,7 @@ QCString VhdlParser::base_unit_declaration() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::based_integer() {Token *tok=0;if (!hasError) { @@ -971,7 +972,7 @@ QCString VhdlParser::based_integer() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} QCString VhdlParser::based_literal() {Token *tok=0;if (!hasError) { @@ -981,7 +982,7 @@ QCString VhdlParser::based_literal() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} QCString VhdlParser::basic_identifier() {Token *tok=0;if (!hasError) { @@ -991,7 +992,7 @@ QCString VhdlParser::basic_identifier() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} void VhdlParser::binding_indication() {if (!hasError) { @@ -1044,7 +1045,7 @@ void VhdlParser::binding_indication() {if (!hasError) { } } - } +} QCString VhdlParser::bit_string_literal() {Token *tok=0;if (!hasError) { @@ -1054,7 +1055,7 @@ QCString VhdlParser::bit_string_literal() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} QCString VhdlParser::bit_value() {Token *tok=0;if (!hasError) { @@ -1064,7 +1065,7 @@ QCString VhdlParser::bit_value() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} void VhdlParser::block_configuration() {if (!hasError) { @@ -1126,7 +1127,7 @@ void VhdlParser::block_configuration() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::block_declarative_item() { @@ -1260,7 +1261,7 @@ void VhdlParser::block_declarative_item() { } } } - } +} void VhdlParser::block_declarative_part() {if (!hasError) { @@ -1300,7 +1301,7 @@ void VhdlParser::block_declarative_part() {if (!hasError) { end_label_7: ; } - } +} void VhdlParser::block_header() {if (!hasError) { @@ -1368,7 +1369,7 @@ void VhdlParser::block_header() {if (!hasError) { } } - } +} void VhdlParser::block_specification() {if (!hasError) { @@ -1399,7 +1400,7 @@ void VhdlParser::block_specification() {if (!hasError) { } } - } +} void VhdlParser::block_statement() {QCString s;if (!hasError) { @@ -1502,7 +1503,7 @@ pushLabel(genLabels,s); } genLabels=popLabel(genLabels); - } +} void VhdlParser::block_statement_part() {if (!hasError) { @@ -1535,7 +1536,7 @@ void VhdlParser::block_statement_part() {if (!hasError) { end_label_8: ; } - } +} void VhdlParser::case_statement() {QCString s;if (!hasError) { @@ -1629,7 +1630,7 @@ QCString ca="case "+s; FlowChart::moveToPrevLevel(); FlowChart::addFlowChart(FlowChart::END_CASE,"end case",0); - } +} void VhdlParser::case_statement_alternative() {QCString s;if (!hasError) { @@ -1656,7 +1657,7 @@ QCString t="when "; } FlowChart::moveToPrevLevel(); - } +} QCString VhdlParser::character_literal() {Token *tok=0;if (!hasError) { @@ -1666,7 +1667,7 @@ QCString VhdlParser::character_literal() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} QCString VhdlParser::choice() {QCString s; @@ -1717,7 +1718,7 @@ return " others "; } } assert(false); - } +} QCString VhdlParser::choices() {QCString s,s1;if (!hasError) { @@ -1754,7 +1755,7 @@ s+="|";s+=s1; return s; assert(false); - } +} void VhdlParser::component_configuration() {if (!hasError) { @@ -1815,7 +1816,7 @@ void VhdlParser::component_configuration() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::component_declaration() {QCString s;if (!hasError) { @@ -1909,7 +1910,7 @@ addVhdlType(s.data(),getLine(COMPONENT_T),Entry::VARIABLE_SEC,VhdlDocGen::COMPON jj_consume_token(SEMI_T); } - } +} void VhdlParser::component_instantiation_statement() {QCString s,s1;if (!hasError) { @@ -1965,7 +1966,7 @@ QCString s3; jj_consume_token(SEMI_T); } - } +} void VhdlParser::component_specification() {if (!hasError) { @@ -1981,7 +1982,7 @@ void VhdlParser::component_specification() {if (!hasError) { name(); } - } +} QCString VhdlParser::composite_type_definition() {QCString s,s1; @@ -2014,7 +2015,7 @@ return s+"#"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} void VhdlParser::concurrent_assertion_statement() {if (!hasError) { @@ -2056,7 +2057,7 @@ void VhdlParser::concurrent_assertion_statement() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::concurrent_procedure_call_statement() {if (!hasError) { @@ -2098,7 +2099,7 @@ void VhdlParser::concurrent_procedure_call_statement() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::concurrent_signal_assignment_statement() {if (!hasError) { @@ -2155,7 +2156,7 @@ void VhdlParser::concurrent_signal_assignment_statement() {if (!hasError) { } } - } +} void VhdlParser::concurrent_statement() { @@ -2222,7 +2223,7 @@ void VhdlParser::concurrent_statement() { } } } - } +} QCString VhdlParser::condition() {QCString s;if (!hasError) { @@ -2232,7 +2233,7 @@ QCString VhdlParser::condition() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::condition_clause() {QCString s;if (!hasError) { @@ -2246,7 +2247,7 @@ QCString VhdlParser::condition_clause() {QCString s;if (!hasError) { return " until "+s; assert(false); - } +} void VhdlParser::conditional_signal_assignment() {if (!hasError) { @@ -2270,7 +2271,7 @@ void VhdlParser::conditional_signal_assignment() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::conditional_waveforms() {if (!hasError) { @@ -2324,7 +2325,7 @@ void VhdlParser::conditional_waveforms() {if (!hasError) { } } - } +} void VhdlParser::configuration_declaration() {QCString s,s1;if (!hasError) { @@ -2403,7 +2404,7 @@ confName=s+"::"+s1; } genLabels.resize(0); confName=""; - } +} void VhdlParser::configuration_declarative_item() { @@ -2434,7 +2435,7 @@ void VhdlParser::configuration_declarative_item() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} void VhdlParser::configuration_declarative_part() {if (!hasError) { @@ -2459,7 +2460,7 @@ void VhdlParser::configuration_declarative_part() {if (!hasError) { end_label_12: ; } - } +} void VhdlParser::configuration_item() { @@ -2483,7 +2484,7 @@ void VhdlParser::configuration_item() { errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } } - } +} void VhdlParser::configuration_specification() {if (!hasError) { @@ -2503,7 +2504,7 @@ void VhdlParser::configuration_specification() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} QCString VhdlParser::constant_declaration() {QCString s,s1,s2;Token *t=0;if (!hasError) { @@ -2553,7 +2554,7 @@ if(t) it.prepend("constant "); return it; assert(false); - } +} QCString VhdlParser::constraint_array_definition() {QCString s,s1;if (!hasError) { @@ -2575,7 +2576,7 @@ QCString VhdlParser::constraint_array_definition() {QCString s,s1;if (!hasError) return s+" "+s1; assert(false); - } +} void VhdlParser::context_clause() {if (!hasError) { @@ -2599,7 +2600,7 @@ void VhdlParser::context_clause() {if (!hasError) { end_label_13: ; } - } +} QCString VhdlParser::constraint() {QCString s; @@ -2626,7 +2627,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} void VhdlParser::context_item() { @@ -2650,7 +2651,7 @@ void VhdlParser::context_item() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} QCString VhdlParser::decimal_literal() {Token *tok=0;if (!hasError) { @@ -2660,7 +2661,7 @@ QCString VhdlParser::decimal_literal() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} QCString VhdlParser::delay_mechanism() {QCString s; @@ -2717,7 +2718,7 @@ return s+" inertial "; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} void VhdlParser::design_file() { @@ -2772,7 +2773,7 @@ void VhdlParser::design_file() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} void VhdlParser::design_unit() {if (!hasError) { @@ -2784,7 +2785,7 @@ void VhdlParser::design_unit() {if (!hasError) { library_unit(); } - } +} QCString VhdlParser::designator() {QCString s; @@ -2818,7 +2819,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::direction() {Token *tok=0; @@ -2851,7 +2852,7 @@ return tok->image.c_str(); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} void VhdlParser::disconnection_specification() {if (!hasError) { @@ -2875,7 +2876,7 @@ void VhdlParser::disconnection_specification() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::guarded_signal_specificatio() {if (!hasError) { @@ -2891,7 +2892,7 @@ void VhdlParser::guarded_signal_specificatio() {if (!hasError) { name(); } - } +} QCString VhdlParser::discrete_range() {QCString s; @@ -2918,7 +2919,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::element_association() {QCString s,s1;if (!hasError) { @@ -2945,7 +2946,7 @@ if(!s.isEmpty()) return s+"=>"+s1; return s1; assert(false); - } +} QCString VhdlParser::element_declaration() {QCString s,s1;if (!hasError) { @@ -2969,7 +2970,7 @@ addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,s1.data( //addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public); return s+":"+s1; assert(false); - } +} QCString VhdlParser::entity_aspect() {Token *tok=0;QCString s,s1; @@ -3048,7 +3049,7 @@ return tok->image.c_str(); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::entity_class() { @@ -3246,7 +3247,7 @@ return "file"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::entity_class_entry() {QCString s;if (!hasError) { @@ -3275,7 +3276,7 @@ s+="<>"; return s; assert(false); - } +} QCString VhdlParser::entity_class_entry_list() {QCString s,s1,s2;if (!hasError) { @@ -3319,7 +3320,7 @@ s2+=",";s2+=s; return s1+s2; assert(false); - } +} void VhdlParser::entity_declaration() {QCString s;if (!hasError) { @@ -3410,7 +3411,7 @@ lastEntity=current.get(); } lastEntity=0;lastCompound=0; genLabels.resize(0); - } +} void VhdlParser::entity_declarative_item() { @@ -3555,7 +3556,7 @@ void VhdlParser::entity_declarative_item() { } } } - } +} void VhdlParser::entity_declarative_part() {if (!hasError) { @@ -3595,7 +3596,7 @@ void VhdlParser::entity_declarative_part() {if (!hasError) { end_label_16: ; } - } +} QCString VhdlParser::entity_designator() {QCString s,s1;if (!hasError) { @@ -3620,7 +3621,7 @@ QCString VhdlParser::entity_designator() {QCString s,s1;if (!hasError) { return s+s1; assert(false); - } +} void VhdlParser::entity_header() {if (!hasError) { @@ -3662,7 +3663,7 @@ currP=VhdlDocGen::PORT; } } - } +} QCString VhdlParser::entity_name_list() {QCString s,s1; @@ -3733,7 +3734,7 @@ return "all"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::entity_specification() {QCString s,s1;if (!hasError) { @@ -3751,7 +3752,7 @@ QCString VhdlParser::entity_specification() {QCString s,s1;if (!hasError) { return s+":"+s1; assert(false); - } +} void VhdlParser::entity_statement() { @@ -3784,7 +3785,7 @@ void VhdlParser::entity_statement() { errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } } - } +} void VhdlParser::entity_statement_part() {if (!hasError) { @@ -3813,7 +3814,7 @@ void VhdlParser::entity_statement_part() {if (!hasError) { end_label_18: ; } - } +} QCString VhdlParser::entity_tag() {QCString s; @@ -3849,7 +3850,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::enumeration_literal() {QCString s; @@ -3883,7 +3884,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::enumeration_type_definition() {QCString s,s1;if (!hasError) { @@ -3928,7 +3929,7 @@ s+=",";s+=s1; return "("+s+")"; assert(false); - } +} QCString VhdlParser::exit_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;if (!hasError) { @@ -4002,7 +4003,7 @@ lab.resize(0); return s+s1+s2+";"; assert(false); - } +} QCString VhdlParser::expression() {QCString s,s1,s2;if (!hasError) { @@ -4044,7 +4045,7 @@ s+=s1;s+=s2; return s; assert(false); - } +} QCString VhdlParser::logop() { @@ -4121,7 +4122,7 @@ return "or" ; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::extended_identifier() {Token *t;if (!hasError) { @@ -4131,7 +4132,7 @@ QCString VhdlParser::extended_identifier() {Token *t;if (!hasError) { return t->image.c_str(); assert(false); - } +} QCString VhdlParser::factor() {QCString s,s1; @@ -4217,7 +4218,7 @@ s1="not ";return s1+s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::file_declaration() {QCString s,s1,s2,s3;if (!hasError) { @@ -4261,7 +4262,7 @@ QCString t1=s2+" "+s3; addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,t1.data(),Public); return " file "+s+":"+s2+" "+s3+";"; assert(false); - } +} QCString VhdlParser::file_logical_name() {QCString s;if (!hasError) { @@ -4271,7 +4272,7 @@ QCString VhdlParser::file_logical_name() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::file_open_information() {QCString s,s1,s2;if (!hasError) { @@ -4304,7 +4305,7 @@ QCString VhdlParser::file_open_information() {QCString s,s1,s2;if (!hasError) { s2="open "+s+" is "+s1; return s2; assert(false); - } +} QCString VhdlParser::file_type_definition() {QCString s,s1;if (!hasError) { @@ -4322,7 +4323,7 @@ QCString VhdlParser::file_type_definition() {QCString s,s1;if (!hasError) { s1=" file of "+s; return s1; assert(false); - } +} QCString VhdlParser::floating_type_definition() {QCString s;if (!hasError) { @@ -4332,7 +4333,7 @@ QCString VhdlParser::floating_type_definition() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::formal_designator() {QCString s;Token *tok=0; @@ -4368,7 +4369,7 @@ return tok->image.c_str(); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::formal_parameter_list() {QCString s;if (!hasError) { @@ -4378,7 +4379,7 @@ QCString VhdlParser::formal_parameter_list() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::formal_part() {QCString s,s1;if (!hasError) { @@ -4415,7 +4416,7 @@ s+"("+s1+")"; return s; assert(false); - } +} QCString VhdlParser::full_type_declaration() {Entry *tmpEntry;QCString s,s1,s2;if (!hasError) { @@ -4471,7 +4472,7 @@ if (s2.contains("#")) { tmpEntry=0; return "type "+s+" is "+s2+";"; assert(false); - } +} QCString VhdlParser::function_call() {QCString s,s1;if (!hasError) { @@ -4493,7 +4494,7 @@ QCString VhdlParser::function_call() {QCString s,s1;if (!hasError) { return s+"("+s1+")"; assert(false); - } +} void VhdlParser::generate_statement() {QCString s;if (!hasError) { @@ -4557,7 +4558,7 @@ error_skipto(GENERATE_T); } genLabels=popLabel(genLabels); - } +} void VhdlParser::generate_scheme() { @@ -4589,7 +4590,7 @@ void VhdlParser::generate_scheme() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} void VhdlParser::generic_clause() {QCString s;if (!hasError) { @@ -4618,7 +4619,7 @@ parse_sec=GEN_SEC; } parse_sec=0; - } +} QCString VhdlParser::generic_list() {QCString s;if (!hasError) { @@ -4628,7 +4629,7 @@ QCString VhdlParser::generic_list() {QCString s;if (!hasError) { return s; assert(false); - } +} void VhdlParser::generic_map_aspect() {if (!hasError) { @@ -4652,7 +4653,7 @@ void VhdlParser::generic_map_aspect() {if (!hasError) { jj_consume_token(RPAREN_T); } - } +} QCString VhdlParser::group_constituent() {QCString s; @@ -4688,7 +4689,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::group_constituent_list() {QCString s,s1,s2;if (!hasError) { @@ -4728,7 +4729,7 @@ s2+=",";s2+=s1; return s+s2; assert(false); - } +} QCString VhdlParser::group_declaration() {QCString s,s1,s2;if (!hasError) { @@ -4766,7 +4767,7 @@ QCString VhdlParser::group_declaration() {QCString s,s1,s2;if (!hasError) { return "group "+s+":"+s1+"("+s2+");"; assert(false); - } +} QCString VhdlParser::group_template_declaration() {QCString s,s1;if (!hasError) { @@ -4800,7 +4801,7 @@ QCString VhdlParser::group_template_declaration() {QCString s,s1;if (!hasError) return "group "+s+ "is ("+s1+");"; assert(false); - } +} void VhdlParser::guarded_signal_specification() {if (!hasError) { @@ -4816,7 +4817,7 @@ void VhdlParser::guarded_signal_specification() {if (!hasError) { type_mark(); } - } +} QCString VhdlParser::identifier() {Token *tok=0; @@ -4849,7 +4850,7 @@ return tok->image.c_str(); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::identifier_list() {QCString str,str1;if (!hasError) { @@ -4886,7 +4887,7 @@ str+=",";str+=str1; return str; assert(false); - } +} void VhdlParser::if_statement() {QCString s,s1;if (!hasError) { @@ -5020,7 +5021,7 @@ FlowChart::addFlowChart(FlowChart::ELSE_NO,0,0); FlowChart::moveToPrevLevel(); FlowChart::addFlowChart(FlowChart::ENDIF_NO,0,0); - } +} QCString VhdlParser::incomplete_type_declaration() {QCString s;if (!hasError) { @@ -5038,7 +5039,7 @@ QCString VhdlParser::incomplete_type_declaration() {QCString s;if (!hasError) { return "type "+s+";"; assert(false); - } +} QCString VhdlParser::index_constraint() {QCString s="("; QCString s1,s2;if (!hasError) { @@ -5087,7 +5088,7 @@ s+=",";s+=s1; return s+")"; assert(false); - } +} QCString VhdlParser::index_specification() {QCString s; @@ -5135,7 +5136,7 @@ return s; } } assert(false); - } +} QCString VhdlParser::index_subtype_definition() {QCString s;if (!hasError) { @@ -5153,7 +5154,7 @@ QCString VhdlParser::index_subtype_definition() {QCString s;if (!hasError) { return s+" range <> "; assert(false); - } +} QCString VhdlParser::instantiation_unit() {QCString s,s1,s2;Token *tok; @@ -5268,7 +5269,7 @@ s1="configuration ";return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::instantiation_list() {QCString s;Token *tok=0; @@ -5313,7 +5314,7 @@ return tok->image.c_str(); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::integer() {Token *t;if (!hasError) { @@ -5323,7 +5324,7 @@ QCString VhdlParser::integer() {Token *t;if (!hasError) { return t->image.c_str(); assert(false); - } +} QCString VhdlParser::integer_type_definition() {QCString s;if (!hasError) { @@ -5333,7 +5334,7 @@ QCString VhdlParser::integer_type_definition() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::interface_declaration() {QCString s,s1; @@ -5422,7 +5423,7 @@ if (parse_sec==GEN_SEC) } } assert(false); - } +} QCString VhdlParser::interface_element() {QCString s;if (!hasError) { @@ -5432,7 +5433,7 @@ QCString VhdlParser::interface_element() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::interface_file_declaration() {QCString s,s1;if (!hasError) { @@ -5455,7 +5456,7 @@ QCString VhdlParser::interface_file_declaration() {QCString s,s1;if (!hasError) addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public); return " file "+s+":"+s1; assert(false); - } +} QCString VhdlParser::interface_list() {QCString s,s1,s2;if (!hasError) { @@ -5492,7 +5493,7 @@ s2+=";";s2+=s1; return s+s2; assert(false); - } +} QCString VhdlParser::interface_variable_declaration() {Token *tok=0;Token *tok1=0;Token *tok2=0;QCString s,s1,s2,s3,s4,s5;if (!hasError) { @@ -5640,7 +5641,7 @@ if(tok) } // if component return it; assert(false); - } +} QCString VhdlParser::iteration_scheme() {QCString s; @@ -5687,7 +5688,7 @@ QCString q=lab+" for "+s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::label() {QCString s;if (!hasError) { @@ -5697,7 +5698,7 @@ QCString VhdlParser::label() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::library_clause() {QCString s;if (!hasError) { @@ -5723,7 +5724,7 @@ if ( parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) ) QCString s1="library "+s; return s1; assert(false); - } +} QCString VhdlParser::library_unit() {QCString s; @@ -5764,7 +5765,7 @@ return s; } } assert(false); - } +} QCString VhdlParser::literal() {QCString s; @@ -5826,7 +5827,7 @@ return "null"; } } assert(false); - } +} QCString VhdlParser::logical_operator() {QCString s;if (!hasError) { @@ -5836,7 +5837,7 @@ QCString VhdlParser::logical_operator() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::loop_statement() {QCString s,s1,s2,s3;if (!hasError) { @@ -5927,7 +5928,7 @@ QCString q = s+" loop "+s2+" end loop" +s3; FlowChart::addFlowChart(FlowChart::END_LOOP,endLoop.data(),0); return q; assert(false); - } +} QCString VhdlParser::miscellaneous_operator() {Token *t=0; @@ -5971,7 +5972,7 @@ return "not"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::mode() {Token *tok=0; @@ -6037,7 +6038,7 @@ return "linkage"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::multiplying_operation() {Token *tok=0; @@ -6092,7 +6093,7 @@ return tok->image.c_str(); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::name() {QCString s,s1;if (!hasError) { @@ -6144,7 +6145,7 @@ s+=s1; return s; assert(false); - } +} QCString VhdlParser::name_ext1() {QCString s,s1,s2;if (!hasError) { @@ -6173,7 +6174,7 @@ s+=s1; return s; assert(false); - } +} QCString VhdlParser::name_ext() {QCString s,s1,s2;if (!hasError) { @@ -6286,7 +6287,7 @@ s+=")"; return s; assert(false); - } +} QCString VhdlParser::test_att_name() {QCString s,s1;if (!hasError) { @@ -6346,7 +6347,7 @@ s+="(";s+=s1;s+=")"; return s; assert(false); - } +} QCString VhdlParser::indexed_name() {QCString s,s1,s2;if (!hasError) { @@ -6399,7 +6400,7 @@ s+=",";s+=s1; return s+")"; assert(false); - } +} QCString VhdlParser::next_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;if (!hasError) { @@ -6472,7 +6473,7 @@ if(t) s+=":"; if(t1) s2.prepend("when "); return s+s1+s2+";"; assert(false); - } +} QCString VhdlParser::null_statement() {QCString s;if (!hasError) { @@ -6510,7 +6511,7 @@ s+=":"; return s+="null"; assert(false); - } +} QCString VhdlParser::numeric_literal() {QCString s; @@ -6545,7 +6546,7 @@ return s; } } assert(false); - } +} QCString VhdlParser::object_class() { @@ -6626,7 +6627,7 @@ return "type"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::operator_symbol() {Token *tok=0;if (!hasError) { @@ -6636,7 +6637,7 @@ QCString VhdlParser::operator_symbol() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} void VhdlParser::options() {if (!hasError) { @@ -6672,7 +6673,7 @@ void VhdlParser::options() {if (!hasError) { } } - } +} void VhdlParser::package_body() {QCString s;if (!hasError) { @@ -6748,7 +6749,7 @@ lastCompound=current.get(); } lastCompound=0; genLabels.resize(0); - } +} void VhdlParser::package_body_declarative_item() { @@ -6836,7 +6837,7 @@ void VhdlParser::package_body_declarative_item() { } } } - } +} void VhdlParser::package_body_declarative_part() {if (!hasError) { @@ -6871,7 +6872,7 @@ void VhdlParser::package_body_declarative_part() {if (!hasError) { end_label_29: ; } - } +} void VhdlParser::package_declaration() {QCString s;if (!hasError) { @@ -6946,7 +6947,7 @@ lastCompound=current.get(); } lastEntity=0;lastCompound=0; genLabels.resize(0); - } +} void VhdlParser::geninter() {if (!hasError) { @@ -6988,7 +6989,7 @@ void VhdlParser::geninter() {if (!hasError) { } } - } +} void VhdlParser::package_declarative_item() { @@ -7133,7 +7134,7 @@ void VhdlParser::package_declarative_item() { } } } - } +} void VhdlParser::package_declarative_part() {if (!hasError) { @@ -7173,7 +7174,7 @@ void VhdlParser::package_declarative_part() {if (!hasError) { end_label_30: ; } - } +} QCString VhdlParser::parameter_specification() {QCString s,s1;if (!hasError) { @@ -7191,7 +7192,7 @@ QCString VhdlParser::parameter_specification() {QCString s,s1;if (!hasError) { return s+" in "+s1; assert(false); - } +} QCString VhdlParser::physical_literal() {QCString s,s1;if (!hasError) { @@ -7212,7 +7213,7 @@ QCString VhdlParser::physical_literal() {QCString s,s1;if (!hasError) { s+=" ";s+=s1;s.prepend(" "); return s; assert(false); - } +} QCString VhdlParser::physical_type_definition() {QCString s,s1,s2;if (!hasError) { @@ -7280,7 +7281,7 @@ addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,0,Public) return s+"%"; assert(false); - } +} void VhdlParser::port_clause() {if (!hasError) { @@ -7305,7 +7306,7 @@ void VhdlParser::port_clause() {if (!hasError) { } currP=0; - } +} QCString VhdlParser::port_list() {QCString s;if (!hasError) { @@ -7315,7 +7316,7 @@ QCString VhdlParser::port_list() {QCString s;if (!hasError) { return s; assert(false); - } +} void VhdlParser::port_map_aspect() {if (!hasError) { @@ -7339,7 +7340,7 @@ void VhdlParser::port_map_aspect() {if (!hasError) { jj_consume_token(RPAREN_T); } - } +} QCString VhdlParser::primary() {QCString s,s1; @@ -7436,7 +7437,7 @@ return s; } } assert(false); - } +} void VhdlParser::primary_unit() { @@ -7483,7 +7484,7 @@ void VhdlParser::primary_unit() { } } } - } +} QCString VhdlParser::procedure_call() {QCString s,s1;if (!hasError) { @@ -7520,7 +7521,7 @@ s1.prepend("("); s1.append(")"); return s+s1; assert(false); - } +} QCString VhdlParser::procedure_call_statement() {QCString s,s1;if (!hasError) { @@ -7553,7 +7554,7 @@ s+=":"; return s+s1+";"; assert(false); - } +} QCString VhdlParser::process_declarative_item() {QCString s; @@ -7708,7 +7709,7 @@ return s; } } assert(false); - } +} QCString VhdlParser::process_declarative_part() {QCString s,s1;if (!hasError) { @@ -7750,7 +7751,7 @@ s+=s1; return s; assert(false); - } +} void VhdlParser::process_statement() {QCString s,s1,s2;Token *tok=0;if (!hasError) { @@ -7935,7 +7936,7 @@ if(s.isEmpty()) createFlow(); currName=""; newEntry(); - } +} void VhdlParser::process_statement_part() {if (!hasError) { @@ -7975,7 +7976,7 @@ void VhdlParser::process_statement_part() {if (!hasError) { end_label_33: ; } - } +} QCString VhdlParser::qualified_expression() {QCString s,s1;if (!hasError) { @@ -8032,7 +8033,7 @@ s+="(";s+=s1;s+=")"; return s; assert(false); - } +} QCString VhdlParser::range() {QCString s,s1,s2; @@ -8067,7 +8068,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::range_constraint() {QCString s,s1;if (!hasError) { @@ -8081,7 +8082,7 @@ QCString VhdlParser::range_constraint() {QCString s,s1;if (!hasError) { return " range "+s; assert(false); - } +} void VhdlParser::record_type_definition() {if (!hasError) { @@ -8135,7 +8136,7 @@ void VhdlParser::record_type_definition() {if (!hasError) { } } - } +} QCString VhdlParser::relation() {QCString s,s1,s2;if (!hasError) { @@ -8169,7 +8170,7 @@ QCString VhdlParser::relation() {QCString s,s1,s2;if (!hasError) { return s+s1+s2; assert(false); - } +} QCString VhdlParser::relation_operator() { @@ -8246,7 +8247,7 @@ return "/="; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::report_statement() {Token *t=0;Token *t1=0;QCString s,s1,s2;if (!hasError) { @@ -8306,7 +8307,7 @@ if(t) s.append(":"); if(t1) s2.prepend(" severity "); return s+s1+s2+";"; assert(false); - } +} QCString VhdlParser::return_statement() {QCString s,s1;if (!hasError) { @@ -8374,7 +8375,7 @@ s+=":"; return s+" return "+s1+";"; assert(false); - } +} QCString VhdlParser::scalar_type_definition() {QCString s,s1; @@ -8418,7 +8419,7 @@ return s+" "+s1+"%"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} void VhdlParser::secondary_unit() { @@ -8442,7 +8443,7 @@ void VhdlParser::secondary_unit() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} QCString VhdlParser::secondary_unit_declaration() {QCString s,s1;if (!hasError) { @@ -8467,7 +8468,7 @@ QCString VhdlParser::secondary_unit_declaration() {QCString s,s1;if (!hasError) return s+"="+s1; assert(false); - } +} QCString VhdlParser::selected_name() {QCString s,s1;if (!hasError) { @@ -8485,7 +8486,7 @@ QCString VhdlParser::selected_name() {QCString s,s1;if (!hasError) { return s+"."+s1; assert(false); - } +} void VhdlParser::selected_signal_assignment() {if (!hasError) { @@ -8521,7 +8522,7 @@ void VhdlParser::selected_signal_assignment() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::selected_waveforms() {if (!hasError) { @@ -8568,7 +8569,7 @@ void VhdlParser::selected_waveforms() {if (!hasError) { end_label_35: ; } - } +} QCString VhdlParser::sensitivity_clause() {QCString s;if (!hasError) { @@ -8583,7 +8584,7 @@ QCString VhdlParser::sensitivity_clause() {QCString s;if (!hasError) { s.prepend(" on "); return s; assert(false); - } +} QCString VhdlParser::sensitivity_list() {QCString s,s1;if (!hasError) { @@ -8620,7 +8621,7 @@ s+=",";s+=s1; return s; assert(false); - } +} QCString VhdlParser::sequence_of_statement() {QCString s,s1;if (!hasError) { @@ -8645,7 +8646,7 @@ s+=s1; return s; assert(false); - } +} QCString VhdlParser::sequential_statement() {QCString s; @@ -8779,7 +8780,7 @@ FlowChart::addFlowChart(FlowChart::TEXT_NO,s.data(),0);return s; } } assert(false); - } +} QCString VhdlParser::shift_expression() {QCString s,s1,s2;if (!hasError) { @@ -8813,7 +8814,7 @@ QCString VhdlParser::shift_expression() {QCString s,s1,s2;if (!hasError) { return s+s1+s2; assert(false); - } +} QCString VhdlParser::shift_operator() { @@ -8890,7 +8891,7 @@ return "ror"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::sign() { @@ -8923,7 +8924,7 @@ return "-"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::signal_assignment_statement() {QCString s,s1,s2,s3; @@ -9017,7 +9018,7 @@ return s+s1+"<="+s2+s3+";"; } } assert(false); - } +} void VhdlParser::semi() {if (!hasError) { @@ -9025,7 +9026,7 @@ void VhdlParser::semi() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::signal_declaration() {Token* tok=0;QCString s,s1,s2,s3,s4;if (!hasError) { @@ -9088,7 +9089,7 @@ if(tok) s3.prepend(":="); s4=s1+s2+s3; addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SIGNAL,0,s4.data(),Public); - } +} QCString VhdlParser::signal_kind() { @@ -9121,7 +9122,7 @@ return "bus"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::signal_list() {QCString s,s1; @@ -9191,7 +9192,7 @@ return "all"; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::signature() {QCString s,s1,s2;if (!hasError) { @@ -9273,7 +9274,7 @@ s+="return ";s+=s1; s1="["+s+"]";return s1; assert(false); - } +} QCString VhdlParser::simple_expression() {QCString s,s1,s2;if (!hasError) { @@ -9326,7 +9327,7 @@ s+=s1;s+=s2; return s; assert(false); - } +} void VhdlParser::simple_name() {if (!hasError) { @@ -9334,7 +9335,7 @@ void VhdlParser::simple_name() {if (!hasError) { name(); } - } +} QCString VhdlParser::slice_name() {QCString s,s1;if (!hasError) { @@ -9356,7 +9357,7 @@ QCString VhdlParser::slice_name() {QCString s,s1;if (!hasError) { return s+"("+s1+")"; assert(false); - } +} QCString VhdlParser::string_literal() {Token *tok=0;if (!hasError) { @@ -9366,7 +9367,7 @@ QCString VhdlParser::string_literal() {Token *tok=0;if (!hasError) { return tok->image.c_str(); assert(false); - } +} void VhdlParser::subprogram_body() {QCString s;if (!hasError) { @@ -9439,7 +9440,7 @@ if (s.data()) tempEntry->endBodyLine=getLine(END_T); createFlow(); currP=0; - } +} void VhdlParser::subprogram_declaration() { @@ -9474,7 +9475,7 @@ currP=0; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } } - } +} void VhdlParser::subprogram_1() { @@ -9498,7 +9499,7 @@ void VhdlParser::subprogram_1() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} QCString VhdlParser::subprogram_declarative_item() {QCString s; @@ -9664,7 +9665,7 @@ return s; } } assert(false); - } +} QCString VhdlParser::subprogram_declarative_part() {QCString s,s1;if (!hasError) { @@ -9707,7 +9708,7 @@ s+=s1; return s; assert(false); - } +} void VhdlParser::subprogram_kind() { @@ -9731,7 +9732,7 @@ void VhdlParser::subprogram_kind() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} void VhdlParser::subprogram_specification() {QCString s;Token *tok=0;Token *t; @@ -9925,7 +9926,7 @@ tempEntry=current.get(); jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} void VhdlParser::subprogram_statement_part() {if (!hasError) { @@ -9965,7 +9966,7 @@ void VhdlParser::subprogram_statement_part() {if (!hasError) { end_label_42: ; } - } +} QCString VhdlParser::subtype_declaration() {QCString s,s1;if (!hasError) { @@ -9992,7 +9993,7 @@ QCString VhdlParser::subtype_declaration() {QCString s,s1;if (!hasError) { addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SUBTYPE,0,s1.data(),Public); return " subtype "+s+" is "+s1+";"; assert(false); - } +} QCString VhdlParser::subtype_indication() {QCString s,s1,s2;if (!hasError) { @@ -10024,7 +10025,7 @@ QCString VhdlParser::subtype_indication() {QCString s,s1,s2;if (!hasError) { return s+" "+s1+" "+s2; assert(false); - } +} QCString VhdlParser::suffix() {QCString s; @@ -10079,7 +10080,7 @@ return " all "; } } assert(false); - } +} QCString VhdlParser::target() {QCString s; @@ -10115,7 +10116,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::term() {QCString s,s1,s2;if (!hasError) { @@ -10148,7 +10149,7 @@ s+=s1;s+=s2; return s; assert(false); - } +} QCString VhdlParser::timeout_clause() {QCString s;if (!hasError) { @@ -10162,7 +10163,7 @@ QCString VhdlParser::timeout_clause() {QCString s;if (!hasError) { return " for "+s; assert(false); - } +} QCString VhdlParser::type_conversion() {QCString s,s1;if (!hasError) { @@ -10184,7 +10185,7 @@ QCString VhdlParser::type_conversion() {QCString s,s1;if (!hasError) { return s+"("+s1+")"; assert(false); - } +} QCString VhdlParser::type_declaration() {QCString s; @@ -10217,7 +10218,7 @@ return s; } } assert(false); - } +} QCString VhdlParser::type_definition() {QCString s; @@ -10301,7 +10302,7 @@ return ""; } } assert(false); - } +} QCString VhdlParser::type_mark() {QCString s;if (!hasError) { @@ -10311,7 +10312,7 @@ QCString VhdlParser::type_mark() {QCString s;if (!hasError) { return s; assert(false); - } +} QCString VhdlParser::unconstraint_array_definition() {QCString s,s1,s2,s3;if (!hasError) { @@ -10368,7 +10369,7 @@ s3+=",";s3+=s1; return "array("+s+s3+") of "+s2; assert(false); - } +} QCString VhdlParser::use_clause() {QCString s,s1;if (!hasError) { @@ -10424,7 +10425,7 @@ QCStringList ql1=QCStringList::split(",",s); s1="use "+s; return s1; assert(false); - } +} QCString VhdlParser::variable_assignment_statement() {QCString s,s1,s2; @@ -10492,7 +10493,7 @@ return ""; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::variable_declaration() {Token *tok=0;Token *t1=0;QCString s,s1,s2;if (!hasError) { @@ -10571,7 +10572,7 @@ int spec; addVhdlType(s.data(),getLine(),Entry::VARIABLE_SEC,spec,0,it.data(),Public); return val; assert(false); - } +} QCString VhdlParser::wait_statement() {QCString s,s1,s2,s3;Token *t=0;if (!hasError) { @@ -10651,7 +10652,7 @@ QCString VhdlParser::wait_statement() {QCString s,s1,s2,s3;Token *t=0;if (!hasEr if(t) s.append(":"); return s+" wait "+s1+s2+s3+";"; assert(false); - } +} QCString VhdlParser::waveform() {QCString s,s1; @@ -10726,7 +10727,7 @@ return " unaffected "; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::waveform_element() {QCString s,s1;if (!hasError) { @@ -10759,7 +10760,7 @@ s1.prepend(" after "); return s+s1; assert(false); - } +} QCString VhdlParser::protected_type_body() {if (!hasError) { @@ -10805,7 +10806,7 @@ QCString VhdlParser::protected_type_body() {if (!hasError) { return ""; assert(false); - } +} void VhdlParser::protected_type_body_declarative_item() { @@ -10918,7 +10919,7 @@ void VhdlParser::protected_type_body_declarative_item() { } } } - } +} void VhdlParser::protected_type_body_declarative_part() {if (!hasError) { @@ -10955,7 +10956,7 @@ void VhdlParser::protected_type_body_declarative_part() {if (!hasError) { end_label_47: ; } - } +} QCString VhdlParser::protected_type_declaration() {if (!hasError) { @@ -11000,7 +11001,7 @@ error_skipto(END_T); return ""; assert(false); - } +} void VhdlParser::protected_type_declarative_item() { @@ -11034,7 +11035,7 @@ void VhdlParser::protected_type_declarative_item() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} void VhdlParser::protected_type_declarative_part() {if (!hasError) { @@ -11066,7 +11067,7 @@ void VhdlParser::protected_type_declarative_part() {if (!hasError) { end_label_48: ; } - } +} QCString VhdlParser::context_ref() {QCString s;if (!hasError) { @@ -11084,7 +11085,7 @@ QCString VhdlParser::context_ref() {QCString s;if (!hasError) { return "context "+s ; assert(false); - } +} void VhdlParser::context_declaration() {QCString s,s1;if (!hasError) { @@ -11166,7 +11167,7 @@ parse_sec=CONTEXT_SEC; parse_sec=0; addVhdlType(s.data(),getLine(LIBRARY_T),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,"context",s1.data(),Public); - } +} QCString VhdlParser::libustcont_stats() {QCString s; @@ -11210,7 +11211,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} void VhdlParser::package_instantiation_declaration() {QCString s,s1,s2;if (!hasError) { @@ -11259,7 +11260,7 @@ void VhdlParser::package_instantiation_declaration() {QCString s,s1,s2;if (!hasE QCString q=" is new "+s1+s2; addVhdlType(s.data(),getLine(PACKAGE_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"package",q.data(),Public); - } +} QCString VhdlParser::interface_package_declaration() {QCString s,s1;if (!hasError) { @@ -11301,7 +11302,7 @@ QCString VhdlParser::interface_package_declaration() {QCString s,s1;if (!hasErro current->name=s; return "package "+s+" is new "+s1; assert(false); - } +} QCString VhdlParser::subprogram_instantiation_declaration() {QCString s,s1,s2;if (!hasError) { @@ -11352,7 +11353,7 @@ QCString q= " is new "+s1+s2; addVhdlType(s.data(),getLine(FUNCTION_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"function ",q.data(),Public); return q; assert(false); - } +} void VhdlParser::gen_assoc_list() {if (!hasError) { @@ -11376,7 +11377,7 @@ void VhdlParser::gen_assoc_list() {if (!hasError) { jj_consume_token(RPAREN_T); } - } +} void VhdlParser::gen_interface_list() {if (!hasError) { @@ -11406,7 +11407,7 @@ void VhdlParser::gen_interface_list() {if (!hasError) { jj_consume_token(RPAREN_T); } - } +} void VhdlParser::case_scheme() {if (!hasError) { @@ -11453,7 +11454,7 @@ void VhdlParser::case_scheme() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::when_stats() {if (!hasError) { @@ -11503,7 +11504,7 @@ void VhdlParser::when_stats() {if (!hasError) { end_label_50: ; } - } +} void VhdlParser::ttend() {if (!hasError) { @@ -11531,7 +11532,7 @@ void VhdlParser::ttend() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::generate_statement_body() {if (!hasError) { @@ -11543,7 +11544,7 @@ void VhdlParser::generate_statement_body() {if (!hasError) { generate_statement_body(); } - } +} void VhdlParser::generate_statement_body1() {if (!hasError) { @@ -11624,7 +11625,7 @@ void VhdlParser::generate_statement_body1() {if (!hasError) { end_label_52: ; } - } +} QCString VhdlParser::external_name() {QCString s,s1,s2;if (!hasError) { @@ -11656,7 +11657,7 @@ QCString t="<<"+s; QCString t1=s1+":"+s2+">>"; return s+s1; assert(false); - } +} QCString VhdlParser::sig_stat() {Token *t; @@ -11700,7 +11701,7 @@ return t->image.data(); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::external_pathname() {QCString s; @@ -11744,7 +11745,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::absolute_pathname() {QCString s,s1; @@ -11789,7 +11790,7 @@ return "."+s; } } assert(false); - } +} QCString VhdlParser::relative_pathname() {QCString s,s1,s2;if (!hasError) { @@ -11814,7 +11815,7 @@ QCString VhdlParser::relative_pathname() {QCString s,s1,s2;if (!hasError) { return s+s1+s2; assert(false); - } +} QCString VhdlParser::neg_list() {QCString s;if (!hasError) { @@ -11847,7 +11848,7 @@ s+="^."; return s; assert(false); - } +} QCString VhdlParser::pathname_element() {QCString s,s1;if (!hasError) { @@ -11883,7 +11884,7 @@ if(!s1.isEmpty()) return s; assert(false); - } +} QCString VhdlParser::pathname_element_list() {QCString s,s1,s2;if (!hasError) { @@ -11927,7 +11928,7 @@ s2+=s1;s2+="."; return s+s2; assert(false); - } +} QCString VhdlParser::package_path_name() {QCString s;if (!hasError) { @@ -11941,7 +11942,7 @@ QCString VhdlParser::package_path_name() {QCString s;if (!hasError) { return "@"+s; assert(false); - } +} void VhdlParser::conditional_signal_assignment_wave() { @@ -11969,7 +11970,7 @@ void VhdlParser::conditional_signal_assignment_wave() { errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } } - } +} void VhdlParser::conditional_waveform_assignment() {if (!hasError) { @@ -12029,7 +12030,7 @@ void VhdlParser::conditional_waveform_assignment() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::else_wave_list() {if (!hasError) { @@ -12060,7 +12061,7 @@ void VhdlParser::else_wave_list() {if (!hasError) { } } - } +} void VhdlParser::conditional_force_assignment() {if (!hasError) { @@ -12138,7 +12139,7 @@ void VhdlParser::conditional_force_assignment() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::selected_signal_assignment_wave() { @@ -12162,7 +12163,7 @@ void VhdlParser::selected_signal_assignment_wave() { errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } } - } +} void VhdlParser::selected_variable_assignment() {if (!hasError) { @@ -12205,7 +12206,7 @@ void VhdlParser::selected_variable_assignment() {if (!hasError) { sel_var_list(); } - } +} void VhdlParser::select_name() { @@ -12232,7 +12233,7 @@ void VhdlParser::select_name() { errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } } - } +} void VhdlParser::selected_waveform_assignment() {if (!hasError) { @@ -12292,7 +12293,7 @@ void VhdlParser::selected_waveform_assignment() {if (!hasError) { sel_wave_list(); } - } +} void VhdlParser::selected_force_assignment() {if (!hasError) { @@ -12355,7 +12356,7 @@ void VhdlParser::selected_force_assignment() {if (!hasError) { sel_var_list(); } - } +} void VhdlParser::sel_var_list() {if (!hasError) { @@ -12443,7 +12444,7 @@ void VhdlParser::sel_var_list() {if (!hasError) { end_label_55: ; } - } +} void VhdlParser::sel_wave_list() {if (!hasError) { @@ -12486,7 +12487,7 @@ void VhdlParser::sel_wave_list() {if (!hasError) { jj_consume_token(SEMI_T); } - } +} void VhdlParser::inout_stat() { @@ -12510,7 +12511,7 @@ void VhdlParser::inout_stat() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} void VhdlParser::else_stat() {if (!hasError) { @@ -12556,7 +12557,7 @@ void VhdlParser::else_stat() {if (!hasError) { end_label_57: ; } - } +} QCString VhdlParser::interface_subprogram_declaration() {QCString s; @@ -12591,7 +12592,7 @@ return s; errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } assert(false); - } +} QCString VhdlParser::iproc() {QCString s,s1;if (!hasError) { @@ -12610,7 +12611,7 @@ QCString VhdlParser::iproc() {QCString s,s1;if (!hasError) { current->name=s; return "procedure "+s+s1; assert(false); - } +} QCString VhdlParser::ifunc() {QCString s,s1,s2,s3;Token *t=0;Token *t1=0;Token *t2=0;if (!hasError) { @@ -12724,7 +12725,7 @@ QCString q; } currP=0;return ""; assert(false); - } +} QCString VhdlParser::param() {QCString s,s1;Token *tok=0;if (!hasError) { @@ -12778,7 +12779,7 @@ if(tok) param_sec=0; return s+"("+s1+")"; assert(false); - } +} void VhdlParser::parseInline() { @@ -12808,31 +12809,21 @@ void VhdlParser::parseInline() { jj_consume_token(-1); errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true; } - } +} VhdlParser::VhdlParser(TokenManager *tm){ head = NULL; + errorHandlerCreated = false; ReInit(tm); } - VhdlParser::~VhdlParser() +VhdlParser::~VhdlParser() { - if (token_source) delete token_source; - if (head) { - Token *next, *t = head; - while (t) { - next = t->next; - delete t; - t = next; - } - } - if (errorHandlerCreated) { - delete errorHandler; - } + clear(); } void VhdlParser::ReInit(TokenManager *tm){ - if (head) delete head; + clear(); errorHandler = new ErrorHandler(); errorHandlerCreated = true; hasError = false; @@ -12854,6 +12845,24 @@ void VhdlParser::ReInit(TokenManager *tm){ } +void VhdlParser::clear(){ + //Since token manager was generate from outside, + //parser should not take care of deleting + //if (token_source) delete token_source; + if (head) { + Token *next, *t = head; + while (t) { + next = t->next; + delete t; + t = next; + } + } + if (errorHandlerCreated) { + delete errorHandler; + } +} + + Token * VhdlParser::jj_consume_token(int kind) { Token *oldToken; if ((oldToken = token)->next != NULL) token = token->next; @@ -12876,7 +12885,8 @@ Token * VhdlParser::jj_consume_token(int kind) { token = oldToken; jj_kind = kind; JAVACC_STRING_TYPE image = kind >= 0 ? tokenImage[kind] : tokenImage[0]; - errorHandler->handleUnexpectedToken(kind, image.substr(1, image.size() - 2), getToken(1), this), hasError = true; + errorHandler->handleUnexpectedToken(kind, image.substr(1, image.size() - 2), getToken(1), this); + hasError = true; return token; } @@ -12933,26 +12943,23 @@ int VhdlParser::jj_ntk_f(){ } -void VhdlParser::jj_add_error_token(int kind, int pos) { + void VhdlParser::jj_add_error_token(int kind, int pos) { } - /** Generate ParseException. */ void VhdlParser::parseError() { fprintf(stderr, "Parse error at: %d:%d, after token: %s encountered: %s\n", token->beginLine, token->beginColumn, addUnicodeEscapes(token->image).c_str(), addUnicodeEscapes(getToken(1)->image).c_str()); } - void VhdlParser::enable_tracing() { + void VhdlParser::enable_tracing() { } - /** Disable tracing. */ - - void VhdlParser::disable_tracing() { + void VhdlParser::disable_tracing() { } -void VhdlParser::jj_rescan_token(){ + void VhdlParser::jj_rescan_token(){ jj_rescan = true; for (int i = 0; i < 116; i++) { JJCalls *p = &jj_2_rtns[i]; @@ -13085,7 +13092,7 @@ void VhdlParser::jj_rescan_token(){ } -void VhdlParser::jj_save(int index, int xla){ + void VhdlParser::jj_save(int index, int xla){ JJCalls *p = &jj_2_rtns[index]; while (p->gen > jj_gen) { if (p->next == NULL) { p = p->next = new JJCalls(); break; } diff --git a/vhdlparser/VhdlParser.h b/vhdlparser/VhdlParser.h index fffac50..efdfe33 100644 --- a/vhdlparser/VhdlParser.h +++ b/vhdlparser/VhdlParser.h @@ -12,12 +12,12 @@ namespace vhdl { namespace parser { struct JJCalls { - int gen; - Token *first; - int arg; - JJCalls *next; + int gen; + int arg; + JJCalls* next; + Token* first; ~JJCalls() { if (next) delete next; } - JJCalls() { next = NULL; arg = 0; gen = -1; first = NULL; } + JJCalls() { next = NULL; arg = 0; gen = -1; first = NULL; } }; class VhdlParser { @@ -582,7 +582,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_1() || jj_done; + return (!jj_3_1() || jj_done); { jj_save(0, xla); } } @@ -590,7 +590,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_2() || jj_done; + return (!jj_3_2() || jj_done); { jj_save(1, xla); } } @@ -598,7 +598,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_3() || jj_done; + return (!jj_3_3() || jj_done); { jj_save(2, xla); } } @@ -606,7 +606,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_4() || jj_done; + return (!jj_3_4() || jj_done); { jj_save(3, xla); } } @@ -614,7 +614,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_5() || jj_done; + return (!jj_3_5() || jj_done); { jj_save(4, xla); } } @@ -622,7 +622,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_6() || jj_done; + return (!jj_3_6() || jj_done); { jj_save(5, xla); } } @@ -630,7 +630,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_7() || jj_done; + return (!jj_3_7() || jj_done); { jj_save(6, xla); } } @@ -638,7 +638,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_8() || jj_done; + return (!jj_3_8() || jj_done); { jj_save(7, xla); } } @@ -646,7 +646,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_9() || jj_done; + return (!jj_3_9() || jj_done); { jj_save(8, xla); } } @@ -654,7 +654,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_10() || jj_done; + return (!jj_3_10() || jj_done); { jj_save(9, xla); } } @@ -662,7 +662,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_11() || jj_done; + return (!jj_3_11() || jj_done); { jj_save(10, xla); } } @@ -670,7 +670,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_12() || jj_done; + return (!jj_3_12() || jj_done); { jj_save(11, xla); } } @@ -678,7 +678,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_13() || jj_done; + return (!jj_3_13() || jj_done); { jj_save(12, xla); } } @@ -686,7 +686,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_14() || jj_done; + return (!jj_3_14() || jj_done); { jj_save(13, xla); } } @@ -694,7 +694,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_15() || jj_done; + return (!jj_3_15() || jj_done); { jj_save(14, xla); } } @@ -702,7 +702,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_16() || jj_done; + return (!jj_3_16() || jj_done); { jj_save(15, xla); } } @@ -710,7 +710,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_17() || jj_done; + return (!jj_3_17() || jj_done); { jj_save(16, xla); } } @@ -718,7 +718,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_18() || jj_done; + return (!jj_3_18() || jj_done); { jj_save(17, xla); } } @@ -726,7 +726,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_19() || jj_done; + return (!jj_3_19() || jj_done); { jj_save(18, xla); } } @@ -734,7 +734,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_20() || jj_done; + return (!jj_3_20() || jj_done); { jj_save(19, xla); } } @@ -742,7 +742,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_21() || jj_done; + return (!jj_3_21() || jj_done); { jj_save(20, xla); } } @@ -750,7 +750,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_22() || jj_done; + return (!jj_3_22() || jj_done); { jj_save(21, xla); } } @@ -758,7 +758,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_23() || jj_done; + return (!jj_3_23() || jj_done); { jj_save(22, xla); } } @@ -766,7 +766,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_24() || jj_done; + return (!jj_3_24() || jj_done); { jj_save(23, xla); } } @@ -774,7 +774,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_25() || jj_done; + return (!jj_3_25() || jj_done); { jj_save(24, xla); } } @@ -782,7 +782,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_26() || jj_done; + return (!jj_3_26() || jj_done); { jj_save(25, xla); } } @@ -790,7 +790,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_27() || jj_done; + return (!jj_3_27() || jj_done); { jj_save(26, xla); } } @@ -798,7 +798,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_28() || jj_done; + return (!jj_3_28() || jj_done); { jj_save(27, xla); } } @@ -806,7 +806,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_29() || jj_done; + return (!jj_3_29() || jj_done); { jj_save(28, xla); } } @@ -814,7 +814,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_30() || jj_done; + return (!jj_3_30() || jj_done); { jj_save(29, xla); } } @@ -822,7 +822,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_31() || jj_done; + return (!jj_3_31() || jj_done); { jj_save(30, xla); } } @@ -830,7 +830,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_32() || jj_done; + return (!jj_3_32() || jj_done); { jj_save(31, xla); } } @@ -838,7 +838,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_33() || jj_done; + return (!jj_3_33() || jj_done); { jj_save(32, xla); } } @@ -846,7 +846,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_34() || jj_done; + return (!jj_3_34() || jj_done); { jj_save(33, xla); } } @@ -854,7 +854,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_35() || jj_done; + return (!jj_3_35() || jj_done); { jj_save(34, xla); } } @@ -862,7 +862,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_36() || jj_done; + return (!jj_3_36() || jj_done); { jj_save(35, xla); } } @@ -870,7 +870,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_37() || jj_done; + return (!jj_3_37() || jj_done); { jj_save(36, xla); } } @@ -878,7 +878,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_38() || jj_done; + return (!jj_3_38() || jj_done); { jj_save(37, xla); } } @@ -886,7 +886,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_39() || jj_done; + return (!jj_3_39() || jj_done); { jj_save(38, xla); } } @@ -894,7 +894,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_40() || jj_done; + return (!jj_3_40() || jj_done); { jj_save(39, xla); } } @@ -902,7 +902,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_41() || jj_done; + return (!jj_3_41() || jj_done); { jj_save(40, xla); } } @@ -910,7 +910,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_42() || jj_done; + return (!jj_3_42() || jj_done); { jj_save(41, xla); } } @@ -918,7 +918,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_43() || jj_done; + return (!jj_3_43() || jj_done); { jj_save(42, xla); } } @@ -926,7 +926,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_44() || jj_done; + return (!jj_3_44() || jj_done); { jj_save(43, xla); } } @@ -934,7 +934,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_45() || jj_done; + return (!jj_3_45() || jj_done); { jj_save(44, xla); } } @@ -942,7 +942,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_46() || jj_done; + return (!jj_3_46() || jj_done); { jj_save(45, xla); } } @@ -950,7 +950,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_47() || jj_done; + return (!jj_3_47() || jj_done); { jj_save(46, xla); } } @@ -958,7 +958,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_48() || jj_done; + return (!jj_3_48() || jj_done); { jj_save(47, xla); } } @@ -966,7 +966,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_49() || jj_done; + return (!jj_3_49() || jj_done); { jj_save(48, xla); } } @@ -974,7 +974,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_50() || jj_done; + return (!jj_3_50() || jj_done); { jj_save(49, xla); } } @@ -982,7 +982,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_51() || jj_done; + return (!jj_3_51() || jj_done); { jj_save(50, xla); } } @@ -990,7 +990,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_52() || jj_done; + return (!jj_3_52() || jj_done); { jj_save(51, xla); } } @@ -998,7 +998,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_53() || jj_done; + return (!jj_3_53() || jj_done); { jj_save(52, xla); } } @@ -1006,7 +1006,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_54() || jj_done; + return (!jj_3_54() || jj_done); { jj_save(53, xla); } } @@ -1014,7 +1014,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_55() || jj_done; + return (!jj_3_55() || jj_done); { jj_save(54, xla); } } @@ -1022,7 +1022,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_56() || jj_done; + return (!jj_3_56() || jj_done); { jj_save(55, xla); } } @@ -1030,7 +1030,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_57() || jj_done; + return (!jj_3_57() || jj_done); { jj_save(56, xla); } } @@ -1038,7 +1038,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_58() || jj_done; + return (!jj_3_58() || jj_done); { jj_save(57, xla); } } @@ -1046,7 +1046,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_59() || jj_done; + return (!jj_3_59() || jj_done); { jj_save(58, xla); } } @@ -1054,7 +1054,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_60() || jj_done; + return (!jj_3_60() || jj_done); { jj_save(59, xla); } } @@ -1062,7 +1062,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_61() || jj_done; + return (!jj_3_61() || jj_done); { jj_save(60, xla); } } @@ -1070,7 +1070,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_62() || jj_done; + return (!jj_3_62() || jj_done); { jj_save(61, xla); } } @@ -1078,7 +1078,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_63() || jj_done; + return (!jj_3_63() || jj_done); { jj_save(62, xla); } } @@ -1086,7 +1086,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_64() || jj_done; + return (!jj_3_64() || jj_done); { jj_save(63, xla); } } @@ -1094,7 +1094,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_65() || jj_done; + return (!jj_3_65() || jj_done); { jj_save(64, xla); } } @@ -1102,7 +1102,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_66() || jj_done; + return (!jj_3_66() || jj_done); { jj_save(65, xla); } } @@ -1110,7 +1110,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_67() || jj_done; + return (!jj_3_67() || jj_done); { jj_save(66, xla); } } @@ -1118,7 +1118,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_68() || jj_done; + return (!jj_3_68() || jj_done); { jj_save(67, xla); } } @@ -1126,7 +1126,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_69() || jj_done; + return (!jj_3_69() || jj_done); { jj_save(68, xla); } } @@ -1134,7 +1134,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_70() || jj_done; + return (!jj_3_70() || jj_done); { jj_save(69, xla); } } @@ -1142,7 +1142,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_71() || jj_done; + return (!jj_3_71() || jj_done); { jj_save(70, xla); } } @@ -1150,7 +1150,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_72() || jj_done; + return (!jj_3_72() || jj_done); { jj_save(71, xla); } } @@ -1158,7 +1158,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_73() || jj_done; + return (!jj_3_73() || jj_done); { jj_save(72, xla); } } @@ -1166,7 +1166,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_74() || jj_done; + return (!jj_3_74() || jj_done); { jj_save(73, xla); } } @@ -1174,7 +1174,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_75() || jj_done; + return (!jj_3_75() || jj_done); { jj_save(74, xla); } } @@ -1182,7 +1182,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_76() || jj_done; + return (!jj_3_76() || jj_done); { jj_save(75, xla); } } @@ -1190,7 +1190,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_77() || jj_done; + return (!jj_3_77() || jj_done); { jj_save(76, xla); } } @@ -1198,7 +1198,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_78() || jj_done; + return (!jj_3_78() || jj_done); { jj_save(77, xla); } } @@ -1206,7 +1206,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_79() || jj_done; + return (!jj_3_79() || jj_done); { jj_save(78, xla); } } @@ -1214,7 +1214,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_80() || jj_done; + return (!jj_3_80() || jj_done); { jj_save(79, xla); } } @@ -1222,7 +1222,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_81() || jj_done; + return (!jj_3_81() || jj_done); { jj_save(80, xla); } } @@ -1230,7 +1230,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_82() || jj_done; + return (!jj_3_82() || jj_done); { jj_save(81, xla); } } @@ -1238,7 +1238,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_83() || jj_done; + return (!jj_3_83() || jj_done); { jj_save(82, xla); } } @@ -1246,7 +1246,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_84() || jj_done; + return (!jj_3_84() || jj_done); { jj_save(83, xla); } } @@ -1254,7 +1254,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_85() || jj_done; + return (!jj_3_85() || jj_done); { jj_save(84, xla); } } @@ -1262,7 +1262,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_86() || jj_done; + return (!jj_3_86() || jj_done); { jj_save(85, xla); } } @@ -1270,7 +1270,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_87() || jj_done; + return (!jj_3_87() || jj_done); { jj_save(86, xla); } } @@ -1278,7 +1278,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_88() || jj_done; + return (!jj_3_88() || jj_done); { jj_save(87, xla); } } @@ -1286,7 +1286,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_89() || jj_done; + return (!jj_3_89() || jj_done); { jj_save(88, xla); } } @@ -1294,7 +1294,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_90() || jj_done; + return (!jj_3_90() || jj_done); { jj_save(89, xla); } } @@ -1302,7 +1302,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_91() || jj_done; + return (!jj_3_91() || jj_done); { jj_save(90, xla); } } @@ -1310,7 +1310,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_92() || jj_done; + return (!jj_3_92() || jj_done); { jj_save(91, xla); } } @@ -1318,7 +1318,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_93() || jj_done; + return (!jj_3_93() || jj_done); { jj_save(92, xla); } } @@ -1326,7 +1326,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_94() || jj_done; + return (!jj_3_94() || jj_done); { jj_save(93, xla); } } @@ -1334,7 +1334,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_95() || jj_done; + return (!jj_3_95() || jj_done); { jj_save(94, xla); } } @@ -1342,7 +1342,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_96() || jj_done; + return (!jj_3_96() || jj_done); { jj_save(95, xla); } } @@ -1350,7 +1350,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_97() || jj_done; + return (!jj_3_97() || jj_done); { jj_save(96, xla); } } @@ -1358,7 +1358,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_98() || jj_done; + return (!jj_3_98() || jj_done); { jj_save(97, xla); } } @@ -1366,7 +1366,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_99() || jj_done; + return (!jj_3_99() || jj_done); { jj_save(98, xla); } } @@ -1374,7 +1374,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_100() || jj_done; + return (!jj_3_100() || jj_done); { jj_save(99, xla); } } @@ -1382,7 +1382,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_101() || jj_done; + return (!jj_3_101() || jj_done); { jj_save(100, xla); } } @@ -1390,7 +1390,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_102() || jj_done; + return (!jj_3_102() || jj_done); { jj_save(101, xla); } } @@ -1398,7 +1398,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_103() || jj_done; + return (!jj_3_103() || jj_done); { jj_save(102, xla); } } @@ -1406,7 +1406,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_104() || jj_done; + return (!jj_3_104() || jj_done); { jj_save(103, xla); } } @@ -1414,7 +1414,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_105() || jj_done; + return (!jj_3_105() || jj_done); { jj_save(104, xla); } } @@ -1422,7 +1422,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_106() || jj_done; + return (!jj_3_106() || jj_done); { jj_save(105, xla); } } @@ -1430,7 +1430,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_107() || jj_done; + return (!jj_3_107() || jj_done); { jj_save(106, xla); } } @@ -1438,7 +1438,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_108() || jj_done; + return (!jj_3_108() || jj_done); { jj_save(107, xla); } } @@ -1446,7 +1446,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_109() || jj_done; + return (!jj_3_109() || jj_done); { jj_save(108, xla); } } @@ -1454,7 +1454,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_110() || jj_done; + return (!jj_3_110() || jj_done); { jj_save(109, xla); } } @@ -1462,7 +1462,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_111() || jj_done; + return (!jj_3_111() || jj_done); { jj_save(110, xla); } } @@ -1470,7 +1470,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_112() || jj_done; + return (!jj_3_112() || jj_done); { jj_save(111, xla); } } @@ -1478,7 +1478,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_113() || jj_done; + return (!jj_3_113() || jj_done); { jj_save(112, xla); } } @@ -1486,7 +1486,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_114() || jj_done; + return (!jj_3_114() || jj_done); { jj_save(113, xla); } } @@ -1494,7 +1494,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_115() || jj_done; + return (!jj_3_115() || jj_done); { jj_save(114, xla); } } @@ -1502,7 +1502,7 @@ void parseInline(); { jj_la = xla; jj_lastpos = jj_scanpos = token; jj_done = false; - return !jj_3_116() || jj_done; + return (!jj_3_116() || jj_done); { jj_save(115, xla); } } @@ -8894,39 +8894,46 @@ void parseInline(); return false; } - public: TokenManager *token_source; - public: CharStream *jj_input_stream; + +public: + TokenManager *token_source; + CharStream *jj_input_stream; /** Current token. */ - public: Token *token; + Token *token; /** Next token. */ - public: Token *jj_nt; - private: int jj_ntk; - private: JJCalls jj_2_rtns[117]; - private: bool jj_rescan; - private: int jj_gc; - private: Token *jj_scanpos, *jj_lastpos; - private: int jj_la; + Token *jj_nt; +private: + int jj_ntk; + JJCalls jj_2_rtns[117]; + bool jj_rescan; + int jj_gc; + Token *jj_scanpos, *jj_lastpos; + int jj_la; /** Whether we are looking ahead. */ - private: bool jj_lookingAhead; - private: bool jj_semLA; - private: int jj_gen; - private: int jj_la1[294]; - private: ErrorHandler *errorHandler; - private: bool errorHandlerCreated; - protected: bool hasError; - public: void setErrorHandler(ErrorHandler *eh) { + bool jj_lookingAhead; + bool jj_semLA; + int jj_gen; + int jj_la1[294]; + ErrorHandler *errorHandler; + bool errorHandlerCreated; +protected: + bool hasError; +public: + void setErrorHandler(ErrorHandler *eh) { if (errorHandlerCreated) delete errorHandler; errorHandler = eh; errorHandlerCreated = false; } - Token *head; - public: + Token *head; +public: VhdlParser(TokenManager *tm); - public: virtual ~VhdlParser(); + virtual ~VhdlParser(); void ReInit(TokenManager *tm); +void clear(); + Token * jj_consume_token(int kind); bool jj_scan_token(int kind); @@ -8936,24 +8943,29 @@ Token * getNextToken(); Token * getToken(int index); int jj_ntk_f(); - private: int jj_kind; +private: + int jj_kind; int **jj_expentries; int *jj_expentry; -void jj_add_error_token(int kind, int pos); + void jj_add_error_token(int kind, int pos); +protected: + /** Generate ParseException. */ + + virtual void parseError(); +private: + int trace_indent; + bool trace_enabled; -protected: virtual void parseError(); - private: int trace_indent; - private: bool trace_enabled; - /** Enable tracing. */ +public: -public: void enable_tracing(); + void enable_tracing(); -public: void disable_tracing(); + void disable_tracing(); -void jj_rescan_token(); + void jj_rescan_token(); -void jj_save(int index, int xla); + void jj_save(int index, int xla); typedef unsigned long long uint64; static Entry* current_root; @@ -8996,8 +9008,10 @@ static void mapLibPackage( Entry* root); static void createFlow(); static void error_skipto(int kind); static void oneLineComment(QCString qcs); -static void setMultCommentLine();private: bool jj_done; +static void setMultCommentLine(); +private: + bool jj_done; }; } } diff --git a/vhdlparser/VhdlParserTokenManager.cc b/vhdlparser/VhdlParserTokenManager.cc index 728e4c4..01e8d37 100644 --- a/vhdlparser/VhdlParserTokenManager.cc +++ b/vhdlparser/VhdlParserTokenManager.cc @@ -1,5 +1,6 @@ /* VhdlParserTokenManager.cc */ -#include "/Users/dimitri/doxygen/vhdlparser/VhdlParserTokenManager.h" +#include "VhdlParserTokenManager.h" +#include "TokenMgrError.h" namespace vhdl { namespace parser { static const unsigned long long jjbitVec0[] = { @@ -3321,10 +3322,10 @@ bool VhdlParserTokenManager::jjCanMove_1(int hiByte, int i1, int i2, unsigned lo Token * VhdlParserTokenManager::jjFillToken(){ Token *t; JAVACC_STRING_TYPE curTokenImage; - int beginLine; - int endLine; - int beginColumn; - int endColumn; + int beginLine = -1; + int endLine = -1; + int beginColumn = -1; + int endColumn = -1; JAVACC_STRING_TYPE im = jjstrLiteralImages[jjmatchedKind]; curTokenImage = (im.length() == 0) ? input_stream->GetImage() : im; if (input_stream->getTrackLineColumn()) { @@ -3333,7 +3334,9 @@ Token * VhdlParserTokenManager::jjFillToken(){ endLine = input_stream->getEndLine(); endColumn = input_stream->getEndColumn(); } - t = Token::newToken(jjmatchedKind, curTokenImage); + t = Token::newToken(jjmatchedKind); + t->kind = jjmatchedKind; + t->image = curTokenImage; t->specialToken = NULL; t->next = NULL; @@ -3591,7 +3594,7 @@ void VhdlParserTokenManager::TokenLexicalActions(Token *matchedToken){ } /** Reinitialise parser. */ void VhdlParserTokenManager::ReInit(JAVACC_CHARSTREAM *stream, int lexState, VhdlParser *parserArg) { - if (input_stream) delete input_stream; + clear(); jjmatchedPos = jjnewStateCnt = 0; curLexState = lexState; input_stream = stream; @@ -3612,10 +3615,17 @@ void VhdlParserTokenManager::TokenLexicalActions(Token *matchedToken){ /** Switch to specified lex state. */ void VhdlParserTokenManager::SwitchTo(int lexState) { - if (lexState >= 1 || lexState < 0) - assert(false); - //throw 1;//new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); - else + if (lexState >= 1 || lexState < 0) { + JAVACC_STRING_TYPE message; +#ifdef WIDE_CHAR + message += L"Error: Ignoring invalid lexical state : "; + message += lexState; message += L". State unchanged."; +#else + message += "Error: Ignoring invalid lexical state : "; + message += lexState; message += ". State unchanged."; +#endif + throw new TokenMgrError(message, INVALID_LEXICAL_STATE); + } else curLexState = lexState; } @@ -3623,14 +3633,23 @@ void VhdlParserTokenManager::TokenLexicalActions(Token *matchedToken){ VhdlParserTokenManager::VhdlParserTokenManager (JAVACC_CHARSTREAM *stream, int lexState, VhdlParser *parserArg) { input_stream = NULL; + errorHandlerCreated = false; ReInit(stream, lexState, parserArg); } // Destructor VhdlParserTokenManager::~VhdlParserTokenManager () { - if (input_stream) delete input_stream; - if (errorHandlerCreated) delete errorHandler; + clear(); + } + + // clear + void VhdlParserTokenManager::clear() { + //Since input_stream was generated outside of TokenManager + //TokenManager should not take care of deleting it + //if (input_stream) delete input_stream; + if (errorHandlerCreated) delete errorHandler; } + } } diff --git a/vhdlparser/VhdlParserTokenManager.h b/vhdlparser/VhdlParserTokenManager.h index 12e20c4..8109bf0 100644 --- a/vhdlparser/VhdlParserTokenManager.h +++ b/vhdlparser/VhdlParserTokenManager.h @@ -1,5 +1,6 @@ #ifndef VHDLPARSERTOKENMANAGER_H #define VHDLPARSERTOKENMANAGER_H +#include "stdio.h" #include "JavaCC.h" #include "CharStream.h" #include "Token.h" @@ -116,19 +117,22 @@ void TokenLexicalActions(Token *matchedToken); public: virtual ~VhdlParserTokenManager(); void ReInit(JAVACC_CHARSTREAM *stream, int lexState = 0, VhdlParser *parserArg = NULL); void SwitchTo(int lexState); + void clear(); 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[77]; - int jjstateSet[2 * 77]; - JAVACC_STRING_TYPE jjimage; - JAVACC_STRING_TYPE image; - int jjimageLen; - int lengthOfMatch; - JAVACC_CHAR_TYPE curChar; - TokenManagerErrorHandler *errorHandler; - bool errorHandlerCreated; - public: void setErrorHandler(TokenManagerErrorHandler *eh) { + JAVACC_CHARSTREAM* input_stream; + int jjrounds[77]; + int jjstateSet[2 * 77]; + JAVACC_STRING_TYPE jjimage; + JAVACC_STRING_TYPE image; + int jjimageLen; + int lengthOfMatch; + JAVACC_CHAR_TYPE curChar; + TokenManagerErrorHandler* errorHandler; + bool errorHandlerCreated; + +public: + void setErrorHandler(TokenManagerErrorHandler *eh) { if (errorHandlerCreated && errorHandler != NULL) delete errorHandler; errorHandler = eh; errorHandlerCreated = false; -- cgit v0.12