demjava -code -outputdir ./gen program Parsing program.cd... Building hashtable of classes... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Parsing program.beh... Gathering methods... Expanding traversals... Expanding allWeights... Generating Java code to ./gen... Done. demjava -grammar -outputdir ./gen program Parsing program.cd... Building hashtable of classes... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to ./gen/program.jack... Done. (cd ./gen; jack program.jack) Jack Version 0.5. Copyright (c) 1996 Sun Microsystems Inc. (type "jack" with no arguments for help) Reading from file program.jack . . . File "ParseError.java" does not exist. Will create one. File "Token.java" does not exist. Will create one. Parser generated successfully. javac -d ./gen gen/ASCII_UCodeESC_CharStream.java gen/Capacity.java gen/CheckingVisitor.java gen/Container.java gen/InitialVisitor.java gen/Item.java gen/Item_List.java gen/Main.java gen/MyStack.java gen/Nonempty_Item_List.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Simple.java gen/SummingVisitor.java gen/Token.java gen/Weight.java CLASSPATH=./gen:$CLASSPATH java Main < program.input start new container sum 0 start new container sum 1 start new container sum 2 end container sum 3 total weight 3 but limit is = 1 OVER CAPACITY end container sum 4 sum 5 total weight 6 but limit is = 5 OVER CAPACITY end container SUCCESS done