Boo.Lang.Parser.BooParserBase.parse_module C# (CSharp) Method

parse_module() protected method

protected parse_module ( Module module ) : void
module Module
return void
        protected void parse_module(
		Module module
	)
        {
            try {      // for error handling
            {
                if ((LA(1)==EOL||LA(1)==EOS) && (tokenSet_1_.member(LA(2))))
                {
                    eos();
                }
                else if ((tokenSet_1_.member(LA(1))) && (tokenSet_2_.member(LA(2)))) {
                }
                else
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }

            }
            docstring(module);
            {
                if ((LA(1)==EOL||LA(1)==EOS) && (tokenSet_1_.member(LA(2))))
                {
                    eos();
                }
                else if ((tokenSet_1_.member(LA(1))) && (tokenSet_3_.member(LA(2)))) {
                }
                else
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }

            }
            {
                switch ( LA(1) )
                {
                case NAMESPACE:
                {
                    namespace_directive(module);
                    break;
                }
                case EOF:
                case DEDENT:
                case ESEPARATOR:
                case EOL:
                case ASSEMBLY_ATTRIBUTE_BEGIN:
                case MODULE_ATTRIBUTE_BEGIN:
                case ABSTRACT:
                case BREAK:
                case CONTINUE:
                case CALLABLE:
                case CAST:
                case CHAR:
                case CLASS:
                case DEF:
                case ENUM:
                case FINAL:
                case FROM:
                case FOR:
                case FALSE:
                case GOTO:
                case IMPORT:
                case INTERFACE:
                case INTERNAL:
                case IF:
                case NEW:
                case NULL:
                case OVERRIDE:
                case PARTIAL:
                case PUBLIC:
                case PROTECTED:
                case PRIVATE:
                case RAISE:
                case RETURN:
                case SELF:
                case SUPER:
                case STATIC:
                case STRUCT:
                case THEN:
                case TRY:
                case TRANSIENT:
                case TRUE:
                case TYPEOF:
                case UNLESS:
                case VIRTUAL:
                case WHILE:
                case YIELD:
                case TRIPLE_QUOTED_STRING:
                case EOS:
                case LPAREN:
                case DOUBLE_QUOTED_STRING:
                case SINGLE_QUOTED_STRING:
                case ID:
                case MULTIPLY:
                case LBRACK:
                case SPLICE_BEGIN:
                case DOT:
                case COLON:
                case LBRACE:
                case QQ_BEGIN:
                case SUBTRACT:
                case LONG:
                case INCREMENT:
                case DECREMENT:
                case ONES_COMPLEMENT:
                case INT:
                case BACKTICK_QUOTED_STRING:
                case RE_LITERAL:
                case DOUBLE:
                case FLOAT:
                case TIMESPAN:
                {
                    break;
                }
                default:
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }
                 }
            }
            {    // ( ... )*
                for (;;)
                {
                    if ((LA(1)==FROM||LA(1)==IMPORT))
                    {
                        import_directive(module);
                    }
                    else
                    {
                        goto _loop7_breakloop;
                    }

                }
            _loop7_breakloop:				;
            }    // ( ... )*
            {    // ( ... )*
                for (;;)
                {
                    bool synPredMatched11 = false;
                    if ((((LA(1)==THEN||LA(1)==ID) && (tokenSet_4_.member(LA(2))))&&(IsValidMacroArgument(LA(2)))))
                    {
                        int _m11 = mark();
                        synPredMatched11 = true;
                        inputState.guessing++;
                        try {
                            {
                                macro_name();
                                {
                                    if ((tokenSet_5_.member(LA(1))))
                                    {
                                        expression();
                                    }
                                    else {
                                    }

                                }
                            }
                        }
                        catch (RecognitionException)
                        {
                            synPredMatched11 = false;
                        }
                        rewind(_m11);
                        inputState.guessing--;
                    }
                    if ( synPredMatched11 )
                    {
                        module_macro(module);
                    }
                    else if ((tokenSet_6_.member(LA(1))) && (tokenSet_7_.member(LA(2)))) {
                        type_member(module.Members);
                    }
                    else
                    {
                        goto _loop12_breakloop;
                    }

                }
            _loop12_breakloop:				;
            }    // ( ... )*
            globals(module);
            {    // ( ... )*
                for (;;)
                {
                    if ((LA(1)==ASSEMBLY_ATTRIBUTE_BEGIN||LA(1)==MODULE_ATTRIBUTE_BEGIN))
                    {
                        {
                            switch ( LA(1) )
                            {
                            case ASSEMBLY_ATTRIBUTE_BEGIN:
                            {
                                assembly_attribute(module);
                                break;
                            }
                            case MODULE_ATTRIBUTE_BEGIN:
                            {
                                module_attribute(module);
                                break;
                            }
                            default:
                            {
                                throw new NoViableAltException(LT(1), getFilename());
                            }
                             }
                        }
                        eos();
                    }
                    else
                    {
                        goto _loop15_breakloop;
                    }

                }
            _loop15_breakloop:				;
            }    // ( ... )*
            }
            catch (RecognitionException ex)
            {
            if (0 == inputState.guessing)
            {
                reportError(ex, "parse_module");
                recover(ex,tokenSet_8_);
            }
            else
            {
                throw ex;
            }
            }
        }
BooParserBase