Hi Binoy: I need your help with the regression test suite. Demeter/Java works pretty good. However the runs of Demeter/Java below produce some errors. Doug is already looking into the FAILURE reported below. Please can you check the error reports and determine whether the errors are in: my code Doug's code If it is in my code, improve the directory and I will copy it back. The goal is to have no error or warning reports at all. Please can you do this by Friday. -- Karl -------------------- See file /proj/adaptive/www/sources/DemeterJava/examples/test-output-j-binoy xsetroot: unable to open display '' NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-DEM-drawing GNUmakefile created. mkdir: cannot make directory `generated': File exists rm: generated/notmod: is a directory 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 xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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. Warning: Choice conflict in [...] construct at line 256, column 3. Expansion nested within construct and expansion following construct have common prefixes, one of which is: "{" Consider using a lookahead of 2 or more for nested expansion. Warning: Choice conflict in [...] construct at line 278, column 3. Expansion nested within construct and expansion following construct have common prefixes, one of which is: "{" Consider using a lookahead of 2 or more for nested expansion. Parser generated with 0 errors and 2 warnings. javac -d . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input *** START *** draw scroll bar drawing object of class ScrollDecorator draw border drawing object of class BorderDecorator drawing object of class ShapeGroup move to 1 , 1 line to 1 , 2 line to 2 , 2 line to 2 , 1 line to 1 , 1 move to 1 , 1 line to 2 , 2 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-basic-visitor GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Parsing program.beh... Gathering methods... Expanding traversals... Generating Java code to program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input count 60 SUCCESS NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-c-bypassing GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input in E. in E. *** result *** 1 SUCCESS SUCCESS java.lang.ArrayIndexOutOfBoundsException: 0 at Main.main(program.java:69) NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-c-bypassing2 GNUmakefile created. mkdir: cannot make directory `generated': File exists rm: generated/notmod: is a directory 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 xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input in E. in E. in E. in E. *** result *** 2 SUCCESS SUCCESS NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-c-holding GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input employee count 8 total salaries 300 SUCCESS NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-TBR1 GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input first and last class A A size of vector 3 target class A target class A parts 2 terminal parts 0 Passed! NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-TBR2 GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-TBR3 GNUmakefile created. mkdir: cannot make directory `generated': File exists rm: generated/notmod: is a directory 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 xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-capacity GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-capacity-stack GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-check-capacity-stack-new GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-count-inh-rels GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input Inheritance relationships 8 SUCCESS NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-department GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input SUCCESS Total memory: 20 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-equation-system GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 variable B V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList 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 Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable B V2 is in class Nonempty_Exp_CommaList 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 Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable C V1 B V2 is in class EquationSystem V2 is in class Equation_List V2 is in class Nonempty_Equation_List V2 variable B V2 B is used in an equation V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable A V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList 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 Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable C V1 B V2 is in class EquationSystem V2 is in class Equation_List V2 is in class Nonempty_Equation_List V2 variable B V2 B is used in an equation V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable A V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList 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 Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable C V1 C V2 is in class EquationSystem V2 is in class Equation_List V2 is in class Nonempty_Equation_List V2 variable B V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable A V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable B V2 is in class Nonempty_Exp_CommaList 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 Exp_CommaList V2 is in class Nonempty_Exp_CommaList 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 variable B V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class Numbe V2 is in class Nonempty_Equation_List V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable A V2 is in class Nonempty_Exp_CommaList V2 is in class FunctionCall V2 is in class Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable B V2 is in class Nonempty_Exp_CommaList 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 Exp_CommaList V2 is in class Nonempty_Exp_CommaList V2 variable C FAILURE done: NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-first GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input Inventory: Card@ef64d648 Card@ef64d648 Chassis@ef64dac8 Chassis@ef64dac8 Drive@ef64dc28 Drive@ef64dc28 FloppyDisk@ef64df68 FloppyDisk@ef64df68 Chassis@ef64dac8 Cabinet@ef64e508 Cabinet@ef64e508 Cabinet@ef64e508 Price 2550 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-g-displayAsTree GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-g_copy GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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(); @) } NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-g_copy-example GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input 3 3 SUCCESS done NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-g_print-example GNUmakefile created. mkdir: cannot make directory `generated': File exists rm: No match. cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java java Main < program.input a ( d ident1 e 4 d ident2 ...@ e 5 ) x enda done NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-pattern-transf1 GNUmakefile created. mkdir: cannot make directory `generated': File exists rm: generated/notmod: is a directory 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 xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Error: class null cannot have more than one parent: S_Decorator Error: class null cannot have more than one parent: S_Composite Error: class null cannot have more than one parent: S_Composite Parsing program.beh... Gathering methods... Expanding traversals... Expanding allShapes... Generating Java code to program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Error: class null cannot have more than one parent: S_Decorator Error: class null cannot have more than one parent: S_Composite Error: class null cannot have more than one parent: S_Composite Generating grammar to program.jack... Done. 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 327, Column 3: Expansion within "(...)?" can be matched by empty string. Error: Line 360, Column 3: Expansion within "(...)?" can be matched by empty string. Error: Line 276, Column 1: Left recursion detected: "_S_Decor... --> _S_Decorator... --> _S_Decor..." Error: Line 353, Column 1: Left recursion detected: "_Nonempty_S_Composite_List... --> _Nonempty_S_Composite_List..." Detected 4 errors and 0 warnings. make: *** [Parser.java] Error 1 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-pattern-transf2 GNUmakefile created. mkdir: cannot make directory `generated': File exists rm: generated/notmod: is a directory 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 xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Error: class null cannot have more than one parent: Box_Composite_Decorator Error: class null cannot have more than one parent: S_Decorator Error: class null cannot have more than one parent: S_Decorator Error: class null cannot have more than one parent: S_Composite Error: class null cannot have more than one parent: S_Composite Parsing program.beh... Gathering methods... Expanding traversals... Expanding allShapes... Generating Java code to program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Error: class null cannot have more than one parent: Box_Composite_Decorator Error: class null cannot have more than one parent: S_Decorator Error: class null cannot have more than one parent: S_Decorator Error: class null cannot have more than one parent: S_Composite Error: class null cannot have more than one parent: S_Composite Generating grammar to program.jack... Done. 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 334, Column 3: Expansion within "(...)?" can be matched by empty string. Error: Line 367, Column 3: Expansion within "(...)?" can be matched by empty string. Error: Line 360, Column 1: Left recursion detected: "_Nonempty_S_Composite_List... --> _Nonempty_S_Composite_List..." Detected 3 errors and 0 warnings. make: *** [Parser.java] Error 1 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-sel-visit GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 } NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-selectively-explore GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-triples GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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 NEW CLASS LIBRARY /proj/adaptive/www/sources/DemeterJava/examples/j-wrapper-classes GNUmakefile created. mkdir: cannot make directory `generated': File exists cp /proj/demeter/apps/data/.www_browsable . cp /proj/demeter/apps/data/.www_browsable ./generated xsetroot: unable to open display '' mkdir: cannot make directory `generated': File exists rm -f ./*.class program.java rm -f program.jack Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java rm -f *~ core demjava -code program Parsing program.cd... 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 program.java... Done. demjava -grammar program Parsing program.cd... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Generating grammar to program.jack... Done. 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 . program.java Parser.java ParseError.java ParserConstants.java ParserTokenManager.java Token.java ASCII_UCodeESC_CharStream.java 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