Fix the syntactic analyzer for real.
[TP_AL_C.git] / lexer / print_helper.c
index 23684d5e22e6785fdd30fc7925b82bbb5e26cac0..40d05232bb7004cc6e43f5624627440be7ebf6bd 100644 (file)
@@ -1,7 +1,8 @@
-#include <stdarg.h>
 #include <stdio.h>
 #include <wchar.h>
+#include <stdarg.h>
 
+#include "print_helper.h"
 #include "global_vars.h"
 
 void pr_warning(const char* format, ...) {
@@ -10,6 +11,7 @@ void pr_warning(const char* format, ...) {
     va_start(args, format);
     fprintf(stdout, format, args);
     va_end(args);
+    fflush(stdout);
 }
 
 void pr_error(const char *format, ...) {
@@ -18,6 +20,7 @@ void pr_error(const char *format, ...) {
     va_start(args, format);
     fprintf(stderr, format, args);
     va_end(args);
+    fflush(stderr);
 }
 
 #if DEBUG
@@ -27,6 +30,7 @@ void pr_debug(const char *format, ...) {
     va_start(args, format);
     fprintf(stderr, format, args);
     va_end(args);
+    fflush(stderr);
 }
 #else
 void pr_debug(const char *format, ...);
@@ -38,6 +42,7 @@ void wpr_warning(const wchar_t *format, ...) {
     va_start(args, format);
     fwprintf(stdout, format, args);
     va_end(args);
+    fflush(stdout);
 }
 
 void wpr_error(const wchar_t *format, ...) {
@@ -46,12 +51,23 @@ void wpr_error(const wchar_t *format, ...) {
     va_start(args, format);
     fwprintf(stderr, format, args);
     va_end(args);
+    fflush(stderr);
+}
+
+void wprint_token(FILE* out_file) {
+    if (tokenType == MOT || tokenType == MOTCLE) {
+        fwprintf(out_file, L"%20s: %ls\n", tokenTypestr[tokenType], token[tokenFound].value);
+    } else {
+        fwprintf(out_file, L"%20s\n", tokenTypestr[tokenType]);
+    }
+    fflush(out_file);
 }
 
-void wprint_token() {
+void wprint_ctoken(FILE* out_file) {
     if (tokenType == MOT || tokenType == MOTCLE) {
-        fwprintf(target, L"%20s: %ls\n", tokenTypestr[tokenType], token[tokenFound].value);
+        fwprintf(out_file, L"%20s: %ls\n", tokenTypestr[tokenType], tokenValue);
     } else {
-        fwprintf(target, L"%20s\n", tokenTypestr[tokenType]);
+        fwprintf(out_file, L"%20s\n", tokenTypestr[tokenType]);
     }
+    fflush(out_file);
 }