all:
	ocamllex lexer.mll
	ocamlyacc parser.mly
	ocamlc -c expr.ml
	ocamlc -c parser.mli
	ocamlc -c lexer.ml
	ocamlc -c parser.ml
	ocamlc -c main.ml
	ocamlc expr.cmo lexer.cmo parser.cmo main.cmo -o main

clean:
	rm -f *.cm[io] lexer.ml parser.ml parser.mli main

run:
	rlwrap ocaml lexer.cmo parser.cmo expr.cmo main.cmo
