OSDN Git Service

removed all files
[xerial/xerial-core.git] / src / main / java / org / xerial / silk / schema / impl / SilkSchemaParser.java
diff --git a/src/main/java/org/xerial/silk/schema/impl/SilkSchemaParser.java b/src/main/java/org/xerial/silk/schema/impl/SilkSchemaParser.java
deleted file mode 100755 (executable)
index 91b0bf0..0000000
+++ /dev/null
@@ -1,2679 +0,0 @@
-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkSchema.g 2009-07-08 19:54:25\r
-\r
-/*--------------------------------------------------------------------------\r
- *  Copyright 2009 Taro L. Saito\r
- *\r
- *  Licensed under the Apache License, Version 2.0 (the "License");\r
- *  you may not use this file except in compliance with the License.\r
- *  You may obtain a copy of the License at\r
- *\r
- *     http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- *  Unless required by applicable law or agreed to in writing, software\r
- *  distributed under the License is distributed on an "AS IS" BASIS,\r
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- *  See the License for the specific language governing permissions and\r
- *  limitations under the License.\r
- *--------------------------------------------------------------------------*/\r
-//--------------------------------------\r
-// XerialJ\r
-//\r
-// SilkSchemaParser.java\r
-// Since: Jun 23, 2009 1:00:02 PM\r
-//\r
-//--------------------------------------\r
-package org.xerial.silk.schema.impl;\r
-\r
-\r
-import org.antlr.runtime.*;\r
-import java.util.Stack;\r
-import java.util.List;\r
-import java.util.ArrayList;\r
-\r
-\r
-import org.antlr.runtime.tree.*;\r
-\r
-public class SilkSchemaParser extends Parser {\r
-    public static final String[] tokenNames = new String[] {\r
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Schema", "Module", "ClassDef", "Name", "Parent", "Mixin", "Attribute", "IsArray", "TypeName", "DefaultValue", "AllIncluded", "TargetClass", "Function", "Argument", "LineBreakChar", "Preamble", "LineComment", "LineBreak", "Digit", "Letter", "HexDigit", "UnicodeChar", "EscapeSequence", "StringChar", "StringChar_s", "String", "Integer", "Frac", "Exp", "Double", "LBrace", "RBrace", "LBracket", "RBracket", "Lt", "Dot", "Comma", "LParen", "RParen", "Star", "UnsafeUnicodeChar", "NonWhiteSpaceChar", "SymbolChars", "Symbol", "Class", "Includes", "End", "Relation", "Index", "BelongsTo", "Default", "Projection", "OrderBy", "On", "SafeFirstLetter", "SafeLetter", "ModuleName", "WhiteSpaces", "ModuleDef", "WhiteSpace", "QNameChar", "QName"\r
-    };\r
-    public static final int TargetClass=15;\r
-    public static final int Includes=49;\r
-    public static final int NonWhiteSpaceChar=45;\r
-    public static final int RBrace=35;\r
-    public static final int Class=48;\r
-    public static final int LBracket=36;\r
-    public static final int SymbolChars=46;\r
-    public static final int AllIncluded=14;\r
-    public static final int Digit=22;\r
-    public static final int Frac=31;\r
-    public static final int HexDigit=24;\r
-    public static final int Symbol=47;\r
-    public static final int OrderBy=56;\r
-    public static final int Default=54;\r
-    public static final int Argument=17;\r
-    public static final int On=57;\r
-    public static final int Index=52;\r
-    public static final int Module=5;\r
-    public static final int Letter=23;\r
-    public static final int Attribute=10;\r
-    public static final int Comma=40;\r
-    public static final int Schema=4;\r
-    public static final int Dot=39;\r
-    public static final int End=50;\r
-    public static final int EscapeSequence=26;\r
-    public static final int DefaultValue=13;\r
-    public static final int Integer=30;\r
-    public static final int Relation=51;\r
-    public static final int Mixin=9;\r
-    public static final int WhiteSpace=63;\r
-    public static final int ClassDef=6;\r
-    public static final int LineComment=20;\r
-    public static final int ModuleName=60;\r
-    public static final int Projection=55;\r
-    public static final int BelongsTo=53;\r
-    public static final int SafeFirstLetter=58;\r
-    public static final int Star=43;\r
-    public static final int Preamble=19;\r
-    public static final int Exp=32;\r
-    public static final int QNameChar=64;\r
-    public static final int RParen=42;\r
-    public static final int UnicodeChar=25;\r
-    public static final int StringChar=27;\r
-    public static final int LineBreak=21;\r
-    public static final int Function=16;\r
-    public static final int Name=7;\r
-    public static final int ModuleDef=62;\r
-    public static final int LParen=41;\r
-    public static final int String=29;\r
-    public static final int SafeLetter=59;\r
-    public static final int LineBreakChar=18;\r
-    public static final int IsArray=11;\r
-    public static final int QName=65;\r
-    public static final int EOF=-1;\r
-    public static final int StringChar_s=28;\r
-    public static final int UnsafeUnicodeChar=44;\r
-    public static final int Double=33;\r
-    public static final int LBrace=34;\r
-    public static final int RBracket=37;\r
-    public static final int Lt=38;\r
-    public static final int Parent=8;\r
-    public static final int TypeName=12;\r
-    public static final int WhiteSpaces=61;\r
-\r
-    // delegates\r
-    // delegators\r
-\r
-\r
-        public SilkSchemaParser(TokenStream input) {\r
-            this(input, new RecognizerSharedState());\r
-        }\r
-        public SilkSchemaParser(TokenStream input, RecognizerSharedState state) {\r
-            super(input, state);\r
-             \r
-        }\r
-        \r
-    protected TreeAdaptor adaptor = new CommonTreeAdaptor();\r
-\r
-    public void setTreeAdaptor(TreeAdaptor adaptor) {\r
-        this.adaptor = adaptor;\r
-    }\r
-    public TreeAdaptor getTreeAdaptor() {\r
-        return adaptor;\r
-    }\r
-\r
-    public String[] getTokenNames() { return SilkSchemaParser.tokenNames; }\r
-    public String getGrammarFileName() { return "SilkSchema.g"; }\r
-\r
-\r
-    public static class schema_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "schema"\r
-    // SilkSchema.g:193:1: schema : ( Preamble )? ( schemaElement )* -> ^( Schema ( Preamble )? ( schemaElement )* ) ;\r
-    public final SilkSchemaParser.schema_return schema() throws RecognitionException {\r
-        SilkSchemaParser.schema_return retval = new SilkSchemaParser.schema_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token Preamble1=null;\r
-        SilkSchemaParser.schemaElement_return schemaElement2 = null;\r
-\r
-\r
-        Object Preamble1_tree=null;\r
-        RewriteRuleTokenStream stream_Preamble=new RewriteRuleTokenStream(adaptor,"token Preamble");\r
-        RewriteRuleSubtreeStream stream_schemaElement=new RewriteRuleSubtreeStream(adaptor,"rule schemaElement");\r
-        try {\r
-            // SilkSchema.g:193:7: ( ( Preamble )? ( schemaElement )* -> ^( Schema ( Preamble )? ( schemaElement )* ) )\r
-            // SilkSchema.g:193:10: ( Preamble )? ( schemaElement )*\r
-            {\r
-            // SilkSchema.g:193:10: ( Preamble )?\r
-            int alt1=2;\r
-            int LA1_0 = input.LA(1);\r
-\r
-            if ( (LA1_0==Preamble) ) {\r
-                alt1=1;\r
-            }\r
-            switch (alt1) {\r
-                case 1 :\r
-                    // SilkSchema.g:193:10: Preamble\r
-                    {\r
-                    Preamble1=(Token)match(input,Preamble,FOLLOW_Preamble_in_schema879);  \r
-                    stream_Preamble.add(Preamble1);\r
-\r
-\r
-                    }\r
-                    break;\r
-\r
-            }\r
-\r
-            // SilkSchema.g:193:20: ( schemaElement )*\r
-            loop2:\r
-            do {\r
-                int alt2=2;\r
-                int LA2_0 = input.LA(1);\r
-\r
-                if ( (LA2_0==Class||LA2_0==Relation||LA2_0==Projection||LA2_0==ModuleDef) ) {\r
-                    alt2=1;\r
-                }\r
-\r
-\r
-                switch (alt2) {\r
-               case 1 :\r
-                   // SilkSchema.g:193:20: schemaElement\r
-                   {\r
-                   pushFollow(FOLLOW_schemaElement_in_schema882);\r
-                   schemaElement2=schemaElement();\r
-\r
-                   state._fsp--;\r
-\r
-                   stream_schemaElement.add(schemaElement2.getTree());\r
-\r
-                   }\r
-                   break;\r
-\r
-               default :\r
-                   break loop2;\r
-                }\r
-            } while (true);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: schemaElement, Preamble\r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 193:36: -> ^( Schema ( Preamble )? ( schemaElement )* )\r
-            {\r
-                // SilkSchema.g:193:39: ^( Schema ( Preamble )? ( schemaElement )* )\r
-                {\r
-                Object root_1 = (Object)adaptor.nil();\r
-                root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(Schema, "Schema"), root_1);\r
-\r
-                // SilkSchema.g:193:48: ( Preamble )?\r
-                if ( stream_Preamble.hasNext() ) {\r
-                    adaptor.addChild(root_1, stream_Preamble.nextNode());\r
-\r
-                }\r
-                stream_Preamble.reset();\r
-                // SilkSchema.g:193:58: ( schemaElement )*\r
-                while ( stream_schemaElement.hasNext() ) {\r
-                    adaptor.addChild(root_1, stream_schemaElement.nextTree());\r
-\r
-                }\r
-                stream_schemaElement.reset();\r
-\r
-                adaptor.addChild(root_0, root_1);\r
-                }\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "schema"\r
-\r
-    public static class schemaElement_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "schemaElement"\r
-    // SilkSchema.g:196:1: schemaElement : ( classDefinition | projectionDef | moduleDefinition );\r
-    public final SilkSchemaParser.schemaElement_return schemaElement() throws RecognitionException {\r
-        SilkSchemaParser.schemaElement_return retval = new SilkSchemaParser.schemaElement_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        SilkSchemaParser.classDefinition_return classDefinition3 = null;\r
-\r
-        SilkSchemaParser.projectionDef_return projectionDef4 = null;\r
-\r
-        SilkSchemaParser.moduleDefinition_return moduleDefinition5 = null;\r
-\r
-\r
-\r
-        try {\r
-            // SilkSchema.g:197:3: ( classDefinition | projectionDef | moduleDefinition )\r
-            int alt3=3;\r
-            switch ( input.LA(1) ) {\r
-            case Class:\r
-            case Relation:\r
-                {\r
-                alt3=1;\r
-                }\r
-                break;\r
-            case Projection:\r
-                {\r
-                alt3=2;\r
-                }\r
-                break;\r
-            case ModuleDef:\r
-                {\r
-                alt3=3;\r
-                }\r
-                break;\r
-            default:\r
-                NoViableAltException nvae =\r
-                    new NoViableAltException("", 3, 0, input);\r
-\r
-                throw nvae;\r
-            }\r
-\r
-            switch (alt3) {\r
-                case 1 :\r
-                    // SilkSchema.g:197:5: classDefinition\r
-                    {\r
-                    root_0 = (Object)adaptor.nil();\r
-\r
-                    pushFollow(FOLLOW_classDefinition_in_schemaElement910);\r
-                    classDefinition3=classDefinition();\r
-\r
-                    state._fsp--;\r
-\r
-                    adaptor.addChild(root_0, classDefinition3.getTree());\r
-\r
-                    }\r
-                    break;\r
-                case 2 :\r
-                    // SilkSchema.g:198:5: projectionDef\r
-                    {\r
-                    root_0 = (Object)adaptor.nil();\r
-\r
-                    pushFollow(FOLLOW_projectionDef_in_schemaElement917);\r
-                    projectionDef4=projectionDef();\r
-\r
-                    state._fsp--;\r
-\r
-                    adaptor.addChild(root_0, projectionDef4.getTree());\r
-\r
-                    }\r
-                    break;\r
-                case 3 :\r
-                    // SilkSchema.g:199:5: moduleDefinition\r
-                    {\r
-                    root_0 = (Object)adaptor.nil();\r
-\r
-                    pushFollow(FOLLOW_moduleDefinition_in_schemaElement923);\r
-                    moduleDefinition5=moduleDefinition();\r
-\r
-                    state._fsp--;\r
-\r
-                    adaptor.addChild(root_0, moduleDefinition5.getTree());\r
-\r
-                    }\r
-                    break;\r
-\r
-            }\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "schemaElement"\r
-\r
-    public static class moduleDefinition_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "moduleDefinition"\r
-    // SilkSchema.g:203:1: moduleDefinition : ModuleDef ( schemaElement )* End -> ^( Module Name[$ModuleDef.text] ( schemaElement )* ) ;\r
-    public final SilkSchemaParser.moduleDefinition_return moduleDefinition() throws RecognitionException {\r
-        SilkSchemaParser.moduleDefinition_return retval = new SilkSchemaParser.moduleDefinition_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token ModuleDef6=null;\r
-        Token End8=null;\r
-        SilkSchemaParser.schemaElement_return schemaElement7 = null;\r
-\r
-\r
-        Object ModuleDef6_tree=null;\r
-        Object End8_tree=null;\r
-        RewriteRuleTokenStream stream_End=new RewriteRuleTokenStream(adaptor,"token End");\r
-        RewriteRuleTokenStream stream_ModuleDef=new RewriteRuleTokenStream(adaptor,"token ModuleDef");\r
-        RewriteRuleSubtreeStream stream_schemaElement=new RewriteRuleSubtreeStream(adaptor,"rule schemaElement");\r
-        try {\r
-            // SilkSchema.g:203:17: ( ModuleDef ( schemaElement )* End -> ^( Module Name[$ModuleDef.text] ( schemaElement )* ) )\r
-            // SilkSchema.g:204:2: ModuleDef ( schemaElement )* End\r
-            {\r
-            ModuleDef6=(Token)match(input,ModuleDef,FOLLOW_ModuleDef_in_moduleDefinition935);  \r
-            stream_ModuleDef.add(ModuleDef6);\r
-\r
-            // SilkSchema.g:204:12: ( schemaElement )*\r
-            loop4:\r
-            do {\r
-                int alt4=2;\r
-                int LA4_0 = input.LA(1);\r
-\r
-                if ( (LA4_0==Class||LA4_0==Relation||LA4_0==Projection||LA4_0==ModuleDef) ) {\r
-                    alt4=1;\r
-                }\r
-\r
-\r
-                switch (alt4) {\r
-               case 1 :\r
-                   // SilkSchema.g:204:12: schemaElement\r
-                   {\r
-                   pushFollow(FOLLOW_schemaElement_in_moduleDefinition937);\r
-                   schemaElement7=schemaElement();\r
-\r
-                   state._fsp--;\r
-\r
-                   stream_schemaElement.add(schemaElement7.getTree());\r
-\r
-                   }\r
-                   break;\r
-\r
-               default :\r
-                   break loop4;\r
-                }\r
-            } while (true);\r
-\r
-            End8=(Token)match(input,End,FOLLOW_End_in_moduleDefinition940);  \r
-            stream_End.add(End8);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: schemaElement\r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 205:2: -> ^( Module Name[$ModuleDef.text] ( schemaElement )* )\r
-            {\r
-                // SilkSchema.g:205:5: ^( Module Name[$ModuleDef.text] ( schemaElement )* )\r
-                {\r
-                Object root_1 = (Object)adaptor.nil();\r
-                root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(Module, "Module"), root_1);\r
-\r
-                adaptor.addChild(root_1, (Object)adaptor.create(Name, (ModuleDef6!=null?ModuleDef6.getText():null)));\r
-                // SilkSchema.g:205:36: ( schemaElement )*\r
-                while ( stream_schemaElement.hasNext() ) {\r
-                    adaptor.addChild(root_1, stream_schemaElement.nextTree());\r
-\r
-                }\r
-                stream_schemaElement.reset();\r
-\r
-                adaptor.addChild(root_0, root_1);\r
-                }\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "moduleDefinition"\r
-\r
-    public static class classDefinition_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "classDefinition"\r
-    // SilkSchema.g:208:1: classDefinition : ( Class QName ( inheritance )? ( classBody )? End -> ^( ClassDef Name[$QName.text] ( inheritance )? ( classBody )? ) | Relation QName ( inheritance )? ( classBody )? End -> ^( Relation Name[$QName.text] ( inheritance )? ( classBody )? ) );\r
-    public final SilkSchemaParser.classDefinition_return classDefinition() throws RecognitionException {\r
-        SilkSchemaParser.classDefinition_return retval = new SilkSchemaParser.classDefinition_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token Class9=null;\r
-        Token QName10=null;\r
-        Token End13=null;\r
-        Token Relation14=null;\r
-        Token QName15=null;\r
-        Token End18=null;\r
-        SilkSchemaParser.inheritance_return inheritance11 = null;\r
-\r
-        SilkSchemaParser.classBody_return classBody12 = null;\r
-\r
-        SilkSchemaParser.inheritance_return inheritance16 = null;\r
-\r
-        SilkSchemaParser.classBody_return classBody17 = null;\r
-\r
-\r
-        Object Class9_tree=null;\r
-        Object QName10_tree=null;\r
-        Object End13_tree=null;\r
-        Object Relation14_tree=null;\r
-        Object QName15_tree=null;\r
-        Object End18_tree=null;\r
-        RewriteRuleTokenStream stream_Relation=new RewriteRuleTokenStream(adaptor,"token Relation");\r
-        RewriteRuleTokenStream stream_Class=new RewriteRuleTokenStream(adaptor,"token Class");\r
-        RewriteRuleTokenStream stream_End=new RewriteRuleTokenStream(adaptor,"token End");\r
-        RewriteRuleTokenStream stream_QName=new RewriteRuleTokenStream(adaptor,"token QName");\r
-        RewriteRuleSubtreeStream stream_classBody=new RewriteRuleSubtreeStream(adaptor,"rule classBody");\r
-        RewriteRuleSubtreeStream stream_inheritance=new RewriteRuleSubtreeStream(adaptor,"rule inheritance");\r
-        try {\r
-            // SilkSchema.g:209:3: ( Class QName ( inheritance )? ( classBody )? End -> ^( ClassDef Name[$QName.text] ( inheritance )? ( classBody )? ) | Relation QName ( inheritance )? ( classBody )? End -> ^( Relation Name[$QName.text] ( inheritance )? ( classBody )? ) )\r
-            int alt9=2;\r
-            int LA9_0 = input.LA(1);\r
-\r
-            if ( (LA9_0==Class) ) {\r
-                alt9=1;\r
-            }\r
-            else if ( (LA9_0==Relation) ) {\r
-                alt9=2;\r
-            }\r
-            else {\r
-                NoViableAltException nvae =\r
-                    new NoViableAltException("", 9, 0, input);\r
-\r
-                throw nvae;\r
-            }\r
-            switch (alt9) {\r
-                case 1 :\r
-                    // SilkSchema.g:209:5: Class QName ( inheritance )? ( classBody )? End\r
-                    {\r
-                    Class9=(Token)match(input,Class,FOLLOW_Class_in_classDefinition972);  \r
-                    stream_Class.add(Class9);\r
-\r
-                    QName10=(Token)match(input,QName,FOLLOW_QName_in_classDefinition974);  \r
-                    stream_QName.add(QName10);\r
-\r
-                    // SilkSchema.g:209:17: ( inheritance )?\r
-                    int alt5=2;\r
-                    int LA5_0 = input.LA(1);\r
-\r
-                    if ( (LA5_0==Lt) ) {\r
-                        alt5=1;\r
-                    }\r
-                    switch (alt5) {\r
-                        case 1 :\r
-                            // SilkSchema.g:209:17: inheritance\r
-                            {\r
-                            pushFollow(FOLLOW_inheritance_in_classDefinition976);\r
-                            inheritance11=inheritance();\r
-\r
-                            state._fsp--;\r
-\r
-                            stream_inheritance.add(inheritance11.getTree());\r
-\r
-                            }\r
-                            break;\r
-\r
-                    }\r
-\r
-                    // SilkSchema.g:209:30: ( classBody )?\r
-                    int alt6=2;\r
-                    int LA6_0 = input.LA(1);\r
-\r
-                    if ( (LA6_0==Symbol||LA6_0==Includes||(LA6_0>=Index && LA6_0<=BelongsTo)) ) {\r
-                        alt6=1;\r
-                    }\r
-                    switch (alt6) {\r
-                        case 1 :\r
-                            // SilkSchema.g:209:30: classBody\r
-                            {\r
-                            pushFollow(FOLLOW_classBody_in_classDefinition979);\r
-                            classBody12=classBody();\r
-\r
-                            state._fsp--;\r
-\r
-                            stream_classBody.add(classBody12.getTree());\r
-\r
-                            }\r
-                            break;\r
-\r
-                    }\r
-\r
-                    End13=(Token)match(input,End,FOLLOW_End_in_classDefinition982);  \r
-                    stream_End.add(End13);\r
-\r
-\r
-\r
-                    // AST REWRITE\r
-                    // elements: inheritance, classBody\r
-                    // token labels: \r
-                    // rule labels: retval\r
-                    // token list labels: \r
-                    // rule list labels: \r
-                    // wildcard labels: \r
-                    retval.tree = root_0;\r
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-                    root_0 = (Object)adaptor.nil();\r
-                    // 209:45: -> ^( ClassDef Name[$QName.text] ( inheritance )? ( classBody )? )\r
-                    {\r
-                        // SilkSchema.g:209:48: ^( ClassDef Name[$QName.text] ( inheritance )? ( classBody )? )\r
-                        {\r
-                        Object root_1 = (Object)adaptor.nil();\r
-                        root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(ClassDef, "ClassDef"), root_1);\r
-\r
-                        adaptor.addChild(root_1, (Object)adaptor.create(Name, (QName10!=null?QName10.getText():null)));\r
-                        // SilkSchema.g:209:77: ( inheritance )?\r
-                        if ( stream_inheritance.hasNext() ) {\r
-                            adaptor.addChild(root_1, stream_inheritance.nextTree());\r
-\r
-                        }\r
-                        stream_inheritance.reset();\r
-                        // SilkSchema.g:209:90: ( classBody )?\r
-                        if ( stream_classBody.hasNext() ) {\r
-                            adaptor.addChild(root_1, stream_classBody.nextTree());\r
-\r
-                        }\r
-                        stream_classBody.reset();\r
-\r
-                        adaptor.addChild(root_0, root_1);\r
-                        }\r
-\r
-                    }\r
-\r
-                    retval.tree = root_0;\r
-                    }\r
-                    break;\r
-                case 2 :\r
-                    // SilkSchema.g:210:7: Relation QName ( inheritance )? ( classBody )? End\r
-                    {\r
-                    Relation14=(Token)match(input,Relation,FOLLOW_Relation_in_classDefinition1005);  \r
-                    stream_Relation.add(Relation14);\r
-\r
-                    QName15=(Token)match(input,QName,FOLLOW_QName_in_classDefinition1007);  \r
-                    stream_QName.add(QName15);\r
-\r
-                    // SilkSchema.g:210:22: ( inheritance )?\r
-                    int alt7=2;\r
-                    int LA7_0 = input.LA(1);\r
-\r
-                    if ( (LA7_0==Lt) ) {\r
-                        alt7=1;\r
-                    }\r
-                    switch (alt7) {\r
-                        case 1 :\r
-                            // SilkSchema.g:210:22: inheritance\r
-                            {\r
-                            pushFollow(FOLLOW_inheritance_in_classDefinition1009);\r
-                            inheritance16=inheritance();\r
-\r
-                            state._fsp--;\r
-\r
-                            stream_inheritance.add(inheritance16.getTree());\r
-\r
-                            }\r
-                            break;\r
-\r
-                    }\r
-\r
-                    // SilkSchema.g:210:35: ( classBody )?\r
-                    int alt8=2;\r
-                    int LA8_0 = input.LA(1);\r
-\r
-                    if ( (LA8_0==Symbol||LA8_0==Includes||(LA8_0>=Index && LA8_0<=BelongsTo)) ) {\r
-                        alt8=1;\r
-                    }\r
-                    switch (alt8) {\r
-                        case 1 :\r
-                            // SilkSchema.g:210:35: classBody\r
-                            {\r
-                            pushFollow(FOLLOW_classBody_in_classDefinition1012);\r
-                            classBody17=classBody();\r
-\r
-                            state._fsp--;\r
-\r
-                            stream_classBody.add(classBody17.getTree());\r
-\r
-                            }\r
-                            break;\r
-\r
-                    }\r
-\r
-                    End18=(Token)match(input,End,FOLLOW_End_in_classDefinition1015);  \r
-                    stream_End.add(End18);\r
-\r
-\r
-\r
-                    // AST REWRITE\r
-                    // elements: Relation, classBody, inheritance\r
-                    // token labels: \r
-                    // rule labels: retval\r
-                    // token list labels: \r
-                    // rule list labels: \r
-                    // wildcard labels: \r
-                    retval.tree = root_0;\r
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-                    root_0 = (Object)adaptor.nil();\r
-                    // 210:50: -> ^( Relation Name[$QName.text] ( inheritance )? ( classBody )? )\r
-                    {\r
-                        // SilkSchema.g:210:53: ^( Relation Name[$QName.text] ( inheritance )? ( classBody )? )\r
-                        {\r
-                        Object root_1 = (Object)adaptor.nil();\r
-                        root_1 = (Object)adaptor.becomeRoot(stream_Relation.nextNode(), root_1);\r
-\r
-                        adaptor.addChild(root_1, (Object)adaptor.create(Name, (QName15!=null?QName15.getText():null)));\r
-                        // SilkSchema.g:210:82: ( inheritance )?\r
-                        if ( stream_inheritance.hasNext() ) {\r
-                            adaptor.addChild(root_1, stream_inheritance.nextTree());\r
-\r
-                        }\r
-                        stream_inheritance.reset();\r
-                        // SilkSchema.g:210:95: ( classBody )?\r
-                        if ( stream_classBody.hasNext() ) {\r
-                            adaptor.addChild(root_1, stream_classBody.nextTree());\r
-\r
-                        }\r
-                        stream_classBody.reset();\r
-\r
-                        adaptor.addChild(root_0, root_1);\r
-                        }\r
-\r
-                    }\r
-\r
-                    retval.tree = root_0;\r
-                    }\r
-                    break;\r
-\r
-            }\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "classDefinition"\r
-\r
-    public static class classBody_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "classBody"\r
-    // SilkSchema.g:213:1: classBody : ( belongsToStatement | includeStatement | attributes | indexStatement )+ ;\r
-    public final SilkSchemaParser.classBody_return classBody() throws RecognitionException {\r
-        SilkSchemaParser.classBody_return retval = new SilkSchemaParser.classBody_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        SilkSchemaParser.belongsToStatement_return belongsToStatement19 = null;\r
-\r
-        SilkSchemaParser.includeStatement_return includeStatement20 = null;\r
-\r
-        SilkSchemaParser.attributes_return attributes21 = null;\r
-\r
-        SilkSchemaParser.indexStatement_return indexStatement22 = null;\r
-\r
-\r
-\r
-        try {\r
-            // SilkSchema.g:213:10: ( ( belongsToStatement | includeStatement | attributes | indexStatement )+ )\r
-            // SilkSchema.g:213:12: ( belongsToStatement | includeStatement | attributes | indexStatement )+\r
-            {\r
-            root_0 = (Object)adaptor.nil();\r
-\r
-            // SilkSchema.g:213:12: ( belongsToStatement | includeStatement | attributes | indexStatement )+\r
-            int cnt10=0;\r
-            loop10:\r
-            do {\r
-                int alt10=5;\r
-                switch ( input.LA(1) ) {\r
-                case BelongsTo:\r
-                    {\r
-                    alt10=1;\r
-                    }\r
-                    break;\r
-                case Includes:\r
-                    {\r
-                    alt10=2;\r
-                    }\r
-                    break;\r
-                case Symbol:\r
-                    {\r
-                    alt10=3;\r
-                    }\r
-                    break;\r
-                case Index:\r
-                    {\r
-                    alt10=4;\r
-                    }\r
-                    break;\r
-\r
-                }\r
-\r
-                switch (alt10) {\r
-               case 1 :\r
-                   // SilkSchema.g:213:13: belongsToStatement\r
-                   {\r
-                   pushFollow(FOLLOW_belongsToStatement_in_classBody1044);\r
-                   belongsToStatement19=belongsToStatement();\r
-\r
-                   state._fsp--;\r
-\r
-                   adaptor.addChild(root_0, belongsToStatement19.getTree());\r
-\r
-                   }\r
-                   break;\r
-               case 2 :\r
-                   // SilkSchema.g:213:34: includeStatement\r
-                   {\r
-                   pushFollow(FOLLOW_includeStatement_in_classBody1048);\r
-                   includeStatement20=includeStatement();\r
-\r
-                   state._fsp--;\r
-\r
-                   adaptor.addChild(root_0, includeStatement20.getTree());\r
-\r
-                   }\r
-                   break;\r
-               case 3 :\r
-                   // SilkSchema.g:213:53: attributes\r
-                   {\r
-                   pushFollow(FOLLOW_attributes_in_classBody1052);\r
-                   attributes21=attributes();\r
-\r
-                   state._fsp--;\r
-\r
-                   adaptor.addChild(root_0, attributes21.getTree());\r
-\r
-                   }\r
-                   break;\r
-               case 4 :\r
-                   // SilkSchema.g:213:66: indexStatement\r
-                   {\r
-                   pushFollow(FOLLOW_indexStatement_in_classBody1056);\r
-                   indexStatement22=indexStatement();\r
-\r
-                   state._fsp--;\r
-\r
-                   adaptor.addChild(root_0, indexStatement22.getTree());\r
-\r
-                   }\r
-                   break;\r
-\r
-               default :\r
-                   if ( cnt10 >= 1 ) break loop10;\r
-                        EarlyExitException eee =\r
-                            new EarlyExitException(10, input);\r
-                        throw eee;\r
-                }\r
-                cnt10++;\r
-            } while (true);\r
-\r
-\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "classBody"\r
-\r
-    public static class projectionDef_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "projectionDef"\r
-    // SilkSchema.g:216:1: projectionDef : Projection c= QName 'on' t= QName ( projectColumn ( ( Comma )? projectColumn )* ) ( orderByColumns )? End -> ^( Projection Name[$c.text] TargetClass[$t.text] ( projectColumn )+ ( orderByColumns )? ) ;\r
-    public final SilkSchemaParser.projectionDef_return projectionDef() throws RecognitionException {\r
-        SilkSchemaParser.projectionDef_return retval = new SilkSchemaParser.projectionDef_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token c=null;\r
-        Token t=null;\r
-        Token Projection23=null;\r
-        Token string_literal24=null;\r
-        Token Comma26=null;\r
-        Token End29=null;\r
-        SilkSchemaParser.projectColumn_return projectColumn25 = null;\r
-\r
-        SilkSchemaParser.projectColumn_return projectColumn27 = null;\r
-\r
-        SilkSchemaParser.orderByColumns_return orderByColumns28 = null;\r
-\r
-\r
-        Object c_tree=null;\r
-        Object t_tree=null;\r
-        Object Projection23_tree=null;\r
-        Object string_literal24_tree=null;\r
-        Object Comma26_tree=null;\r
-        Object End29_tree=null;\r
-        RewriteRuleTokenStream stream_Projection=new RewriteRuleTokenStream(adaptor,"token Projection");\r
-        RewriteRuleTokenStream stream_Comma=new RewriteRuleTokenStream(adaptor,"token Comma");\r
-        RewriteRuleTokenStream stream_End=new RewriteRuleTokenStream(adaptor,"token End");\r
-        RewriteRuleTokenStream stream_QName=new RewriteRuleTokenStream(adaptor,"token QName");\r
-        RewriteRuleTokenStream stream_On=new RewriteRuleTokenStream(adaptor,"token On");\r
-        RewriteRuleSubtreeStream stream_projectColumn=new RewriteRuleSubtreeStream(adaptor,"rule projectColumn");\r
-        RewriteRuleSubtreeStream stream_orderByColumns=new RewriteRuleSubtreeStream(adaptor,"rule orderByColumns");\r
-        try {\r
-            // SilkSchema.g:216:14: ( Projection c= QName 'on' t= QName ( projectColumn ( ( Comma )? projectColumn )* ) ( orderByColumns )? End -> ^( Projection Name[$c.text] TargetClass[$t.text] ( projectColumn )+ ( orderByColumns )? ) )\r
-            // SilkSchema.g:216:16: Projection c= QName 'on' t= QName ( projectColumn ( ( Comma )? projectColumn )* ) ( orderByColumns )? End\r
-            {\r
-            Projection23=(Token)match(input,Projection,FOLLOW_Projection_in_projectionDef1066);  \r
-            stream_Projection.add(Projection23);\r
-\r
-            c=(Token)match(input,QName,FOLLOW_QName_in_projectionDef1070);  \r
-            stream_QName.add(c);\r
-\r
-            string_literal24=(Token)match(input,On,FOLLOW_On_in_projectionDef1072);  \r
-            stream_On.add(string_literal24);\r
-\r
-            t=(Token)match(input,QName,FOLLOW_QName_in_projectionDef1076);  \r
-            stream_QName.add(t);\r
-\r
-            // SilkSchema.g:216:48: ( projectColumn ( ( Comma )? projectColumn )* )\r
-            // SilkSchema.g:216:49: projectColumn ( ( Comma )? projectColumn )*\r
-            {\r
-            pushFollow(FOLLOW_projectColumn_in_projectionDef1079);\r
-            projectColumn25=projectColumn();\r
-\r
-            state._fsp--;\r
-\r
-            stream_projectColumn.add(projectColumn25.getTree());\r
-            // SilkSchema.g:216:63: ( ( Comma )? projectColumn )*\r
-            loop12:\r
-            do {\r
-                int alt12=2;\r
-                int LA12_0 = input.LA(1);\r
-\r
-                if ( (LA12_0==Comma||LA12_0==Star||LA12_0==Symbol||LA12_0==QName) ) {\r
-                    alt12=1;\r
-                }\r
-\r
-\r
-                switch (alt12) {\r
-               case 1 :\r
-                   // SilkSchema.g:216:64: ( Comma )? projectColumn\r
-                   {\r
-                   // SilkSchema.g:216:64: ( Comma )?\r
-                   int alt11=2;\r
-                   int LA11_0 = input.LA(1);\r
-\r
-                   if ( (LA11_0==Comma) ) {\r
-                       alt11=1;\r
-                   }\r
-                   switch (alt11) {\r
-                       case 1 :\r
-                           // SilkSchema.g:216:64: Comma\r
-                           {\r
-                           Comma26=(Token)match(input,Comma,FOLLOW_Comma_in_projectionDef1082);  \r
-                           stream_Comma.add(Comma26);\r
-\r
-\r
-                           }\r
-                           break;\r
-\r
-                   }\r
-\r
-                   pushFollow(FOLLOW_projectColumn_in_projectionDef1085);\r
-                   projectColumn27=projectColumn();\r
-\r
-                   state._fsp--;\r
-\r
-                   stream_projectColumn.add(projectColumn27.getTree());\r
-\r
-                   }\r
-                   break;\r
-\r
-               default :\r
-                   break loop12;\r
-                }\r
-            } while (true);\r
-\r
-\r
-            }\r
-\r
-            // SilkSchema.g:216:88: ( orderByColumns )?\r
-            int alt13=2;\r
-            int LA13_0 = input.LA(1);\r
-\r
-            if ( (LA13_0==OrderBy) ) {\r
-                alt13=1;\r
-            }\r
-            switch (alt13) {\r
-                case 1 :\r
-                    // SilkSchema.g:216:88: orderByColumns\r
-                    {\r
-                    pushFollow(FOLLOW_orderByColumns_in_projectionDef1090);\r
-                    orderByColumns28=orderByColumns();\r
-\r
-                    state._fsp--;\r
-\r
-                    stream_orderByColumns.add(orderByColumns28.getTree());\r
-\r
-                    }\r
-                    break;\r
-\r
-            }\r
-\r
-            End29=(Token)match(input,End,FOLLOW_End_in_projectionDef1093);  \r
-            stream_End.add(End29);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: orderByColumns, Projection, projectColumn\r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 217:2: -> ^( Projection Name[$c.text] TargetClass[$t.text] ( projectColumn )+ ( orderByColumns )? )\r
-            {\r
-                // SilkSchema.g:217:5: ^( Projection Name[$c.text] TargetClass[$t.text] ( projectColumn )+ ( orderByColumns )? )\r
-                {\r
-                Object root_1 = (Object)adaptor.nil();\r
-                root_1 = (Object)adaptor.becomeRoot(stream_Projection.nextNode(), root_1);\r
-\r
-                adaptor.addChild(root_1, (Object)adaptor.create(Name, (c!=null?c.getText():null)));\r
-                adaptor.addChild(root_1, (Object)adaptor.create(TargetClass, (t!=null?t.getText():null)));\r
-                if ( !(stream_projectColumn.hasNext()) ) {\r
-                    throw new RewriteEarlyExitException();\r
-                }\r
-                while ( stream_projectColumn.hasNext() ) {\r
-                    adaptor.addChild(root_1, stream_projectColumn.nextTree());\r
-\r
-                }\r
-                stream_projectColumn.reset();\r
-                // SilkSchema.g:217:68: ( orderByColumns )?\r
-                if ( stream_orderByColumns.hasNext() ) {\r
-                    adaptor.addChild(root_1, stream_orderByColumns.nextTree());\r
-\r
-                }\r
-                stream_orderByColumns.reset();\r
-\r
-                adaptor.addChild(root_0, root_1);\r
-                }\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "projectionDef"\r
-\r
-    public static class projectColumn_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "projectColumn"\r
-    // SilkSchema.g:219:1: fragment projectColumn : ( QName -> Attribute[$QName.text] | Star -> AllIncluded[\"true\"] | Symbol -> Attribute[$Symbol.text] );\r
-    public final SilkSchemaParser.projectColumn_return projectColumn() throws RecognitionException {\r
-        SilkSchemaParser.projectColumn_return retval = new SilkSchemaParser.projectColumn_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token QName30=null;\r
-        Token Star31=null;\r
-        Token Symbol32=null;\r
-\r
-        Object QName30_tree=null;\r
-        Object Star31_tree=null;\r
-        Object Symbol32_tree=null;\r
-        RewriteRuleTokenStream stream_Symbol=new RewriteRuleTokenStream(adaptor,"token Symbol");\r
-        RewriteRuleTokenStream stream_Star=new RewriteRuleTokenStream(adaptor,"token Star");\r
-        RewriteRuleTokenStream stream_QName=new RewriteRuleTokenStream(adaptor,"token QName");\r
-\r
-        try {\r
-            // SilkSchema.g:221:3: ( QName -> Attribute[$QName.text] | Star -> AllIncluded[\"true\"] | Symbol -> Attribute[$Symbol.text] )\r
-            int alt14=3;\r
-            switch ( input.LA(1) ) {\r
-            case QName:\r
-                {\r
-                alt14=1;\r
-                }\r
-                break;\r
-            case Star:\r
-                {\r
-                alt14=2;\r
-                }\r
-                break;\r
-            case Symbol:\r
-                {\r
-                alt14=3;\r
-                }\r
-                break;\r
-            default:\r
-                NoViableAltException nvae =\r
-                    new NoViableAltException("", 14, 0, input);\r
-\r
-                throw nvae;\r
-            }\r
-\r
-            switch (alt14) {\r
-                case 1 :\r
-                    // SilkSchema.g:221:5: QName\r
-                    {\r
-                    QName30=(Token)match(input,QName,FOLLOW_QName_in_projectColumn1125);  \r
-                    stream_QName.add(QName30);\r
-\r
-\r
-\r
-                    // AST REWRITE\r
-                    // elements: \r
-                    // token labels: \r
-                    // rule labels: retval\r
-                    // token list labels: \r
-                    // rule list labels: \r
-                    // wildcard labels: \r
-                    retval.tree = root_0;\r
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-                    root_0 = (Object)adaptor.nil();\r
-                    // 221:12: -> Attribute[$QName.text]\r
-                    {\r
-                        adaptor.addChild(root_0, (Object)adaptor.create(Attribute, (QName30!=null?QName30.getText():null)));\r
-\r
-                    }\r
-\r
-                    retval.tree = root_0;\r
-                    }\r
-                    break;\r
-                case 2 :\r
-                    // SilkSchema.g:222:5: Star\r
-                    {\r
-                    Star31=(Token)match(input,Star,FOLLOW_Star_in_projectColumn1137);  \r
-                    stream_Star.add(Star31);\r
-\r
-\r
-\r
-                    // AST REWRITE\r
-                    // elements: \r
-                    // token labels: \r
-                    // rule labels: retval\r
-                    // token list labels: \r
-                    // rule list labels: \r
-                    // wildcard labels: \r
-                    retval.tree = root_0;\r
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-                    root_0 = (Object)adaptor.nil();\r
-                    // 222:10: -> AllIncluded[\"true\"]\r
-                    {\r
-                        adaptor.addChild(root_0, (Object)adaptor.create(AllIncluded, "true"));\r
-\r
-                    }\r
-\r
-                    retval.tree = root_0;\r
-                    }\r
-                    break;\r
-                case 3 :\r
-                    // SilkSchema.g:223:5: Symbol\r
-                    {\r
-                    Symbol32=(Token)match(input,Symbol,FOLLOW_Symbol_in_projectColumn1149);  \r
-                    stream_Symbol.add(Symbol32);\r
-\r
-\r
-\r
-                    // AST REWRITE\r
-                    // elements: \r
-                    // token labels: \r
-                    // rule labels: retval\r
-                    // token list labels: \r
-                    // rule list labels: \r
-                    // wildcard labels: \r
-                    retval.tree = root_0;\r
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-                    root_0 = (Object)adaptor.nil();\r
-                    // 223:12: -> Attribute[$Symbol.text]\r
-                    {\r
-                        adaptor.addChild(root_0, (Object)adaptor.create(Attribute, (Symbol32!=null?Symbol32.getText():null)));\r
-\r
-                    }\r
-\r
-                    retval.tree = root_0;\r
-                    }\r
-                    break;\r
-\r
-            }\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "projectColumn"\r
-\r
-    public static class orderByColumns_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "orderByColumns"\r
-    // SilkSchema.g:226:1: fragment orderByColumns : OrderBy orderByItem ( Comma orderByItem )* -> ( orderByItem )+ ;\r
-    public final SilkSchemaParser.orderByColumns_return orderByColumns() throws RecognitionException {\r
-        SilkSchemaParser.orderByColumns_return retval = new SilkSchemaParser.orderByColumns_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token OrderBy33=null;\r
-        Token Comma35=null;\r
-        SilkSchemaParser.orderByItem_return orderByItem34 = null;\r
-\r
-        SilkSchemaParser.orderByItem_return orderByItem36 = null;\r
-\r
-\r
-        Object OrderBy33_tree=null;\r
-        Object Comma35_tree=null;\r
-        RewriteRuleTokenStream stream_OrderBy=new RewriteRuleTokenStream(adaptor,"token OrderBy");\r
-        RewriteRuleTokenStream stream_Comma=new RewriteRuleTokenStream(adaptor,"token Comma");\r
-        RewriteRuleSubtreeStream stream_orderByItem=new RewriteRuleSubtreeStream(adaptor,"rule orderByItem");\r
-        try {\r
-            // SilkSchema.g:228:3: ( OrderBy orderByItem ( Comma orderByItem )* -> ( orderByItem )+ )\r
-            // SilkSchema.g:228:5: OrderBy orderByItem ( Comma orderByItem )*\r
-            {\r
-            OrderBy33=(Token)match(input,OrderBy,FOLLOW_OrderBy_in_orderByColumns1167);  \r
-            stream_OrderBy.add(OrderBy33);\r
-\r
-            pushFollow(FOLLOW_orderByItem_in_orderByColumns1169);\r
-            orderByItem34=orderByItem();\r
-\r
-            state._fsp--;\r
-\r
-            stream_orderByItem.add(orderByItem34.getTree());\r
-            // SilkSchema.g:228:25: ( Comma orderByItem )*\r
-            loop15:\r
-            do {\r
-                int alt15=2;\r
-                int LA15_0 = input.LA(1);\r
-\r
-                if ( (LA15_0==Comma) ) {\r
-                    alt15=1;\r
-                }\r
-\r
-\r
-                switch (alt15) {\r
-               case 1 :\r
-                   // SilkSchema.g:228:26: Comma orderByItem\r
-                   {\r
-                   Comma35=(Token)match(input,Comma,FOLLOW_Comma_in_orderByColumns1172);  \r
-                   stream_Comma.add(Comma35);\r
-\r
-                   pushFollow(FOLLOW_orderByItem_in_orderByColumns1174);\r
-                   orderByItem36=orderByItem();\r
-\r
-                   state._fsp--;\r
-\r
-                   stream_orderByItem.add(orderByItem36.getTree());\r
-\r
-                   }\r
-                   break;\r
-\r
-               default :\r
-                   break loop15;\r
-                }\r
-            } while (true);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: orderByItem\r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 228:46: -> ( orderByItem )+\r
-            {\r
-                if ( !(stream_orderByItem.hasNext()) ) {\r
-                    throw new RewriteEarlyExitException();\r
-                }\r
-                while ( stream_orderByItem.hasNext() ) {\r
-                    adaptor.addChild(root_0, stream_orderByItem.nextTree());\r
-\r
-                }\r
-                stream_orderByItem.reset();\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "orderByColumns"\r
-\r
-    public static class orderByItem_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "orderByItem"\r
-    // SilkSchema.g:231:1: fragment orderByItem : ( QName -> OrderBy[$QName.text] | Symbol -> OrderBy[$Symbol.text] );\r
-    public final SilkSchemaParser.orderByItem_return orderByItem() throws RecognitionException {\r
-        SilkSchemaParser.orderByItem_return retval = new SilkSchemaParser.orderByItem_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token QName37=null;\r
-        Token Symbol38=null;\r
-\r
-        Object QName37_tree=null;\r
-        Object Symbol38_tree=null;\r
-        RewriteRuleTokenStream stream_Symbol=new RewriteRuleTokenStream(adaptor,"token Symbol");\r
-        RewriteRuleTokenStream stream_QName=new RewriteRuleTokenStream(adaptor,"token QName");\r
-\r
-        try {\r
-            // SilkSchema.g:233:3: ( QName -> OrderBy[$QName.text] | Symbol -> OrderBy[$Symbol.text] )\r
-            int alt16=2;\r
-            int LA16_0 = input.LA(1);\r
-\r
-            if ( (LA16_0==QName) ) {\r
-                alt16=1;\r
-            }\r
-            else if ( (LA16_0==Symbol) ) {\r
-                alt16=2;\r
-            }\r
-            else {\r
-                NoViableAltException nvae =\r
-                    new NoViableAltException("", 16, 0, input);\r
-\r
-                throw nvae;\r
-            }\r
-            switch (alt16) {\r
-                case 1 :\r
-                    // SilkSchema.g:233:5: QName\r
-                    {\r
-                    QName37=(Token)match(input,QName,FOLLOW_QName_in_orderByItem1194);  \r
-                    stream_QName.add(QName37);\r
-\r
-\r
-\r
-                    // AST REWRITE\r
-                    // elements: \r
-                    // token labels: \r
-                    // rule labels: retval\r
-                    // token list labels: \r
-                    // rule list labels: \r
-                    // wildcard labels: \r
-                    retval.tree = root_0;\r
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-                    root_0 = (Object)adaptor.nil();\r
-                    // 233:11: -> OrderBy[$QName.text]\r
-                    {\r
-                        adaptor.addChild(root_0, (Object)adaptor.create(OrderBy, (QName37!=null?QName37.getText():null)));\r
-\r
-                    }\r
-\r
-                    retval.tree = root_0;\r
-                    }\r
-                    break;\r
-                case 2 :\r
-                    // SilkSchema.g:234:5: Symbol\r
-                    {\r
-                    Symbol38=(Token)match(input,Symbol,FOLLOW_Symbol_in_orderByItem1206);  \r
-                    stream_Symbol.add(Symbol38);\r
-\r
-\r
-\r
-                    // AST REWRITE\r
-                    // elements: \r
-                    // token labels: \r
-                    // rule labels: retval\r
-                    // token list labels: \r
-                    // rule list labels: \r
-                    // wildcard labels: \r
-                    retval.tree = root_0;\r
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-                    root_0 = (Object)adaptor.nil();\r
-                    // 234:12: -> OrderBy[$Symbol.text]\r
-                    {\r
-                        adaptor.addChild(root_0, (Object)adaptor.create(OrderBy, (Symbol38!=null?Symbol38.getText():null)));\r
-\r
-                    }\r
-\r
-                    retval.tree = root_0;\r
-                    }\r
-                    break;\r
-\r
-            }\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "orderByItem"\r
-\r
-    public static class functionArg_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "functionArg"\r
-    // SilkSchema.g:238:1: fragment functionArg : Symbol -> Argument[$Symbol.text] ;\r
-    public final SilkSchemaParser.functionArg_return functionArg() throws RecognitionException {\r
-        SilkSchemaParser.functionArg_return retval = new SilkSchemaParser.functionArg_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token Symbol39=null;\r
-\r
-        Object Symbol39_tree=null;\r
-        RewriteRuleTokenStream stream_Symbol=new RewriteRuleTokenStream(adaptor,"token Symbol");\r
-\r
-        try {\r
-            // SilkSchema.g:239:12: ( Symbol -> Argument[$Symbol.text] )\r
-            // SilkSchema.g:239:14: Symbol\r
-            {\r
-            Symbol39=(Token)match(input,Symbol,FOLLOW_Symbol_in_functionArg1222);  \r
-            stream_Symbol.add(Symbol39);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: \r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 239:21: -> Argument[$Symbol.text]\r
-            {\r
-                adaptor.addChild(root_0, (Object)adaptor.create(Argument, (Symbol39!=null?Symbol39.getText():null)));\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "functionArg"\r
-\r
-    public static class belongsToStatement_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "belongsToStatement"\r
-    // SilkSchema.g:242:1: fragment belongsToStatement : BelongsTo QName -> BelongsTo[$QName.text] ;\r
-    public final SilkSchemaParser.belongsToStatement_return belongsToStatement() throws RecognitionException {\r
-        SilkSchemaParser.belongsToStatement_return retval = new SilkSchemaParser.belongsToStatement_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token BelongsTo40=null;\r
-        Token QName41=null;\r
-\r
-        Object BelongsTo40_tree=null;\r
-        Object QName41_tree=null;\r
-        RewriteRuleTokenStream stream_BelongsTo=new RewriteRuleTokenStream(adaptor,"token BelongsTo");\r
-        RewriteRuleTokenStream stream_QName=new RewriteRuleTokenStream(adaptor,"token QName");\r
-\r
-        try {\r
-            // SilkSchema.g:243:19: ( BelongsTo QName -> BelongsTo[$QName.text] )\r
-            // SilkSchema.g:243:21: BelongsTo QName\r
-            {\r
-            BelongsTo40=(Token)match(input,BelongsTo,FOLLOW_BelongsTo_in_belongsToStatement1238);  \r
-            stream_BelongsTo.add(BelongsTo40);\r
-\r
-            QName41=(Token)match(input,QName,FOLLOW_QName_in_belongsToStatement1240);  \r
-            stream_QName.add(QName41);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: BelongsTo\r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 243:37: -> BelongsTo[$QName.text]\r
-            {\r
-                adaptor.addChild(root_0, (Object)adaptor.create(BelongsTo, (QName41!=null?QName41.getText():null)));\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "belongsToStatement"\r
-\r
-    public static class inheritance_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "inheritance"\r
-    // SilkSchema.g:245:1: fragment inheritance : Lt QName -> Parent[$QName.text] ;\r
-    public final SilkSchemaParser.inheritance_return inheritance() throws RecognitionException {\r
-        SilkSchemaParser.inheritance_return retval = new SilkSchemaParser.inheritance_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token Lt42=null;\r
-        Token QName43=null;\r
-\r
-        Object Lt42_tree=null;\r
-        Object QName43_tree=null;\r
-        RewriteRuleTokenStream stream_Lt=new RewriteRuleTokenStream(adaptor,"token Lt");\r
-        RewriteRuleTokenStream stream_QName=new RewriteRuleTokenStream(adaptor,"token QName");\r
-\r
-        try {\r
-            // SilkSchema.g:246:12: ( Lt QName -> Parent[$QName.text] )\r
-            // SilkSchema.g:246:14: Lt QName\r
-            {\r
-            Lt42=(Token)match(input,Lt,FOLLOW_Lt_in_inheritance1258);  \r
-            stream_Lt.add(Lt42);\r
-\r
-            QName43=(Token)match(input,QName,FOLLOW_QName_in_inheritance1260);  \r
-            stream_QName.add(QName43);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: \r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 246:23: -> Parent[$QName.text]\r
-            {\r
-                adaptor.addChild(root_0, (Object)adaptor.create(Parent, (QName43!=null?QName43.getText():null)));\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "inheritance"\r
-\r
-    public static class includeStatement_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "includeStatement"\r
-    // SilkSchema.g:248:1: fragment includeStatement : Includes includeItem ( Comma includeItem )* -> ( includeItem )+ ;\r
-    public final SilkSchemaParser.includeStatement_return includeStatement() throws RecognitionException {\r
-        SilkSchemaParser.includeStatement_return retval = new SilkSchemaParser.includeStatement_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token Includes44=null;\r
-        Token Comma46=null;\r
-        SilkSchemaParser.includeItem_return includeItem45 = null;\r
-\r
-        SilkSchemaParser.includeItem_return includeItem47 = null;\r
-\r
-\r
-        Object Includes44_tree=null;\r
-        Object Comma46_tree=null;\r
-        RewriteRuleTokenStream stream_Includes=new RewriteRuleTokenStream(adaptor,"token Includes");\r
-        RewriteRuleTokenStream stream_Comma=new RewriteRuleTokenStream(adaptor,"token Comma");\r
-        RewriteRuleSubtreeStream stream_includeItem=new RewriteRuleSubtreeStream(adaptor,"rule includeItem");\r
-        try {\r
-            // SilkSchema.g:249:17: ( Includes includeItem ( Comma includeItem )* -> ( includeItem )+ )\r
-            // SilkSchema.g:249:19: Includes includeItem ( Comma includeItem )*\r
-            {\r
-            Includes44=(Token)match(input,Includes,FOLLOW_Includes_in_includeStatement1277);  \r
-            stream_Includes.add(Includes44);\r
-\r
-            pushFollow(FOLLOW_includeItem_in_includeStatement1279);\r
-            includeItem45=includeItem();\r
-\r
-            state._fsp--;\r
-\r
-            stream_includeItem.add(includeItem45.getTree());\r
-            // SilkSchema.g:249:40: ( Comma includeItem )*\r
-            loop17:\r
-            do {\r
-                int alt17=2;\r
-                int LA17_0 = input.LA(1);\r
-\r
-                if ( (LA17_0==Comma) ) {\r
-                    alt17=1;\r
-                }\r
-\r
-\r
-                switch (alt17) {\r
-               case 1 :\r
-                   // SilkSchema.g:249:41: Comma includeItem\r
-                   {\r
-                   Comma46=(Token)match(input,Comma,FOLLOW_Comma_in_includeStatement1282);  \r
-                   stream_Comma.add(Comma46);\r
-\r
-                   pushFollow(FOLLOW_includeItem_in_includeStatement1284);\r
-                   includeItem47=includeItem();\r
-\r
-                   state._fsp--;\r
-\r
-                   stream_includeItem.add(includeItem47.getTree());\r
-\r
-                   }\r
-                   break;\r
-\r
-               default :\r
-                   break loop17;\r
-                }\r
-            } while (true);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: includeItem\r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 249:61: -> ( includeItem )+\r
-            {\r
-                if ( !(stream_includeItem.hasNext()) ) {\r
-                    throw new RewriteEarlyExitException();\r
-                }\r
-                while ( stream_includeItem.hasNext() ) {\r
-                    adaptor.addChild(root_0, stream_includeItem.nextTree());\r
-\r
-                }\r
-                stream_includeItem.reset();\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "includeStatement"\r
-\r
-    public static class includeItem_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "includeItem"\r
-    // SilkSchema.g:251:1: fragment includeItem : QName -> Mixin[$QName.text] ;\r
-    public final SilkSchemaParser.includeItem_return includeItem() throws RecognitionException {\r
-        SilkSchemaParser.includeItem_return retval = new SilkSchemaParser.includeItem_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token QName48=null;\r
-\r
-        Object QName48_tree=null;\r
-        RewriteRuleTokenStream stream_QName=new RewriteRuleTokenStream(adaptor,"token QName");\r
-\r
-        try {\r
-            // SilkSchema.g:252:12: ( QName -> Mixin[$QName.text] )\r
-            // SilkSchema.g:252:14: QName\r
-            {\r
-            QName48=(Token)match(input,QName,FOLLOW_QName_in_includeItem1301);  \r
-            stream_QName.add(QName48);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: \r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 252:20: -> Mixin[$QName.text]\r
-            {\r
-                adaptor.addChild(root_0, (Object)adaptor.create(Mixin, (QName48!=null?QName48.getText():null)));\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "includeItem"\r
-\r
-    public static class indexStatement_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "indexStatement"\r
-    // SilkSchema.g:254:1: fragment indexStatement : Index QName On indexTarget ( Comma indexTarget )* -> ^( Index TypeName[$QName.text] ( indexTarget )+ ) ;\r
-    public final SilkSchemaParser.indexStatement_return indexStatement() throws RecognitionException {\r
-        SilkSchemaParser.indexStatement_return retval = new SilkSchemaParser.indexStatement_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token Index49=null;\r
-        Token QName50=null;\r
-        Token On51=null;\r
-        Token Comma53=null;\r
-        SilkSchemaParser.indexTarget_return indexTarget52 = null;\r
-\r
-        SilkSchemaParser.indexTarget_return indexTarget54 = null;\r
-\r
-\r
-        Object Index49_tree=null;\r
-        Object QName50_tree=null;\r
-        Object On51_tree=null;\r
-        Object Comma53_tree=null;\r
-        RewriteRuleTokenStream stream_Index=new RewriteRuleTokenStream(adaptor,"token Index");\r
-        RewriteRuleTokenStream stream_Comma=new RewriteRuleTokenStream(adaptor,"token Comma");\r
-        RewriteRuleTokenStream stream_QName=new RewriteRuleTokenStream(adaptor,"token QName");\r
-        RewriteRuleTokenStream stream_On=new RewriteRuleTokenStream(adaptor,"token On");\r
-        RewriteRuleSubtreeStream stream_indexTarget=new RewriteRuleSubtreeStream(adaptor,"rule indexTarget");\r
-        try {\r
-            // SilkSchema.g:255:15: ( Index QName On indexTarget ( Comma indexTarget )* -> ^( Index TypeName[$QName.text] ( indexTarget )+ ) )\r
-            // SilkSchema.g:255:17: Index QName On indexTarget ( Comma indexTarget )*\r
-            {\r
-            Index49=(Token)match(input,Index,FOLLOW_Index_in_indexStatement1316);  \r
-            stream_Index.add(Index49);\r
-\r
-            QName50=(Token)match(input,QName,FOLLOW_QName_in_indexStatement1318);  \r
-            stream_QName.add(QName50);\r
-\r
-            On51=(Token)match(input,On,FOLLOW_On_in_indexStatement1320);  \r
-            stream_On.add(On51);\r
-\r
-            pushFollow(FOLLOW_indexTarget_in_indexStatement1322);\r
-            indexTarget52=indexTarget();\r
-\r
-            state._fsp--;\r
-\r
-            stream_indexTarget.add(indexTarget52.getTree());\r
-            // SilkSchema.g:255:44: ( Comma indexTarget )*\r
-            loop18:\r
-            do {\r
-                int alt18=2;\r
-                int LA18_0 = input.LA(1);\r
-\r
-                if ( (LA18_0==Comma) ) {\r
-                    alt18=1;\r
-                }\r
-\r
-\r
-                switch (alt18) {\r
-               case 1 :\r
-                   // SilkSchema.g:255:45: Comma indexTarget\r
-                   {\r
-                   Comma53=(Token)match(input,Comma,FOLLOW_Comma_in_indexStatement1325);  \r
-                   stream_Comma.add(Comma53);\r
-\r
-                   pushFollow(FOLLOW_indexTarget_in_indexStatement1327);\r
-                   indexTarget54=indexTarget();\r
-\r
-                   state._fsp--;\r
-\r
-                   stream_indexTarget.add(indexTarget54.getTree());\r
-\r
-                   }\r
-                   break;\r
-\r
-               default :\r
-                   break loop18;\r
-                }\r
-            } while (true);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: Index, indexTarget\r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 256:3: -> ^( Index TypeName[$QName.text] ( indexTarget )+ )\r
-            {\r
-                // SilkSchema.g:256:6: ^( Index TypeName[$QName.text] ( indexTarget )+ )\r
-                {\r
-                Object root_1 = (Object)adaptor.nil();\r
-                root_1 = (Object)adaptor.becomeRoot(stream_Index.nextNode(), root_1);\r
-\r
-                adaptor.addChild(root_1, (Object)adaptor.create(TypeName, (QName50!=null?QName50.getText():null)));\r
-                if ( !(stream_indexTarget.hasNext()) ) {\r
-                    throw new RewriteEarlyExitException();\r
-                }\r
-                while ( stream_indexTarget.hasNext() ) {\r
-                    adaptor.addChild(root_1, stream_indexTarget.nextTree());\r
-\r
-                }\r
-                stream_indexTarget.reset();\r
-\r
-                adaptor.addChild(root_0, root_1);\r
-                }\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "indexStatement"\r
-\r
-    public static class indexTarget_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "indexTarget"\r
-    // SilkSchema.g:259:1: fragment indexTarget : Symbol -> Attribute[$Symbol.text] ;\r
-    public final SilkSchemaParser.indexTarget_return indexTarget() throws RecognitionException {\r
-        SilkSchemaParser.indexTarget_return retval = new SilkSchemaParser.indexTarget_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token Symbol55=null;\r
-\r
-        Object Symbol55_tree=null;\r
-        RewriteRuleTokenStream stream_Symbol=new RewriteRuleTokenStream(adaptor,"token Symbol");\r
-\r
-        try {\r
-            // SilkSchema.g:260:12: ( Symbol -> Attribute[$Symbol.text] )\r
-            // SilkSchema.g:260:14: Symbol\r
-            {\r
-            Symbol55=(Token)match(input,Symbol,FOLLOW_Symbol_in_indexTarget1355);  \r
-            stream_Symbol.add(Symbol55);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: \r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 260:21: -> Attribute[$Symbol.text]\r
-            {\r
-                adaptor.addChild(root_0, (Object)adaptor.create(Attribute, (Symbol55!=null?Symbol55.getText():null)));\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "indexTarget"\r
-\r
-    public static class attributes_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "attributes"\r
-    // SilkSchema.g:264:1: fragment attributes : attribute ( Comma attribute )* -> ( attribute )+ ;\r
-    public final SilkSchemaParser.attributes_return attributes() throws RecognitionException {\r
-        SilkSchemaParser.attributes_return retval = new SilkSchemaParser.attributes_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token Comma57=null;\r
-        SilkSchemaParser.attribute_return attribute56 = null;\r
-\r
-        SilkSchemaParser.attribute_return attribute58 = null;\r
-\r
-\r
-        Object Comma57_tree=null;\r
-        RewriteRuleTokenStream stream_Comma=new RewriteRuleTokenStream(adaptor,"token Comma");\r
-        RewriteRuleSubtreeStream stream_attribute=new RewriteRuleSubtreeStream(adaptor,"rule attribute");\r
-        try {\r
-            // SilkSchema.g:265:11: ( attribute ( Comma attribute )* -> ( attribute )+ )\r
-            // SilkSchema.g:265:13: attribute ( Comma attribute )*\r
-            {\r
-            pushFollow(FOLLOW_attribute_in_attributes1375);\r
-            attribute56=attribute();\r
-\r
-            state._fsp--;\r
-\r
-            stream_attribute.add(attribute56.getTree());\r
-            // SilkSchema.g:265:23: ( Comma attribute )*\r
-            loop19:\r
-            do {\r
-                int alt19=2;\r
-                int LA19_0 = input.LA(1);\r
-\r
-                if ( (LA19_0==Comma) ) {\r
-                    alt19=1;\r
-                }\r
-\r
-\r
-                switch (alt19) {\r
-               case 1 :\r
-                   // SilkSchema.g:265:24: Comma attribute\r
-                   {\r
-                   Comma57=(Token)match(input,Comma,FOLLOW_Comma_in_attributes1378);  \r
-                   stream_Comma.add(Comma57);\r
-\r
-                   pushFollow(FOLLOW_attribute_in_attributes1380);\r
-                   attribute58=attribute();\r
-\r
-                   state._fsp--;\r
-\r
-                   stream_attribute.add(attribute58.getTree());\r
-\r
-                   }\r
-                   break;\r
-\r
-               default :\r
-                   break loop19;\r
-                }\r
-            } while (true);\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: attribute\r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 266:3: -> ( attribute )+\r
-            {\r
-                if ( !(stream_attribute.hasNext()) ) {\r
-                    throw new RewriteEarlyExitException();\r
-                }\r
-                while ( stream_attribute.hasNext() ) {\r
-                    adaptor.addChild(root_0, stream_attribute.nextTree());\r
-\r
-                }\r
-                stream_attribute.reset();\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "attributes"\r
-\r
-    public static class attribute_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "attribute"\r
-    // SilkSchema.g:269:1: fragment attribute : Symbol ( attributeType )? ( Default attributeValue )? -> ^( Attribute Name[$Symbol.text] ( attributeType )? ( attributeValue )? ) ;\r
-    public final SilkSchemaParser.attribute_return attribute() throws RecognitionException {\r
-        SilkSchemaParser.attribute_return retval = new SilkSchemaParser.attribute_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token Symbol59=null;\r
-        Token Default61=null;\r
-        SilkSchemaParser.attributeType_return attributeType60 = null;\r
-\r
-        SilkSchemaParser.attributeValue_return attributeValue62 = null;\r
-\r
-\r
-        Object Symbol59_tree=null;\r
-        Object Default61_tree=null;\r
-        RewriteRuleTokenStream stream_Symbol=new RewriteRuleTokenStream(adaptor,"token Symbol");\r
-        RewriteRuleTokenStream stream_Default=new RewriteRuleTokenStream(adaptor,"token Default");\r
-        RewriteRuleSubtreeStream stream_attributeValue=new RewriteRuleSubtreeStream(adaptor,"rule attributeValue");\r
-        RewriteRuleSubtreeStream stream_attributeType=new RewriteRuleSubtreeStream(adaptor,"rule attributeType");\r
-        try {\r
-            // SilkSchema.g:270:10: ( Symbol ( attributeType )? ( Default attributeValue )? -> ^( Attribute Name[$Symbol.text] ( attributeType )? ( attributeValue )? ) )\r
-            // SilkSchema.g:271:3: Symbol ( attributeType )? ( Default attributeValue )?\r
-            {\r
-            Symbol59=(Token)match(input,Symbol,FOLLOW_Symbol_in_attribute1407);  \r
-            stream_Symbol.add(Symbol59);\r
-\r
-            // SilkSchema.g:271:10: ( attributeType )?\r
-            int alt20=2;\r
-            int LA20_0 = input.LA(1);\r
-\r
-            if ( (LA20_0==QName) ) {\r
-                alt20=1;\r
-            }\r
-            switch (alt20) {\r
-                case 1 :\r
-                    // SilkSchema.g:271:10: attributeType\r
-                    {\r
-                    pushFollow(FOLLOW_attributeType_in_attribute1409);\r
-                    attributeType60=attributeType();\r
-\r
-                    state._fsp--;\r
-\r
-                    stream_attributeType.add(attributeType60.getTree());\r
-\r
-                    }\r
-                    break;\r
-\r
-            }\r
-\r
-            // SilkSchema.g:271:25: ( Default attributeValue )?\r
-            int alt21=2;\r
-            int LA21_0 = input.LA(1);\r
-\r
-            if ( (LA21_0==Default) ) {\r
-                alt21=1;\r
-            }\r
-            switch (alt21) {\r
-                case 1 :\r
-                    // SilkSchema.g:271:26: Default attributeValue\r
-                    {\r
-                    Default61=(Token)match(input,Default,FOLLOW_Default_in_attribute1413);  \r
-                    stream_Default.add(Default61);\r
-\r
-                    pushFollow(FOLLOW_attributeValue_in_attribute1415);\r
-                    attributeValue62=attributeValue();\r
-\r
-                    state._fsp--;\r
-\r
-                    stream_attributeValue.add(attributeValue62.getTree());\r
-\r
-                    }\r
-                    break;\r
-\r
-            }\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: attributeValue, attributeType\r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 272:3: -> ^( Attribute Name[$Symbol.text] ( attributeType )? ( attributeValue )? )\r
-            {\r
-                // SilkSchema.g:272:6: ^( Attribute Name[$Symbol.text] ( attributeType )? ( attributeValue )? )\r
-                {\r
-                Object root_1 = (Object)adaptor.nil();\r
-                root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(Attribute, "Attribute"), root_1);\r
-\r
-                adaptor.addChild(root_1, (Object)adaptor.create(Name, (Symbol59!=null?Symbol59.getText():null)));\r
-                // SilkSchema.g:272:37: ( attributeType )?\r
-                if ( stream_attributeType.hasNext() ) {\r
-                    adaptor.addChild(root_1, stream_attributeType.nextTree());\r
-\r
-                }\r
-                stream_attributeType.reset();\r
-                // SilkSchema.g:272:52: ( attributeValue )?\r
-                if ( stream_attributeValue.hasNext() ) {\r
-                    adaptor.addChild(root_1, stream_attributeValue.nextTree());\r
-\r
-                }\r
-                stream_attributeValue.reset();\r
-\r
-                adaptor.addChild(root_0, root_1);\r
-                }\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "attribute"\r
-\r
-    public static class attributeValue_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "attributeValue"\r
-    // SilkSchema.g:275:1: attributeValue : ( String | Double | Integer ) -> DefaultValue[$attributeValue.text] ;\r
-    public final SilkSchemaParser.attributeValue_return attributeValue() throws RecognitionException {\r
-        SilkSchemaParser.attributeValue_return retval = new SilkSchemaParser.attributeValue_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token String63=null;\r
-        Token Double64=null;\r
-        Token Integer65=null;\r
-\r
-        Object String63_tree=null;\r
-        Object Double64_tree=null;\r
-        Object Integer65_tree=null;\r
-        RewriteRuleTokenStream stream_String=new RewriteRuleTokenStream(adaptor,"token String");\r
-        RewriteRuleTokenStream stream_Integer=new RewriteRuleTokenStream(adaptor,"token Integer");\r
-        RewriteRuleTokenStream stream_Double=new RewriteRuleTokenStream(adaptor,"token Double");\r
-\r
-        try {\r
-            // SilkSchema.g:276:3: ( ( String | Double | Integer ) -> DefaultValue[$attributeValue.text] )\r
-            // SilkSchema.g:276:5: ( String | Double | Integer )\r
-            {\r
-            // SilkSchema.g:276:5: ( String | Double | Integer )\r
-            int alt22=3;\r
-            switch ( input.LA(1) ) {\r
-            case String:\r
-                {\r
-                alt22=1;\r
-                }\r
-                break;\r
-            case Double:\r
-                {\r
-                alt22=2;\r
-                }\r
-                break;\r
-            case Integer:\r
-                {\r
-                alt22=3;\r
-                }\r
-                break;\r
-            default:\r
-                NoViableAltException nvae =\r
-                    new NoViableAltException("", 22, 0, input);\r
-\r
-                throw nvae;\r
-            }\r
-\r
-            switch (alt22) {\r
-                case 1 :\r
-                    // SilkSchema.g:276:6: String\r
-                    {\r
-                    String63=(Token)match(input,String,FOLLOW_String_in_attributeValue1453);  \r
-                    stream_String.add(String63);\r
-\r
-\r
-                    }\r
-                    break;\r
-                case 2 :\r
-                    // SilkSchema.g:276:15: Double\r
-                    {\r
-                    Double64=(Token)match(input,Double,FOLLOW_Double_in_attributeValue1457);  \r
-                    stream_Double.add(Double64);\r
-\r
-\r
-                    }\r
-                    break;\r
-                case 3 :\r
-                    // SilkSchema.g:276:24: Integer\r
-                    {\r
-                    Integer65=(Token)match(input,Integer,FOLLOW_Integer_in_attributeValue1461);  \r
-                    stream_Integer.add(Integer65);\r
-\r
-\r
-                    }\r
-                    break;\r
-\r
-            }\r
-\r
-\r
-\r
-            // AST REWRITE\r
-            // elements: \r
-            // token labels: \r
-            // rule labels: retval\r
-            // token list labels: \r
-            // rule list labels: \r
-            // wildcard labels: \r
-            retval.tree = root_0;\r
-            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-            root_0 = (Object)adaptor.nil();\r
-            // 276:33: -> DefaultValue[$attributeValue.text]\r
-            {\r
-                adaptor.addChild(root_0, (Object)adaptor.create(DefaultValue, input.toString(retval.start,input.LT(-1))));\r
-\r
-            }\r
-\r
-            retval.tree = root_0;\r
-            }\r
-\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "attributeValue"\r
-\r
-    public static class attributeType_return extends ParserRuleReturnScope {\r
-        Object tree;\r
-        public Object getTree() { return tree; }\r
-    };\r
-\r
-    // $ANTLR start "attributeType"\r
-    // SilkSchema.g:278:10: fragment attributeType : ( QName -> TypeName[$QName.text] | QName Star -> TypeName[$QName.text] IsArray[\"true\"] );\r
-    public final SilkSchemaParser.attributeType_return attributeType() throws RecognitionException {\r
-        SilkSchemaParser.attributeType_return retval = new SilkSchemaParser.attributeType_return();\r
-        retval.start = input.LT(1);\r
-\r
-        Object root_0 = null;\r
-\r
-        Token QName66=null;\r
-        Token QName67=null;\r
-        Token Star68=null;\r
-\r
-        Object QName66_tree=null;\r
-        Object QName67_tree=null;\r
-        Object Star68_tree=null;\r
-        RewriteRuleTokenStream stream_Star=new RewriteRuleTokenStream(adaptor,"token Star");\r
-        RewriteRuleTokenStream stream_QName=new RewriteRuleTokenStream(adaptor,"token QName");\r
-\r
-        try {\r
-            // SilkSchema.g:279:3: ( QName -> TypeName[$QName.text] | QName Star -> TypeName[$QName.text] IsArray[\"true\"] )\r
-            int alt23=2;\r
-            int LA23_0 = input.LA(1);\r
-\r
-            if ( (LA23_0==QName) ) {\r
-                int LA23_1 = input.LA(2);\r
-\r
-                if ( (LA23_1==Star) ) {\r
-                    alt23=2;\r
-                }\r
-                else if ( (LA23_1==Comma||LA23_1==Symbol||(LA23_1>=Includes && LA23_1<=End)||(LA23_1>=Index && LA23_1<=Default)) ) {\r
-                    alt23=1;\r
-                }\r
-                else {\r
-                    NoViableAltException nvae =\r
-                        new NoViableAltException("", 23, 1, input);\r
-\r
-                    throw nvae;\r
-                }\r
-            }\r
-            else {\r
-                NoViableAltException nvae =\r
-                    new NoViableAltException("", 23, 0, input);\r
-\r
-                throw nvae;\r
-            }\r
-            switch (alt23) {\r
-                case 1 :\r
-                    // SilkSchema.g:279:5: QName\r
-                    {\r
-                    QName66=(Token)match(input,QName,FOLLOW_QName_in_attributeType1482);  \r
-                    stream_QName.add(QName66);\r
-\r
-\r
-\r
-                    // AST REWRITE\r
-                    // elements: \r
-                    // token labels: \r
-                    // rule labels: retval\r
-                    // token list labels: \r
-                    // rule list labels: \r
-                    // wildcard labels: \r
-                    retval.tree = root_0;\r
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-                    root_0 = (Object)adaptor.nil();\r
-                    // 279:11: -> TypeName[$QName.text]\r
-                    {\r
-                        adaptor.addChild(root_0, (Object)adaptor.create(TypeName, (QName66!=null?QName66.getText():null)));\r
-\r
-                    }\r
-\r
-                    retval.tree = root_0;\r
-                    }\r
-                    break;\r
-                case 2 :\r
-                    // SilkSchema.g:280:5: QName Star\r
-                    {\r
-                    QName67=(Token)match(input,QName,FOLLOW_QName_in_attributeType1494);  \r
-                    stream_QName.add(QName67);\r
-\r
-                    Star68=(Token)match(input,Star,FOLLOW_Star_in_attributeType1496);  \r
-                    stream_Star.add(Star68);\r
-\r
-\r
-\r
-                    // AST REWRITE\r
-                    // elements: \r
-                    // token labels: \r
-                    // rule labels: retval\r
-                    // token list labels: \r
-                    // rule list labels: \r
-                    // wildcard labels: \r
-                    retval.tree = root_0;\r
-                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
-                    root_0 = (Object)adaptor.nil();\r
-                    // 280:16: -> TypeName[$QName.text] IsArray[\"true\"]\r
-                    {\r
-                        adaptor.addChild(root_0, (Object)adaptor.create(TypeName, (QName67!=null?QName67.getText():null)));\r
-                        adaptor.addChild(root_0, (Object)adaptor.create(IsArray, "true"));\r
-\r
-                    }\r
-\r
-                    retval.tree = root_0;\r
-                    }\r
-                    break;\r
-\r
-            }\r
-            retval.stop = input.LT(-1);\r
-\r
-            retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
-            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
-        }\r
-        catch (RecognitionException re) {\r
-            reportError(re);\r
-            recover(input,re);\r
-       retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);\r
-\r
-        }\r
-        finally {\r
-        }\r
-        return retval;\r
-    }\r
-    // $ANTLR end "attributeType"\r
-\r
-    // Delegated rules\r
-\r
-\r
\r
-\r
-    public static final BitSet FOLLOW_Preamble_in_schema879 = new BitSet(new long[]{0x4089000000000002L});\r
-    public static final BitSet FOLLOW_schemaElement_in_schema882 = new BitSet(new long[]{0x4089000000000002L});\r
-    public static final BitSet FOLLOW_classDefinition_in_schemaElement910 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_projectionDef_in_schemaElement917 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_moduleDefinition_in_schemaElement923 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_ModuleDef_in_moduleDefinition935 = new BitSet(new long[]{0x408D000000000000L});\r
-    public static final BitSet FOLLOW_schemaElement_in_moduleDefinition937 = new BitSet(new long[]{0x408D000000000000L});\r
-    public static final BitSet FOLLOW_End_in_moduleDefinition940 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Class_in_classDefinition972 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_classDefinition974 = new BitSet(new long[]{0x0036804000000000L});\r
-    public static final BitSet FOLLOW_inheritance_in_classDefinition976 = new BitSet(new long[]{0x0036800000000000L});\r
-    public static final BitSet FOLLOW_classBody_in_classDefinition979 = new BitSet(new long[]{0x0004000000000000L});\r
-    public static final BitSet FOLLOW_End_in_classDefinition982 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Relation_in_classDefinition1005 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_classDefinition1007 = new BitSet(new long[]{0x0036804000000000L});\r
-    public static final BitSet FOLLOW_inheritance_in_classDefinition1009 = new BitSet(new long[]{0x0036800000000000L});\r
-    public static final BitSet FOLLOW_classBody_in_classDefinition1012 = new BitSet(new long[]{0x0004000000000000L});\r
-    public static final BitSet FOLLOW_End_in_classDefinition1015 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_belongsToStatement_in_classBody1044 = new BitSet(new long[]{0x0032800000000002L});\r
-    public static final BitSet FOLLOW_includeStatement_in_classBody1048 = new BitSet(new long[]{0x0032800000000002L});\r
-    public static final BitSet FOLLOW_attributes_in_classBody1052 = new BitSet(new long[]{0x0032800000000002L});\r
-    public static final BitSet FOLLOW_indexStatement_in_classBody1056 = new BitSet(new long[]{0x0032800000000002L});\r
-    public static final BitSet FOLLOW_Projection_in_projectionDef1066 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_projectionDef1070 = new BitSet(new long[]{0x0200000000000000L});\r
-    public static final BitSet FOLLOW_On_in_projectionDef1072 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_projectionDef1076 = new BitSet(new long[]{0x0000880000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_projectColumn_in_projectionDef1079 = new BitSet(new long[]{0x0104890000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Comma_in_projectionDef1082 = new BitSet(new long[]{0x0000880000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_projectColumn_in_projectionDef1085 = new BitSet(new long[]{0x0104890000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_orderByColumns_in_projectionDef1090 = new BitSet(new long[]{0x0004000000000000L});\r
-    public static final BitSet FOLLOW_End_in_projectionDef1093 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_projectColumn1125 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Star_in_projectColumn1137 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Symbol_in_projectColumn1149 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_OrderBy_in_orderByColumns1167 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_orderByItem_in_orderByColumns1169 = new BitSet(new long[]{0x0000010000000002L});\r
-    public static final BitSet FOLLOW_Comma_in_orderByColumns1172 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_orderByItem_in_orderByColumns1174 = new BitSet(new long[]{0x0000010000000002L});\r
-    public static final BitSet FOLLOW_QName_in_orderByItem1194 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Symbol_in_orderByItem1206 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Symbol_in_functionArg1222 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_BelongsTo_in_belongsToStatement1238 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_belongsToStatement1240 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Lt_in_inheritance1258 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_inheritance1260 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Includes_in_includeStatement1277 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_includeItem_in_includeStatement1279 = new BitSet(new long[]{0x0000010000000002L});\r
-    public static final BitSet FOLLOW_Comma_in_includeStatement1282 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_includeItem_in_includeStatement1284 = new BitSet(new long[]{0x0000010000000002L});\r
-    public static final BitSet FOLLOW_QName_in_includeItem1301 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Index_in_indexStatement1316 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_indexStatement1318 = new BitSet(new long[]{0x0200000000000000L});\r
-    public static final BitSet FOLLOW_On_in_indexStatement1320 = new BitSet(new long[]{0x0000800000000000L});\r
-    public static final BitSet FOLLOW_indexTarget_in_indexStatement1322 = new BitSet(new long[]{0x0000010000000002L});\r
-    public static final BitSet FOLLOW_Comma_in_indexStatement1325 = new BitSet(new long[]{0x0000800000000000L});\r
-    public static final BitSet FOLLOW_indexTarget_in_indexStatement1327 = new BitSet(new long[]{0x0000010000000002L});\r
-    public static final BitSet FOLLOW_Symbol_in_indexTarget1355 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_attribute_in_attributes1375 = new BitSet(new long[]{0x0000010000000002L});\r
-    public static final BitSet FOLLOW_Comma_in_attributes1378 = new BitSet(new long[]{0x0000800000000000L});\r
-    public static final BitSet FOLLOW_attribute_in_attributes1380 = new BitSet(new long[]{0x0000010000000002L});\r
-    public static final BitSet FOLLOW_Symbol_in_attribute1407 = new BitSet(new long[]{0x0040000000000002L,0x0000000000000002L});\r
-    public static final BitSet FOLLOW_attributeType_in_attribute1409 = new BitSet(new long[]{0x0040000000000002L});\r
-    public static final BitSet FOLLOW_Default_in_attribute1413 = new BitSet(new long[]{0x0000000260000000L});\r
-    public static final BitSet FOLLOW_attributeValue_in_attribute1415 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_String_in_attributeValue1453 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Double_in_attributeValue1457 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_Integer_in_attributeValue1461 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_attributeType1482 = new BitSet(new long[]{0x0000000000000002L});\r
-    public static final BitSet FOLLOW_QName_in_attributeType1494 = new BitSet(new long[]{0x0000080000000000L});\r
-    public static final BitSet FOLLOW_Star_in_attributeType1496 = new BitSet(new long[]{0x0000000000000002L});\r
-\r
-}
\ No newline at end of file