Exemplo n.º 1
0
        public override object VisitLoopCaseStatement([NotNull] LoopCaseStatementContext context)
        {
            var obj  = "";
            var expr = (Result)Visit(context.expression());

            obj += $"for ( ;{expr.text} ;)";
            obj += $"{Wrap} {BlockLeft} {Wrap}";
            obj += ProcessFunctionSupport(context.functionSupportStatement());
            obj += $"{BlockRight} {Terminate} {Wrap}";
            return(obj);
        }
Exemplo n.º 2
0
        public override object VisitLoopCaseStatement(LoopCaseStatementContext context)
        {
            var obj  = "";
            var expr = (Result)(Visit(context.expression()));

            obj += (new System.Text.StringBuilder().Append("for ( ;").Append(expr.text).Append(" ;)")).to_str();
            obj += BlockLeft + Wrap;
            this.add_current_set();
            obj += ProcessFunctionSupport(context.functionSupportStatement());
            this.delete_current_set();
            obj += BlockRight + Wrap;
            if (context.loopElseStatement() != null)
            {
                var elseContent = (string)(Visit(context.loopElseStatement()));
                obj = (new System.Text.StringBuilder().Append("if (!(").Append(expr.text).Append(")) ").Append(elseContent).Append(" else ").Append(BlockLeft).Append(Wrap).Append(obj).Append(BlockRight).Append(Wrap)).to_str();
            }
            return(obj);
        }
Exemplo n.º 3
0
        public override object VisitLoopCaseStatement(LoopCaseStatementContext context)
        {
            var obj  = "";
            var expr = ((Result)Visit(context.expression()));

            obj += (new System.Text.StringBuilder().Append("while (true) { ").Append(Wrap).Append(" if (").Append(expr.text).Append(") ")).To_Str();
            obj += BlockLeft + Wrap;
            Add_current_set();
            obj += ProcessFunctionSupport(context.functionSupportStatement());
            Delete_current_set();
            obj += BlockRight + Wrap;
            obj += (new System.Text.StringBuilder().Append(" else { ").Append(Wrap)).To_Str();
            if (context.loopElseStatement() != null)
            {
                obj += Visit(context.loopElseStatement());
            }
            obj += (new System.Text.StringBuilder().Append(" break; ").Append(Wrap).Append(" } }")).To_Str();
            return(obj);
        }