Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increase the error verbosity of the Verilog parser #965

Merged
merged 1 commit into from
Feb 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions regression/smv/syntax-errors/syntax1.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CORE
syntax1.smv

^file .* line 3: syntax error, unexpected VAR, expecting string or "'" before 'VAR'$
^EXIT=1$
^SIGNAL=0$
--
4 changes: 4 additions & 0 deletions regression/smv/syntax-errors/syntax1.smv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
MODULE -- forgot the name

VAR abc : BOOLEAN;

7 changes: 7 additions & 0 deletions regression/smv/syntax-errors/syntax2.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CORE
syntax2.smv

^file .* line 3: syntax error, unexpected VAR before 'VAR'$
^EXIT=1$
^SIGNAL=0$
--
4 changes: 4 additions & 0 deletions regression/smv/syntax-errors/syntax2.smv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-- forgot the MODULE

VAR abc : BOOLEAN;

7 changes: 7 additions & 0 deletions regression/smv/syntax-errors/syntax3.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CORE
syntax3.smv

^file .* line 3: syntax error, unexpected string, expecting number before 'not_a_number'$
^EXIT=1$
^SIGNAL=0$
--
4 changes: 4 additions & 0 deletions regression/smv/syntax-errors/syntax3.smv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
MODULE main

VAR foobar : 1.. not_a_number;

2 changes: 1 addition & 1 deletion regression/verilog/preprocessor/ifdef1.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CORE
ifdef1.v

^file ifdef1\.v line 4: syntax error before 'syntax'$
^file ifdef1\.v line 4: syntax error, unexpected .* before 'syntax'$
^EXIT=1$
^SIGNAL=0$
--
2 changes: 1 addition & 1 deletion regression/verilog/preprocessor/ifdef2.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CORE
ifdef2.v

^file ifdef2\.v line 4: syntax error before 'syntax'$
^file ifdef2\.v line 4: syntax error, unexpected .* before 'syntax'$
^EXIT=1$
^SIGNAL=0$
--
2 changes: 1 addition & 1 deletion regression/verilog/preprocessor/multi-line-define2.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CORE
multi-line-define2.v

^file multi-line-define2\.v line 4: syntax error before 'syntax'$
^file multi-line-define2\.v line 4: syntax error, unexpected .* before 'syntax'$
^EXIT=1$
^SIGNAL=0$
--
2 changes: 1 addition & 1 deletion regression/verilog/preprocessor/multi-line-define3.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CORE
multi-line-define3.v

^file multi-line-define3\.v line 4: syntax error before 'syntax'$
^file multi-line-define3\.v line 4: syntax error, unexpected .* before 'syntax'$
^EXIT=1$
^SIGNAL=0$
--
7 changes: 7 additions & 0 deletions regression/verilog/syntax-errors/syntax1.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CORE
syntax1.sv

^file .* line 1: syntax error, unexpected ';', expecting TOK_NON_TYPE_IDENTIFIER before ';'$
^EXIT=1$
^SIGNAL=0$
--
1 change: 1 addition & 0 deletions regression/verilog/syntax-errors/syntax1.sv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module ;// forgot the name
7 changes: 7 additions & 0 deletions regression/verilog/syntax-errors/syntax2.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CORE
syntax2.sv

^file syntax2.sv line 3: syntax error, unexpected byte, expecting ';' before 'byte'$
^EXIT=1$
^SIGNAL=0$
--
6 changes: 6 additions & 0 deletions regression/verilog/syntax-errors/syntax2.sv
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module main // forgot the ;

byte some_var;

endmodule

7 changes: 7 additions & 0 deletions regression/verilog/syntax-errors/syntax3.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CORE
syntax3.sv

^file syntax3.sv line 1: syntax error, unexpected ';' before ';'$
^EXIT=1$
^SIGNAL=0$
--
1 change: 1 addition & 0 deletions regression/verilog/syntax-errors/syntax3.sv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module main(; // forgot the )
1 change: 1 addition & 0 deletions src/smvlang/parser.y
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* increase verbosity of error messages, to include expected tokens */
%define parse.error verbose

%{
Expand Down
3 changes: 3 additions & 0 deletions src/verilog/parser.y
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
/* increase verbosity of error messages, to include expected tokens */
%define parse.error verbose

%{
/*******************************************************************\

Expand Down
Loading