CCC = g++
CCFLAGS = -c -ggdb -Wall -Wno-sign-compare
LDFLAGS = -ggdb

O = parse.tab.o

parse: $O
	$(CCC) $(LDFLAGS) $O -o parse

scan: scan.cpp
	$(CCC) $(LDFLAGS) $O -o scan

scan.cpp: scan.l
	flex -t scan.l > scan.cpp

parse.tab.o: parse.y scan.cpp
	bison -d parse.y; mv parse.tab.c parse.tab.cpp
	$(CCC) $(CCFLAGS) parse.tab.cpp

clean:
	/bin/rm -f $(O) parse.output parse.tab.cpp parse.tab.h scan.cpp out1 parse scan

test: scan parse
	# ./scan < test1 > out1
	./parse < test1 > out1
