diff options
Diffstat (limited to 'src/interfaces/ecpg/preproc/parse.pl')
-rw-r--r-- | src/interfaces/ecpg/preproc/parse.pl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/preproc/parse.pl b/src/interfaces/ecpg/preproc/parse.pl index ad87aad2835..863d770e109 100644 --- a/src/interfaces/ecpg/preproc/parse.pl +++ b/src/interfaces/ecpg/preproc/parse.pl @@ -22,6 +22,7 @@ $path = "." unless $path; my $copymode = 0; my $brace_indent = 0; my $yaccmode = 0; +my $in_rule = 0; my $header_included = 0; my $feature_not_supported = 0; my $tokenmode = 0; @@ -288,6 +289,7 @@ sub main @fields = (); $infield = 0; $line = ''; + $in_rule = 0; next; } @@ -365,6 +367,9 @@ sub main $line = ''; @fields = (); $infield = 1; + die "unterminated rule at grammar line $.\n" + if $in_rule; + $in_rule = 1; next; } elsif ($copymode) @@ -415,6 +420,8 @@ sub main } } } + die "unterminated rule at end of grammar\n" + if $in_rule; return; } |