ref: 88e1cc73024e3a2e242f5afce09966758c5fa589
parent: b3c0db218d564bbc9a801d8635591fd969c36e82
author: ISSOtm <eldredhabert0@gmail.com>
date: Thu Feb 11 08:04:43 EST 2021
Make EOF token name consistent across Bison versions The "end of file" name apparently only became a default recently
--- a/src/asm/lexer.c
+++ b/src/asm/lexer.c
@@ -1815,7 +1815,7 @@
return T_NEWLINE;
case EOF:
- return 0;
+ return T_EOF;
/* Handle escapes */
@@ -2025,7 +2025,7 @@
int c = nextChar();
if (c == EOF) {
- token = 0;
+ token = T_EOF;
goto finish;
} else if (c == '\\') {
/* Unconditionally skip the next char, including line conts */
@@ -2163,8 +2163,7 @@
};
int token = lexerModeFuncs[lexerState->mode]();
- /* Make sure to terminate files with a line feed */
- if (token == 0) {
+ if (token == T_EOF) {
/* Try to switch to new buffer; if it succeeds, scan again */
dbgPrint("Reached EOF!\n");
/* Captures end at their buffer's boundary no matter what */
@@ -2172,7 +2171,7 @@
if (!yywrap())
goto restart;
dbgPrint("Reached end of input.");
- return 0;
+ return T_EOF;
}
}
--- a/src/asm/parser.y
+++ b/src/asm/parser.y
@@ -581,6 +581,8 @@
%type <nConstValue> op_hl_ss
%type <sVal> op_mem_ind
%type <assertType> assert_type
+
+%token T_EOF 0 "end of file"
%start asmfile
%%