Coding style fixlet.
[TP_AL_C.git] / lexer / main.c
index c5a04576a1c9de4f9f505601af492d6a58054af9..f2b6df47660f77bb7c43c49b4752a7ea52582966 100644 (file)
@@ -13,31 +13,29 @@ 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_target();
         token[tokenFound].type = tokenTypestr[tokenType];
         tokenFound++;
     } while (tokenType != FIN); // tant que la fin du fichier n'est pas atteinte
 }
 
 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
-    do {
-        analyze_AXIOME();
-    } while (tokenType != FIN);
+    analyze_AXIOME();
+    fputws(L"</html>\n", target);
 }
 
 void print_usage(const char* name) {
     fprintf(stdout,"Usage: %s [options]\n"
                    "Where [options] are:\n"
-                   " -h, --help: display this help text\n"
+                   " -h, --help: display this help message\n"
                    " -l, --lexical-only: do only the lexical analysis\n"
                    " -i, --input<filename>: use <filename> as input file instead of standard input\n"
                    " -o, --output<filename>: use <filename> as output file instead of standard output\n",
             name);
+    fflush(stdout);
 }
 
 int main(int argc, char **argv) {
@@ -86,13 +84,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;
         }
     }
@@ -101,7 +101,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 +113,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 {
@@ -122,7 +122,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();