core: import edu.neu.ccs.demeter.dj.*; import java.util.*; 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 boolean debug = false; }} public static void main(String args[]) throws Exception {{ Cd_graph graph = Cd_graph.parse( System.in ); graph.display(); System.out.println(""); System.out.println("--Undefined Classes Parts Check--"); graph.checkDefinedClasses(); System.out.println(""); System.out.println("--Unique Parts Check--"); graph.uniqueparts(); System.out.println("\n-----Flattening-----\n"); graph.flatten(); graph.display(); System.out.println(""); System.out.println("--Cyclic Inheritance--"); graph.cycle_check(); System.out.println(""); System.out.println("--Single Inheritance--"); // Gather abstract classes and their relatives HashMap Classes; Classes = graph.get_SuperClasses(); // Check for inheritence: this uses the hashmap isued graph.check_for_inheritence(Classes); // System.out.println("-----Terminal Buffer Check-----"); // graph.terminal_check(); System.out.println( "--Done!--" ); }} {{ 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_); } }} }