assignment changes

v1
Brett 2023-12-08 22:31:47 -05:00
parent f7e05930c9
commit 166b7693bb
1 changed files with 94 additions and 31 deletions

View File

@ -33,6 +33,18 @@ void printLines(const std::vector<std::string>& lines)
{ {
for (const auto& v : lines) for (const auto& v : lines)
std::cout << v << "\n"; std::cout << v << "\n";
std::cout << std::endl;
}
int testFunc(int a, int b)
{
if (a == b)
{
a = 2 * b;
b = 3 * a;
}
return a;
} }
void blt::test::utility::run() void blt::test::utility::run()
@ -75,14 +87,15 @@ void blt::test::utility::run()
assign1.getRoot()->with( assign1.getRoot()->with(
// left // left
(new string::BinaryTreeFormatter::Node("member")) (new string::BinaryTreeFormatter::Node("member"))
->with((new string::BinaryTreeFormatter::Node("total -= total * 0.15")) ->with((new string::BinaryTreeFormatter::Node("total -= total * 0.15"))
->with((new string::BinaryTreeFormatter::Node("total > 500"))->with(new string::BinaryTreeFormatter::Node("total -= 25"))), ->with((new string::BinaryTreeFormatter::Node("total > 500"))
(new string::BinaryTreeFormatter::Node("total -= total * 0.05"))), ->with(new string::BinaryTreeFormatter::Node("total -= 25"))),
(new string::BinaryTreeFormatter::Node("total -= total * 0.05"))),
// right // right
(new string::BinaryTreeFormatter::Node("quality")) (new string::BinaryTreeFormatter::Node("quality"))
->with((new string::BinaryTreeFormatter::Node("total -= total * 0.02")), ->with((new string::BinaryTreeFormatter::Node("total -= total * 0.02")),
(new string::BinaryTreeFormatter::Node("total -= total * 0.05"))) (new string::BinaryTreeFormatter::Node("total -= total * 0.05")))
); );
printLines(assign1.construct()); printLines(assign1.construct());
blt::string::TableFormatter tableQ2i1("Iteration 0"); blt::string::TableFormatter tableQ2i1("Iteration 0");
@ -90,9 +103,9 @@ void blt::test::utility::run()
tableQ2i1.addColumn("IN"); tableQ2i1.addColumn("IN");
tableQ2i1.addColumn("OUT"); tableQ2i1.addColumn("OUT");
tableQ2i1.addRow({"Entry (0)", " -- ", "{<factor, ?>, <factorial, ?>}"}); tableQ2i1.addRow({"Entry (0)", " -- ", "{<factor, ?>, <factorial, ?>}"});
tableQ2i1.addRow({"(1)", "{<factor, ?>, <factorial, ?>}", "{<factor, 2>, <factorial, ?>}"}); tableQ2i1.addRow({"(1)", "{<factor, ?>, <factorial, ?>}", "{<factor, 1>, <factorial, ?>}"});
tableQ2i1.addRow({"(2)", "{<factor, 2>, <factorial, ?>}", "{<factor, 2>, <factorial, 1>}"}); tableQ2i1.addRow({"(2)", "{<factor, 1>, <factorial, ?>}", "{<factor, 2>, <factorial, 2>}"});
tableQ2i1.addRow({"(3)", "{<factor, 2>, <factorial, 1>}", "{}"}); tableQ2i1.addRow({"(3)", "{<factor, 1>, <factorial, 2>}", "{}"});
tableQ2i1.addRow({"(4)", "{}", "{}"}); tableQ2i1.addRow({"(4)", "{}", "{}"});
tableQ2i1.addRow({"(5)", "{}", "{}"}); tableQ2i1.addRow({"(5)", "{}", "{}"});
tableQ2i1.addRow({"Exit (6)", "{}", " -- "}); tableQ2i1.addRow({"Exit (6)", "{}", " -- "});
@ -104,12 +117,12 @@ void blt::test::utility::run()
tableQ2i2.addColumn("IN"); tableQ2i2.addColumn("IN");
tableQ2i2.addColumn("OUT"); tableQ2i2.addColumn("OUT");
tableQ2i2.addRow({"Entry (0)", " -- ", "{<factor, ?>, <factorial, ?>}"}); tableQ2i2.addRow({"Entry (0)", " -- ", "{<factor, ?>, <factorial, ?>}"});
tableQ2i2.addRow({"(1)", "{<factor, ?>, <factorial, ?>}", "{<factor, 2>, <factorial, ?>}"}); tableQ2i2.addRow({"(1)", "{<factor, ?>, <factorial, ?>}", "{<factor, 1>, <factorial, ?>}"});
tableQ2i2.addRow({"(2)", "{<factor, 2>, <factorial, ?>}", "{<factor, 2>, <factorial, 1>}"}); tableQ2i2.addRow({"(2)", "{<factor, 1>, <factorial, ?>}", "{<factor, 2>, <factorial, 2>}"});
tableQ2i2.addRow({"(3)", "{<factor, 2>, <factorial, 1>}", "{<factor, 2>, <factorial, 1>}"}); tableQ2i2.addRow({"(3)", "{<factor, 1>, <factorial, 2>}", "{<factor, 1>, <factorial, 2>}"});
tableQ2i2.addRow({"(4)", "{<factor, 2>, <factorial, 1>}", "{<factor, 2>, <factorial, 2>}"}); tableQ2i2.addRow({"(4)", "{<factor, 1>, <factorial, 2>}", "{<factor, 1>, <factorial, 4>}"});
tableQ2i2.addRow({"(5)", "{<factor, 2>, <factorial, 2>}", "{<factor, 1>, <factorial, 2>}"}); tableQ2i2.addRow({"(5)", "{<factor, 1>, <factorial, 4>}", "{<factor, 5>, <factorial, 4>}"});
tableQ2i2.addRow({"Exit (6)", "{<factor, 1>, <factorial, 2>}", " -- "}); tableQ2i2.addRow({"Exit (6)", "{<factor, 5>, <factorial, 4>}", " -- "});
printLines(tableQ2i2.createTable(true, true)); printLines(tableQ2i2.createTable(true, true));
@ -118,27 +131,77 @@ void blt::test::utility::run()
tableQ2i3.addColumn("IN"); tableQ2i3.addColumn("IN");
tableQ2i3.addColumn("OUT"); tableQ2i3.addColumn("OUT");
tableQ2i3.addRow({"Entry (0)", " -- ", "{<factor, ?>, <factorial, ?>}"}); tableQ2i3.addRow({"Entry (0)", " -- ", "{<factor, ?>, <factorial, ?>}"});
tableQ2i3.addRow({"(1)", "{<factor, ?>, <factorial, ?>}", "{<factor, 2>, <factorial, ?>}"}); tableQ2i3.addRow({"(1)", "{<factor, ?>, <factorial, ?>}", "{<factor, 1>, <factorial, ?>}"});
tableQ2i3.addRow({"(2)", "{<factor, 2>, <factorial, ?>}", "{<factor, 2>, <factorial, 1>}"}); tableQ2i3.addRow({"(2)", "{<factor, 1>, <factorial, ?>}", "{<factor, 2>, <factorial, 2>}"});
tableQ2i3.addRow({"(3)", "{<factor, 1>, <factorial, 2>}", "{<factor, 1>, <factorial, 2>}"}); tableQ2i3.addRow({"(3)", "{<factor, 5>, <factorial, 4>}", "{<factor, 5>, <factorial, 4>}"});
tableQ2i3.addRow({"(4)", "{<factor, 2>, <factorial, 1>}", "{<factor, 2>, <factorial, 2>}"}); tableQ2i3.addRow({"(4)", "{<factor, 5>, <factorial, 4>}", "{<factor, 5>, <factorial, 4>}"});
tableQ2i3.addRow({"(5)", "{<factor, 2>, <factorial, 2>}", "{<factor, 1>, <factorial, 2>}"}); tableQ2i3.addRow({"(5)", "{<factor, 5>, <factorial, 4>}", "{<factor, 5>, <factorial, 4>}"});
tableQ2i3.addRow({"Exit (6)", "{<factor, 1>, <factorial, 2>}", " -- "}); tableQ2i3.addRow({"Exit (6)", "{<factor, 5>, <factorial, 4>}", " -- "});
printLines(tableQ2i3.createTable(true, true)); printLines(tableQ2i3.createTable(true, true));
blt::string::TableFormatter tableQ4i0("Q4 Iteration 1"); blt::string::TableFormatter tableQ2i4("Iteration 3");
tableQ2i4.addColumn("Statement");
tableQ2i4.addColumn("IN");
tableQ2i4.addColumn("OUT");
tableQ2i4.addRow({"Entry (0)", " -- ", "{<factor, ?>, <factorial, ?>}"});
tableQ2i4.addRow({"(1)", "{<factor, ?>, <factorial, ?>}", "{<factor, 1>, <factorial, ?>}"});
tableQ2i4.addRow({"(2)", "{<factor, 1>, <factorial, ?>}", "{<factor, 2>, <factorial, 2>}"});
tableQ2i4.addRow({"(3)", "{<factor, 5>, <factorial, 4>}", "{<factor, 5>, <factorial, 4>}"});
tableQ2i4.addRow({"(4)", "{<factor, 5>, <factorial, 4>}", "{<factor, 5>, <factorial, 4>}"});
tableQ2i4.addRow({"(5)", "{<factor, 5>, <factorial, 4>}", "{<factor, 5>, <factorial, 4>}"});
tableQ2i4.addRow({"Exit (6)", "{<factor, 5>, <factorial, 4>}", " -- "});
printLines(tableQ2i4.createTable(true, true));
blt::string::TableFormatter tableQ4i0("Q4 Iteration 0");
tableQ4i0.addColumn("Statement"); tableQ4i0.addColumn("Statement");
tableQ4i0.addColumn("IN"); tableQ4i0.addColumn("IN");
tableQ4i0.addColumn("OUT"); tableQ4i0.addColumn("OUT");
tableQ4i0.addRow({"Entry (1)", " -- ", " {} "}); tableQ4i0.addRow({"Entry (1)", " -- ", " {} "});
tableQ4i0.addRow({"(2)", "{}", "{}"}); tableQ4i0.addRow({"(2)", "{a + b, a * b, a - b, b + 1}", "{a + b, a * b, a - b, b + 1}"});
tableQ4i0.addRow({"(3)", "{}", "{}"}); tableQ4i0.addRow({"(3)", "{a + b, a * b, a - b, b + 1}", "{a + b, a * b, a - b, b + 1}"});
tableQ4i0.addRow({"(4)", "{x = a + b, y = a * b}", "{x = a + b, y = a * b}"}); tableQ4i0.addRow({"(4)", "{a + b, a * b, a - b, b + 1}", "{a + b, a * b, a - b, b + 1}"});
tableQ4i0.addRow({"(5)", "{x = a + b, y = a * b}", "{x = a + b, y = a * b}"}); tableQ4i0.addRow({"(5)", "{a + b, a * b, a - b, b + 1}", "{a + b, a * b, a - b, b + 1}"});
tableQ4i0.addRow({"(6)", "{x = a + b, y = a * b}", "{x = a + b, y = a * b}"}); tableQ4i0.addRow({"(6)", "{a + b, a * b, a - b, b + 1}", "{a + b, a * b, a - b, b + 1}"});
tableQ4i0.addRow({"(7)", "{}", "{}"}); tableQ4i0.addRow({"(7)", "{a + b, a * b, a - b, b + 1}", "{a + b, a * b, a - b, b + 1}"});
tableQ4i0.addRow({"(8)", "{}", "{}"}); tableQ4i0.addRow({"(8)", "{a + b, a * b, a - b, b + 1}", "{a + b, a * b, a - b, b + 1}"});
tableQ4i0.addRow({"(9)", "{}", "{}"}); tableQ4i0.addRow({"(9)", "{a + b, a * b, a - b, b + 1}", "{a + b, a * b, a - b, b + 1}"});
tableQ4i0.addRow({"Exit (10)", "{<factor, 1>, <factorial, 2>}", " -- "}); tableQ4i0.addRow({"Exit (10)", "{a + b, a * b, a - b, b + 1}", " -- "});
printLines(tableQ4i0.createTable(true, true));
blt::string::TableFormatter tableQ4i1("Q4 Iteration 1");
tableQ4i1.addColumn("Statement");
tableQ4i1.addColumn("IN");
tableQ4i1.addColumn("OUT");
tableQ4i1.addRow({"Entry (1)", " -- ", " {} "});
tableQ4i1.addRow({"(2)", "{}", "{}"});
tableQ4i1.addRow({"(3)", "{}", "{}"});
tableQ4i1.addRow({"(4)", "{}", "{a + b}"});
tableQ4i1.addRow({"(5)", "{a + b}", "{a + b, a * b}"});
tableQ4i1.addRow({"(6)", "{a + b, a * b}", "{a + b, a * b, a - b}"});
tableQ4i1.addRow({"(7)", "{a + b, a * b, a - b}", "{}"});
tableQ4i1.addRow({"(8)", "{}", "{a + b}"});
tableQ4i1.addRow({"(9)", "{a + b}", "{a + b, a * b}"});
tableQ4i1.addRow({"Exit (10)", "{a + b, a * b, a - b}", " -- "});
printLines(tableQ4i1.createTable(true, true));
blt::string::TableFormatter tableQ4i2("Q4 Iteration 2");
tableQ4i2.addColumn("Statement");
tableQ4i2.addColumn("IN");
tableQ4i2.addColumn("OUT");
tableQ4i2.addRow({"Entry (1)", " -- ", " {} "});
tableQ4i2.addRow({"(2)", "{}", "{}"});
tableQ4i2.addRow({"(3)", "{}", "{}"});
tableQ4i2.addRow({"(4)", "{}", "{a + b}"});
tableQ4i2.addRow({"(5)", "{a + b}", "{a + b, a * b}"});
tableQ4i2.addRow({"(6)", "{a + b, a * b}", "{a + b, a * b, a - b}"});
tableQ4i2.addRow({"(7)", "{a + b, a * b, a - b}", "{}"});
tableQ4i2.addRow({"(8)", "{}", "{a + b}"});
tableQ4i2.addRow({"(9)", "{a + b}", "{a + b, a * b}"});
tableQ4i2.addRow({"Exit (10)", "{a + b, a * b, a - b}", " -- "});
printLines(tableQ4i2.createTable(true, true));
} }