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 GenerateEqualTraversal... Expanding GenerateEdgeTraversal... Expanding IsDemeterClassTraversal... Expanding IsAlternationClassTraversal... Expanding GetCDNameTraversal... Expanding GetPNameTraversal... Expanding GetPCNameTraversal... Expanding GetCSNameTraversal... 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. CLASSPATH=./gen:$CLASSPATH javac -d ./gen gen/ASCII_UCodeESC_CharStream.java gen/After.java gen/AfterCallGenerator.java gen/AllBackwardMarker.java gen/AlternationClass.java gen/AnyClass.java gen/AnyPart.java gen/BackwardMarker.java gen/BackwardMarkerCarrier.java gen/Before.java gen/BeforeCallGenerator.java gen/Behavior.java gen/BehaviorAttacher.java gen/BehaviorCodeGenerator.java gen/BehaviorCollector.java gen/BypassingDirective.java gen/ClassBehavior.java gen/ClassBehavior_DList.java gen/ClassDef.java gen/ClassDefAdder.java gen/ClassDefCollector.java gen/ClassDefCounter.java gen/ClassDefVisitor.java gen/ClassDef_DList.java gen/ClassGlob.java gen/ClassGlobSet.java gen/ClassGlobSpec.java gen/ClassGlobVisitor.java gen/ClassGlob_Commalist.java gen/ClassGraph.java gen/ClassGraphVisitor.java gen/ClassMethods.java gen/ClassName.java gen/ClassNameAccessor.java gen/ClassNameExact.java gen/ClassNameExpander.java gen/ClassNameFinder.java gen/ClassNameGetter.java gen/ClassNameGlob.java gen/ClassNameMatcher.java gen/ClassNameSetter.java gen/ClassName_Commalist.java gen/ClassParents.java gen/ClassParts.java gen/ClassSpec.java gen/ClassSpecFinder.java gen/ClassSpecVisitor.java gen/ClassSpec_Commalist.java gen/ClassSpec_Sandwich.java gen/ClassesSetter.java gen/CodeGenerator.java gen/Common.java gen/ConstOrAltClass.java gen/ConstructionClass.java gen/ConstructorArgsGenerator.java gen/ConstructorInitsGenerator.java gen/ConstructorSuperInitGenerator.java gen/DeclVisitor.java gen/DestGlob.java gen/DirName.java gen/EdgeGlob.java gen/EdgeVisitor.java gen/ForwardMarker.java gen/GenerateEdgeVisitor.java gen/GenerateEqualVisitor.java gen/GetCDNameVisitor.java gen/GetCSNameVisitor.java gen/GetPCNameVisitor.java gen/GetPNameVisitor.java gen/Glob.java gen/GlobMatcher.java gen/GlobSet.java gen/GlobSpec.java gen/Glob_Commalist.java gen/GlobalBehaviorAttacher.java gen/HostSpec.java gen/Interface.java gen/Interface_Commalist.java gen/IsAlternationClassVisitor.java gen/IsDemeterClassVisitor.java gen/JavaCode.java gen/KeywordPrinter.java gen/Main.java gen/Method.java gen/MethodAdder.java gen/MethodName.java gen/Method_SList.java gen/NameConcatenator.java gen/NonParamDefCollector.java gen/Nonempty_ClassBehavior_DList.java gen/Nonempty_ClassDef_DList.java gen/Nonempty_ClassGlob_Commalist.java gen/Nonempty_ClassName_Commalist.java gen/Nonempty_ClassSpec_Commalist.java gen/Nonempty_Glob_Commalist.java gen/Nonempty_Interface_Commalist.java gen/Nonempty_Method_SList.java gen/Nonempty_Package.java gen/Nonempty_PartOrSyntax_List.java gen/Nonempty_Part_Commalist.java gen/Nonempty_PlainSyntax_List.java gen/Nonempty_Subclass_Barlist.java gen/Nonempty_Syntax_List.java gen/Nonempty_Visitor_Commalist.java gen/OneClassGlob.java gen/OneGlob.java gen/OptionalPart.java gen/Package.java gen/PackagePrinter.java gen/ParamClassName.java gen/ParamExpander.java gen/ParamListGetter.java gen/ParamReplacer.java gen/Parameterized.java gen/ParentPrinter.java gen/ParentSetter.java gen/ParentsVisitor.java gen/ParseCodeGenerator.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Part.java gen/PartCollector.java gen/PartGlob.java gen/PartName.java gen/PartNameExact.java gen/PartNameGlob.java gen/PartNameSetter.java gen/PartOrSyntax.java gen/PartOrSyntaxAdder.java gen/PartOrSyntax_List.java gen/PartPrinter.java gen/PartVisitor.java gen/Part_Commalist.java gen/Part_Sandwich.java gen/PathDirective.java gen/PlainSyntax.java gen/PlainSyntax_List.java gen/PrintCommand.java gen/PrintIndent.java gen/PrintSkip.java gen/PrintSpace.java gen/PrintUnindent.java gen/Program.java gen/ProgramBehavior.java gen/RHSVisitor.java gen/RepeatedPart.java gen/RepeatedPart_Sandwich.java gen/RepetitionClass.java gen/RepetitionConverter.java gen/RepetitionNodesCompleter.java gen/RuleVisitor.java gen/SCC.java gen/SCCchecker.java gen/SCCstate.java gen/SimplePrinter.java gen/SourceGlob.java gen/Subclass.java gen/SubclassBacklinker.java gen/SubclassGlob.java gen/Subclass_Barlist.java gen/SubgraphMarker.java gen/Superclass.java gen/SuperclassGlob.java gen/SuperclassNameGetter.java gen/Syntax.java gen/SyntaxTable.java gen/Syntax_List.java gen/TargetDirective.java gen/ThroughDirective.java gen/To.java gen/ToStop.java gen/Token.java gen/Traversal.java gen/TraversalExpander.java gen/TraversalInfo.java gen/TraversalMethodGenerator.java gen/TraversalMethodInfo.java gen/TraversalName.java gen/TraversalParms.java gen/Verbatim.java gen/Visitor.java gen/VisitorName.java gen/VisitorNameCollector.java gen/VisitorNameVisitor.java gen/Visitor_Commalist.java gen/Visitor_CommalistReverser.java gen/Wrapper.java gen/WrapperCallGenerator.java gen/WrapperChecker.java gen/WrapperClassChecker.java gen/WrapperCodeGenerator.java make: *** No rule to make target `program.input', needed by `test'. Stop.