ref: 38110a833d66bc4560e7cb864e11105a52cf974f
parent: 3cd1d46a1bf66df5fafe04dde885cc6f3dfcdb28
author: jidoc01 <jidoc01@naver.com>
date: Thu Jul 4 07:59:13 EDT 2019
Fix comment bug There is a bug in processing the comments in source files. It's related to #326. And this bug comes out when you comment something with the character ';', and include the quotation mark without its pair in it. The lastest version of rgbds compiler has a step to parse the given source to convert its line endings to a unified one, and it processes quotation marks even before it processes the comments. I edited a little bit of the source, and it works fine now.
--- a/src/asm/lexer.c
+++ b/src/asm/lexer.c
@@ -181,16 +181,10 @@
/* Convert all line endings to LF and spaces */
char *mem = pBuffer->pBuffer;
- uint32_t instring = 0;
while (*mem) {
- if (*mem == '\"')
- instring = 1 - instring;
-
if ((mem[0] == '\\') && (mem[1] == '\"' || mem[1] == '\\')) {
mem += 2;
- } else if (instring) {
- mem += 1;
} else {
/* LF CR and CR LF */
if (((mem[0] == 10) && (mem[1] == 13))
@@ -211,7 +205,7 @@
/* Remove comments */
mem = pBuffer->pBuffer;
- instring = 0;
+ uint32_t instring = 0;
while (*mem) {
if (*mem == '\"')