private void ScopeDelcaration(ScopeDeclr ast) { MemorySpaces.CreateScope(); ast.ScopedStatements.ForEach(statement => statement.Visit(this)); MemorySpaces.PopScope(); }
public void Visit(ScopeDeclr ast) { ScopeTree.CreateScope(); ast.ScopedStatements.ForEach(statement => statement.Visit(this)); SetScope(ast); ScopeTree.PopScope(); }
private Ast TryCatch() { if (TokenStream.Current.TokenType == TokenType.Try) { TokenStream.Take(TokenType.Try); var tryBody = GetStatementsInScope(TokenType.LBracket, TokenType.RBracket); ScopeDeclr catchBody = null; if (TokenStream.Current.TokenType == TokenType.Catch) { TokenStream.Take(TokenType.Catch); catchBody = GetStatementsInScope(TokenType.LBracket, TokenType.RBracket); } return(new TryCatchAst(tryBody, catchBody)); } return(null); }
public void Visit(ScopeDeclr ast) { Exec(ast); }
public void Visit(ScopeDeclr test) { Console.WriteLine("Useless!"); }
public void Visit(ScopeDeclr ast) { PrintWrap("Scope", () => ast.ScopedStatements.ForEach(statement => statement.Visit(this)), true); }