Syntactic analysis fully working implementation.
[TP_AL_C.git] / lexer / main.c
index c5a04576a1c9de4f9f505601af492d6a58054af9..ca385b31b58752bc719276613fcce279560e53d0 100644 (file)
@@ -13,11 +13,7 @@ void do_lexical_analysis() {
     c = fgetwc(source); // lecture du premier caractere
     do {
         scanner();
-        if (tokenType == MOT || tokenType == MOTCLE) {
-            fwprintf(target, L"%20s: %ls\n", tokenTypestr[tokenType], token[tokenFound].value);
-        } else {
-            fwprintf(target, L"%20s\n", tokenTypestr[tokenType]);
-        }
+        wprint_token();
         token[tokenFound].type = tokenTypestr[tokenType];
         tokenFound++;
     } while (tokenType != FIN); // tant que la fin du fichier n'est pas atteinte
@@ -25,9 +21,7 @@ void do_lexical_analysis() {
 
 void do_syntactic_analysis() {
     c = fgetwc(source); // lecture du premier caractere
-    do {
-        analyze_AXIOME();
-    } while (tokenType != FIN);
+    analyze_AXIOME();
 }
 
 void print_usage(const char* name) {
@@ -101,7 +95,7 @@ int main(int argc, char **argv) {
         // Ouvre le fichier source en lecture seulement (le fichier doit exister) :
         source = fopen(in_file, "r+");
         if (source == NULL) {
-            pr_error("Impossible d'ouvrir le fichier %s\n", in_file);
+            pr_error("Fail to open file %s\n", in_file);
             return EXIT_FAILURE;
         }
     } else {
@@ -113,7 +107,7 @@ int main(int argc, char **argv) {
         // avec suppression du contenu au prealable :
         target = fopen(out_file, "w+");
         if (target == NULL) {
-            pr_error("Impossible d'ouvrir le fichier %s\n", out_file);
+            pr_error("Fail to open file %s\n", out_file);
             return EXIT_FAILURE;
         }
     } else {