Esempio n. 1
0
 public If(Expr cond, Stmt thenBranch, Stmt elseBranch)
 {
     Cond       = cond;
     ThenBranch = thenBranch;
     ElseBranch = elseBranch;
 }
 private void Execute(Stmt <Void> stmt)
 {
     stmt.Accept(this);
 }
Esempio n. 3
0
 public While(Expr cond, Stmt body)
 {
     Cond = cond;
     Body = body;
 }
 public Void VisitExpressionStmt(Stmt <Void> .Expression stmt)
 {
     Evaluate(stmt.expression);
     return(null);
 }
 public Void VisitBlockStmt(Stmt <Void> .Block stmt)
 {
     ExecuteBlock(stmt.statements, new Env(env));
     return(null);
 }
 public LoxFunction(Stmt <Void> .Function declaration, Env closure, bool isInitializer)
 {
     this.closure       = closure;
     this.declaration   = declaration;
     this.isInitializer = isInitializer;
 }
 private void execute(Stmt statement)
 {
     statement.accept(this);
 }
 public While(Expr <object> condition, Stmt <R> body)
 {
     this.condition = condition;
     this.body      = body;
 }
Esempio n. 9
0
 private void resolve(Stmt stmt)
 {
     stmt.accept(this);
 }
 public If(Expr <object> condition, Stmt <R> thenBranch, Stmt <R> elseBranch)
 {
     this.condition  = condition;
     this.thenBranch = thenBranch;
     this.elseBranch = elseBranch;
 }
 public void Resolve(Stmt <Void> stmt)
 {
     stmt.Accept(this);
 }
 public Void VisitWhileStmt(Stmt <Void> .While stmt)
 {
     Resolve(stmt.condition);
     Resolve(stmt.body);
     return(null);
 }
 public Void VisitPrintStmt(Stmt <Void> .Print stmt)
 {
     Resolve(stmt.expression);
     return(null);
 }
 public Void VisitExpressionStmt(Stmt <Void> .Expression stmt)
 {
     Resolve(stmt.expression);
     return(null);
 }