diff --git a/source_codes/piles/eval_post.c b/source_codes/piles/eval_post.c
new file mode 100644
index 0000000000000000000000000000000000000000..9c2993ba7992966552eeb8e2d358e5c556589436
--- /dev/null
+++ b/source_codes/piles/eval_post.c
@@ -0,0 +1,32 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "pile_ptr_int.h"
+
+void main(int argc,char** argv) {
+   pile stack_nb = pile_creer();
+   int res,nb1,nb2;
+   for (int i=1;i<argc;i++) {
+      if ( argv[i][0] < '0' || '9' < argv[i][0]) {
+         nb1 = pile_depiler(&stack_nb);
+         nb2 = pile_depiler(&stack_nb);
+      }
+      switch(argv[i][0]) {
+         case '+':
+            res = nb2+nb1;
+            break;
+         case '-':
+            res = nb2-nb1;
+            break;
+         case 'x':
+            res = nb2*nb1;
+            break;
+         case '/': 
+            res = nb2/nb1;
+            break; 
+         default :
+            res = atoi(argv[i]);
+      }
+      pile_empiler(&stack_nb,res);
+   }
+   printf("%d\n",pile_depiler(&stack_nb));
+}