shithub: rgbds

Download patch

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
 
 %%