From c1458fe91e3e0460f93e459a9d42946f5ac293f3 Mon Sep 17 00:00:00 2001
From: Anteunis Charles <charles.anteunis@gmail.com>
Date: Mon, 16 Dec 2019 10:57:22 +0100
Subject: [PATCH] fix fgetchar, add Makefile

---
 Makefile       |  21 +++++++++++++++++++++
 a.out          | Bin 8920 -> 0 bytes
 interpreteur.c |  33 +++++++++++++++++----------------
 3 files changed, 38 insertions(+), 16 deletions(-)
 create mode 100644 Makefile
 delete mode 100755 a.out

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..e87876d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+CC=gcc -Wall -Wextra -ansi
+
+TARGET=prog2d
+
+OBJ=interpreteur.o list.o
+
+all: $(TARGET)
+
+$(TARGET): $(OBJ)
+	$(CC) main.c $^ -o $(TARGET)
+
+%.o: %.c %.h
+	$(CC) -c $<
+
+interpreteur.o: interpreteur.c interpreteur.h list.h
+	$(CC) -c $<
+
+clean:
+	rm $(OBJ) $(TARGET)
+
+re: clean all
\ No newline at end of file
diff --git a/a.out b/a.out
deleted file mode 100755
index 3f19027cc3c8c4ae8005f632132486827d782a92..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8920
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
R6+}-O11uq7BwSDc0syP#Gr0f&

diff --git a/interpreteur.c b/interpreteur.c
index 99a76c9..e5bc6e9 100644
--- a/interpreteur.c
+++ b/interpreteur.c
@@ -1,5 +1,10 @@
 #include "interpreteur.h"
+#include <stdio.h>
+#include <stdlib.h>
 
+/**
+ *  \brief tronque un entier entre 0 et 255
+ */
 int troncate(int n) {
     if (n<0)
         return 0;
@@ -9,6 +14,9 @@ int troncate(int n) {
         return n;
 }
 
+/**
+ * \brief interprete le fichier d'entrée en déplaçant le curseur
+ */
 void interpreteur(char **matrix, int height, int width) {
     curseur cur;
     int i, j, a, b;
@@ -20,25 +28,25 @@ void interpreteur(char **matrix, int height, int width) {
     char buf[256];
     char *endptr;
 
-    /* initialise le module random */
+    /* initialisation du module random */
     srand((unsigned) time(&t));
 
     cur.x = 0;
     cur.y = 0;
+    /* on commence en haut à gauche, direction à droite */
     cur.current_char = matrix[0][0];
     cur.current_dir = E;
 
     while (cur.current_char != '@') {
 
-        printf("=-=-=-=-=-=-=\n");
-        printf("current char: %i = %c\n", cur.current_char, cur.current_char);
+        /*printf("=-=-=-=-=-=-=\n");
+        printf("current char: %i = %c\n", cur.current_char, cur.current_char);*/
         /* Action en fonction du caractère lu */
 
         /* Si on est sur un pont, on ne lit pas l'instruction et on avance sur le pont */
         if (bridge)
         {
             bridge--;
-            
         }
 
         /* Si on est en mode chaine de caractere on empile ce qu'on lit */
@@ -47,13 +55,11 @@ void interpreteur(char **matrix, int height, int width) {
                 string_mode = 1 - string_mode;
             else
                 push(cur.current_char, &pile);
-            
         }
         else {
+        /* switch pour les actions en fonction du caractère lu */
         switch (cur.current_char)
         {
-               
-
             case '+':
                 a = pop(&pile);
                 b = pop(&pile);
@@ -240,7 +246,7 @@ void interpreteur(char **matrix, int height, int width) {
             
             case '~':
                 printf("Veuillez entrer un caratere\n");
-                tmp = fgetchar();
+                tmp = getchar();
                 push(tmp, &pile);
                 break;
 
@@ -309,16 +315,11 @@ void interpreteur(char **matrix, int height, int width) {
 
         cur.current_char = matrix[cur.y][cur.x];
 
-        print_list(pile);
-        //printf("string_mode: %i\n", string_mode);
-        //printf("bridge: %i\n", bridge);
+        /*print_list(pile);
+        printf("string_mode: %i\n", string_mode);
+        printf("bridge: %i\n", bridge);*/
     }
 
-    printf("Contenu de la pile :\n");
-    while (!is_empty(pile))
-    {
-        printf("%i, ", pop(&pile));
-    }
     printf("Fin de l'interpreteur\n");
     
 }
\ No newline at end of file
-- 
GitLab