Пример #1
0
		public void write_bool_const(bool_const _bool_const)
		{
			write_const_node(_bool_const);
			bw.Write(_bool_const.val);
		}
Пример #2
0
 public override void visit(bool_const _bool_const)
 {
     //throw new NotImplementedException();
 }
Пример #3
0
		public void visit(bool_const _bool_const)
		{
			bw.Write((Int16)9);
			write_bool_const(_bool_const);
		}
Пример #4
0
        ///////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////
        //CreateTerminalObject
        ///////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////

        private Object CreateTerminalObject(int TokenSymbolIndex)
        {
            switch (TokenSymbolIndex)
            {
                case (int)SymbolConstants.SYMBOL_EOF:
                    //(EOF)
                    return null;

                case (int)SymbolConstants.SYMBOL_ERROR:
                    //(Error)
                    return null;

                case (int)SymbolConstants.SYMBOL_WHITESPACE:
                    //(Whitespace)
                    return null;

                case (int)SymbolConstants.SYMBOL_COMMENTLINE:
                    //(Comment Line)
                    return null;

                case (int)SymbolConstants.SYMBOL_TK_ALG:
                    //'tk_alg'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_AND:
                    //'tk_and'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.LogicalAND);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_ARG:
                    //'tk_arg'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_ARRAY:
                    //'tk_array'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_ASSERT:
                    //'tk_assert'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_ASSIGN:
                    //'tk_Assign'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.Assignment);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_BEGIN:
                    //'tk_begin'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_BEGIN_CYCLE:
                    //'tk_begin_cycle'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_BOOLEAN_TYPE:
                    //'tk_boolean_type'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_CASE:
                    //'tk_case'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_CASE_V:
                    //'tk_case_v'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_CHAR:
                    //'tk_char'
                    return parsertools.create_char_const(this);

                case (int)SymbolConstants.SYMBOL_TK_CHAR_TYPE:
                    //'tk_char_type'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_COLON:
                    //'tk_Colon'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_COMMA:
                    //'tk_Comma'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_DIV:
                    //'tk_Div'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.Division);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_DOT:
                    //'tk_Dot'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_ELSE:
                    //'tk_else'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_END:
                    //'tk_end'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_END_ALL:
                    //'tk_end_all'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_END_CYCLE:
                    //'tk_end_cycle'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_EOL:
                    //'tk_eol'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_EQUAL:
                    //'tk_Equal'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.Equal);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_FALSE:
                    //'tk_false'
                    bool_const _bool_const = new bool_const(false);
                    _bool_const.source_context = parsertools.GetTokenSourceContext();
                    return _bool_const;

                case (int)SymbolConstants.SYMBOL_TK_FOR:
                    //'tk_for'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_FROM:
                    //'tk_from'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_FUNC_VAL:
                    //'tk_func_val'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_GREATER:
                    //'tk_Greater'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.Greater);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_GREATEREQUAL:
                    //'tk_GreaterEqual'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.GreaterEqual);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_IDENTIFIER:
                    //'tk_Identifier'
                    return parsertools.create_ident(this);

                case (int)SymbolConstants.SYMBOL_TK_IF:
                    //'tk_if'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_INTEGER:
                    //'tk_integer'
                    return parsertools.create_int_const(this);

                case (int)SymbolConstants.SYMBOL_TK_INTEGER_TYPE:
                    //'tk_integer_type'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_ISP:
                    //'tk_isp'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_LOWER:
                    //'tk_Lower'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.Less);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_LOWEREQUAL:
                    //'tk_LowerEqual'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.LessEqual);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_MINUS:
                    //'tk_Minus'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.Minus);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_MULT:
                    //'tk_Mult'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.Multiplication);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_NEWLINE:
                    //'tk_NewLine'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_NOT:
                    //'tk_not'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.LogicalNOT);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_NOTEQUAL:
                    //'tk_NotEqual'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.NotEqual);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_OR:
                    //'tk_or'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.LogicalOR);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_PLUS:
                    //'tk_Plus'
                    {
                        op_type_node _op_type_node = new op_type_node(Operators.Plus);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_POWER:
                    //'tk_Power'
                    {   // make it!
                        op_type_node _op_type_node = new op_type_node(Operators.Undefined);
                        _op_type_node.source_context = parsertools.GetTokenSourceContext();

                        return _op_type_node;
                    }

                case (int)SymbolConstants.SYMBOL_TK_RAZ:
                    //'tk_raz'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_READ:
                    //'tk_read'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_REAL:
                    //'tk_real'
                    return parsertools.create_double_const(this);

                case (int)SymbolConstants.SYMBOL_TK_REAL_TYPE:
                    //'tk_real_type'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_ROUNDCLOSE:
                    //'tk_RoundClose'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_ROUNDOPEN:
                    //'tk_RoundOpen'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_SEMICOLON:
                    //'tk_SemiColon'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_SQUARECLOSE:
                    //'tk_SquareClose'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_SQUAREOPEN:
                    //'tk_SquareOpen'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_STRING_TYPE:
                    //'tk_string_type'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_STRINGLITERAL:
                    //'tk_StringLiteral'
                    return parsertools.create_string_const(this);

                case (int)SymbolConstants.SYMBOL_TK_THEN:
                    //'tk_then'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_TO:
                    //'tk_to'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_TRUE:
                    //'tk_true'
                    bool_const _true_const = new bool_const(true);
                    _true_const.source_context = parsertools.GetTokenSourceContext();
                    return _true_const;
                case (int)SymbolConstants.SYMBOL_TK_USES:
                    //'tk_uses'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_VAR:
                    //'tk_var'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_WHILE:
                    //'tk_while'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_TK_WRITE:
                    //'tk_write'
                    {
                        token_info _token_info = new token_info(LRParser.TokenText);
                        _token_info.source_context = parsertools.GetTokenSourceContext();

                        return _token_info;
                    }

                case (int)SymbolConstants.SYMBOL_ADDEXP:
                    //<Add Exp>
                    //TERMINAL:Add Exp
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_ARRAY_LIST1:
                    //<Array_list1>
                    //TERMINAL:Array_list1
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_ARRAY_LIST2:
                    //<Array_list2>
                    //TERMINAL:Array_list2
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_CASE_VARIANT:
                    //<Case_variant>
                    //TERMINAL:Case_variant
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_CASE_VARIANT_LIST:
                    //<Case_variant_list>
                    //TERMINAL:Case_variant_list
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_DECLARATIONS:
                    //<Declarations>
                    //TERMINAL:Declarations
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_DIAP:
                    //<Diap>
                    //TERMINAL:Diap
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_DIAP_LIST:
                    //<Diap_list>
                    //TERMINAL:Diap_list
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_EXPRESSION:
                    //<Expression>
                    //TERMINAL:Expression
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_FACT_LIST:
                    //<Fact_list>
                    //TERMINAL:Fact_list
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_FORMAL_LIST:
                    //<Formal_list>
                    //TERMINAL:Formal_list
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_FORMAL_PARAMETER1:
                    //<Formal_parameter1>
                    //TERMINAL:Formal_parameter1
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_FORMAL_PARAMETER2:
                    //<Formal_Parameter2>
                    //TERMINAL:Formal_Parameter2
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_FORMAL_TYPE_LIST1:
                    //<Formal_type_list1>
                    //TERMINAL:Formal_type_list1
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_FORMAL_TYPE_LIST2:
                    //<Formal_type_list2>
                    //TERMINAL:Formal_type_list2
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_FREE_OPERATOR:
                    //<Free_operator>
                    //TERMINAL:Free_operator
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_FUNCTION:
                    //<Function>
                    //TERMINAL:Function
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_GLOBAL_DECL_LIST:
                    //<Global_decl_list>
                    //TERMINAL:Global_decl_list
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_GLOBAL_PART:
                    //<Global_part>
                    //TERMINAL:Global_part
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_GLOBAL_VARS:
                    //<Global_vars>
                    //TERMINAL:Global_vars
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_ID_LIST1:
                    //<Id_list1>
                    //TERMINAL:Id_list1
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_ID_LIST2:
                    //<Id_list2>
                    //TERMINAL:Id_list2
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_INITIALIZATION:
                    //<Initialization>
                    //TERMINAL:Initialization
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_LIST_OF_EXPRESSIONS:
                    //<List_of_expressions>
                    //TERMINAL:List_of_expressions
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_MULTEXP:
                    //<Mult Exp>
                    //TERMINAL:Mult Exp
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_NEGATEEXP:
                    //<Negate Exp>
                    //TERMINAL:Negate Exp
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_POWEREXP:
                    //<Power Exp>
                    //TERMINAL:Power Exp
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_PROCEDURE:
                    //<Procedure>
                    //TERMINAL:Procedure
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_PROGRAM:
                    //<Program>
                    //TERMINAL:Program
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_SEPARATOR:
                    //<Separator>
                    //TERMINAL:Separator
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_SEPARATORS:
                    //<Separators>
                    //TERMINAL:Separators
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_SEPARATORSOPT:
                    //<Separators Opt>
                    //TERMINAL:Separators Opt
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_STATEMENT:
                    //<Statement>
                    //TERMINAL:Statement
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_STATEMENTS:
                    //<Statements>
                    //TERMINAL:Statements
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_SUB_DECLARATIONS:
                    //<Sub_declarations>
                    //TERMINAL:Sub_declarations
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_TYPE:
                    //<Type>
                    //TERMINAL:Type
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_USES_UNITS:
                    //<Uses_units>
                    //TERMINAL:Uses_units
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_VALUE:
                    //<Value>
                    //TERMINAL:Value
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_VAR_DECL_LIST1:
                    //<Var_decl_list1>
                    //TERMINAL:Var_decl_list1
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_VAR_DECL_LIST2:
                    //<Var_decl_list2>
                    //TERMINAL:Var_decl_list2
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_VAR_DECLARATIONS1:
                    //<Var_declarations1>
                    //TERMINAL:Var_declarations1
                    return null;
                //ENDTERMINAL

                case (int)SymbolConstants.SYMBOL_VAR_DECLARATIONS2:
                    //<Var_declarations2>
                    //TERMINAL:Var_declarations2
                    return null;
                //ENDTERMINAL

            }
            throw new SymbolException("Unknown symbol");
        }
Пример #5
0
 public override void visit(bool_const _bool_const)
 {
     returned_scope = TypeTable.bool_type;//entry_scope.FindName(PascalABCCompiler.TreeConverter.compiler_string_consts.bool_type_name);
     cnst_val.prim_val = _bool_const.val;
 }
Пример #6
0
 public virtual bool_const create_bool_const(bool val,LexLocation loc)
 {
     bool_const bc = new bool_const(val);
     bc.source_context = GetTokenSourceContext(loc);
     return bc;
 }
Пример #7
0
		public override void visit(bool_const _bool_const)
		{
			returned_scope = new ElementScope(TypeTable.bool_type);
		}
		public void visit(bool_const _bool_const)
		{
			read_bool_const(_bool_const);
		}
		public void read_bool_const(bool_const _bool_const)
		{
			read_const_node(_bool_const);
			_bool_const.val = br.ReadBoolean();
		}
 public override void visit(bool_const _bool_const)
 {
     WriteNode(_bool_const);
 }
Пример #11
0
		public override void visit(bool_const _bool_const)
		{
			
		}
Пример #12
0
        public override void Exit(syntax_tree_node st)
        {
            bracket_expr bre = st as bracket_expr;
            if (bre != null)
            {
                if (bre.expr is int32_const)
                    Replace(st, bre.expr);
            }

            bin_expr vs = st as bin_expr;
            if (vs != null)
            {
                if (vs.left is int32_const && vs.right is int32_const)
                {
                    var a = vs.left as int32_const;
                    var b = vs.right as int32_const;
                    var op = vs.operation_type;

                    syntax_tree_node res;
                    switch (op)
                    {
                        case Operators.Plus:
                            res = new int32_const(a.val + b.val);
                            break;
                        case Operators.Minus:
                            res = new int32_const(a.val - b.val);
                            break;
                        case Operators.Multiplication:
                            res = new int32_const(a.val * b.val);
                            break;
                        case Operators.Division:
                            res = new double_const((double)a.val / b.val);
                            break;
                        case Operators.Greater:
                            res = new bool_const(a.val > b.val);
                            break;
                        case Operators.Less:
                            res = new bool_const(a.val < b.val);
                            break;
                        case Operators.GreaterEqual:
                            res = new bool_const(a.val >= b.val);
                            break;
                        case Operators.LessEqual:
                            res = new bool_const(a.val <= b.val);
                            break;
                        default:
                            res = vs;
                            break;
                    }
                
                    Replace(vs, res);
                }
                if (vs.left is int32_const && vs.right is double_const || vs.right is int32_const && vs.left is double_const || vs.left is double_const && vs.right is double_const)
                {
                    double x,y;
                    if (vs.left is int32_const)
                        x = (vs.left as int32_const).val;
                    else
                        x = (vs.left as double_const).val;
                    if (vs.right is int32_const)
                        y = (vs.right as int32_const).val;
                    else
                        y = (vs.right as double_const).val;

                    var op = vs.operation_type;

                    syntax_tree_node res;
                    switch (op)
                    {
                        case Operators.Plus:
                            res = new double_const(x + y);
                            break;
                        case Operators.Minus:
                            res = new double_const(x - y);
                            break;
                        case Operators.Multiplication:
                            res = new double_const(x * y);
                            break;
                        case Operators.Division:
                            res = new double_const(x / y);
                            break;
                        case Operators.Greater:
                            res = new bool_const(x > y);
                            break;
                        case Operators.Less:
                            res = new bool_const(x < y);
                            break;
                        case Operators.GreaterEqual:
                            res = new bool_const(x >= y);
                            break;
                        case Operators.LessEqual:
                            res = new bool_const(x <= y);
                            break;
                        default:
                            res = vs;
                            break;
                    }

                    Replace(vs, res);
                }

            }
            
            base.Exit(st); // это обязательно!
        }
Пример #13
0
 public void CompareInternal(bool_const left, bool_const right)
 {
     if (left == null && right != null || left != null && right == null)
         throw_not_equal(left, right);
     if (left != null && right != null)
     {
         if (left.val != right.val)
             throw_not_equal(left, right);
     }
 }
Пример #14
0
 public override void visit(bool_const _bool_const)
 {
     RetValue val = new RetValue();
     val.prim_val = _bool_const.val;
     names.Add(_bool_const.val.ToString());
     eval_stack.Push(val);
 }
Пример #15
0
 public override void visit(bool_const _bool_const)
 {
     AddPossibleComments(_bool_const, true, true);
 }
Пример #16
0
		public override void visit(bool_const _bool_const)
		{
			text="Value: "+_bool_const.val.ToString();
		}