Pseudocode: Add valued instructions and unbound values to AbstractPseudoValueTest

This commit is contained in:
Alexey Sedunov
2014-06-25 19:32:20 +04:00
parent 21be468e6c
commit f226d99d36
77 changed files with 897 additions and 777 deletions
@@ -20,28 +20,28 @@ fun assignments() : Unit {
t.x += 1
}
---------------------
1 <v0>: Int NEW()
2 <v1>: Int NEW()
x <v2>: Int NEW()
2 <v3>: Int NEW()
x += 2 <v4>: Int NEW(<v2>, <v3>)
true <v5>: Boolean NEW()
1 <v6>: Int NEW()
2 <v7>: Int NEW()
if (true) 1 else 2 <v8>: Int NEW(<v6>, <v7>)
true <v9>: Boolean NEW()
false <v10>: Boolean NEW()
true && false <v11>: Boolean NEW(<v9>, <v10>)
false <v12>: Boolean NEW()
true <v13>: Boolean NEW()
false && true <v14>: Boolean NEW(<v12>, <v13>)
Test() <v15>: Test NEW()
t <v16>: Test NEW()
1 <v17>: Int NEW()
t <v22>: Test NEW()
x <v19>: Int NEW(<v18>)
t.x <v19>: Int COPY
1 <v20>: Int NEW()
t.x += 1 <v21>: Int NEW(<v19>, <v20>)
{ var x = 1 x = 2 x += 2 x = if (true) 1 else 2 val y = true && false val z = false && true val t = Test(); t.x = 1 t.x += 1 } <v21>: Int COPY
1 <v0>: Int NEW: r(1) -> <v0>
2 <v1>: Int NEW: r(2) -> <v1>
x <v2>: Int NEW: r(x) -> <v2>
2 <v3>: Int NEW: r(2) -> <v3>
x += 2 <v4>: Int NEW: call(+=, plus|<v2>, <v3>) -> <v4>
true <v5>: Boolean NEW: r(true) -> <v5>
1 <v6>: Int NEW: r(1) -> <v6>
2 <v7>: Int NEW: r(2) -> <v7>
if (true) 1 else 2 <v8>: Int NEW: merge(if (true) 1 else 2|<v6>, <v7>) -> <v8>
true <v9>: Boolean NEW: r(true) -> <v9>
false <v10>: Boolean NEW: r(false) -> <v10>
true && false <v11>: Boolean NEW: magic(true && false|<v9>, <v10>) -> <v11>
false <v12>: Boolean NEW: r(false) -> <v12>
true <v13>: Boolean NEW: r(true) -> <v13>
false && true <v14>: Boolean NEW: magic(false && true|<v12>, <v13>) -> <v14>
Test() <v15>: Test NEW: call(Test, <init>) -> <v15>
t <v16>: Test NEW: r(t) -> <v16>
1 <v17>: Int NEW: r(1) -> <v17>
t <v22>: Test NEW: r(t) -> <v22>
x <v19>: Int NEW: r(x|<v18>) -> <v19>
t.x <v19>: Int COPY
1 <v20>: Int NEW: r(1) -> <v20>
t.x += 1 <v21>: Int NEW: call(+=, plus|<v19>, <v20>) -> <v21>
{ var x = 1 x = 2 x += 2 x = if (true) 1 else 2 val y = true && false val z = false && true val t = Test(); t.x = 1 t.x += 1 } <v21>: Int COPY
=====================