public void VisitBlock(IndentWriter context, AstStatement.BlockStmt blockStmt) { context.Indent(); foreach (var item in blockStmt.Statements) { item.Accept(context, this); } context.Unindent(); }
public AstStatement ParseCompilationUnit() { var block = new AstStatement.BlockStmt(); while (this.Tokenizer.CanPeek()) { block.Statements.Add(this.ParseStatement()); } return(block); }
private AstStatement.BlockStmt ParseBlock() { this.Consume(TokenType.BracketBegin); var block = new AstStatement.BlockStmt(); while (!this.Matches(TokenType.BracketEnd)) { block.Statements.Add(this.ParseStatement()); } return(block); }
public AstStatement VisitBlock(Scope context, AstStatement.BlockStmt blockStmt) { var scope = new Scope(context); blockStmt.Scope = scope; for (int i = 0; i < blockStmt.Statements.Count; i++) { blockStmt.Statements[i] = blockStmt.Statements[i].Accept(scope, this); } return(blockStmt); }
public List <Instruction> VisitBlock(object context, AstStatement.BlockStmt blockStmt) { return(blockStmt.Statements .SelectMany(stmt => stmt.Accept(context, this)) .ToList()); }
public Tree VisitBlock(object c, AstStatement.BlockStmt blockStmt) => new Tree("block", blockStmt.Statements.Select(s => s.Accept(c, this)).ToArray());