import edu.neu.ccs.demeter.*; class SummingVisitor extends UniversalVisitor { protected int total; public int get_total() { return total; } public void set_total(int new_total) { total = new_total; } public SummingVisitor(int total) { super(); set_total(total); } public static SummingVisitor parse(java.io.Reader in) throws ParseException { return new Parser(in)._SummingVisitor(); } public static SummingVisitor parse(java.io.InputStream in) throws ParseException { return new Parser(in)._SummingVisitor(); } public static SummingVisitor parse(String s) { try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } public SummingVisitor() { total = 0; } public void before(Quantity host) { System.out.println("sum " + total); total = total + host.get_number().intValue(); } int get_return_val() { return total ; } void universal_trv0_bef(UniversalVisitor _v_) { super.universal_trv0_bef(_v_); } void universal_trv0_aft(UniversalVisitor _v_) { super.universal_trv0_aft(_v_); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); super.universal_trv0(_v_); universal_trv0_aft(_v_); } }