Fix all special cases where line number was wrong

This commit is contained in:
Jeremiah Orians 2021-05-28 23:27:17 -04:00
parent cece07145c
commit da542698e7
No known key found for this signature in database
GPG Key ID: 6B3A3F198708F894
3 changed files with 21 additions and 17 deletions

View File

@ -23,9 +23,16 @@ struct token_list* token;
int line;
char* file;
int grab_byte()
{
int c = fgetc(input);
if(10 == c) line = line + 1;
return c;
}
int clearWhiteSpace(int c)
{
if((32 == c) || (9 == c)) return clearWhiteSpace(fgetc(input));
if((32 == c) || (9 == c)) return clearWhiteSpace(grab_byte());
return c;
}
@ -34,7 +41,7 @@ int consume_byte(int c)
hold_string[string_index] = c;
string_index = string_index + 1;
require(MAX_STRING > string_index, "Token exceeded MAX_STRING char limit\nuse --max-string number to increase\n");
return fgetc(input);
return grab_byte();
}
int preserve_string(int c)
@ -48,7 +55,7 @@ int preserve_string(int c)
c = consume_byte(c);
require(EOF != c, "Unterminated string\n");
} while(escape || (c != frequent));
return fgetc(input);
return grab_byte();
}
@ -243,20 +250,18 @@ reset:
c = consume_byte(c);
if(c == '*')
{
c = fgetc(input);
c = grab_byte();
while(c != '/')
{
while(c != '*')
{
c = fgetc(input);
c = grab_byte();
require(EOF != c, "Hit EOF inside of block comment\n");
if('\n' == c) line = line + 1;
}
c = fgetc(input);
c = grab_byte();
require(EOF != c, "Hit EOF inside of block comment\n");
if('\n' == c) line = line + 1;
}
c = fgetc(input);
c = grab_byte();
goto reset;
}
else if(c == '/')
@ -266,7 +271,6 @@ reset:
}
else if (c == '\n')
{
line = line + 1;
c = consume_byte(c);
}
else
@ -307,7 +311,7 @@ struct token_list* read_all_tokens(FILE* a, struct token_list* current, char* fi
line = 1;
file = filename;
token = current;
int ch =fgetc(input);
int ch =grab_byte();
while(EOF != ch) ch = get_token(ch);
return token;

View File

@ -179,8 +179,8 @@ fc31fc8b2d78bd50a4c89eb0e29149626868a70842a3dcb01ea87bb275a9e3c2 test/results/t
965bdf7049179199b9f423250a186c7b64ea55326c3249127d2daf7d42ae53cc test/results/test0106-knight-native-binary
0a929d6990caee3e93b1188a38fd3041c6f8e46d25a386024647c0f05c33bce7 test/results/test0106-knight-posix-binary
331ffb5284bd824494ad61a3b0b2dff5681a63ab604e9a06100af531ae237148 test/results/test0106-x86-binary
6fa2ce14e9b6c30165902e69e5949c315c2b70674801f3886976d03d576ec5a5 test/results/test1000-aarch64-binary
b9e67dc42ef0add9673e9f15bc459ba193816906f28371284740ea0042a363ba test/results/test1000-amd64-binary
bd9d5f4152c9e0bf5ef7a51728135de2d0a860d13f78f84eabba9f8447905eab test/results/test1000-armv7l-binary
2ed7798fc821afcf32e0ef36a4d2fd78f80f098b94775f0450bf56a1ffcfc57b test/results/test1000-knight-posix-binary
d8d73527fd105564db075726923143b1d278682488a761aae29b06ec5e30506d test/results/test1000-x86-binary
b059b96414cf326cf211c3b1d63eb01a15924a3c60964ed2e583856715e522fa test/results/test1000-aarch64-binary
c257acf49baa7335f29fd08dcc33986734bb11217b9489f908ec1a46ac228837 test/results/test1000-amd64-binary
0ecdeb7ff165e675d30973906691d02cf2a3a9486d4d3e4da1074e1b8e58dbf7 test/results/test1000-armv7l-binary
423b5e50018d464c62c6a5fc4384cb716f56a07ad434c32e7adc6a4446ebcb4c test/results/test1000-knight-posix-binary
989b624d9a37aae9a92286542d45450775bcbb924667a4e7a975834e5e85050b test/results/test1000-x86-binary

View File

@ -1 +1 @@
63f61f98451e2d1f88c0211694bc95257aaf67e03af5943bf3a1cc8361138bc2 test/test1000/proof
1b63f8b58ff8758d46629d57e45c97fc95bab326603107689883ba6aef0a77cc test/test1000/proof