Code cleanup and make the test.txt inline with the NPARA detection.
[TP_AL_C.git] / lexer / main.c
index 3247e34c93d17bf8f2879b120b62a94941b7501e..a53d793e827c26326f216db73dfe3e48e71328f5 100644 (file)
@@ -56,6 +56,12 @@ init:
         i++;
         goto init;
     }
+    if (c == '\n') {
+        c = fgetc(source);
+        tokenValue[i] = c;
+        i++;
+        goto initLV1;
+    }
     if (c == '>') {
         c = fgetc(source);
         tokenValue[i] = c;
@@ -74,12 +80,6 @@ init:
         i++;
         goto M1;
     }
-    if (c == '\n') {
-        c = fgetc(source);
-        tokenValue[i] = c;
-        i++;
-        goto initLV1;
-    }
     if (c == EOF) {
         goto FIN;
     } else {
@@ -118,7 +118,6 @@ S1SS1:
         goto SECTION;
     }
 
-
 SS2:
     if (isSeparator() || c == EOF) {
         goto SSECTION;
@@ -144,12 +143,18 @@ M1:
     }
 
 initLV1:
-    if (c == '\n' || c == '\t') {
+    if (c == ' ' || c == '\t') {
         c = fgetc(source);
         tokenValue[i] = c;
         i++;
         goto initLV1;
     }
+    if (c == '\n') {
+        c = fgetc(source);
+        tokenValue[i] = c;
+        i++;
+        goto initLV1LV2;
+    }
     if (istAlpha()) {
         c = fgetc(source);
         tokenValue[i] = c;
@@ -168,12 +173,6 @@ initLV1:
         i++;
         goto MC1;
     }
-    if (c == '\n') {
-        c = fgetc(source);
-        tokenValue[i] = c;
-        i++;
-        goto initLV1LV2;
-    }
     if (c == EOF) {
         goto FIN;
     }
@@ -185,6 +184,9 @@ initLV1LV2:
         i++;
         goto initLV1LV2;
     }
+    if (istAlpha()) {
+        goto NPARA;
+    }
     if (c == '>') {
         c = fgetc(source);
         tokenValue[i] = c;
@@ -197,9 +199,6 @@ initLV1LV2:
         i++;
         goto S1SS1;
     }
-    if (istAlpha()) {
-        goto NPARA;
-    }
     if (c == EOF) {
         goto FIN;
     }
@@ -250,7 +249,6 @@ int main (int argc, char const *argv[]) {
 
     do {
         c = fgetc(source); // lecture du caractere suivant du fichier source
-        //fputc(c, target);  // ecrire c dans le fichier target
         tokenValue[i] = c;
         i++;
         int scanrt = scanner();
@@ -263,10 +261,10 @@ int main (int argc, char const *argv[]) {
         } else {
             printf ("Token type found: %s\n", tokenTypestr[tokenType]);
         }
-        // reinit
+        // reinit tokenValue
         i = 0;
         memset(tokenValue, 0, sizeof(tokenValue));
-    } while (c != EOF);    // tant que la fin du fichier n'est pas atteinte
+    } while (c != EOF); // tant que la fin du fichier n'est pas atteinte
 
     if (source != NULL) fclose(source); // fermeture du fichier source
     if (target != NULL) fclose(target); // fermeture du fichier target