summaryrefslogtreecommitdiffstats
path: root/vhdlparser/VhdlParserIF.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vhdlparser/VhdlParserIF.cpp')
-rw-r--r--vhdlparser/VhdlParserIF.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/vhdlparser/VhdlParserIF.cpp b/vhdlparser/VhdlParserIF.cpp
index 1369b73..e8768ee 100644
--- a/vhdlparser/VhdlParserIF.cpp
+++ b/vhdlparser/VhdlParserIF.cpp
@@ -7,7 +7,7 @@
using namespace vhdl::parser;
-static VhdlParser * myParser;
+static VhdlParser * myParser=0;
void VhdlParserIF::parseVhdlfile(const char* inputBuffer,bool inLine)
{
@@ -28,13 +28,11 @@ void VhdlParserIF::parseVhdlfile(const char* inputBuffer,bool inLine)
myParser->design_file();
}
}
- catch( std::exception &)
- {
- /* fprintf(stderr,"\n[%s]",e.what()); */
- }
+ catch( std::exception &){ /* fprintf(stderr,"\n[%s]",e.what()); */ }
// fprintf(stderr,"\n\nparsed lines: %d\n",yyLineNr);
// fprintf(stderr,"\n\nerrors : %d\n\n",myErr->getErrorCount());
delete myParser;
+
}
void VhdlParser::error_skipto(int kind)
@@ -42,8 +40,9 @@ void VhdlParser::error_skipto(int kind)
Token *op;
do
{
- op=myParser->getToken(1);
- if (op==0) break;
+ Token *t = myParser->getNextToken();// step to next token
+ op=myParser->getToken(1); // get first token
+ if (op==0) break;
//fprintf(stderr,"\n %s",t->image.data());
} while (op->kind != kind);
myParser->hasError=false;