issue139 reset lexers on parse error

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2023-03-06 17:34:20 -07:00
parent 431b6542a9
commit 9fcb00cd58
5 changed files with 7 additions and 7 deletions

View File

@ -183,7 +183,7 @@ LibExprParser::parseError(const char *msg)
int
LibertyExprParse_error(const char *msg)
{
sta::libexpr_parser->parseError(msg);
libertyExprFlushBuffer();
sta::libexpr_parser->parseError(msg);
return 0;
}

View File

@ -601,8 +601,8 @@ void libertyParseFlushBuffer();
int
LibertyParse_error(const char *msg)
{
libertyParseFlushBuffer();
sta::liberty_report->fileError(26, sta::liberty_filename, sta::liberty_line,
"%s.", msg);
libertyParseFlushBuffer();
return 0;
}

View File

@ -730,7 +730,7 @@ void spefFlushBuffer();
int
SpefParse_error(const char *msg)
{
sta::spef_reader->warn(179, "%s.", msg);
spefFlushBuffer();
sta::spef_reader->warn(179, "%s.", msg);
return 0;
}

View File

@ -1104,7 +1104,7 @@ void sdfFlushBuffer();
int
SdfParse_error(const char *msg)
{
sta::sdf_reader->sdfError(196, "%s.\n", msg);
sdfFlushBuffer();
sta::sdf_reader->sdfError(196, "%s.\n", msg);
return 0;
}

View File

@ -1815,13 +1815,13 @@ VerilogReader::makeModuleInstNetwork(VerilogModuleInst *mod_inst,
if (cell == nullptr) {
if (make_black_boxes) {
cell = makeBlackBox(mod_inst, parent_module);
linkWarn(198, filename_, mod_inst->line(),
linkWarn(198, parent_module->filename(), mod_inst->line(),
"module %s not found. Creating black box for %s.",
mod_inst->moduleName(),
verilogName(mod_inst));
}
else
linkError(199, filename_, mod_inst->line(),
linkError(199, parent_module->filename(), mod_inst->line(),
"module %s not found for instance %s.",
mod_inst->moduleName(),
verilogName(mod_inst));
@ -2256,8 +2256,8 @@ void verilogFlushBuffer();
int
VerilogParse_error(const char *msg)
{
verilogFlushBuffer();
sta::verilog_reader->report()->fileError(164, sta::verilog_reader->filename(),
sta::verilog_reader->line(), "%s", msg);
verilogFlushBuffer();
return 0;
}