//throws RecognitionException, TokenStreamException
    public void schema()
    {
        try {      // for error handling
            match(T_SCHEMA);
            match(WS);
            SchemaName = LT(1).getText();
                                    CurrentSchema = new Schema(SchemaName);
            match(T_NAME);
            match(WS);
            match(T_WITH);
            match(WS);
            {    // ( ... )*
                for (;;)
                {
                    if ((LA(1)==T_NAME))
                    {
                        Buf1 = LT(1).getText();
                        match(T_NAME);
                        match(WS);
                        Buf2 = LT(1).getText(); CurrentSchema.AddAttribute(Buf1, Buf2);
                        match(T_NAME);
                        match(WS);
                    }
                    else
                    {
                        goto _loop16_breakloop;
                    }

                }
        _loop16_breakloop:				;
            }    // ( ... )*
            Console.WriteLine("Schema: " + SchemaName);
                        AllSchemas.Add(AllSchemas.Count, CurrentSchema);
        }
        catch (RecognitionException ex)
        {
            reportError(ex);
            recover(ex,tokenSet_2_);
        }
    }