}         // NT_WhileStat

    private static void NT_BreakStat(out Stat s)
    {
        s = null;

        for (;;)
        {
            switch (Syn.Interpret())
            {
            case 0:
                return;

            case 1: // SEM
                if (loopLevel <= 0)
                {
                    SemErr("no loop around");
                }
                s = new BreakStat(new SrcPos());

                break;
            } // switch
        }     // for
    }         // NT_BreakStat
Ejemplo n.º 2
0
 public bool Match(XMLLuaSearchBreakStatement req, BreakStat real)
 {
     Logger.Debug($"break_statement");
     SetSelectionIfSelected(real.Span, req);
     return(true);
 }
Ejemplo n.º 3
0
        private static void CgBreakStat(FuncInfo fi, BreakStat node)
        {
            var pc = fi.EmitJmp(0, 0);

            fi.AddBreakJump(pc);
        }