Fix the syntactic analyzer for real.
[TP_AL_C.git] / lexer / main.c
index f8622174c4b2c8cb52f5a84f4ce0aff74a87a6dc..40550f5a85d0b2d8935fa00a1b83d3b32e1411a3 100644 (file)
@@ -13,7 +13,7 @@ void do_lexical_analysis() {
     c = fgetwc(source); // lecture du premier caractere
     do {
         scanner();
-        wprint_token_target();
+        wprint_token(target);
         token[tokenFound].type = tokenTypestr[tokenType];
         tokenFound++;
     } while (tokenType != FIN); // tant que la fin du fichier n'est pas atteinte
@@ -23,6 +23,7 @@ void do_syntactic_analysis() {
     fputws(L"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"fr_FR\" lang=\"fr_FR\">\n",
            target);
     c = fgetwc(source); // lecture du premier caractere
+    scanner();
     analyze_AXIOME();
     fputws(L"</html>\n", target);
 }
@@ -84,13 +85,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;
         }
     }
@@ -120,7 +123,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();