#########################################################################

all: PA0.java

PA0.java: parser.java Yylex.java DotVisitor.java UnparseVisitor.java parser
	javac -classpath .:java-cup-11a-runtime.jar PA0.java

#### lexer Java
Yylex.java: PA0.lex
	java -jar JLex.jar PA0.lex
	mv PA0.lex.java Yylex.java

#### parser Java
parser.java: PA0.cup
	java -jar java-cup-11a.jar  PA0.cup


#### parser
parser: Yylex.java parser.java
	javac -classpath .:java-cup-11a-runtime.jar ast/node/*.java
	javac -classpath .:java-cup-11a-runtime.jar ast/visitor/*.java
	javac -classpath .:java-cup-11a-runtime.jar -d . parser.java sym.java Yylex.java

Dotvisitor.java:
	javac DotVisitor.java

UnparseVisitor.java:
	javac UnparseVisitor.java

clean:
	rm *.class
