X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=lexer%2Flexical_analyzer.c;h=39c82e075169b69eb50ce895bc283227a45f72cc;hb=2d2a5978e84c354bf8167a3ab0b1088d264049bf;hp=0d6a7284abb35cb064fd40885d980bfb8c9a74f0;hpb=15ad4b5ab7b62ce2e966730ccd1932877d658b66;p=TP_AL_C.git diff --git a/lexer/lexical_analyzer.c b/lexer/lexical_analyzer.c index 0d6a728..39c82e0 100644 --- a/lexer/lexical_analyzer.c +++ b/lexer/lexical_analyzer.c @@ -5,6 +5,7 @@ #include "global_vars.h" #include "print_helper.h" +#include "lexical_analyzer.h" wint_t c; @@ -46,7 +47,7 @@ static bool isEOF() { return false; } -int scanner() { +int scanner(void) { tokenValue[0] = 0; unsigned int i = 0; wchar_t m[6]; @@ -69,7 +70,6 @@ init: goto S1SS1; } if (isAlphaNum()) { - token[tokenFound].value[i] = c; tokenValue[i] = c; i++; c = fgetwc(source); @@ -82,13 +82,11 @@ init: MC1: if (c == L'A' && !wcscmp(fgetws(m, 6, source), L"uteur")) { - wcscpy((wchar_t*)token[tokenFound].value, L">Auteur"); wcscpy((wchar_t*)tokenValue, L">Auteur"); c = fgetwc(source); goto MC2; } if (c == L'T' && !wcscmp(fgetws(m, 5, source), L"itre")) { - wcscpy((wchar_t*)token[tokenFound].value, L">Titre"); wcscpy((wchar_t*)tokenValue, L">Titre"); c = fgetwc(source); goto MC2; @@ -121,7 +119,6 @@ SSECTION: M1: if (isAlphaNum()) { - token[tokenFound].value[i] = c; tokenValue[i] = c; i++; c = fgetwc(source); @@ -142,7 +139,6 @@ initLV1: goto initLV1LV2; } if (isAlphaNum()) { - token[tokenFound].value[i] = c; tokenValue[i] = c; i++; c = fgetwc(source); @@ -187,9 +183,9 @@ NPARA: return EXIT_SUCCESS; MOT: - token[tokenFound].value[i] = 0; - tokenValue[i] = 0; tokenType = MOT; + tokenValue[i] = 0; + wcscpy((wchar_t*)token[tokenFound].value, (wchar_t*)tokenValue); return EXIT_SUCCESS; MC2: @@ -200,6 +196,7 @@ MC2: MOTCLE: tokenType = MOTCLE; + wcscpy((wchar_t*)token[tokenFound].value, (wchar_t*)tokenValue); return EXIT_SUCCESS; FIN: @@ -211,7 +208,7 @@ error: fwprintf(stderr, L"%s error with token type: %s and value: %ls\n", __func__, tokenTypestr[tokenType], - token[tokenFound].value); + tokenValue); } else { fwprintf(stderr, L"%s error with token type: %s\n", __func__,