X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=lexer%2Fmain.c;h=24f0a511069fcc65bc344d097efda6b283915020;hb=dfbc1df9a95408687918ecc2bc6774d4646dd4f9;hp=c67370df93b76d9f8c905f569322c4c60691a9e0;hpb=82220449f3f8d1c25474651379118eda02430a3c;p=TP_AL_C.git diff --git a/lexer/main.c b/lexer/main.c index c67370d..24f0a51 100644 --- a/lexer/main.c +++ b/lexer/main.c @@ -13,15 +13,20 @@ void do_lexical_analysis() { c = fgetwc(source); // lecture du premier caractere do { scanner(); - wprint_token(); + wprint_token(target); token[tokenFound].type = tokenTypestr[tokenType]; + wcscpy((wchar_t*)tokenValue, (wchar_t*)token[tokenFound].value); tokenFound++; } while (tokenType != FIN); // tant que la fin du fichier n'est pas atteinte } void do_syntactic_analysis() { + fputws(L"\n\n", + target); c = fgetwc(source); // lecture du premier caractere + scanner(); analyze_AXIOME(); + fputws(L"\n", target); } void print_usage(const char* name) { @@ -32,6 +37,7 @@ void print_usage(const char* name) { " -i, --input: use as input file instead of standard input\n" " -o, --output: use as output file instead of standard output\n", name); + fflush(stdout); } int main(int argc, char **argv) { @@ -80,13 +86,15 @@ int main(int argc, char **argv) { case ':': /* missing option argument */ pr_error("%s: option '-%c' requires an argument\n", - argv[0], optopt); + argv[0], optopt); break; case '?': default: /* invalid option */ pr_error("%s: option '-%c' is invalid: ignored\n", - argv[0], optopt); + argv[0], optopt); + /* print the help message for invalid options */ + hflag = 1; break; } } @@ -116,7 +124,7 @@ int main(int argc, char **argv) { if (hflag) { print_usage(argv[0]); - } else if (lflag){ + } else if (lflag) { do_lexical_analysis(); } else { do_syntactic_analysis();