diff options
-rw-r--r-- | bootstrap.conf | 2 | ||||
-rw-r--r-- | src/reader.c | 16 |
2 files changed, 6 insertions, 12 deletions
diff --git a/bootstrap.conf b/bootstrap.conf index b2d0f974..7c436a59 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -17,7 +17,7 @@ # gnulib modules used by this package. gnulib_modules=' - argmatch assert assume + argmatch assert calloc-posix close closeout config-h c-strcase configmake dirname diff --git a/src/reader.c b/src/reader.c index 12faef96..664dea71 100644 --- a/src/reader.c +++ b/src/reader.c @@ -729,17 +729,11 @@ static symbol * find_start_symbol (void) { symbol_list *res = grammar; - for (; - res && symbol_is_dummy (res->content.sym); - res = res->next) - { - for (res = res->next; - res && res->content.sym; - res = res->next) - continue; - assume (res); - } - assume (res); + /* Skip all the possible dummy rules of the first rule. */ + for (; symbol_is_dummy (res->content.sym); res = res->next) + /* Skip the LHS, and then all the RHS of the dummy rule. */ + for (res = res->next; res->content.sym; res = res->next) + continue; return res->content.sym; } |