private static AstNode ParseWith(TokenStream stream) { WithStatement ret = new WithStatement (stream.Location); stream.Expect (TokenClass.Keyword, "with"); stream.Expect (TokenClass.OpenParan); ret.Add (ParseExpression (stream)); stream.Expect (TokenClass.CloseParan); ret.Add (ParseStatement (stream)); return ret; }
public void Accept(WithStatement withStmt) { withStmt.Visit (functionCompiler); }
public override void Accept (WithStatement withStmt) { symbolTable.NextScope (); withStmt.Expression.Visit (this); methodBuilder.EmitInstruction (withStmt.Location, Opcode.BeginWith); withStmt.Body.Visit (this); methodBuilder.EmitInstruction (withStmt.Location, Opcode.EndWith); symbolTable.LeaveScope (); }
public override void Accept (WithStatement withStmt) { errorLog.AddError (ErrorType.ParserError, withStmt.Location, "statement can not exist inside pattern!"); }
public virtual void Accept(WithStatement with) { }
public void Accept(WithStatement withStmt) { symbolTable.BeginScope (); withStmt.VisitChildren (this); symbolTable.EndScope (); }
public void Accept(WithStatement withStmt) { errorLog.AddError (ErrorType.ParserError, withStmt.Location, "Statement not allowed outside function body!"); }
public void Accept(WithStatement withStmt) { }