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_) { ((UniversalVisitor) _v_).before(this); } }} {{ void universal_trv0_aft(UniversalVisitor _v_) { ((UniversalVisitor) _v_).after(this); } }} {{ void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); universal_trv0_aft(_v_); } }} }