import demeter.Ident ; import java.lang.* ; import demeter.*; class Name implements java.util.Enumeration, Cloneable { protected Nonempty_Name first; public Nonempty_Name get_first() { return first; } public void set_first(Nonempty_Name new_first) { first = new_first; } Name() { super(); } public Name(Nonempty_Name first) { super(); set_first(first); } public static Name parse(java.io.InputStream in) throws ParseError { return new Parser(in)._Name(); } public static Name 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_first(this, first); first.universal_trv0(_v_); _v_.after_first(this, first); universal_trv0_aft(_v_); } void toall_trv1_bef(ClassVisitor v, MethodVisitor vv) { } void toall_trv1_aft(ClassVisitor v, MethodVisitor vv) { } void toall_trv1(ClassVisitor v, MethodVisitor vv) { toall_trv1_bef(v, vv); first.toall_trv1(v, vv); toall_trv1_aft(v, vv); } private Nonempty_Name tail; public void addElement(Identifier e) { checktail(); if (tail == null) {first = new Nonempty_Name(e,null); tail = first;} else {tail.set_next(new Nonempty_Name(e,null)); tail = tail.get_next();} } public void push(Identifier e) { first = new Nonempty_Name(e,first);} public java.util.Enumeration elements() { return new Name(first); } public int size() {int i= 0; for (java.util.Enumeration e=elements();e.hasMoreElements();i++) e.nextElement(); return i;} public boolean isEmpty() { return (first == null);} public boolean hasMoreElements() {return (first != null);} public Object nextElement() { Identifier car = first.get_it(); first = first.get_next(); return (Object) car; } private void checktail() { if ((tail == null) && (first !=null)) { tail = first; while (tail.get_next() != null) tail = tail.get_next();}} public boolean contains(Identifier e) {for (java.util.Enumeration en= this.elements(); en.hasMoreElements(); ) { if (e.equals((Identifier) en.nextElement())) return true; } return false; } }