summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c49
1 files changed, 9 insertions, 40 deletions
diff --git a/src/main.c b/src/main.c
index ec1de31..8f421f6 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,45 +1,14 @@
#include <stdio.h>
+#include "bfi.h"
+#include "mem.h"
#include "stack.h"
-int main() {
- int x, y, z;
+int main(int argc, char *argv[]) {
+ if (argc != 2){
+ printf("Gotta Give one Argument\n");
+ return 1;
+ }
+ intepret(argv[1]);
- while (1) {
- scanf("%d", &x);
-
- // 1. Kui x==0 siis print stack.
- if (x == 0){
- printf("\nPrindin stacki\n");
- stackPrint();
- break;
- }
-
- // 2. Kui empty Push.
- else if (stackIsEmpty())
- stackPush(x);
-
- // 3. Kui x pos. ja peeked pos: push(x).
- // 4. kui x pos. aga peeked neg., y=pop() ja push(x+y).
- else if (x >= 0){
- y = stackPeek();
- if (y >= 0)
- stackPush(x);
-
- else{
- z = stackPop();
- if (x+z != 0)
- stackPush(x+z);
- }
- }
-
- // 5. Kui x on neg, siis pop()
- else if (x < 0) {
- z = stackPop();
- if (x+z != 0) {
- stackPush(x+z);
- }
- }
-
- } // While loop End
- return 0;
+ return 0;
}