import demeter.*; class Person implements Cloneable { protected Ident personname; public Ident get_personname() { return personname; } public void set_personname(Ident new_personname) { personname = new_personname; } protected Person spouse; public Person get_spouse() { return spouse; } public void set_spouse(Person new_spouse) { spouse = new_spouse; } protected Person_NList siblings; public Person_NList get_siblings() { return siblings; } public void set_siblings(Person_NList new_siblings) { siblings = new_siblings; } Person() { super(); } public Person(Ident personname, Person spouse, Person_NList siblings) { super(); set_personname(personname); set_spouse(spouse); set_siblings(siblings); } public static Person parse(java.io.InputStream in) throws ParseError { return new Parser(in)._Person(); } public static Person parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseError e) { throw new RuntimeException(e.toString()); } } 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_); _v_.before_personname(this, personname); _v_.after_personname(this, personname); if (spouse != null) { _v_.before_spouse(this, spouse); spouse.universal_trv0(_v_); _v_.after_spouse(this, spouse); } if (siblings != null) { _v_.before_siblings(this, siblings); siblings.universal_trv0(_v_); _v_.after_siblings(this, siblings); } universal_trv0_aft(_v_); } }