public override string VisitStatement([NotNull] QPILE_converterV2Parser.StatementContext context)
        {
            if ((context.ifOperator() != null) || (context.forOperator() != null) || (context.funcDescr() != null) || (context.procedureCall() != null))
            {
                var res = Visit(context.children[0]);
                return(res);
            }

            if (context.RETURN() != null)
            {
                return(AddSpaces("return RESULT"));
            }

            if (context.BREAK() != null)
            {
                return(AddSpaces("break"));
            }

            if (context.CONTINUE() != null)
            {
                return(AddSpaces("continue"));
            }

            if (context.EQUAL() != null)
            {
                var exp = Visit(context.children[2]);
                return("    " + context.name().GetText() + " = " + exp);
            }

            return(base.VisitStatement(context));
        }
Exemplo n.º 2
0
        public override string VisitStatement([NotNull] QPILE_converterV2Parser.StatementContext context)
        {
            if ((context.ifOperator() != null) || (context.forOperator() != null) || (context.funcDescr() != null) || (context.procedureCall() != null))
            {
                var res = Visit(context.children[0]);
                return(res);
            }

            if (context.RETURN() != null)
            {
                if (twice_visit == false)
                {
                    main_funk += "    return RESULT\n";
                }
                return(AddSpaces("return RESULT"));
            }

            if (context.BREAK() != null)
            {
                if (twice_visit == false)
                {
                    main_funk += "    break\n";
                }
                return(AddSpaces("break"));
            }

            if (context.CONTINUE() != null)
            {
                if (twice_visit == false)
                {
                    main_funk += "    continue\n";
                }
                return(AddSpaces("continue"));
            }

            if (context.EQUAL() != null)
            {
                string str = context.GetText();
                before_equal = str.Substring(0, str.IndexOf("="));
                var exp = Visit(context.children[2]);

                /*
                 * if (twice_visit == false)
                 * {
                 *  main_funk += "    " + context.name().GetText() + " = " + exp + "\n";
                 * }
                 */
                return("    " + context.name().GetText() + " = " + exp);
            }

            return(base.VisitStatement(context));
        }