parser : lex.yy.o y.tab.o syntree.o
	gcc -o parser $^

syntree.o : syntree.c
	gcc -c syntree.c

y.tab.o : y.tab.c
	gcc -c y.tab.c

lex.yy.o : lex.yy.c
	gcc -c lex.yy.c

y.tab.c y.tab.h : parser.y syntree.h
	yacc -d parser.y

lex.yy.c : lexer.l y.tab.h syntree.h
	flex lexer.l

stackMachine : stackMachine.cpp
	g++ -o stackMachine stackMachine.cpp
