From b98a9799f15c8ad0275175a1d8d013c4f6e0176f Mon Sep 17 00:00:00 2001 From: Ralitsa Dardjonova Date: Wed, 28 Nov 2018 12:15:14 +0200 Subject: Python parser and collapsing blocks + brainfuck interpreter (#46) * Initial commit * Fix some typos modified: README * Delete index.html * Simple parser * add grammar for Python * Delete lex.backup * Delete 2 * Delete a * Delete pretty_print.cpp * Delete try1.lex * Add colapser * Delete 2 * Delete a * Delete lex.backup * Delete try1.lex * Delete pretty_print.cpp * Delete pretty_print.c * Add colapser * Fix grammar test _more cases * add README * Delete parser.tab.c * Delete parser.tab.h * Delete lex.yy.c * Delete parser * Update README * delete parser.output parser.output was generated project file * Delete output.file * Delete output.html * Delete output.html * Delete parser.output * Add brainfuck interpreter * Add README and Makefile --- homework/81350/parser/stack.c | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 homework/81350/parser/stack.c (limited to 'homework/81350/parser/stack.c') diff --git a/homework/81350/parser/stack.c b/homework/81350/parser/stack.c new file mode 100644 index 0000000..a051f7a --- /dev/null +++ b/homework/81350/parser/stack.c @@ -0,0 +1,46 @@ +#include "stack.h" + +int stack[MAXSIZE]; +int top = -1; + +int isempty() { + + if(top == -1) + return 1; + else + return 0; +} + +int isfull() { + + if(top == MAXSIZE) + return 1; + else + return 0; +} + +int peek() { + return stack[top]; +} + +int pop() { + int data; + + if(!isempty()) { + data = stack[top]; + top = top - 1; + return data; + } else { + printf("Could not retrieve data, Stack is empty.\n"); + } +} + +int push(int data) { + + if(!isfull()) { + top = top + 1; + stack[top] = data; + } else { + printf("Could not insert data, Stack is full.\n"); + } +} -- cgit v1.3.1-26-gb76a