While.Parsing.Parser.Stmt C# (CSharp) Метод

Stmt() публичный Метод

public Stmt ( Statement &stmt ) : void
stmt While.AST.Statements.Statement
Результат void
        void Stmt(out Statement stmt)
        {
            Expression exp = null;
                                             stmt = null;
            int sl = la.line, sc = la.col;
            StatementSequence stmtSeq;
            Token bf;
            switch (la.kind) {
            case 1: {
            AssignStmt(out stmt);
            stmt.AddSequencePoint(sl,sc, t.line,t.col+t.val.Length);
            break;
            }
            case 13: {
            Get();
            stmt = new Skip();stmt.AddSequencePoint(t);
            break;
            }
            case 3: {
            BlockStmt(out stmt);
            break;
            }
            case 18: {
            IfStmt(out stmt);
            break;
            }
            case 22: {
            WhileStmt(out stmt);
            break;
            }
            case 15: {
            ReadStmt(out stmt);
            stmt.AddSequencePoint(sl,sc, t.line,t.col+t.val.Length);
            break;
            }
            case 14: {
            Get();
            Expr(out exp);
            stmt = new Write(exp); stmt.AddSequencePoint(sl,sc, t.line,t.col+t.val.Length);
            break;
            }
            case 25: {
            CallProc(out stmt);
            stmt.AddSequencePoint(sl,sc, t.line,t.col+t.val.Length);
            break;
            }
            case 6: {
            Get();
            bf = t;
            StmtSeq(out stmtSeq);
            Expect(9);
            stmt = stmtSeq;
            stmt.AddSequencePoint(bf);
            stmt.AddSequencePoint(t);
            break;
            }
            default: SynErr(52); break;
            }
        }