Beispiel #1
0
        public If_Trad IFTHEN(ParseTreeNode actual, int cant_tabs)
        {
            /*
             * IFTHEN.Rule
             *  = RESERV_IF + EXPRESION
             + RESERV_THEN
             + IF_SENTENCE
             + ELIF;
             */
            If_Trad ifs = new If_Trad();
            ExpressionTraduccion expressionAST = new ExpressionTraduccion();

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


            return(new If_Trad(LOGIC_EXPRESION, SENTENCES, ELSE, cant_tabs));
        }