summaryrefslogtreecommitdiff
path: root/c-flex-bison/Makefile
blob: 02a8aa26197f5b8b4f72c4c11aceab762f79afb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
all: example

lexer.h lex.yy.c: lexer.l
	flex $^

parser.h parser.tab.c: parser.y
	bison $^

example: lex.yy.c parser.tab.c parser.h lexer.h tree.h example.c
	cc -g -o $@ lex.yy.c parser.tab.c example.c

test: example
	./example '(foo (bar) baz () ((q  u x)) \(\ \\\) )'
	./example '()'
	./example '(erroneous input'
	./example '(a  (b(c)d (e)))'
	./example 'foo (bar) baz'

clean:
	rm example lexer.h lex.yy.c parser.h parser.tab.c