import edu.neu.ccs.demeter.*; class Main { public 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_); } }