Block with variable declarations and statements
Inheritance: Statement
Ejemplo n.º 1
0
 public virtual void Visit(Block node)
 {
 }
        void BlockStmt(out Statement block)
        {
            Expect(3);
            if (Options.BookVersion) {
            errors.SemErr(t.line, t.col, "Variable declarations are only allowed when using the /coursesyntax switch. Type 'wc.exe /help' for more information");
            While.Environment.Exit(1);
            }
            VariableDeclarationSequence vars = new VariableDeclarationSequence();
            SymbolTable.PushScope();
            int sl = t.line;
            int sc = t.col;
            int el = t.line;
            int ec = t.col+t.val.Length;

            if (la.kind == 16) {
            VarDecStmt(out vars);
            }
            StatementSequence statements;
            StmtSeq(out statements);
            Expect(4);
            block = new Block(vars, statements);
            block.AddSequencePoint(sl,sc,el,ec);
            block.AddSequencePoint(t);
            SymbolTable.PopScope();
        }