core: import EDU.neu.ccs.demeter.*; add: class Main { public constructor Main() (@ super(); @) public static Main parse(java.io.Reader in) throws ParseException (@ return new Parser(in)._Main(); @) public static Main parse(java.io.InputStream in) throws ParseException (@ return new Parser(in)._Main(); @) public static Main parse(String s) (@ try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } @) public static void main(String args[]) throws Exception (@ ShoeOrder m = ShoeOrder.parse(System.in); System.out.println("Print input: with concrete syntax"); m.print(); System.out.println(); System.out.println("Display input: no concrete syntax"); m.display(); System.out.println(); System.out.println("Show effect of TraceVisitor: where have we been?"); m.trace(); System.out.println(); ShoeOrder s = m.copy(); System.out.println(); System.out.println(m); System.out.println("Copyed object"); System.out.println(); s.display(); System.out.println(); System.out.println("Is the copy the same as the original?"); System.out.println( s.equal(m)); System.out.println(); System.out.println("Total"); System.out.println(s.sum()); System.out.println("Total with debugging"); System.out.println(s.sumWithDebugging()); @) (@ void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } @) (@ void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } @) (@ void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); universal_trv0_aft(_v_); } @) }