xsetroot: unable to open display '' NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-0.4.3-features GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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... 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/A.java gen/ASCII_UCodeESC_CharStream.java gen/B.java gen/C.java gen/D.java gen/Main.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Token.java CLASSPATH=./gen:$CLASSPATH java Main < program.input *** START *** *** DONE *** cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-DEM-drawing GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 allShapes... 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/Black.java gen/BorderDecorator.java gen/Box.java gen/Color.java gen/Coordinates.java gen/Cursor.java gen/Decorator.java gen/Drag.java gen/DrawingVisitor.java gen/Gesture.java gen/Line.java gen/Main.java gen/Mode.java gen/Nonempty_Shape_List.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Point.java gen/Red.java gen/ScrollDecorator.java gen/Shape.java gen/ShapeGroup.java gen/Shape_List.java gen/Sketch.java gen/Token.java gen/Transfer.java gen/VisualComponent.java CLASSPATH=./gen:$CLASSPATH java Main < program.input *** START *** drawing object of class ShapeGroup drawing object of class Box move to 1 , 1 line to 1 , 2 line to 2 , 2 line to 2 , 1 line to 1 , 1 drawing object of class Line move to 1 , 1 line to 2 , 2 drawing object of class BorderDecorator draw border drawing object of class ShapeGroup drawing object of class Box move to 1 , 1 line to 1 , 2 line to 2 , 2 line to 2 , 1 line to 1 , 1 drawing object of class Line move to 1 , 1 line to 2 , 2 drawing object of class ScrollDecorator draw scroll bar drawing object of class ShapeGroup drawing object of class Box move to 1 , 1 line to 1 , 2 line to 2 , 2 line to 2 , 1 line to 1 , 1 drawing object of class Line move to 1 , 1 line to 2 , 2 cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./generated/notmod cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/cds cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/tmp cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/logs cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-basic-visitor GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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... 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/A.java gen/ASCII_UCodeESC_CharStream.java gen/AbstractVisitor.java gen/B.java gen/C.java gen/ConcreteVisitor.java gen/Main.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Token.java gen/X.java gen/Y.java CLASSPATH=./gen:$CLASSPATH java Main < program.input count 60 SUCCESS cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-c-bypassing GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 TestTraversal... 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/A.java gen/ASCII_UCodeESC_CharStream.java gen/B.java gen/C.java gen/D.java gen/E.java gen/Main.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/TestVisitor.java gen/Token.java CLASSPATH=./gen:$CLASSPATH java Main < program.input in E. in E. *** result *** 1 SUCCESS SUCCESS in E. SUCCESS cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-c-bypassing2 GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 TestTraversal... 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/A.java gen/ASCII_UCodeESC_CharStream.java gen/B.java gen/C.java gen/D.java gen/E.java gen/Main.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/TestVisitor.java gen/Token.java CLASSPATH=./gen:$CLASSPATH java Main < program.input in E. in E. in E. in E. *** result *** 2 SUCCESS SUCCESS cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./generated/notmod cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/cds cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/tmp cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/logs cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-c-holding GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 allEmployees... Expanding allSalaries... 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/Company.java gen/Company_list.java gen/CountingVisitor.java gen/Currency.java gen/Employee.java gen/Empty.java gen/Holding_company.java gen/Main.java gen/Manager.java gen/Nonempty.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Salary.java gen/SummingVisitor.java gen/Token.java gen/Worker.java CLASSPATH=./gen:$CLASSPATH java Main < program.input employee count 4 total salaries 300 SUCCESS cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-TBR1 GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 allClassDefinitions... Expanding allClasses... 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/Adj.java gen/Cd_graph.java gen/CheckingVisitor.java gen/ClassNames.java gen/Construct.java gen/IsDemeterClassVisitor.java gen/Labeled_vertex.java gen/Main.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Token.java gen/Vertex.java CLASSPATH=./gen:$CLASSPATH java Main < program.input first and last class A A size of vector 1 target class A target class A parts 2 terminal parts 0 Passed! cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-TBR2 GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 allClassDefinitions... Expanding allClasses... 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/Adj.java gen/Adj_list.java gen/Alternat.java gen/Any_vertex.java gen/Any_vertex_list.java gen/Cd_graph.java gen/CheckingVisitor.java gen/ClassNames.java gen/Construct.java gen/Empty.java gen/Empty_cd_graph.java gen/IsDemeterClassVisitor.java gen/Labeled_vertex.java gen/Main.java gen/Nany_vertex_list.java gen/Neighbors.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Syntax_vertex.java gen/Token.java gen/Vertex.java CLASSPATH=./gen:$CLASSPATH java Main < program.input first and last class A1 S size of vector 8 target class A1 target class A1 parts 2 terminal parts 0 target class A1 target class A1 parts 2 terminal parts 0 target class X target class Integer parts 2 terminal parts 1 Class violates the Terminal Buffer Rule: A parts 0 terminal parts 0 target class Long parts 1 terminal parts 1 target class Integer target class Integer parts 2 terminal parts 2 Class violates the Terminal Buffer Rule: C target class Vector target class A parts 2 terminal parts 1 Class violates the Terminal Buffer Rule: S cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-TBR3 GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 allClassDefinitions... Expanding allClasses... 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/AlternationClass.java gen/CheckingVisitor.java gen/ClassDef.java gen/ClassDef_DList.java gen/ClassGraph.java gen/ClassName.java gen/ClassName_Commalist.java gen/ClassNames.java gen/ClassParents.java gen/ClassParts.java gen/ClassSpec.java gen/ClassSpec_Commalist.java gen/ClassSpec_Sandwich.java gen/Common.java gen/ConstOrAltClass.java gen/ConstructionClass.java gen/DirName.java gen/IsDemeterClassVisitor.java gen/JavaCode.java gen/Main.java gen/MethodName.java gen/Nonempty_ClassDef_DList.java gen/Nonempty_ClassName_Commalist.java gen/Nonempty_ClassSpec_Commalist.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/OptionalPart.java gen/Package.java gen/ParamClassName.java gen/Parameterized.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Part.java gen/PartName.java gen/PartOrSyntax.java gen/PartOrSyntax_List.java gen/Part_Commalist.java gen/Part_Sandwich.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/RepeatedPart.java gen/RepeatedPart_Sandwich.java gen/RepetitionClass.java gen/Subclass.java gen/Subclass_Barlist.java gen/Syntax.java gen/SyntaxTable.java gen/Syntax_List.java gen/Token.java gen/TraversalName.java gen/VisitorName.java CLASSPATH=./gen:$CLASSPATH java Main < program.input Class violates the Terminal Buffer Rule: A Class violates the Terminal Buffer Rule: C Class violates the Terminal Buffer Rule: S Class violates the Terminal Buffer Rule: U Class violates the Terminal Buffer Rule: V cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./generated/notmod cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/cds cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/tmp cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/logs cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-capacity GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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. CLASSPATH=./gen:$CLASSPATH javac -d ./gen gen/ASCII_UCodeESC_CharStream.java gen/Capacity.java gen/CheckingVisitor.java gen/Container.java gen/Item.java gen/Item_List.java gen/Main.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 sum 0 sum 1 sum 2 sum 3 capacity 3 but limit is = 1 OVER CAPACITY sum 4 sum 5 capacity 6 but limit is = 5 OVER CAPACITY done cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-capacity-stack GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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. CLASSPATH=./gen:$CLASSPATH 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 cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-capacity-stack-new GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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. CLASSPATH=./gen:$CLASSPATH 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/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 cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./gen cp /proj/demeter/apps/data/.www_browsable ./generated NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-constr+alt-edges GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 toClassName... Expanding toAllSubclasses... 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/AlternationClass.java gen/AnyClass.java gen/AnyPart.java gen/Before.java gen/Bypassing.java gen/ClassBehavior.java gen/ClassBehavior_DList.java gen/ClassDef.java gen/ClassDef_DList.java gen/ClassGlob.java gen/ClassGraph.java gen/ClassMethods.java gen/ClassName.java gen/ClassNameExact.java gen/ClassNameGlob.java gen/ClassNameRetVisitor.java gen/ClassNameTranspVisitor.java gen/ClassName_Commalist.java gen/ClassParents.java gen/ClassParts.java gen/ClassSpec.java gen/ClassSpec_Commalist.java gen/ClassSpec_Sandwich.java gen/Common.java gen/ConstOrAltClass.java gen/ConstructionClass.java gen/DFS_mark.java gen/EdgeDistinctionVisitor.java gen/EdgeGlob.java gen/EdgeVisitor.java gen/Glob.java gen/Glob_Commalist.java gen/JavaCode.java gen/Main.java gen/Method.java gen/MethodName.java gen/Method_SList.java gen/MyHashtable.java gen/Nonempty_ClassBehavior_DList.java gen/Nonempty_ClassDef_DList.java gen/Nonempty_ClassName_Commalist.java gen/Nonempty_ClassSpec_Commalist.java gen/Nonempty_Glob_Commalist.java gen/Nonempty_Method_SList.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/OptionalPart.java gen/PP_mark.java gen/ParamClassName.java gen/Parameterized.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Part.java gen/PartGlob.java gen/PartName.java gen/PartNameExact.java gen/PartNameGlob.java gen/PartOrSyntax.java gen/PartOrSyntax_List.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/PrintVisitor.java gen/Program.java gen/ProgramBehavior.java gen/RepeatedPart.java gen/RepeatedPart_Sandwich.java gen/RepetitionClass.java gen/Subclass.java gen/SubclassGlob.java gen/Subclass_Barlist.java gen/Syntax.java gen/SyntaxTable.java gen/Syntax_List.java gen/Target.java gen/To.java gen/ToStop.java gen/Token.java gen/Traversal.java gen/TraversalArgs.java gen/TraversalName.java gen/Verbatim.java gen/Visitor.java gen/VisitorName.java gen/Visitor_Commalist.java gen/Wrapper.java CLASSPATH=./gen:$CLASSPATH java Main < program.input alternation edge source of edge B target of edge C alternation edge source of edge B target of edge D construction edges = 0 FAILURE cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-count-inh-rels GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 allInh... 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/Adj.java gen/Adj_list.java gen/Alternat.java gen/Any_vertex.java gen/Any_vertex_list.java gen/Cd_graph.java gen/Construct.java gen/CountingVisitor.java gen/Empty.java gen/Empty_cd_graph.java gen/Labeled_vertex.java gen/Main.java gen/Nany_vertex_list.java gen/Neighbors.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Syntax_vertex.java gen/Token.java gen/Vertex.java CLASSPATH=./gen:$CLASSPATH java Main < program.input Inheritance relationships 8 SUCCESS cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-department GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 allComputers... 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/Computer.java gen/Department.java gen/Main.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/SummingVisitor.java gen/Token.java CLASSPATH=./gen:$CLASSPATH java Main < program.input SUCCESS Total memory: 20 cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-equation-system GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 t1... Expanding t2... 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/Equation.java gen/EquationSystem.java gen/Equation_List.java gen/Exp.java gen/Exp_CommaList.java gen/Function.java gen/FunctionCall.java gen/Main.java gen/Nonempty_Equation_List.java gen/Nonempty_Exp_CommaList.java gen/Numbe.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Token.java gen/V1.java gen/V2.java gen/Variable.java CLASSPATH=./gen:$CLASSPATH java Main < program.input V1 A V2 is in class EquationSystem V2 is in class Equation_List V2 is in class Nonempty_Equation_List V2 is in class Variable V2 variable B V2 is in class Nonempty_Equation_List V2 is in class Nonempty_Equation_List V2 is in class Nonempty_Equation_List V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable A V2 A is used in an equation V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable B V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable C V1 B V2 is in class EquationSystem V2 is in class Equation_List V2 is in class Nonempty_Equation_List V2 is in class Variable V2 variable B V2 B is used in an equation V2 is in class Nonempty_Equation_List V2 is in class Nonempty_Equation_List V2 is in class Nonempty_Equation_List V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable A V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable B V2 B is used in an equation V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable C V1 C V2 is in class EquationSystem V2 is in class Equation_List V2 is in class Nonempty_Equation_List V2 is in class Variable V2 variable B V2 is in class Nonempty_Equation_List V2 is in class Nonempty_Equation_List V2 is in class Nonempty_Equation_List V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable A V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable B V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable C V2 C is used in an equation V1 Z V2 is in class EquationSystem V2 is in class Equation_List V2 is in class Nonempty_Equation_List V2 is in class Variable V2 variable B V2 is in class Nonempty_Equation_List V2 is in class Nonempty_Equation_List V2 is in class Nonempty_Equation_List V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable A V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable B V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class Variable V2 variable C SUCCESS done: cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-first GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 allEquip... 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/Bus.java gen/Cabinet.java gen/Card.java gen/Chassis.java gen/CompositeEquipment.java gen/Computer.java gen/Currency.java gen/Drive.java gen/Equipment.java gen/Equipment_List.java gen/FloppyDisk.java gen/Inventory.java gen/InventoryVisitor.java gen/Main.java gen/Nonempty_Equipment_List.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/PricingVisitor.java gen/Token.java CLASSPATH=./gen:$CLASSPATH java Main < program.input Inventory: Card@ef64d648 Chassis@ef64dac8 Drive@ef64dc28 FloppyDisk@ef64df68 Cabinet@ef64e508 Price 1450 cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-g-displayAsTree GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 t... 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/A.java gen/ASCII_UCodeESC_CharStream.java gen/B.java gen/C.java gen/D.java gen/E.java gen/Main.java gen/Nonempty_B.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Token.java gen/TreeDisplayVisitor.java gen/X.java gen/Y.java CLASSPATH=./gen:$CLASSPATH java Main < program.input A( = B X B{ ~ {C} D( = Ident Ident(ident1) ) E( = Integer Integer(4) ) D( = Ident Ident(ident2) ) E( = Integer Integer(5) ) } X( = Y Y( ) ) ) done cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-g_copy GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 GenerateCopyTraversal... Expanding IsDemeterClassTraversal... 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/AlternationClass.java gen/AnyClass.java gen/AnyPart.java gen/Before.java gen/Behavior.java gen/BypassingDirective.java gen/ClassBehavior.java gen/ClassBehavior_DList.java gen/ClassDef.java gen/ClassDefFinder.java gen/ClassDef_DList.java gen/ClassGlob.java gen/ClassGlobSet.java gen/ClassGlobSpec.java gen/ClassGlob_Commalist.java gen/ClassGraph.java gen/ClassMethods.java gen/ClassName.java gen/ClassNameExact.java gen/ClassNameGlob.java gen/ClassNameMole.java gen/ClassName_Commalist.java gen/ClassParents.java gen/ClassParts.java gen/ClassSpec.java gen/ClassSpec_Commalist.java gen/ClassSpec_Sandwich.java gen/Common.java gen/ConstOrAltClass.java gen/ConstructionClass.java gen/DFS_mark.java gen/DigOutVisitor.java gen/DirName.java gen/EdgeGlob.java gen/GenerateCopyVisitor.java gen/GetCDNameVisitor.java gen/GetCSNameVisitor.java gen/GetPCNameVisitor.java gen/GetPNameVisitor.java gen/Glob.java gen/GlobMatchVisitor.java gen/GlobSet.java gen/GlobSpec.java gen/Glob_Commalist.java gen/GraphDFSVisitor.java gen/HostSpec.java gen/IsDemeterClassVisitor.java gen/JavaCode.java gen/Main.java gen/Method.java gen/MethodName.java gen/Method_SList.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_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/PP_mark.java gen/Package.java gen/ParamClassName.java gen/Parameterized.java gen/ParentalCarrier.java gen/ParentalUnit.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Part.java gen/PartGlob.java gen/PartName.java gen/PartNameExact.java gen/PartNameGlob.java gen/PartOrSyntax.java gen/PartOrSyntax_List.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/PrintVisitor.java gen/Program.java gen/ProgramBehavior.java gen/RepeatedPart.java gen/RepeatedPart_Sandwich.java gen/RepetitionClass.java gen/Subclass.java gen/SubclassGlob.java gen/Subclass_Barlist.java gen/Syntax.java gen/SyntaxTable.java gen/Syntax_List.java gen/TargetDirective.java gen/TestTraversal.java gen/ThroughDirective.java gen/To.java gen/ToStop.java gen/Token.java gen/Tracer.java gen/Traversal.java gen/TraversalArgs.java gen/TraversalName.java gen/Verbatim.java gen/Visitor.java gen/VisitorName.java gen/Visitor_Commalist.java gen/Wrapper.java CLASSPATH=./gen:$CLASSPATH java Main < program.input CopyVisitor { (@ Stack history; void Init(String firstClass) { this.history = new Stack(); try { this.history.push(Class.forName(firstClass).newInstance()); } catch(Exception e) { e.printStackTrace(); } } Object GetResult() { return history.peek(); } @) before -> A,b,B (@ A containingObject = (A)history.peek(); Class theClass = dest.getClass(); Object newPartObject = null; try { newPartObject = theClass.newInstance(); } catch(Exception e) { e.printStackTrace(); } containingObject.set_b((B)newPartObject); this.history.push(newPartObject); @) after -> A,b,B (@ this.history.pop(); @) before -> A,c,C (@ A containingObject = (A)history.peek(); Class theClass = dest.getClass(); Object newPartObject = null; try { newPartObject = theClass.newInstance(); } catch(Exception e) { e.printStackTrace(); } containingObject.set_c((C)newPartObject); this.history.push(newPartObject); @) after -> A,c,C (@ this.history.pop(); @) before -> D,a,A (@ D containingObject = (D)history.peek(); Class theClass = dest.getClass(); Object newPartObject = null; try { newPartObject = theClass.newInstance(); } catch(Exception e) { e.printStackTrace(); } containingObject.set_a((A)newPartObject); this.history.push(newPartObject); @) after -> D,a,A (@ this.history.pop(); @) } cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-g_copy-example GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 all... Expanding allC... 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/A.java gen/ASCII_UCodeESC_CharStream.java gen/B.java gen/C.java gen/CopyVisitor.java gen/CountingVisitor.java gen/D.java gen/Main.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Token.java CLASSPATH=./gen:$CLASSPATH java Main < program.input 3 3 SUCCESS done cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./gen cp /proj/demeter/apps/data/.www_browsable ./generated NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-g_print-example GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 t... 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/A.java gen/ASCII_UCodeESC_CharStream.java gen/B.java gen/C.java gen/D.java gen/E.java gen/Main.java gen/Nonempty_B.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/PrintingVisitor.java gen/Token.java gen/X.java gen/Y.java CLASSPATH=./gen:$CLASSPATH java Main < program.input a ( d ident1 e 4 d ident2 ...@ e 5 ) x enda done cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-pattern-transf1 GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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... Error: class S_Temp cannot have more than one parent: S_Decorator (previous parent: Box_Composite) Error: class S_Temp cannot have more than one parent: S_Composite (previous parent: S_Decorator) Error: class S_Compound cannot have more than one parent: S_Composite (previous parent: Box_Composite) Parsing program.beh... Gathering methods... Expanding traversals... Expanding allShapes... 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... Error: class S_Temp cannot have more than one parent: S_Decorator (previous parent: Box_Composite) Error: class S_Temp cannot have more than one parent: S_Composite (previous parent: S_Decorator) Error: class S_Compound cannot have more than one parent: S_Composite (previous parent: Box_Composite) 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. Error: Line 389, Column 3: Expansion within "(...)?" can be matched by empty string. Error: Line 422, Column 3: Expansion within "(...)?" can be matched by empty string. Error: Line 415, Column 1: Left recursion detected: "_Nonempty_S_Composite_List... --> _Nonempty_S_Composite_List..." Detected 3 errors and 0 warnings. make: *** [gen/Parser.java] Error 1 cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./generated/notmod cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/cds cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/tmp cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/logs cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-pattern-transf2 GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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... Error: class S_Temp cannot have more than one parent: Box_Composite_Decorator (previous parent: Box_Composite) Error: class S_Temp cannot have more than one parent: S_Decorator (previous parent: Box_Composite_Decorator) Error: class S_Decor cannot have more than one parent: S_Decorator (previous parent: Box_Composite_Decorator) Error: class S_Temp cannot have more than one parent: S_Composite (previous parent: S_Decorator) Error: class S_Compound cannot have more than one parent: S_Composite (previous parent: Box_Composite) Parsing program.beh... Gathering methods... Expanding traversals... Expanding allShapes... 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... Error: class S_Temp cannot have more than one parent: Box_Composite_Decorator (previous parent: Box_Composite) Error: class S_Temp cannot have more than one parent: S_Decorator (previous parent: Box_Composite_Decorator) Error: class S_Decor cannot have more than one parent: S_Decorator (previous parent: Box_Composite_Decorator) Error: class S_Temp cannot have more than one parent: S_Composite (previous parent: S_Decorator) Error: class S_Compound cannot have more than one parent: S_Composite (previous parent: Box_Composite) 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. Error: Line 401, Column 3: Expansion within "(...)?" can be matched by empty string. Error: Line 434, Column 3: Expansion within "(...)?" can be matched by empty string. Error: Line 427, Column 1: Left recursion detected: "_Nonempty_S_Composite_List... --> _Nonempty_S_Composite_List..." Detected 3 errors and 0 warnings. make: *** [gen/Parser.java] Error 1 cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./generated/notmod cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/cds cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/tmp cp /proj/demeter/apps/data/.www_browsable ./generated/notmod/logs cp /proj/demeter/apps/data/.www_browsable ./notmod cp /proj/demeter/apps/data/.www_browsable ./notmod/cds cp /proj/demeter/apps/data/.www_browsable ./notmod/tmp cp /proj/demeter/apps/data/.www_browsable ./notmod/logs cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-sel-visit GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 t... Expanding all... Expanding all_j... 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/Arg.java gen/Arg_CList.java gen/Args.java gen/Before.java gen/Body.java gen/Bypassing.java gen/ClassName.java gen/ClassName_CList.java gen/ClassNames.java gen/Compound.java gen/Constraint.java gen/Constraint_List.java gen/Constraints.java gen/Edge.java gen/Edge_NList.java gen/Edges.java gen/From.java gen/FunctionName.java gen/Initialize.java gen/JavaCode.java gen/JavaTypeName.java gen/Join.java gen/LabelName.java gen/Main.java gen/Nonempty_Arg_CList.java gen/Nonempty_ClassName_CList.java gen/Nonempty_Constraint_List.java gen/Nonempty_Edge_NList.java gen/Nonempty_Traversal_CList.java gen/Nonempty_VisitorMethod_NList.java gen/Op.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/PrintingVisitor.java gen/SelectiveVisitor.java gen/SelectorVisitor.java gen/Simple.java gen/Test.java gen/Through.java gen/To.java gen/Token.java gen/Traversal.java gen/TraversalPP.java gen/Traversal_CList.java gen/Traversals.java gen/Variable.java gen/VisitorMethod.java gen/VisitorMethod_NList.java gen/VisitorMethods.java CLASSPATH=./gen:$CLASSPATH java Main < program.input (@ // before @) (@ // before2 @) traversal-pp going through edge from TraversalPP to Body labeled body { going through edge from Body to Simple labeled traversal } cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-selectively-explore GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 goToAll... 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/Adj.java gen/Adj_list.java gen/Alternat.java gen/Any_vertex.java gen/Any_vertex_list.java gen/Cd_graph.java gen/Construct.java gen/Empty.java gen/Empty_cd_graph.java gen/ExplorationVisitor.java gen/Labeled_vertex.java gen/Main.java gen/Nany_vertex_list.java gen/Neighbors.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Syntax_vertex.java gen/Token.java gen/Vertex.java CLASSPATH=./gen:$CLASSPATH java Main < program.input Entering class Adj Entering class Vertex Leaving class Vertex Entering class Vertex Leaving class Vertex Leaving class Adj Entering class Adj Entering class Vertex Leaving class Vertex Entering class Vertex Leaving class Vertex Entering class Vertex Leaving class Vertex Leaving class Adj Entering class Adj Entering class Vertex Leaving class Vertex Leaving class Adj Entering class Adj Entering class Vertex Leaving class Vertex Leaving class Adj result = 11 SUCCESS done cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-triples GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 allProducers... 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/Company.java gen/Customer.java gen/CustomerTV.java gen/Customer_List.java gen/Item.java gen/Item_List.java gen/Main.java gen/Nonempty_Customer_List.java gen/Nonempty_Item_List.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/Producer.java gen/ProducerTV.java gen/SameLocationV.java gen/Token.java CLASSPATH=./gen:$CLASSPATH java Main < program.input ctv= Huber ptv= Novartis current item= xyz1 ctv= HuberB ptv= Novartis current item= xyz3 ctv= HuberB ptv= NovartisB current item= xyz4 done cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated cp /proj/demeter/apps/data/.www_browsable ./gen NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-wrapper-classes GNUmakefile created. Demeter/Java version 0.4.4 rm -f -r ./gen rm -f *~ core 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 to_several... 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/A.java gen/ASCII_UCodeESC_CharStream.java gen/B.java gen/B_List.java gen/Bp.java gen/Bp_List.java gen/C.java gen/C_List.java gen/D.java gen/D_List.java gen/F.java gen/F_List.java gen/I.java gen/I_List.java gen/Ip.java gen/Ip_List.java gen/L.java gen/L_List.java gen/Main.java gen/Nonempty_B_List.java gen/Nonempty_Bp_List.java gen/Nonempty_C_List.java gen/Nonempty_D_List.java gen/Nonempty_F_List.java gen/Nonempty_I_List.java gen/Nonempty_Ip_List.java gen/Nonempty_L_List.java gen/ParseError.java gen/Parser.java gen/ParserConstants.java gen/ParserTokenManager.java gen/PrintV.java gen/Token.java CLASSPATH=./gen:$CLASSPATH java Main < program.input true false 29 29 29 29 29 29 29 29 a b c 1 18 18 18 1 18 18 18 true false 123 done cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./gen cp /proj/demeter/apps/data/.www_browsable ./generated