mirror of https://github.com/YosysHQ/yosys.git
Liberty file newline handling is more relaxed. More descriptive error message
This commit is contained in:
parent
d1e8249f9a
commit
04cd179696
|
@ -159,7 +159,7 @@ int LibertyParser::lexer(std::string &str)
|
|||
|
||||
if (c == '\n') {
|
||||
line++;
|
||||
return ';';
|
||||
return 'n';
|
||||
}
|
||||
|
||||
// if (c >= 32 && c < 255)
|
||||
|
@ -175,7 +175,7 @@ LibertyAst *LibertyParser::parse()
|
|||
|
||||
int tok = lexer(str);
|
||||
|
||||
while (tok == ';')
|
||||
while (tok == 'n')
|
||||
tok = lexer(str);
|
||||
|
||||
if (tok == '}' || tok < 0)
|
||||
|
@ -194,6 +194,9 @@ LibertyAst *LibertyParser::parse()
|
|||
if (tok == ';')
|
||||
break;
|
||||
|
||||
if (tok == 'n')
|
||||
continue;
|
||||
|
||||
if (tok == ':' && ast->value.empty()) {
|
||||
tok = lexer(ast->value);
|
||||
if (tok != 'v')
|
||||
|
@ -249,14 +252,14 @@ LibertyAst *LibertyParser::parse()
|
|||
|
||||
void LibertyParser::error()
|
||||
{
|
||||
log_error("Syntax error in line %d.\n", line);
|
||||
log_error("Syntax error in liberty file on line %d.\n", line);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void LibertyParser::error()
|
||||
{
|
||||
fprintf(stderr, "Syntax error in line %d.\n", line);
|
||||
fprintf(stderr, "Syntax error in liberty file on line %d.\n", line);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue