Eliminate a shift/reduce conflict.
authorCarl Worth <cworth@cworth.org>
Fri, 14 May 2010 18:33:00 +0000 (11:33 -0700)
committerCarl Worth <cworth@cworth.org>
Fri, 14 May 2010 18:50:32 +0000 (11:50 -0700)
By simply allowing for the argument_list production to be empty rather
than the lower-level argument production to be empty.

glcpp-parse.y

index 27b5514e92828631e557813aface43ae1dd55e60..e70b3298d8dc5c7c578f045025e6d5ef2e528069 100644 (file)
@@ -149,7 +149,10 @@ macro:
 ;
 
 argument_list:
-       argument {
+       /* empty */ {
+               $$ = _argument_list_create (parser);
+       }
+|      argument {
                $$ = _argument_list_create (parser);
                _argument_list_append ($$, $1);
        }
@@ -164,8 +167,9 @@ argument_list:
 ;
 
 argument:
-       /* empty */ {
+       word {
                $$ = _string_list_create (parser);
+               _string_list_append_item ($$, $1);
        }
 |      argument word {
                _string_list_append_item ($1, $2);