Пример #1
0
        public If IFTHEN(ParseTreeNode actual, int cant_tabs)
        {
            /*
             * IFTHEN.Rule
             *  = RESERV_IF + EXPRESION
             + RESERV_THEN
             + IF_SENTENCE
             + ELIF;
             */
            If           ifs           = new If();
            ExpresionAST expressionAST = new ExpresionAST();
            var          row           = actual.ChildNodes[0].Token.Location.Line;
            var          col           = actual.ChildNodes[0].Token.Location.Column;

            var LOGIC_EXPRESION = expressionAST.getExpresion(actual.ChildNodes[1], cant_tabs);
            var SENTENCES       = IF_SENTENCE(actual.ChildNodes[3], cant_tabs);
            var ELSE            = ELIF(actual.ChildNodes[4], cant_tabs);

            return(new If(LOGIC_EXPRESION, SENTENCES, ELSE, row, col, cant_tabs));
        }