Skip to content

Commit 3579ca1

Browse files
authored
Merge pull request #965 from diffblue/error-verbose
Increase the error verbosity of the Verilog parser
2 parents 69607bf + 529fd28 commit 3579ca1

18 files changed

+70
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CORE
2+
syntax1.smv
3+
4+
^file .* line 3: syntax error, unexpected VAR, expecting string or "'" before 'VAR'$
5+
^EXIT=1$
6+
^SIGNAL=0$
7+
--
+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
MODULE -- forgot the name
2+
3+
VAR abc : BOOLEAN;
4+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CORE
2+
syntax2.smv
3+
4+
^file .* line 3: syntax error, unexpected VAR before 'VAR'$
5+
^EXIT=1$
6+
^SIGNAL=0$
7+
--
+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-- forgot the MODULE
2+
3+
VAR abc : BOOLEAN;
4+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CORE
2+
syntax3.smv
3+
4+
^file .* line 3: syntax error, unexpected string, expecting number before 'not_a_number'$
5+
^EXIT=1$
6+
^SIGNAL=0$
7+
--
+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
MODULE main
2+
3+
VAR foobar : 1.. not_a_number;
4+
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
ifdef1.v
33

4-
^file ifdef1\.v line 4: syntax error before 'syntax'$
4+
^file ifdef1\.v line 4: syntax error, unexpected .* before 'syntax'$
55
^EXIT=1$
66
^SIGNAL=0$
77
--
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
ifdef2.v
33

4-
^file ifdef2\.v line 4: syntax error before 'syntax'$
4+
^file ifdef2\.v line 4: syntax error, unexpected .* before 'syntax'$
55
^EXIT=1$
66
^SIGNAL=0$
77
--
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
multi-line-define2.v
33

4-
^file multi-line-define2\.v line 4: syntax error before 'syntax'$
4+
^file multi-line-define2\.v line 4: syntax error, unexpected .* before 'syntax'$
55
^EXIT=1$
66
^SIGNAL=0$
77
--
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
multi-line-define3.v
33

4-
^file multi-line-define3\.v line 4: syntax error before 'syntax'$
4+
^file multi-line-define3\.v line 4: syntax error, unexpected .* before 'syntax'$
55
^EXIT=1$
66
^SIGNAL=0$
77
--
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CORE
2+
syntax1.sv
3+
4+
^file .* line 1: syntax error, unexpected ';', expecting TOK_NON_TYPE_IDENTIFIER before ';'$
5+
^EXIT=1$
6+
^SIGNAL=0$
7+
--
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module ;// forgot the name
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CORE
2+
syntax2.sv
3+
4+
^file syntax2.sv line 3: syntax error, unexpected byte, expecting ';' before 'byte'$
5+
^EXIT=1$
6+
^SIGNAL=0$
7+
--
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module main // forgot the ;
2+
3+
byte some_var;
4+
5+
endmodule
6+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CORE
2+
syntax3.sv
3+
4+
^file syntax3.sv line 1: syntax error, unexpected ';' before ';'$
5+
^EXIT=1$
6+
^SIGNAL=0$
7+
--
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module main(; // forgot the )

src/smvlang/parser.y

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* increase verbosity of error messages, to include expected tokens */
12
%define parse.error verbose
23

34
%{

src/verilog/parser.y

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/* increase verbosity of error messages, to include expected tokens */
2+
%define parse.error verbose
3+
14
%{
25
/*******************************************************************\
36

0 commit comments

Comments
 (0)