Skip to content

Commit

Permalink
Merge pull request #965 from diffblue/error-verbose
Browse files Browse the repository at this point in the history
Increase the error verbosity of the Verilog parser
  • Loading branch information
tautschnig authored Feb 4, 2025
2 parents 69607bf + 529fd28 commit 3579ca1
Show file tree
Hide file tree
Showing 18 changed files with 70 additions and 4 deletions.
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

0 comments on commit 3579ca1

Please sign in to comment.