]> git.saurik.com Git - bison.git/commitdiff
fix eof condition
authorAkim Demaille <demaille@gostai.com>
Thu, 7 Aug 2008 18:53:08 +0000 (20:53 +0200)
committerAkim Demaille <demaille@gostai.com>
Sun, 9 Nov 2008 19:54:03 +0000 (20:54 +0100)
ChangeLog
etc/bench.pl.in

index 8c4b8c9ec1848adb5c7e289672078cc2eb80aef7..663efd39feac1da04fb9670867d1f4ea56a8af66 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       fix eof condition
+
 2008-11-09  Akim Demaille  <demaille@gostai.com>
 
        Fix --help.
index 40023d3fb80e625c845a497ea1af5313bd486052..1497a695aabee87d6266ba7bb9c6f2a2990cae78 100755 (executable)
@@ -575,8 +575,7 @@ sub generate_grammar_list ($$@)
 {
   my ($base, $max, @directive) = @_;
   my $directives = directives ($base, @directive);
-  my $variant = grep { $_ eq '%define variant' } @directive;
-
+  my $variant = grep { /%define variant/ } @directive;
   my $out = new IO::File ">$base.y"
     or die;
   print $out <<EOF;
@@ -917,7 +916,10 @@ sub parse (@)
 {
   @token = @_;
   verbose 2, "Parsing: @token\n";
-  return parse_expr ();
+  my @res = parse_expr ();
+  die "expected end of directives, unexpected: @token"
+    if defined $token[0];
+  return @res;
 }
 
 sub parse_expr ()