diff options
author | Bobby Bingham <koorogi@koorogi.info> | 2017-01-14 12:01:13 -0600 |
---|---|---|
committer | Bobby Bingham <koorogi@koorogi.info> | 2017-01-15 23:18:58 -0600 |
commit | a743db94541bebafff23c8a490dbce3f55d69712 (patch) | |
tree | b477bdc3fcc69b3f53a553212eac9bff229ab76d /parser.y | |
parent | 737723366b815438da51d9cee0347d6180c8a535 (diff) |
nqasm: Improve parsing at end of file
Bison's implicit $accept rule ends with the END token. The fact that input
could also end with END (via the line non-terminal) resulted in a shift
reduce conflict.
We resolve the conflict by modifying the lexer so that if it encounters end
of file partway through a line, it produces a final EOL token before EOF.
Diffstat (limited to 'parser.y')
-rw-r--r-- | parser.y | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -69,7 +69,7 @@ void yyerror(const char *msg) %type <inst> inst %% -input: %empty +input: line | input line ; @@ -151,6 +151,5 @@ inst: T_ADD ; eol: T_EOL - | T_SPACE END - | END + | T_SPACE T_EOL ; |