private static PrgState prg2() { /* * a=2-2; * If a Then * v=2 * Else * v=3; * Print(v) */ Statement ex2 = new CompStmt( new AssignStmt("a", new ArithmeticExpr('-', new ConstExpr(2), new ConstExpr(2))), new CompStmt( new IfStmt( new VarExpr("a"), new AssignStmt("v", new ConstExpr(2)), new AssignStmt("v", new ConstExpr(3))), new PrintStmt( new VarExpr("v")))); IExeStack <Statement> stack = new ExeStack <Statement>(); IDictionaryy <string, int> dict = new Dictionaryy <string, int>(); IListt <int> l = new outputList <int>(); FileTable <int, FileData> ft = new FileTable <int, FileData>(); stack.PushS(ex2); PrgState state = new PrgState(dict, stack, l, ex2, ft); return(state); }
private static PrgState prg4() { //open(a,"a.txt") //open(b,"b.txt") //open(c,"c.txt") //open(d,"d.txt") Statement ex4 = new CompStmt( new CompStmt( new OpenFile("a", "E:\\Programe\\Visual Studio\\Programe\\MAP_Lab7\\a.txt"), new OpenFile("b", "E:\\Programe\\Visual Studio\\Programe\\MAP_Lab7\\b.txt") ), new CompStmt( new OpenFile("c", "E:\\Programe\\Visual Studio\\Programe\\MAP_Lab7\\c.txt"), new OpenFile("d", "E:\\Programe\\Visual Studio\\Programe\\MAP_Lab7\\d.txt") ) ); IExeStack <Statement> stack = new ExeStack <Statement>(); IDictionaryy <string, int> dict = new Dictionaryy <string, int>(); IListt <int> l = new outputList <int>(); FileTable <int, FileData> ft = new FileTable <int, FileData>(); stack.PushS(ex4); PrgState state = new PrgState(dict, stack, l, ex4, ft); return(state); }
private static PrgState prg3() { //a = 2 + 3 * 5 //b = a + 1 //Print(b) Statement ex3 = new CompStmt( new CompStmt(new AssignStmt("a", new ArithmeticExpr('+', new ConstExpr(2), new ArithmeticExpr('*', new ConstExpr(3), new ConstExpr(5) ))), new AssignStmt("b", new ArithmeticExpr('+', new VarExpr("a"), new ConstExpr(1)))), new PrintStmt(new VarExpr("b"))); IExeStack <Statement> stack = new ExeStack <Statement>(); IDictionaryy <string, int> dict = new Dictionaryy <string, int>(); IListt <int> l = new outputList <int>(); FileTable <int, FileData> ft = new FileTable <int, FileData>(); stack.PushS(ex3); PrgState state = new PrgState(dict, stack, l, ex3, ft); return(state); }
private static PrgState prg1() { //a=5; //if (a-5) then // print(1); //else // print(2); //print((5+7)a); Statement ex1 = new CompStmt( new AssignStmt("a", new ConstExpr(5)), new CompStmt( new IfStmt( new ArithmeticExpr( '-', new VarExpr("a"), new ConstExpr(5) ), new PrintStmt(new ConstExpr(1)), new PrintStmt(new ConstExpr(2)) ), new PrintStmt( new ArithmeticExpr( '*', new ArithmeticExpr( '+', new ConstExpr(5), new ConstExpr(7) ), new VarExpr("a") ) ) ) ); IExeStack <Statement> stack = new ExeStack <Statement>(); IDictionaryy <string, int> dict = new Dictionaryy <string, int>(); IListt <int> l = new outputList <int>(); FileTable <int, FileData> ft = new FileTable <int, FileData>(); stack.PushS(ex1); PrgState state = new PrgState(dict, stack, l, ex1, ft); return(state); }