public void AstStmt_Var() { var stmt = new Tree("var", "expr"); AssertStmtEqual(stmt, "var foo = 3;"); }
public void AstStmt_Function() { var stmt = new Tree("func", this.block); AssertStmtEqual(stmt, "func foo(a:int):int {stmt();}"); }
public void AstStmt_ReturnValue() { var stmt = new Tree("return", "expr"); AssertStmtEqual(stmt, "return 1;"); }
public void AstStmt_ReturnVoid() { var stmt = new Tree("return", (Tree)null); AssertStmtEqual(stmt, "return;"); }
public void AstStmt_DoWhile() { var stmt = new Tree("dowhile", this.block, "expr"); AssertStmtEqual(stmt, "do{stmt();}while(1);"); }
public void AstStmt_While() { var stmt = new Tree("while", "expr", this.block); AssertStmtEqual(stmt, "while(1){stmt();}"); }
public void AstStmt_IfElse() { var stmt = new Tree("if", "expr", this.block, this.block); AssertStmtEqual(stmt, "if(0){stmt1();}else{stmt2();}"); }
public void AstStmt_If() { var stmt = new Tree("if", "expr", this.block, null); AssertStmtEqual(stmt, "if(0){stmt();}"); }
public void AstStmt_Block() { var stmt = new Tree("block", "stmt", "stmt"); AssertStmtEqual(stmt, "{stmt1();stmt2();}"); }