diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag index 314eefb600d24ff32c7541f2cfc3b3c5ef7ede64..301db3260de3f2c35af91344e34e1c9bdd36dee3 100644 --- a/CompilerGeneration.jrag +++ b/CompilerGeneration.jrag @@ -100,6 +100,10 @@ aspect GenJavaCC { pStream.println(); pStream.println("void Element() : {}"); pStream.println("{"); + ListIterator<Element> iter = elementTypes().listIterator(); + while (iter.hasNext) { + pStream.println(" "+iter.next().name()+"()"); + } pStream.println(" "); pStream.println("}"); pStream.println(); @@ -107,6 +111,7 @@ aspect GenJavaCC { pStream.println("{"); pStream.println(" "); pStream.println("}"); + super.genJavaCC(pStream); } void XsElement.genJavaCC(PrintStream pStream) { @@ -121,6 +126,13 @@ aspect GenJavaCC { } +aspect Types { + syn LinkedList<XsElement> Element.elementTypes() { + return l; + } + +} + // aspect GenAspects { // public void Start.genAspects(PrintStream pStream) { // pStream.println();