Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
ravi-compiler/tests/expected/results.expected
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
10126 lines (10117 sloc)
223 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| return | |
| function() | |
| --upvalues _ENV* | |
| return | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| RET {L1} | |
| L1 (exit) | |
| return 1 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| 1 | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| 1 | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| RET {1 Kint(0)} {L1} | |
| L1 (exit) | |
| return 42, 4.2, true, 'hello' | |
| function() | |
| --upvalues _ENV* | |
| return | |
| 42 | |
| , | |
| 4.2000000000000002 | |
| , | |
| true | |
| , | |
| 'hello' | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| 42 | |
| , | |
| 4.2000000000000002 | |
| , | |
| true | |
| , | |
| 'hello' | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| RET {42 Kint(0), 4.2E0 Kflt(0), true, 'hello' Ks(0)} {L1} | |
| L1 (exit) | |
| return a | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(0)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return 1+2 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 1 | |
| + | |
| 2 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] integer | |
| 1 | |
| + | |
| 2 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| ADDii {1 Kint(0), 2 Kint(1)} {Tint(0)} | |
| RET {Tint(0)} {L1} | |
| L1 (exit) | |
| return 2^3-5*4 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| 3 | |
| --[binary expr end] | |
| - | |
| --[binary expr start] any | |
| 5 | |
| * | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] number | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| 3 | |
| --[binary expr end] | |
| - | |
| --[binary expr start] integer | |
| 5 | |
| * | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| POW {2 Kint(0), 3 Kint(1)} {Tflt(0)} | |
| MULii {5 Kint(2), 4 Kint(3)} {Tint(0)} | |
| SUBfi {Tflt(0), Tint(0)} {Tflt(1)} | |
| RET {Tflt(1)} {L1} | |
| L1 (exit) | |
| return 1+1 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 1 | |
| + | |
| 1 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] integer | |
| 1 | |
| + | |
| 1 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| ADDii {1 Kint(0), 1 Kint(0)} {Tint(0)} | |
| RET {Tint(0)} {L1} | |
| L1 (exit) | |
| return 1+1+1 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 1 | |
| + | |
| 1 | |
| --[binary expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] integer | |
| --[binary expr start] integer | |
| 1 | |
| + | |
| 1 | |
| --[binary expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| ADDii {1 Kint(0), 1 Kint(0)} {Tint(0)} | |
| ADDii {Tint(0), 1 Kint(0)} {Tint(1)} | |
| RET {Tint(1)} {L1} | |
| L1 (exit) | |
| return 2-3/5*4 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 2 | |
| - | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 3 | |
| / | |
| 5 | |
| --[binary expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] number | |
| 2 | |
| - | |
| --[binary expr start] number | |
| --[binary expr start] number | |
| 3 | |
| / | |
| 5 | |
| --[binary expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| DIVii {3 Kint(1), 5 Kint(2)} {Tflt(0)} | |
| MULfi {Tflt(0), 4 Kint(3)} {Tflt(1)} | |
| SUBif {2 Kint(0), Tflt(1)} {Tflt(0)} | |
| RET {Tflt(0)} {L1} | |
| L1 (exit) | |
| return 4.2//5 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 4.2000000000000002 | |
| // | |
| 5 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 4.2000000000000002 | |
| // | |
| 5 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| IDIV {4.2E0 Kflt(0), 5 Kint(0)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return 0.0 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| 0.0000000000000000 | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| 0.0000000000000000 | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| RET {0E0 Kflt(0)} {L1} | |
| L1 (exit) | |
| return 0 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| 0 | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| 0 | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| RET {0 Kint(0)} {L1} | |
| L1 (exit) | |
| return -0//1 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| 0 | |
| --[unary expr end] | |
| // | |
| 1 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] integer | |
| --[unary expr start] integer | |
| - | |
| 0 | |
| --[unary expr end] | |
| // | |
| 1 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| UNMi {0 Kint(0)} {Tint(0)} | |
| IDIV {Tint(0), 1 Kint(1)} {Tint(1)} | |
| RET {Tint(1)} {L1} | |
| L1 (exit) | |
| return 3^-1 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 3 | |
| ^ | |
| --[unary expr start] any | |
| - | |
| 1 | |
| --[unary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] number | |
| 3 | |
| ^ | |
| --[unary expr start] integer | |
| - | |
| 1 | |
| --[unary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| UNMi {1 Kint(1)} {Tint(0)} | |
| POW {3 Kint(0), Tint(0)} {Tflt(0)} | |
| RET {Tflt(0)} {L1} | |
| L1 (exit) | |
| return (1 + 1)^(50 + 50) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 1 | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| ^ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 50 | |
| + | |
| 50 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] number | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[binary expr start] integer | |
| 1 | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| ^ | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[binary expr start] integer | |
| 50 | |
| + | |
| 50 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| ADDii {1 Kint(0), 1 Kint(0)} {Tint(0)} | |
| ADDii {50 Kint(1), 50 Kint(1)} {Tint(1)} | |
| POW {Tint(0), Tint(1)} {Tflt(0)} | |
| RET {Tflt(0)} {L1} | |
| L1 (exit) | |
| return (-2)^(31 - 2) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[unary expr start] any | |
| - | |
| 2 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| ^ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 31 | |
| - | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] number | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[unary expr start] integer | |
| - | |
| 2 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| ^ | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[binary expr start] integer | |
| 31 | |
| - | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| UNMi {2 Kint(0)} {Tint(0)} | |
| SUBii {31 Kint(1), 2 Kint(0)} {Tint(1)} | |
| POW {Tint(0), Tint(1)} {Tflt(0)} | |
| RET {Tflt(0)} {L1} | |
| L1 (exit) | |
| return (-3^0 + 5) // 3.0 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| --[binary expr start] any | |
| 3 | |
| ^ | |
| 0 | |
| --[binary expr end] | |
| --[unary expr end] | |
| + | |
| 5 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| // | |
| 3.0000000000000000 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| --[unary expr start] number | |
| - | |
| --[binary expr start] number | |
| 3 | |
| ^ | |
| 0 | |
| --[binary expr end] | |
| --[unary expr end] | |
| + | |
| 5 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| // | |
| 3.0000000000000000 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| POW {3 Kint(0), 0 Kint(1)} {Tflt(0)} | |
| UNMf {Tflt(0)} {Tflt(1)} | |
| ADDfi {Tflt(1), 5 Kint(2)} {Tflt(2)} | |
| IDIV {Tflt(2), 3E0 Kflt(0)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return 0xF0.0 | 0xCC.0 ~ 0xAA & 0xFD | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 240.0000000000000000 | |
| | | |
| --[binary expr start] any | |
| 204.0000000000000000 | |
| ~ | |
| --[binary expr start] any | |
| 170 | |
| & | |
| 253 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] integer | |
| 240.0000000000000000 | |
| | | |
| --[binary expr start] integer | |
| 204.0000000000000000 | |
| ~ | |
| --[binary expr start] integer | |
| 170 | |
| & | |
| 253 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BANDii {170 Kint(0), 253 Kint(1)} {Tint(0)} | |
| BXOR {2.04E2 Kflt(1), Tint(0)} {Tint(1)} | |
| BOR {2.4E2 Kflt(0), Tint(1)} {Tint(0)} | |
| RET {Tint(0)} {L1} | |
| L1 (exit) | |
| return ~(~0xFF0 | 0xFF0) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| ~ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| ~ | |
| 4080 | |
| --[unary expr end] | |
| | | |
| 4080 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| ~ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| ~ | |
| 4080 | |
| --[unary expr end] | |
| | | |
| 4080 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BNOT {4080 Kint(0)} {T(0)} | |
| BOR {T(0), 4080 Kint(0)} {T(1)} | |
| BNOT {T(1)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return ~~-100024.0 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| ~ | |
| --[unary expr start] any | |
| ~ | |
| --[unary expr start] any | |
| - | |
| 100024.0000000000000000 | |
| --[unary expr end] | |
| --[unary expr end] | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| ~ | |
| --[unary expr start] any | |
| ~ | |
| --[unary expr start] number | |
| - | |
| 100024.0000000000000000 | |
| --[unary expr end] | |
| --[unary expr end] | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| UNMf {1.00024E5 Kflt(0)} {Tflt(0)} | |
| BNOT {Tflt(0)} {T(0)} | |
| BNOT {T(0)} {T(1)} | |
| RET {T(1)} {L1} | |
| L1 (exit) | |
| return ((100 << 6) << -4) >> 2 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 100 | |
| << | |
| 6 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| << | |
| --[unary expr start] any | |
| - | |
| 4 | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| >> | |
| 2 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] integer | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[binary expr start] integer | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[binary expr start] integer | |
| 100 | |
| << | |
| 6 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| << | |
| --[unary expr start] integer | |
| - | |
| 4 | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| >> | |
| 2 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| SHLii {100 Kint(0), 6 Kint(1)} {Tint(0)} | |
| UNMi {4 Kint(2)} {Tint(1)} | |
| SHLii {Tint(0), Tint(1)} {Tint(2)} | |
| SHRii {Tint(2), 2 Kint(3)} {Tint(1)} | |
| RET {Tint(1)} {L1} | |
| L1 (exit) | |
| return 2^3^2 == 2^(3^2) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| --[binary expr start] any | |
| 3 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 3 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] boolean | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| --[binary expr start] number | |
| 3 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| 3 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| POW {3 Kint(1), 2 Kint(0)} {Tflt(0)} | |
| POW {2 Kint(0), Tflt(0)} {Tflt(1)} | |
| POW {3 Kint(1), 2 Kint(0)} {Tflt(0)} | |
| POW {2 Kint(0), Tflt(0)} {Tflt(2)} | |
| EQff {Tflt(1), Tflt(2)} {Tbool(0)} | |
| RET {Tbool(0)} {L1} | |
| L1 (exit) | |
| return 2^3*4 == (2^3)*4 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| 3 | |
| --[binary expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| == | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| 3 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] boolean | |
| --[binary expr start] number | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| 3 | |
| --[binary expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| == | |
| --[binary expr start] number | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| 3 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| POW {2 Kint(0), 3 Kint(1)} {Tflt(0)} | |
| MULfi {Tflt(0), 4 Kint(2)} {Tflt(1)} | |
| POW {2 Kint(0), 3 Kint(1)} {Tflt(0)} | |
| MULfi {Tflt(0), 4 Kint(2)} {Tflt(2)} | |
| EQff {Tflt(1), Tflt(2)} {Tbool(0)} | |
| RET {Tbool(0)} {L1} | |
| L1 (exit) | |
| return 2.0^-2 == 1/4 and -2^- -2 == - - -4 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2.0000000000000000 | |
| ^ | |
| --[unary expr start] any | |
| - | |
| 2 | |
| --[unary expr end] | |
| --[binary expr end] | |
| == | |
| --[binary expr start] any | |
| 1 | |
| / | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| --[unary expr start] any | |
| - | |
| --[unary expr start] any | |
| - | |
| 2 | |
| --[unary expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[unary expr end] | |
| == | |
| --[unary expr start] any | |
| - | |
| --[unary expr start] any | |
| - | |
| --[unary expr start] any | |
| - | |
| 4 | |
| --[unary expr end] | |
| --[unary expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] boolean | |
| --[binary expr start] number | |
| 2.0000000000000000 | |
| ^ | |
| --[unary expr start] integer | |
| - | |
| 2 | |
| --[unary expr end] | |
| --[binary expr end] | |
| == | |
| --[binary expr start] number | |
| 1 | |
| / | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| and | |
| --[binary expr start] boolean | |
| --[unary expr start] number | |
| - | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| --[unary expr start] integer | |
| - | |
| --[unary expr start] integer | |
| - | |
| 2 | |
| --[unary expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[unary expr end] | |
| == | |
| --[unary expr start] integer | |
| - | |
| --[unary expr start] integer | |
| - | |
| --[unary expr start] integer | |
| - | |
| 4 | |
| --[unary expr end] | |
| --[unary expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| UNMi {2 Kint(0)} {Tint(0)} | |
| POW {2E0 Kflt(0), Tint(0)} {Tflt(0)} | |
| DIVii {1 Kint(1), 4 Kint(2)} {Tflt(1)} | |
| EQff {Tflt(0), Tflt(1)} {Tbool(0)} | |
| MOV {Tbool(0)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L1 (exit) | |
| L2 | |
| UNMi {2 Kint(0)} {Tint(0)} | |
| UNMi {Tint(0)} {Tint(1)} | |
| POW {2 Kint(0), Tint(1)} {Tflt(1)} | |
| UNMf {Tflt(1)} {Tflt(0)} | |
| UNMi {4 Kint(2)} {Tint(1)} | |
| UNMi {Tint(1)} {Tint(2)} | |
| UNMi {Tint(2)} {Tint(3)} | |
| EQ {Tflt(0), Tint(3)} {Tbool(4)} | |
| MOV {Tbool(4)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| return not nil and 2 and not(2>3 or 3<2) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| not | |
| nil | |
| --[unary expr end] | |
| and | |
| 2 | |
| --[binary expr end] | |
| and | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2 | |
| > | |
| 3 | |
| --[binary expr end] | |
| or | |
| --[binary expr start] any | |
| 3 | |
| < | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| not | |
| nil | |
| --[unary expr end] | |
| and | |
| 2 | |
| --[binary expr end] | |
| and | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[binary expr start] boolean | |
| 2 | |
| > | |
| 3 | |
| --[binary expr end] | |
| or | |
| --[binary expr start] boolean | |
| 3 | |
| < | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NOT {nil} {T(2)} | |
| MOV {T(2)} {T(1)} | |
| CBR {T(1)} {L4, L5} | |
| L1 (exit) | |
| L2 | |
| LIii {3 Kint(1), 2 Kint(0)} {Tbool(0)} | |
| MOV {Tbool(0)} {T(1)} | |
| CBR {T(1)} {L7, L6} | |
| L3 | |
| RET {T(0)} {L1} | |
| L4 | |
| MOV {2 Kint(0)} {T(1)} | |
| BR {L5} | |
| L5 | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L6 | |
| LIii {3 Kint(1), 2 Kint(0)} {Tbool(0)} | |
| MOV {Tbool(0)} {T(1)} | |
| BR {L7} | |
| L7 | |
| NOT {T(1)} {T(2)} | |
| MOV {T(2)} {T(0)} | |
| BR {L3} | |
| return -3-1-5 == 0+0-9 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| 3 | |
| --[unary expr end] | |
| - | |
| 1 | |
| --[binary expr end] | |
| - | |
| 5 | |
| --[binary expr end] | |
| == | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 0 | |
| + | |
| 0 | |
| --[binary expr end] | |
| - | |
| 9 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| --[binary expr start] integer | |
| --[unary expr start] integer | |
| - | |
| 3 | |
| --[unary expr end] | |
| - | |
| 1 | |
| --[binary expr end] | |
| - | |
| 5 | |
| --[binary expr end] | |
| == | |
| --[binary expr start] integer | |
| --[binary expr start] integer | |
| 0 | |
| + | |
| 0 | |
| --[binary expr end] | |
| - | |
| 9 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| UNMi {3 Kint(0)} {Tint(0)} | |
| SUBii {Tint(0), 1 Kint(1)} {Tint(1)} | |
| SUBii {Tint(1), 5 Kint(2)} {Tint(0)} | |
| ADDii {0 Kint(3), 0 Kint(3)} {Tint(1)} | |
| SUBii {Tint(1), 9 Kint(4)} {Tint(2)} | |
| EQii {Tint(0), Tint(2)} {Tbool(1)} | |
| RET {Tbool(1)} {L1} | |
| L1 (exit) | |
| return -2^2 == -4 and (-2)^2 == 4 and 2*2-3-1 == 0 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[unary expr end] | |
| == | |
| --[unary expr start] any | |
| - | |
| 4 | |
| --[unary expr end] | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[unary expr start] any | |
| - | |
| 2 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| == | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2 | |
| * | |
| 2 | |
| --[binary expr end] | |
| - | |
| 3 | |
| --[binary expr end] | |
| - | |
| 1 | |
| --[binary expr end] | |
| == | |
| 0 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] boolean | |
| --[unary expr start] number | |
| - | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[unary expr end] | |
| == | |
| --[unary expr start] integer | |
| - | |
| 4 | |
| --[unary expr end] | |
| --[binary expr end] | |
| and | |
| --[binary expr start] boolean | |
| --[binary expr start] number | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[unary expr start] integer | |
| - | |
| 2 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| == | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| and | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| --[binary expr start] integer | |
| --[binary expr start] integer | |
| 2 | |
| * | |
| 2 | |
| --[binary expr end] | |
| - | |
| 3 | |
| --[binary expr end] | |
| - | |
| 1 | |
| --[binary expr end] | |
| == | |
| 0 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| POW {2 Kint(0), 2 Kint(0)} {Tflt(0)} | |
| UNMf {Tflt(0)} {Tflt(1)} | |
| UNMi {4 Kint(1)} {Tint(0)} | |
| EQ {Tflt(1), Tint(0)} {Tbool(1)} | |
| MOV {Tbool(1)} {T(1)} | |
| CBR {T(1)} {L4, L5} | |
| L1 (exit) | |
| L2 | |
| MULii {2 Kint(0), 2 Kint(0)} {Tint(1)} | |
| SUBii {Tint(1), 3 Kint(2)} {Tint(0)} | |
| SUBii {Tint(0), 1 Kint(3)} {Tint(1)} | |
| EQii {Tint(1), 0 Kint(4)} {Tbool(0)} | |
| MOV {Tbool(0)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| L4 | |
| UNMi {2 Kint(0)} {Tint(1)} | |
| POW {Tint(1), 2 Kint(0)} {Tflt(1)} | |
| EQ {Tflt(1), 4 Kint(1)} {Tbool(1)} | |
| MOV {Tbool(1)} {T(1)} | |
| BR {L5} | |
| L5 | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| function() | |
| --upvalues _ENV* | |
| end | |
| function() | |
| --upvalues _ENV* | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| RET {L1} | |
| L1 (exit) | |
| return 2*1+3/3 == 3 and 1+2 .. 3*1 == '33' | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2 | |
| * | |
| 1 | |
| --[binary expr end] | |
| + | |
| --[binary expr start] any | |
| 3 | |
| / | |
| 3 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 3 | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 1 | |
| + | |
| 2 | |
| --[binary expr end] | |
| .. | |
| --[binary expr start] any | |
| 3 | |
| * | |
| 1 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| '33' | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] boolean | |
| --[binary expr start] number | |
| --[binary expr start] integer | |
| 2 | |
| * | |
| 1 | |
| --[binary expr end] | |
| + | |
| --[binary expr start] number | |
| 3 | |
| / | |
| 3 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 3 | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] integer | |
| 1 | |
| + | |
| 2 | |
| --[binary expr end] | |
| .. | |
| --[binary expr start] integer | |
| 3 | |
| * | |
| 1 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| '33' | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MULii {2 Kint(0), 1 Kint(1)} {Tint(0)} | |
| DIVii {3 Kint(2), 3 Kint(2)} {Tflt(0)} | |
| ADDfi {Tflt(0), Tint(0)} {Tflt(1)} | |
| EQ {Tflt(1), 3 Kint(2)} {Tbool(0)} | |
| MOV {Tbool(0)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L1 (exit) | |
| L2 | |
| ADDii {1 Kint(1), 2 Kint(0)} {Tint(0)} | |
| MULii {3 Kint(2), 1 Kint(1)} {Tint(1)} | |
| CONCAT {Tint(0), Tint(1)} {T(1)} | |
| EQ {T(1), '33' Ks(0)} {T(2)} | |
| MOV {T(2)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| return not(2+1 > 3*1) and 'a'..'b' > 'a' | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2 | |
| + | |
| 1 | |
| --[binary expr end] | |
| > | |
| --[binary expr start] any | |
| 3 | |
| * | |
| 1 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 'a' | |
| .. | |
| 'b' | |
| --[binary expr end] | |
| > | |
| 'a' | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] boolean | |
| --[primary start] boolean | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| 2 | |
| + | |
| 1 | |
| --[binary expr end] | |
| > | |
| --[binary expr start] integer | |
| 3 | |
| * | |
| 1 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 'a' | |
| .. | |
| 'b' | |
| --[binary expr end] | |
| > | |
| 'a' | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| ADDii {2 Kint(0), 1 Kint(1)} {Tint(0)} | |
| MULii {3 Kint(2), 1 Kint(1)} {Tint(1)} | |
| LIii {Tint(1), Tint(0)} {Tbool(2)} | |
| NOT {Tbool(2)} {T(1)} | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L1 (exit) | |
| L2 | |
| CONCAT {'a' Ks(0), 'b' Ks(1)} {T(1)} | |
| LT {'a' Ks(0), T(1)} {T(2)} | |
| MOV {T(2)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| return '7' .. 3 << 1 == 146 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| '7' | |
| .. | |
| 3 | |
| --[binary expr end] | |
| << | |
| 1 | |
| --[binary expr end] | |
| == | |
| 146 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| '7' | |
| .. | |
| 3 | |
| --[binary expr end] | |
| << | |
| 1 | |
| --[binary expr end] | |
| == | |
| 146 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CONCAT {'7' Ks(0), 3 Kint(0)} {T(0)} | |
| SHL {T(0), 1 Kint(1)} {T(1)} | |
| EQ {T(1), 146 Kint(2)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return 10 >> 1 .. '9' == 0 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 10 | |
| >> | |
| --[binary expr start] any | |
| 1 | |
| .. | |
| '9' | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 0 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 10 | |
| >> | |
| --[binary expr start] any | |
| 1 | |
| .. | |
| '9' | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 0 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CONCAT {1 Kint(1), '9' Ks(0)} {T(0)} | |
| SHR {10 Kint(0), T(0)} {T(1)} | |
| EQ {T(1), 0 Kint(2)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return 10 | 1 .. '9' == 27 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 10 | |
| | | |
| --[binary expr start] any | |
| 1 | |
| .. | |
| '9' | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 27 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 10 | |
| | | |
| --[binary expr start] any | |
| 1 | |
| .. | |
| '9' | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 27 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CONCAT {1 Kint(1), '9' Ks(0)} {T(0)} | |
| BOR {10 Kint(0), T(0)} {T(1)} | |
| EQ {T(1), 27 Kint(2)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return 0xF0 | 0xCC ~ 0xAA & 0xFD == 0xF4 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 240 | |
| | | |
| --[binary expr start] any | |
| 204 | |
| ~ | |
| --[binary expr start] any | |
| 170 | |
| & | |
| 253 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 244 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| 240 | |
| | | |
| --[binary expr start] integer | |
| 204 | |
| ~ | |
| --[binary expr start] integer | |
| 170 | |
| & | |
| 253 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 244 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BANDii {170 Kint(2), 253 Kint(3)} {Tint(0)} | |
| BXORii {204 Kint(1), Tint(0)} {Tint(1)} | |
| BORii {240 Kint(0), Tint(1)} {Tint(0)} | |
| EQii {Tint(0), 244 Kint(4)} {Tbool(1)} | |
| RET {Tbool(1)} {L1} | |
| L1 (exit) | |
| return 0xFD & 0xAA ~ 0xCC | 0xF0 == 0xF4 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 253 | |
| & | |
| 170 | |
| --[binary expr end] | |
| ~ | |
| 204 | |
| --[binary expr end] | |
| | | |
| 240 | |
| --[binary expr end] | |
| == | |
| 244 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| --[binary expr start] integer | |
| --[binary expr start] integer | |
| 253 | |
| & | |
| 170 | |
| --[binary expr end] | |
| ~ | |
| 204 | |
| --[binary expr end] | |
| | | |
| 240 | |
| --[binary expr end] | |
| == | |
| 244 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BANDii {253 Kint(0), 170 Kint(1)} {Tint(0)} | |
| BXORii {Tint(0), 204 Kint(2)} {Tint(1)} | |
| BORii {Tint(1), 240 Kint(3)} {Tint(0)} | |
| EQii {Tint(0), 244 Kint(4)} {Tbool(1)} | |
| RET {Tbool(1)} {L1} | |
| L1 (exit) | |
| return 0xF0 & 0x0F + 1 == 0x10 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 240 | |
| & | |
| --[binary expr start] any | |
| 15 | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 16 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| 240 | |
| & | |
| --[binary expr start] integer | |
| 15 | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| 16 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| ADDii {15 Kint(1), 1 Kint(2)} {Tint(0)} | |
| BANDii {240 Kint(0), Tint(0)} {Tint(1)} | |
| EQii {Tint(1), 16 Kint(3)} {Tbool(0)} | |
| RET {Tbool(0)} {L1} | |
| L1 (exit) | |
| return 3^4//2^3//5 == 2 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 3 | |
| ^ | |
| 4 | |
| --[binary expr end] | |
| // | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| 3 | |
| --[binary expr end] | |
| --[binary expr end] | |
| // | |
| 5 | |
| --[binary expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] number | |
| 3 | |
| ^ | |
| 4 | |
| --[binary expr end] | |
| // | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| 3 | |
| --[binary expr end] | |
| --[binary expr end] | |
| // | |
| 5 | |
| --[binary expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| POW {3 Kint(0), 4 Kint(1)} {Tflt(0)} | |
| POW {2 Kint(2), 3 Kint(0)} {Tflt(1)} | |
| IDIV {Tflt(0), Tflt(1)} {T(0)} | |
| IDIV {T(0), 5 Kint(3)} {T(1)} | |
| EQ {T(1), 2 Kint(2)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return not ((true or false) and nil) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| true | |
| or | |
| false | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| nil | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| true | |
| or | |
| false | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| nil | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {true} {T(1)} | |
| CBR {T(1)} {L5, L4} | |
| L1 (exit) | |
| L2 | |
| MOV {nil} {T(0)} | |
| BR {L3} | |
| L3 | |
| NOT {T(0)} {T(1)} | |
| RET {T(1)} {L1} | |
| L4 | |
| MOV {false} {T(1)} | |
| BR {L5} | |
| L5 | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| return true or false and nil | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| true | |
| or | |
| --[binary expr start] any | |
| false | |
| and | |
| nil | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| true | |
| or | |
| --[binary expr start] any | |
| false | |
| and | |
| nil | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {true} {T(0)} | |
| CBR {T(0)} {L3, L2} | |
| L1 (exit) | |
| L2 | |
| MOV {false} {T(1)} | |
| CBR {T(1)} {L4, L5} | |
| L3 | |
| RET {T(0)} {L1} | |
| L4 | |
| MOV {nil} {T(1)} | |
| BR {L5} | |
| L5 | |
| MOV {T(1)} {T(0)} | |
| BR {L3} | |
| return (((1 or false) and true) or false) == true | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 1 | |
| or | |
| false | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| true | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| or | |
| false | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| true | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 1 | |
| or | |
| false | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| true | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| or | |
| false | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| true | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {T(2)} | |
| CBR {T(2)} {L7, L6} | |
| L1 (exit) | |
| L2 | |
| MOV {false} {T(0)} | |
| BR {L3} | |
| L3 | |
| EQ {T(0), true} {T(1)} | |
| RET {T(1)} {L1} | |
| L4 | |
| MOV {true} {T(1)} | |
| BR {L5} | |
| L5 | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L3, L2} | |
| L6 | |
| MOV {false} {T(2)} | |
| BR {L7} | |
| L7 | |
| MOV {T(2)} {T(1)} | |
| CBR {T(1)} {L4, L5} | |
| return (((nil and true) or false) and true) == false | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| nil | |
| and | |
| true | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| or | |
| false | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| true | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| false | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| nil | |
| and | |
| true | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| or | |
| false | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| true | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| false | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {nil} {T(2)} | |
| CBR {T(2)} {L6, L7} | |
| L1 (exit) | |
| L2 | |
| MOV {true} {T(0)} | |
| BR {L3} | |
| L3 | |
| EQ {T(0), false} {T(1)} | |
| RET {T(1)} {L1} | |
| L4 | |
| MOV {false} {T(1)} | |
| BR {L5} | |
| L5 | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L6 | |
| MOV {true} {T(2)} | |
| BR {L7} | |
| L7 | |
| MOV {T(2)} {T(1)} | |
| CBR {T(1)} {L5, L4} | |
| return -(1 or 2) == -1 and (1 and 2)+(-1.25 or -4) == 0.75 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 1 | |
| or | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| == | |
| --[unary expr start] any | |
| - | |
| 1 | |
| --[unary expr end] | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 1 | |
| and | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| 1.2500000000000000 | |
| --[unary expr end] | |
| or | |
| --[unary expr start] any | |
| - | |
| 4 | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| == | |
| 0.7500000000000000 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 1 | |
| or | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| == | |
| --[unary expr start] integer | |
| - | |
| 1 | |
| --[unary expr end] | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 1 | |
| and | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[unary expr start] number | |
| - | |
| 1.2500000000000000 | |
| --[unary expr end] | |
| or | |
| --[unary expr start] integer | |
| - | |
| 4 | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| == | |
| 0.7500000000000000 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {T(1)} | |
| CBR {T(1)} {L5, L4} | |
| L1 (exit) | |
| L2 | |
| MOV {1 Kint(0)} {T(3)} | |
| CBR {T(3)} {L6, L7} | |
| L3 | |
| RET {T(0)} {L1} | |
| L4 | |
| MOV {2 Kint(1)} {T(1)} | |
| BR {L5} | |
| L5 | |
| UNM {T(1)} {T(2)} | |
| UNMi {1 Kint(0)} {Tint(0)} | |
| EQ {T(2), Tint(0)} {T(3)} | |
| MOV {T(3)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L6 | |
| MOV {2 Kint(1)} {T(3)} | |
| BR {L7} | |
| L7 | |
| UNMf {1.25E0 Kflt(0)} {Tflt(0)} | |
| MOV {Tflt(0)} {T(2)} | |
| CBR {T(2)} {L9, L8} | |
| L8 | |
| UNMi {4 Kint(2)} {Tint(0)} | |
| MOV {Tint(0)} {T(2)} | |
| BR {L9} | |
| L9 | |
| ADD {T(3), T(2)} {T(4)} | |
| EQ {T(4), 7.5E-1 Kflt(1)} {T(2)} | |
| MOV {T(2)} {T(0)} | |
| BR {L3} | |
| return (b or a)+1 == 2 and (10 or a)+1 == 11 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| or | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 10 | |
| or | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| == | |
| 11 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| or | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 10 | |
| or | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| == | |
| 11 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'b' Ks(0)} {T(2)} | |
| MOV {T(2)} {T(1)} | |
| CBR {T(1)} {L5, L4} | |
| L1 (exit) | |
| L2 | |
| MOV {10 Kint(2)} {T(1)} | |
| CBR {T(1)} {L7, L6} | |
| L3 | |
| RET {T(0)} {L1} | |
| L4 | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(1)} {T(2)} | |
| MOV {T(2)} {T(1)} | |
| BR {L5} | |
| L5 | |
| ADD {T(1), 1 Kint(0)} {T(2)} | |
| EQ {T(2), 2 Kint(1)} {T(1)} | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L6 | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(1)} {T(2)} | |
| MOV {T(2)} {T(1)} | |
| BR {L7} | |
| L7 | |
| ADD {T(1), 1 Kint(0)} {T(2)} | |
| EQ {T(2), 11 Kint(3)} {T(1)} | |
| MOV {T(1)} {T(0)} | |
| BR {L3} | |
| return ((2<3) or 1) == true and (2<3 and 4) == 4 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 2 | |
| < | |
| 3 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| or | |
| 1 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| true | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2 | |
| < | |
| 3 | |
| --[binary expr end] | |
| and | |
| 4 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] boolean | |
| --[primary start] boolean | |
| --[binary expr start] boolean | |
| 2 | |
| < | |
| 3 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| or | |
| 1 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| true | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[binary expr start] boolean | |
| 2 | |
| < | |
| 3 | |
| --[binary expr end] | |
| and | |
| 4 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| 4 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LIii {2 Kint(0), 3 Kint(1)} {Tbool(0)} | |
| MOV {Tbool(0)} {T(1)} | |
| CBR {T(1)} {L5, L4} | |
| L1 (exit) | |
| L2 | |
| LIii {2 Kint(0), 3 Kint(1)} {Tbool(0)} | |
| MOV {Tbool(0)} {T(2)} | |
| CBR {T(2)} {L6, L7} | |
| L3 | |
| RET {T(0)} {L1} | |
| L4 | |
| MOV {1 Kint(2)} {T(1)} | |
| BR {L5} | |
| L5 | |
| EQ {T(1), true} {T(2)} | |
| MOV {T(2)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L6 | |
| MOV {4 Kint(3)} {T(2)} | |
| BR {L7} | |
| L7 | |
| EQ {T(2), 4 Kint(3)} {T(1)} | |
| MOV {T(1)} {T(0)} | |
| BR {L3} | |
| return (x>y) and x or y == 2 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| > | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| or | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| > | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| or | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(2)} | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(1)} {T(3)} | |
| LT {T(3), T(2)} {T(4)} | |
| MOV {T(4)} {T(1)} | |
| CBR {T(1)} {L4, L5} | |
| L1 (exit) | |
| L2 | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(1)} {T(1)} | |
| EQ {T(1), 2 Kint(0)} {T(4)} | |
| MOV {T(4)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| L4 | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(4)} | |
| MOV {T(4)} {T(1)} | |
| BR {L5} | |
| L5 | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L3, L2} | |
| function x() for i = 1, 10 do; print(i); end end | |
| function() | |
| --upvalues _ENV* | |
| x --global symbol any | |
| = | |
| function() | |
| --upvalues _ENV* | |
| for | |
| --[local symbols] i | |
| i --local symbol any | |
| = | |
| 1 | |
| , | |
| 10 | |
| do | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| x --global symbol any | |
| = | |
| function() | |
| --upvalues _ENV* | |
| for | |
| --[local symbols] i | |
| i --local symbol integer | |
| = | |
| 1 | |
| , | |
| 10 | |
| do | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(1)} | |
| STOREGLOBAL {T(1)} {Upval(_ENV), 'x' Ks(0)} | |
| RET {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {Tint(1)} | |
| MOV {10 Kint(1)} {Tint(2)} | |
| MOV {1 Kint(0)} {Tint(3)} | |
| SUBii {Tint(1), Tint(3)} {Tint(1)} | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| ADDii {Tint(1), Tint(3)} {Tint(1)} | |
| BR {L3} | |
| L3 | |
| LIii {Tint(2), Tint(1)} {Tbool(4)} | |
| CBR {Tbool(4)} {L5, L4} | |
| L4 | |
| MOV {Tint(1)} {Tint(0)} | |
| LOADGLOBAL {Upval(_ENV), 'print' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1), Tint(0)} {T(1..), 1 Kint(0)} | |
| BR {L2} | |
| L5 | |
| RET {L1} | |
| function x() local a=1; function y() return function() return a end end; end | |
| function() | |
| --upvalues _ENV* | |
| x --global symbol any | |
| = | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| 1 | |
| y --global symbol any | |
| = | |
| function() | |
| --upvalues a | |
| return | |
| function() | |
| --upvalues a | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --upvalue any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| x --global symbol any | |
| = | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| 1 | |
| y --global symbol any | |
| = | |
| function() | |
| --upvalues a | |
| return | |
| function() | |
| --upvalues a | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --upvalue any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(1)} | |
| STOREGLOBAL {T(1)} {Upval(_ENV), 'x' Ks(0)} | |
| RET {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {local(a, 0)} | |
| CLOSURE {Proc%3} {T(1)} | |
| STOREGLOBAL {T(1)} {Upval(_ENV), 'y' Ks(0)} | |
| CLOSE {local(a, 0)} | |
| RET {L1} | |
| L1 (exit) | |
| define Proc%3 | |
| L0 (entry) | |
| CLOSURE {Proc%4} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%4 | |
| L0 (entry) | |
| RET {Upval(0, Proc%2, a)} {L1} | |
| L1 (exit) | |
| return @integer 1 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @integer | |
| 1 | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] integer | |
| @integer | |
| 1 | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| RET {1 Kint(0)} {L1} | |
| L1 (exit) | |
| return @string 'hello' | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @string | |
| 'hello' | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] string | |
| @string | |
| 'hello' | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| RET {'hello' Ks(0)} {L1} | |
| L1 (exit) | |
| return @table {} | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @table | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] table | |
| @table | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWTABLE {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return @integer[] {} | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @integer[] | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] integer[] | |
| @integer[] | |
| { --[table constructor start] integer[] | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWIARRAY {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return @number[] {} | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @number[] | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] number[] | |
| @number[] | |
| { --[table constructor start] number[] | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWFARRAY {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return @closure function() end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @closure | |
| function() | |
| end | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] closure | |
| @closure | |
| function() | |
| end | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| RET {L1} | |
| L1 (exit) | |
| return @number 54.4 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @number | |
| 54.3999999999999986 | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] number | |
| @number | |
| 54.3999999999999986 | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| RET {5.44E1 Kflt(0)} {L1} | |
| L1 (exit) | |
| return @User.Type a | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @<usertype> | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] User.Type | |
| @<usertype> | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(0)} {T(0)} | |
| TOTYPE {'User.Type' Ks(1)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return {1,2,3} | |
| function() | |
| --upvalues _ENV* | |
| return | |
| { --[table constructor start] table | |
| --[indexed assign start] integer | |
| --[value start] | |
| 1 | |
| --[value end] | |
| --[indexed assign end] | |
| , | |
| --[indexed assign start] integer | |
| --[value start] | |
| 2 | |
| --[value end] | |
| --[indexed assign end] | |
| , | |
| --[indexed assign start] integer | |
| --[value start] | |
| 3 | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| { --[table constructor start] table | |
| --[indexed assign start] integer | |
| --[value start] | |
| 1 | |
| --[value end] | |
| --[indexed assign end] | |
| , | |
| --[indexed assign start] integer | |
| --[value start] | |
| 2 | |
| --[value end] | |
| --[indexed assign end] | |
| , | |
| --[indexed assign start] integer | |
| --[value start] | |
| 3 | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWTABLE {T(0)} | |
| TPUTik {1 Kint(0)} {T(0), 1 Kint(0)} | |
| TPUTik {2 Kint(1)} {T(0), 2 Kint(1)} | |
| TPUTik {3 Kint(2)} {T(0), 3 Kint(2)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return {[1] = a} | |
| function() | |
| --upvalues _ENV* | |
| return | |
| { --[table constructor start] table | |
| --[indexed assign start] any | |
| --[index start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[index end] | |
| --[value start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| { --[table constructor start] table | |
| --[indexed assign start] any | |
| --[index start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[index end] | |
| --[value start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWTABLE {T(0)} | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(0)} {T(1)} | |
| TPUTik {T(1)} {T(0), 1 Kint(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return {a = b} | |
| function() | |
| --upvalues _ENV* | |
| return | |
| { --[table constructor start] table | |
| --[indexed assign start] any | |
| --[index start] | |
| --[field selector start] any | |
| . | |
| 'a' | |
| --[field selector end] | |
| --[index end] | |
| --[value start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| { --[table constructor start] table | |
| --[indexed assign start] any | |
| --[index start] | |
| --[field selector start] any | |
| . | |
| 'a' | |
| --[field selector end] | |
| --[index end] | |
| --[value start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWTABLE {T(0)} | |
| LOADGLOBAL {Upval(_ENV), 'b' Ks(1)} {T(1)} | |
| TPUTsk {T(1)} {T(0), 'a' Ks(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return @integer[] { 5, 4} | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @integer[] | |
| { --[table constructor start] table | |
| --[indexed assign start] integer | |
| --[value start] | |
| 5 | |
| --[value end] | |
| --[indexed assign end] | |
| , | |
| --[indexed assign start] integer | |
| --[value start] | |
| 4 | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] integer[] | |
| @integer[] | |
| { --[table constructor start] integer[] | |
| --[indexed assign start] integer | |
| --[value start] | |
| 5 | |
| --[value end] | |
| --[indexed assign end] | |
| , | |
| --[indexed assign start] integer | |
| --[value start] | |
| 4 | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWIARRAY {T(0)} | |
| IAPUTiv {5 Kint(1)} {T(0), 1 Kint(0)} | |
| IAPUTiv {4 Kint(3)} {T(0), 2 Kint(2)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return @number[] { 4.0, 5.4} | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] any | |
| @number[] | |
| { --[table constructor start] table | |
| --[indexed assign start] number | |
| --[value start] | |
| 4.0000000000000000 | |
| --[value end] | |
| --[indexed assign end] | |
| , | |
| --[indexed assign start] number | |
| --[value start] | |
| 5.4000000000000004 | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[unary expr start] number[] | |
| @number[] | |
| { --[table constructor start] number[] | |
| --[indexed assign start] number | |
| --[value start] | |
| 4.0000000000000000 | |
| --[value end] | |
| --[indexed assign end] | |
| , | |
| --[indexed assign start] number | |
| --[value start] | |
| 5.4000000000000004 | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| --[unary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWFARRAY {T(0)} | |
| FAPUTfv {4E0 Kflt(0)} {T(0), 1 Kint(0)} | |
| FAPUTfv {5.4E0 Kflt(1)} {T(0), 2 Kint(1)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| if 1 == 1 then return true else return false end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] any | |
| 1 | |
| == | |
| 1 | |
| --[binary expr end] | |
| then | |
| return | |
| true | |
| else | |
| return | |
| false | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] boolean | |
| 1 | |
| == | |
| 1 | |
| --[binary expr end] | |
| then | |
| return | |
| true | |
| else | |
| return | |
| false | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| EQii {1 Kint(0), 1 Kint(0)} {Tbool(0)} | |
| CBR {Tbool(0)} {L3, L4} | |
| L3 | |
| RET {true} {L1} | |
| L4 | |
| RET {false} {L1} | |
| L5 | |
| RET {L1} | |
| if 1 ~= 1 then return 0 elseif 1 < 2 then return 1 elseif 1 < 2 then return 2 else return 5 end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] any | |
| 1 | |
| ~= | |
| 1 | |
| --[binary expr end] | |
| then | |
| return | |
| 0 | |
| elseif | |
| --[binary expr start] any | |
| 1 | |
| < | |
| 2 | |
| --[binary expr end] | |
| then | |
| return | |
| 1 | |
| elseif | |
| --[binary expr start] any | |
| 1 | |
| < | |
| 2 | |
| --[binary expr end] | |
| then | |
| return | |
| 2 | |
| else | |
| return | |
| 5 | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] boolean | |
| 1 | |
| ~= | |
| 1 | |
| --[binary expr end] | |
| then | |
| return | |
| 0 | |
| elseif | |
| --[binary expr start] boolean | |
| 1 | |
| < | |
| 2 | |
| --[binary expr end] | |
| then | |
| return | |
| 1 | |
| elseif | |
| --[binary expr start] boolean | |
| 1 | |
| < | |
| 2 | |
| --[binary expr end] | |
| then | |
| return | |
| 2 | |
| else | |
| return | |
| 5 | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| EQii {1 Kint(0), 1 Kint(0)} {Tbool(0)} | |
| NOT {Tbool(0)} {Tbool(1)} | |
| CBR {Tbool(1)} {L5, L3} | |
| L3 | |
| LIii {1 Kint(0), 2 Kint(1)} {Tbool(0)} | |
| CBR {Tbool(0)} {L6, L4} | |
| L4 | |
| LIii {1 Kint(0), 2 Kint(1)} {Tbool(2)} | |
| CBR {Tbool(2)} {L7, L8} | |
| L5 | |
| RET {0 Kint(2)} {L1} | |
| L6 | |
| RET {1 Kint(0)} {L1} | |
| L7 | |
| RET {2 Kint(1)} {L1} | |
| L8 | |
| RET {5 Kint(3)} {L1} | |
| L9 | |
| RET {L1} | |
| if 1 == 1 then return 'hi' end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] any | |
| 1 | |
| == | |
| 1 | |
| --[binary expr end] | |
| then | |
| return | |
| 'hi' | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] boolean | |
| 1 | |
| == | |
| 1 | |
| --[binary expr end] | |
| then | |
| return | |
| 'hi' | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| EQii {1 Kint(0), 1 Kint(0)} {Tbool(0)} | |
| CBR {Tbool(0)} {L3, L4} | |
| L3 | |
| RET {'hi' Ks(0)} {L1} | |
| L4 | |
| RET {L1} | |
| if 5 + 5 == 10 then return 'got it' else if 6 < 7 then return 4 end end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 5 | |
| + | |
| 5 | |
| --[binary expr end] | |
| == | |
| 10 | |
| --[binary expr end] | |
| then | |
| return | |
| 'got it' | |
| else | |
| if | |
| --[binary expr start] any | |
| 6 | |
| < | |
| 7 | |
| --[binary expr end] | |
| then | |
| return | |
| 4 | |
| end | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| 5 | |
| + | |
| 5 | |
| --[binary expr end] | |
| == | |
| 10 | |
| --[binary expr end] | |
| then | |
| return | |
| 'got it' | |
| else | |
| if | |
| --[binary expr start] boolean | |
| 6 | |
| < | |
| 7 | |
| --[binary expr end] | |
| then | |
| return | |
| 4 | |
| end | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| ADDii {5 Kint(0), 5 Kint(0)} {Tint(0)} | |
| EQii {Tint(0), 10 Kint(1)} {Tbool(1)} | |
| CBR {Tbool(1)} {L3, L4} | |
| L3 | |
| RET {'got it' Ks(0)} {L1} | |
| L4 | |
| BR {L6} | |
| L5 | |
| RET {L1} | |
| L6 | |
| LIii {6 Kint(2), 7 Kint(3)} {Tbool(0)} | |
| CBR {Tbool(0)} {L7, L8} | |
| L7 | |
| RET {4 Kint(4)} {L1} | |
| L8 | |
| BR {L5} | |
| if 5 + 5 == 10 then return 'got it' elseif 6 < 7 then return 4 end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 5 | |
| + | |
| 5 | |
| --[binary expr end] | |
| == | |
| 10 | |
| --[binary expr end] | |
| then | |
| return | |
| 'got it' | |
| elseif | |
| --[binary expr start] any | |
| 6 | |
| < | |
| 7 | |
| --[binary expr end] | |
| then | |
| return | |
| 4 | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| if | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| 5 | |
| + | |
| 5 | |
| --[binary expr end] | |
| == | |
| 10 | |
| --[binary expr end] | |
| then | |
| return | |
| 'got it' | |
| elseif | |
| --[binary expr start] boolean | |
| 6 | |
| < | |
| 7 | |
| --[binary expr end] | |
| then | |
| return | |
| 4 | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| ADDii {5 Kint(0), 5 Kint(0)} {Tint(0)} | |
| EQii {Tint(0), 10 Kint(1)} {Tbool(1)} | |
| CBR {Tbool(1)} {L4, L3} | |
| L3 | |
| LIii {6 Kint(2), 7 Kint(3)} {Tbool(0)} | |
| CBR {Tbool(0)} {L5, L6} | |
| L4 | |
| RET {'got it' Ks(0)} {L1} | |
| L5 | |
| RET {4 Kint(4)} {L1} | |
| L6 | |
| RET {L1} | |
| return 1 and 2 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 1 | |
| and | |
| 2 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 1 | |
| and | |
| 2 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L1 (exit) | |
| L2 | |
| MOV {2 Kint(1)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| return 3 and 4 and 5 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 3 | |
| and | |
| 4 | |
| --[binary expr end] | |
| and | |
| 5 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 3 | |
| and | |
| 4 | |
| --[binary expr end] | |
| and | |
| 5 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {3 Kint(0)} {T(1)} | |
| CBR {T(1)} {L4, L5} | |
| L1 (exit) | |
| L2 | |
| MOV {5 Kint(2)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| L4 | |
| MOV {4 Kint(1)} {T(1)} | |
| BR {L5} | |
| L5 | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| return 1 or 2 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 1 | |
| or | |
| 2 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| 1 | |
| or | |
| 2 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {T(0)} | |
| CBR {T(0)} {L3, L2} | |
| L1 (exit) | |
| L2 | |
| MOV {2 Kint(1)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| return 3 or 4 or 5 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 3 | |
| or | |
| 4 | |
| --[binary expr end] | |
| or | |
| 5 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 3 | |
| or | |
| 4 | |
| --[binary expr end] | |
| or | |
| 5 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {3 Kint(0)} {T(1)} | |
| CBR {T(1)} {L5, L4} | |
| L1 (exit) | |
| L2 | |
| MOV {5 Kint(2)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| L4 | |
| MOV {4 Kint(1)} {T(1)} | |
| BR {L5} | |
| L5 | |
| MOV {T(1)} {T(0)} | |
| CBR {T(0)} {L3, L2} | |
| return x[1] | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| GETik {T(0), 1 Kint(0)} {T(1)} | |
| RET {T(1)} {L1} | |
| L1 (exit) | |
| return x() | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1)} {T(1..), -1 Kint(0)} | |
| RET {T(1..)} {L1} | |
| L1 (exit) | |
| return x[1]() | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| GETik {T(0), 1 Kint(0)} {T(1)} | |
| MOV {T(1)} {T(2)} | |
| CALL {T(2)} {T(2..), -1 Kint(1)} | |
| RET {T(2..)} {L1} | |
| L1 (exit) | |
| return x[1]:name() | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[function call start] any | |
| : name ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[function call start] any | |
| : name ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| GETik {T(0), 1 Kint(0)} {T(1)} | |
| MOV {T(1)} {T(2)} | |
| GETsk {T(2), 'name' Ks(1)} {T(3)} | |
| CALL {T(3), T(2)} {T(3..), -1 Kint(1)} | |
| RET {T(3..)} {L1} | |
| L1 (exit) | |
| return x[1]:name(1,2) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[function call start] any | |
| : name ( | |
| 1 | |
| , | |
| 2 | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[function call start] any | |
| : name ( | |
| 1 | |
| , | |
| 2 | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| GETik {T(0), 1 Kint(0)} {T(1)} | |
| MOV {T(1)} {T(2)} | |
| GETsk {T(2), 'name' Ks(1)} {T(3)} | |
| CALL {T(3), T(2), 1 Kint(0), 2 Kint(1)} {T(3..), -1 Kint(2)} | |
| RET {T(3..)} {L1} | |
| L1 (exit) | |
| return x(), y() | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1)} {T(1), 1 Kint(0)} | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(1)} {T(2)} | |
| MOV {T(2)} {T(3)} | |
| CALL {T(3)} {T(3..), -1 Kint(1)} | |
| RET {T(1), T(3..)} {L1} | |
| L1 (exit) | |
| return y(x()) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(1)} {T(2)} | |
| MOV {T(2)} {T(3)} | |
| CALL {T(3)} {T(3..), -1 Kint(0)} | |
| CALL {T(1), T(3..)} {T(1..), -1 Kint(0)} | |
| RET {T(1..)} {L1} | |
| L1 (exit) | |
| x = 1 | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| STOREGLOBAL {1 Kint(0)} {Upval(_ENV), 'x' Ks(0)} | |
| RET {L1} | |
| L1 (exit) | |
| x = 1, 2 | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| , | |
| 2 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| , | |
| 2 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| STOREGLOBAL {1 Kint(0)} {Upval(_ENV), 'x' Ks(0)} | |
| RET {L1} | |
| L1 (exit) | |
| x[1] = 1 | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| PUTik {1 Kint(0)} {T(0), 1 Kint(0)} | |
| RET {L1} | |
| L1 (exit) | |
| x[1] = b | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| LOADGLOBAL {Upval(_ENV), 'b' Ks(1)} {T(2)} | |
| PUTik {T(2)} {T(0), 1 Kint(0)} | |
| RET {L1} | |
| L1 (exit) | |
| x[1][1] = b | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| GETik {T(0), 1 Kint(0)} {T(1)} | |
| LOADGLOBAL {Upval(_ENV), 'b' Ks(1)} {T(3)} | |
| PUTik {T(3)} {T(1), 1 Kint(0)} | |
| RET {L1} | |
| L1 (exit) | |
| x() | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1)} {T(1..), 1 Kint(0)} | |
| RET {L1} | |
| L1 (exit) | |
| x()[1] | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1)} {T(1), 1 Kint(0)} | |
| GETik {T(1), 1 Kint(0)} {T(2)} | |
| RET {L1} | |
| L1 (exit) | |
| x()[1](a,b) | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1)} {T(1), 1 Kint(0)} | |
| GETik {T(1), 1 Kint(0)} {T(2)} | |
| MOV {T(2)} {T(3)} | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(1)} {T(4)} | |
| LOADGLOBAL {Upval(_ENV), 'b' Ks(2)} {T(5)} | |
| CALL {T(3), T(4), T(5)} {T(3..), 1 Kint(0)} | |
| RET {L1} | |
| L1 (exit) | |
| x,y = 1,2 | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| , | |
| 2 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| , | |
| 2 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| STOREGLOBAL {1 Kint(0)} {Upval(_ENV), 'x' Ks(0)} | |
| STOREGLOBAL {2 Kint(1)} {Upval(_ENV), 'y' Ks(1)} | |
| RET {L1} | |
| L1 (exit) | |
| x,y = f() | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'f' Ks(2)} {T(2)} | |
| MOV {T(2)} {T(3)} | |
| CALL {T(3)} {T(3..), 2 Kint(0)} | |
| STOREGLOBAL {T(3[3..])} {Upval(_ENV), 'x' Ks(0)} | |
| STOREGLOBAL {T(4[3..])} {Upval(_ENV), 'y' Ks(1)} | |
| RET {L1} | |
| L1 (exit) | |
| x[1],y[1],c,d = 1,z() | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| c --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| d --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| c --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| d --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(1)} {T(2)} | |
| LOADGLOBAL {Upval(_ENV), 'z' Ks(4)} {T(6)} | |
| MOV {T(6)} {T(7)} | |
| CALL {T(7)} {T(7..), 3 Kint(1)} | |
| PUTik {1 Kint(0)} {T(0), 1 Kint(0)} | |
| PUTik {T(7[7..])} {T(2), 1 Kint(0)} | |
| STOREGLOBAL {T(8[7..])} {Upval(_ENV), 'c' Ks(2)} | |
| STOREGLOBAL {T(9[7..])} {Upval(_ENV), 'd' Ks(3)} | |
| RET {L1} | |
| L1 (exit) | |
| x[1][2],y[1],c,d = 1,z() | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[Y index start] any | |
| [ | |
| 2 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| c --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| d --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[Y index start] any | |
| [ | |
| 2 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| c --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| d --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| GETik {T(0), 1 Kint(0)} {T(1)} | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(1)} {T(3)} | |
| LOADGLOBAL {Upval(_ENV), 'z' Ks(4)} {T(7)} | |
| MOV {T(7)} {T(8)} | |
| CALL {T(8)} {T(8..), 3 Kint(2)} | |
| PUTik {1 Kint(0)} {T(1), 2 Kint(1)} | |
| PUTik {T(8[8..])} {T(3), 1 Kint(0)} | |
| STOREGLOBAL {T(9[8..])} {Upval(_ENV), 'c' Ks(2)} | |
| STOREGLOBAL {T(10[8..])} {Upval(_ENV), 'd' Ks(3)} | |
| RET {L1} | |
| L1 (exit) | |
| x,y = y,x | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(1)} {T(2)} | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(3)} | |
| STOREGLOBAL {T(2)} {Upval(_ENV), 'x' Ks(0)} | |
| STOREGLOBAL {T(3)} {Upval(_ENV), 'y' Ks(1)} | |
| RET {L1} | |
| L1 (exit) | |
| x,y,z = z,y,x | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'z' Ks(2)} {T(3)} | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(1)} {T(4)} | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(5)} | |
| STOREGLOBAL {T(3)} {Upval(_ENV), 'x' Ks(0)} | |
| STOREGLOBAL {T(4)} {Upval(_ENV), 'y' Ks(1)} | |
| STOREGLOBAL {T(5)} {Upval(_ENV), 'z' Ks(2)} | |
| RET {L1} | |
| L1 (exit) | |
| i = 3; i, a[i] = i+1, 20 | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 3 | |
| --[expression list end] | |
| --[expression statement end] | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| , | |
| 20 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 3 | |
| --[expression list end] | |
| --[expression statement end] | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| , | |
| 20 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| STOREGLOBAL {3 Kint(0)} {Upval(_ENV), 'i' Ks(0)} | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(1)} {T(1)} | |
| LOADGLOBAL {Upval(_ENV), 'i' Ks(0)} {T(2)} | |
| LOADGLOBAL {Upval(_ENV), 'i' Ks(0)} {T(4)} | |
| ADD {T(4), 1 Kint(1)} {T(5)} | |
| STOREGLOBAL {T(5)} {Upval(_ENV), 'i' Ks(0)} | |
| PUT {20 Kint(2)} {T(1), T(2)} | |
| RET {L1} | |
| L1 (exit) | |
| x(y(a[10],5,z()))[1] = 9 | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 10 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| 5 | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 9 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 10 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| , | |
| 5 | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 9 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(1)} {T(2)} | |
| MOV {T(2)} {T(3)} | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(2)} {T(4)} | |
| GETik {T(4), 10 Kint(0)} {T(5)} | |
| LOADGLOBAL {Upval(_ENV), 'z' Ks(3)} {T(6)} | |
| MOV {T(6)} {T(7)} | |
| CALL {T(7)} {T(7..), -1 Kint(2)} | |
| CALL {T(3), T(5), 5 Kint(1), T(7..)} {T(3..), -1 Kint(2)} | |
| CALL {T(1), T(3..)} {T(1), 1 Kint(3)} | |
| PUTik {9 Kint(4)} {T(1), 1 Kint(3)} | |
| RET {L1} | |
| L1 (exit) | |
| local i = 0 | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] i | |
| local | |
| --[symbols] | |
| i --local symbol any | |
| --[expressions] | |
| 0 | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] i | |
| local | |
| --[symbols] | |
| i --local symbol any | |
| --[expressions] | |
| 0 | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {0 Kint(0)} {local(i, 0)} | |
| RET {L1} | |
| L1 (exit) | |
| local i, j = 1, 2 | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] i, j | |
| local | |
| --[symbols] | |
| i --local symbol any | |
| , | |
| j --local symbol any | |
| --[expressions] | |
| 1 | |
| , | |
| 2 | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] i, j | |
| local | |
| --[symbols] | |
| i --local symbol any | |
| , | |
| j --local symbol any | |
| --[expressions] | |
| 1 | |
| , | |
| 2 | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {local(i, 0)} | |
| MOV {2 Kint(1)} {local(j, 1)} | |
| RET {L1} | |
| L1 (exit) | |
| local a = a | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(0)} {T(0)} | |
| MOV {T(0)} {local(a, 0)} | |
| RET {L1} | |
| L1 (exit) | |
| local a = b | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'b' Ks(0)} {T(0)} | |
| MOV {T(0)} {local(a, 0)} | |
| RET {L1} | |
| L1 (exit) | |
| local a, b = x, y | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a, b | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| , | |
| b --local symbol any | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a, b | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| , | |
| b --local symbol any | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| LOADGLOBAL {Upval(_ENV), 'y' Ks(1)} {T(1)} | |
| MOV {T(0)} {local(a, 0)} | |
| MOV {T(1)} {local(b, 1)} | |
| RET {L1} | |
| L1 (exit) | |
| local a: integer return a+3 | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a | |
| local | |
| --[symbols] | |
| a --local symbol integer | |
| return | |
| --[binary expr start] any | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| a --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 3 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] a | |
| local | |
| --[symbols] | |
| a --local symbol integer | |
| return | |
| --[binary expr start] integer | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| a --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 3 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| INIT {Tint(0)} | |
| ADDii {Tint(0), 3 Kint(0)} {Tint(1)} | |
| RET {Tint(1)} {L1} | |
| L1 (exit) | |
| local i: integer; return t[i/5] | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] i | |
| local | |
| --[symbols] | |
| i --local symbol integer | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| t --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[binary expr start] any | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| / | |
| 5 | |
| --[binary expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] i | |
| local | |
| --[symbols] | |
| i --local symbol integer | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| t --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[binary expr start] number | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| / | |
| 5 | |
| --[binary expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| INIT {Tint(0)} | |
| LOADGLOBAL {Upval(_ENV), 't' Ks(0)} {T(0)} | |
| DIVii {Tint(0), 5 Kint(0)} {Tflt(0)} | |
| GET {T(0), Tflt(0)} {T(1)} | |
| RET {T(1)} {L1} | |
| L1 (exit) | |
| local t: integer[]; return t[0] | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] t | |
| local | |
| --[symbols] | |
| t --local symbol integer[] | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] integer[] | |
| t --local symbol integer[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 0 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] t | |
| local | |
| --[symbols] | |
| t --local symbol integer[] | |
| return | |
| --[suffixed expr start] integer | |
| --[primary start] integer[] | |
| t --local symbol integer[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] integer | |
| [ | |
| 0 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWIARRAY {local(t, 0)} | |
| IAGETik {local(t, 0), 0 Kint(0)} {Tint(0)} | |
| RET {Tint(0)} {L1} | |
| L1 (exit) | |
| return f()[1] | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'f' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1)} {T(1), 1 Kint(0)} | |
| GETik {T(1), 1 Kint(0)} {T(2)} | |
| RET {T(2)} {L1} | |
| L1 (exit) | |
| return x.y[1] | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[field selector start] any | |
| . | |
| 'y' | |
| --[field selector end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[field selector start] any | |
| . | |
| 'y' | |
| --[field selector end] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'x' Ks(0)} {T(0)} | |
| GETsk {T(0), 'y' Ks(1)} {T(1)} | |
| GETik {T(1), 1 Kint(0)} {T(2)} | |
| RET {T(2)} {L1} | |
| L1 (exit) | |
| local t: integer[] if (t[1] == 5) then return true end return false | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] t | |
| local | |
| --[symbols] | |
| t --local symbol integer[] | |
| if | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] integer[] | |
| t --local symbol integer[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| == | |
| 5 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| then | |
| return | |
| true | |
| end | |
| return | |
| false | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] t | |
| local | |
| --[symbols] | |
| t --local symbol integer[] | |
| if | |
| --[suffixed expr start] boolean | |
| --[primary start] boolean | |
| --[binary expr start] boolean | |
| --[suffixed expr start] integer | |
| --[primary start] integer[] | |
| t --local symbol integer[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] integer | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| == | |
| 5 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| then | |
| return | |
| true | |
| end | |
| return | |
| false | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWIARRAY {local(t, 0)} | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| IAGETik {local(t, 0), 1 Kint(0)} {Tint(0)} | |
| EQii {Tint(0), 5 Kint(1)} {Tbool(1)} | |
| CBR {Tbool(1)} {L3, L4} | |
| L3 | |
| RET {true} {L1} | |
| L4 | |
| RET {false} {L1} | |
| local t: table local len: integer = #t return len | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] t, len | |
| local | |
| --[symbols] | |
| t --local symbol table | |
| local | |
| --[symbols] | |
| len --local symbol integer | |
| --[expressions] | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| t --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| return | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| len --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] t, len | |
| local | |
| --[symbols] | |
| t --local symbol table | |
| local | |
| --[symbols] | |
| len --local symbol integer | |
| --[expressions] | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| t --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| return | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| len --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWTABLE {local(t, 0)} | |
| LEN {local(t, 0)} {T(0)} | |
| TOINT {T(0)} | |
| MOVi {T(0)} {Tint(0)} | |
| RET {Tint(0)} {L1} | |
| L1 (exit) | |
| return function(t: table, i: integer) i = #t end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function( | |
| t --local symbol table | |
| , | |
| i --local symbol integer | |
| ) | |
| --[local symbols] t, i | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| t --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function( | |
| t --local symbol table | |
| , | |
| i --local symbol integer | |
| ) | |
| --[local symbols] t, i | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| t --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| TOTABLE {local(t, 0)} | |
| TOINT {local(i, 1)} | |
| LEN {local(t, 0)} {T(0)} | |
| TOINT {T(0)} | |
| MOVi {T(0)} {local(i, 1)} | |
| RET {L1} | |
| L1 (exit) | |
| ::L1:: a = 1; goto L1; return | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] L1: | |
| ::L1:: | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| goto L1 | |
| return | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] L1: | |
| ::L1:: | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| goto L1 | |
| return | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| STOREGLOBAL {1 Kint(0)} {Upval(_ENV), 'a' Ks(0)} | |
| BR {L0} | |
| L1 (exit) | |
| L2 | |
| RET {L1} | |
| ::l1:: do goto l1; x = 1; ::l1:: z = 2 end y = 1; goto l1 | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] l1: | |
| ::l1:: | |
| do | |
| --[local symbols] l1: | |
| goto l1 | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| ::l1:: | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 2 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| goto l1 | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] l1: | |
| ::l1:: | |
| do | |
| --[local symbols] l1: | |
| goto l1 | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| ::l1:: | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| z --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 2 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| goto l1 | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| STOREGLOBAL {2 Kint(1)} {Upval(_ENV), 'z' Ks(1)} | |
| STOREGLOBAL {1 Kint(0)} {Upval(_ENV), 'y' Ks(2)} | |
| BR {L0} | |
| L3 | |
| STOREGLOBAL {1 Kint(0)} {Upval(_ENV), 'x' Ks(0)} | |
| BR {L2} | |
| L4 | |
| RET {L1} | |
| goto l1; do ::l1:: end | |
| function() | |
| --upvalues _ENV* | |
| goto l1 | |
| do | |
| --[local symbols] l1: | |
| ::l1:: | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| goto l1 | |
| do | |
| --[local symbols] l1: | |
| ::l1:: | |
| end | |
| end | |
| return function() | |
| local a = 1 | |
| local function y() | |
| return function() | |
| return a | |
| end | |
| end | |
| local a = 5 | |
| local function z() | |
| return function() | |
| return a | |
| end | |
| end | |
| return y, z | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function() | |
| --[local symbols] a, y, a, z | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| 1 | |
| local | |
| --[symbols] | |
| y --local symbol closure | |
| --[expressions] | |
| function() | |
| --upvalues a | |
| return | |
| function() | |
| --upvalues a | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --upvalue any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| 5 | |
| local | |
| --[symbols] | |
| z --local symbol closure | |
| --[expressions] | |
| function() | |
| --upvalues a | |
| return | |
| function() | |
| --upvalues a | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --upvalue any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| return | |
| --[suffixed expr start] closure | |
| --[primary start] closure | |
| y --local symbol closure | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] closure | |
| --[primary start] closure | |
| z --local symbol closure | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function() | |
| --[local symbols] a, y, a, z | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| 1 | |
| local | |
| --[symbols] | |
| y --local symbol closure | |
| --[expressions] | |
| function() | |
| --upvalues a | |
| return | |
| function() | |
| --upvalues a | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --upvalue any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| local | |
| --[symbols] | |
| a --local symbol any | |
| --[expressions] | |
| 5 | |
| local | |
| --[symbols] | |
| z --local symbol closure | |
| --[expressions] | |
| function() | |
| --upvalues a | |
| return | |
| function() | |
| --upvalues a | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --upvalue any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| return | |
| --[suffixed expr start] closure | |
| --[primary start] closure | |
| y --local symbol closure | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| --[suffixed expr start] closure | |
| --[primary start] closure | |
| z --local symbol closure | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {local(a, 0)} | |
| CLOSURE {Proc%3} {T(0)} | |
| MOV {T(0)} {local(y, 1)} | |
| MOV {5 Kint(1)} {local(a, 2)} | |
| CLOSURE {Proc%5} {T(0)} | |
| MOV {T(0)} {local(z, 3)} | |
| RET {local(y, 1), local(z, 3)} {L1} | |
| L1 (exit) | |
| define Proc%3 | |
| L0 (entry) | |
| CLOSURE {Proc%4} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%4 | |
| L0 (entry) | |
| RET {Upval(0, Proc%2, a)} {L1} | |
| L1 (exit) | |
| define Proc%5 | |
| L0 (entry) | |
| CLOSURE {Proc%6} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%6 | |
| L0 (entry) | |
| RET {Upval(0, Proc%2, a)} {L1} | |
| L1 (exit) | |
| return function (a, b, c, d, e) | |
| if a == b then goto l1 | |
| elseif a == c then goto l2 | |
| elseif a == d then goto l2 | |
| else if a == e then goto l3 | |
| else goto l3 | |
| end | |
| end | |
| ::l1:: ::l2:: ::l3:: ::l4:: | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function( | |
| a --local symbol any | |
| , | |
| b --local symbol any | |
| , | |
| c --local symbol any | |
| , | |
| d --local symbol any | |
| , | |
| e --local symbol any | |
| ) | |
| --[local symbols] a, b, c, d, e, l1:, l2:, l3:, l4: | |
| if | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| then | |
| goto l1 | |
| elseif | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| c --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| then | |
| goto l2 | |
| elseif | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| d --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| then | |
| goto l2 | |
| else | |
| if | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| e --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| then | |
| goto l3 | |
| else | |
| goto l3 | |
| end | |
| end | |
| ::l1:: | |
| ::l2:: | |
| ::l3:: | |
| ::l4:: | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function( | |
| a --local symbol any | |
| , | |
| b --local symbol any | |
| , | |
| c --local symbol any | |
| , | |
| d --local symbol any | |
| , | |
| e --local symbol any | |
| ) | |
| --[local symbols] a, b, c, d, e, l1:, l2:, l3:, l4: | |
| if | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| b --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| then | |
| goto l1 | |
| elseif | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| c --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| then | |
| goto l2 | |
| elseif | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| d --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| then | |
| goto l2 | |
| else | |
| if | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| e --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| then | |
| goto l3 | |
| else | |
| goto l3 | |
| end | |
| end | |
| ::l1:: | |
| ::l2:: | |
| ::l3:: | |
| ::l4:: | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| EQ {local(a, 0), local(b, 1)} {T(0)} | |
| CBR {T(0)} {L5, L3} | |
| L3 | |
| EQ {local(a, 0), local(c, 2)} {T(1)} | |
| CBR {T(1)} {L6, L4} | |
| L4 | |
| EQ {local(a, 0), local(d, 3)} {T(2)} | |
| CBR {T(2)} {L7, L8} | |
| L5 | |
| BR {L10} | |
| L6 | |
| BR {L12} | |
| L7 | |
| BR {L12} | |
| L8 | |
| BR {L15} | |
| L9 | |
| BR {L10} | |
| L10 | |
| BR {L12} | |
| L11 | |
| BR {L9} | |
| L12 | |
| BR {L19} | |
| L13 | |
| BR {L9} | |
| L14 | |
| BR {L9} | |
| L15 | |
| EQ {local(a, 0), local(e, 4)} {T(3)} | |
| CBR {T(3)} {L16, L17} | |
| L16 | |
| BR {L19} | |
| L17 | |
| BR {L19} | |
| L18 | |
| BR {L9} | |
| L19 | |
| RET {L1} | |
| L20 | |
| BR {L18} | |
| L21 | |
| BR {L18} | |
| return function (a) while a < 10 do a = a + 1 end end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function( | |
| a --local symbol any | |
| ) | |
| --[local symbols] a | |
| while | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| < | |
| 10 | |
| --[binary expr end] | |
| do | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function( | |
| a --local symbol any | |
| ) | |
| --[local symbols] a | |
| while | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| < | |
| 10 | |
| --[binary expr end] | |
| do | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| LT {local(a, 0), 10 Kint(0)} {T(0)} | |
| CBR {T(0)} {L3, L4} | |
| L3 | |
| ADD {local(a, 0), 1 Kint(1)} {T(0)} | |
| MOV {T(0)} {local(a, 0)} | |
| BR {L2} | |
| L4 | |
| RET {L1} | |
| return function (a) ::L2:: if not(a < 10) then goto L1 end; a = a + 1; | |
| goto L2; ::L1:: end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function( | |
| a --local symbol any | |
| ) | |
| --[local symbols] a, L2:, L1: | |
| ::L2:: | |
| if | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| < | |
| 10 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| then | |
| goto L1 | |
| end | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| goto L2 | |
| ::L1:: | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function( | |
| a --local symbol any | |
| ) | |
| --[local symbols] a, L2:, L1: | |
| ::L2:: | |
| if | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| < | |
| 10 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| then | |
| goto L1 | |
| end | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| goto L2 | |
| ::L1:: | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| LT {local(a, 0), 10 Kint(0)} {T(0)} | |
| NOT {T(0)} {T(1)} | |
| CBR {T(1)} {L3, L4} | |
| L3 | |
| BR {L5} | |
| L4 | |
| ADD {local(a, 0), 1 Kint(1)} {T(2)} | |
| MOV {T(2)} {local(a, 0)} | |
| BR {L0} | |
| L5 | |
| RET {L1} | |
| L6 | |
| BR {L4} | |
| L7 | |
| BR {L5} | |
| return function () | |
| (function () end){f()} | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] closure | |
| --[primary start] closure | |
| function() | |
| end | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| { --[table constructor start] table | |
| --[indexed assign start] any | |
| --[value start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function() | |
| --upvalues _ENV* | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] closure | |
| function() | |
| end | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| { --[table constructor start] table | |
| --[indexed assign start] any | |
| --[value start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| CLOSURE {Proc%3} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| NEWTABLE {T(2)} | |
| LOADGLOBAL {Upval(_ENV), 'f' Ks(0)} {T(3)} | |
| MOV {T(3)} {T(4)} | |
| CALL {T(4)} {T(4..), -1 Kint(1)} | |
| TPUTik {T(4..)} {T(2), 1 Kint(0)} | |
| CALL {T(1), T(2)} {T(1..), 1 Kint(0)} | |
| RET {L1} | |
| L1 (exit) | |
| define Proc%3 | |
| L0 (entry) | |
| RET {L1} | |
| L1 (exit) | |
| return function () | |
| local sum | |
| for j = 1,500 do | |
| sum = 0.0 | |
| for k = 1,10000 do | |
| sum = sum + 1.0/(k*k) | |
| end | |
| end | |
| return sum | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function() | |
| --[local symbols] sum | |
| local | |
| --[symbols] | |
| sum --local symbol any | |
| for | |
| --[local symbols] j | |
| j --local symbol any | |
| = | |
| 1 | |
| , | |
| 500 | |
| do | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| sum --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 0.0000000000000000 | |
| --[expression list end] | |
| --[expression statement end] | |
| for | |
| --[local symbols] k | |
| k --local symbol any | |
| = | |
| 1 | |
| , | |
| 10000 | |
| do | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| sum --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| sum --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| --[binary expr start] any | |
| 1.0000000000000000 | |
| / | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| k --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| * | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| k --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| sum --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| function() | |
| --[local symbols] sum | |
| local | |
| --[symbols] | |
| sum --local symbol any | |
| for | |
| --[local symbols] j | |
| j --local symbol integer | |
| = | |
| 1 | |
| , | |
| 500 | |
| do | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| sum --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 0.0000000000000000 | |
| --[expression list end] | |
| --[expression statement end] | |
| for | |
| --[local symbols] k | |
| k --local symbol integer | |
| = | |
| 1 | |
| , | |
| 10000 | |
| do | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| sum --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| sum --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| --[binary expr start] number | |
| 1.0000000000000000 | |
| / | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[binary expr start] integer | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| k --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| * | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| k --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| sum --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| INIT {local(sum, 0)} | |
| MOV {1 Kint(0)} {Tint(1)} | |
| MOV {500 Kint(1)} {Tint(2)} | |
| MOV {1 Kint(0)} {Tint(3)} | |
| SUBii {Tint(1), Tint(3)} {Tint(1)} | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| ADDii {Tint(1), Tint(3)} {Tint(1)} | |
| BR {L3} | |
| L3 | |
| LIii {Tint(2), Tint(1)} {Tbool(4)} | |
| CBR {Tbool(4)} {L5, L4} | |
| L4 | |
| MOV {Tint(1)} {Tint(0)} | |
| MOV {0E0 Kflt(0)} {local(sum, 0)} | |
| MOV {1 Kint(0)} {Tint(6)} | |
| MOV {10000 Kint(2)} {Tint(7)} | |
| MOV {1 Kint(0)} {Tint(8)} | |
| SUBii {Tint(6), Tint(8)} {Tint(6)} | |
| BR {L6} | |
| L5 | |
| RET {local(sum, 0)} {L1} | |
| L6 | |
| ADDii {Tint(6), Tint(8)} {Tint(6)} | |
| BR {L7} | |
| L7 | |
| LIii {Tint(7), Tint(6)} {Tbool(9)} | |
| CBR {Tbool(9)} {L9, L8} | |
| L8 | |
| MOV {Tint(6)} {Tint(5)} | |
| MULii {Tint(5), Tint(5)} {Tint(10)} | |
| DIVfi {1E0 Kflt(1), Tint(10)} {Tflt(0)} | |
| ADD {local(sum, 0), Tflt(0)} {T(0)} | |
| MOV {T(0)} {local(sum, 0)} | |
| BR {L6} | |
| L9 | |
| BR {L2} | |
| function matmul(a: table, b: table) | |
| assert(@integer(#a[1]) == #b); | |
| local m: integer, n: integer, p: integer, x: table = #a, #a[1], #b[1], {}; | |
| local c: table = matrix.T(b); -- transpose for efficiency | |
| for i = 1, m do | |
| local xi: number[] = table.numarray(p, 0.0) | |
| x[i] = xi | |
| for j = 1, p do | |
| local sum: number, ai: number[], cj: number[] = 0.0, @number[](a[i]), @number[](c[j]); | |
| -- for luajit, caching c[j] or not makes no difference; lua is not so clever | |
| for k = 1, n do sum = sum + ai[k] * cj[k] end | |
| xi[j] = sum; | |
| end | |
| end | |
| return x | |
| end | |
| return matmul | |
| function() | |
| --upvalues _ENV* | |
| matmul --global symbol any | |
| = | |
| function( | |
| a --local symbol table | |
| , | |
| b --local symbol table | |
| ) | |
| --upvalues _ENV* | |
| --[local symbols] a, b, m, n, p, x, c | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| assert --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| @integer | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| a --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| == | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| b --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| local | |
| --[symbols] | |
| m --local symbol integer | |
| , | |
| n --local symbol integer | |
| , | |
| p --local symbol integer | |
| , | |
| x --local symbol table | |
| --[expressions] | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| a --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| , | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| a --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| , | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| b --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| , | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| local | |
| --[symbols] | |
| c --local symbol table | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| matrix --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[field selector start] any | |
| . | |
| 'T' | |
| --[field selector end] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| b --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| for | |
| --[local symbols] i | |
| i --local symbol any | |
| = | |
| 1 | |
| , | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| m --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| do | |
| --[local symbols] xi | |
| local | |
| --[symbols] | |
| xi --local symbol number[] | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| table --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[field selector start] any | |
| . | |
| 'numarray' | |
| --[field selector end] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| p --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| 0.0000000000000000 | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| x --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] number[] | |
| --[primary start] number[] | |
| xi --local symbol number[] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| for | |
| --[local symbols] j | |
| j --local symbol any | |
| = | |
| 1 | |
| , | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| p --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| do | |
| --[local symbols] sum, ai, cj | |
| local | |
| --[symbols] | |
| sum --local symbol number | |
| , | |
| ai --local symbol number[] | |
| , | |
| cj --local symbol number[] | |
| --[expressions] | |
| 0.0000000000000000 | |
| , | |
| --[unary expr start] any | |
| @number[] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| a --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| , | |
| --[unary expr start] any | |
| @number[] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| c --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| j --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| for | |
| --[local symbols] k | |
| k --local symbol any | |
| = | |
| 1 | |
| , | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| n --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| do | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| sum --local symbol number | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| sum --local symbol number | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] number[] | |
| ai --local symbol number[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| k --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| * | |
| --[suffixed expr start] any | |
| --[primary start] number[] | |
| cj --local symbol number[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| k --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] number[] | |
| xi --local symbol number[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| j --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| sum --local symbol number | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| return | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| x --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| matmul --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| matmul --global symbol any | |
| = | |
| function( | |
| a --local symbol table | |
| , | |
| b --local symbol table | |
| ) | |
| --upvalues _ENV* | |
| --[local symbols] a, b, m, n, p, x, c | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| assert --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[binary expr start] any | |
| --[unary expr start] integer | |
| @integer | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| a --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| == | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| b --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| local | |
| --[symbols] | |
| m --local symbol integer | |
| , | |
| n --local symbol integer | |
| , | |
| p --local symbol integer | |
| , | |
| x --local symbol table | |
| --[expressions] | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| a --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| , | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| a --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| , | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| b --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| , | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| local | |
| --[symbols] | |
| c --local symbol table | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| matrix --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[field selector start] any | |
| . | |
| 'T' | |
| --[field selector end] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| b --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| for | |
| --[local symbols] i | |
| i --local symbol integer | |
| = | |
| 1 | |
| , | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| m --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| do | |
| --[local symbols] xi | |
| local | |
| --[symbols] | |
| xi --local symbol number[] | |
| --[expressions] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| table --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[field selector start] any | |
| . | |
| 'numarray' | |
| --[field selector end] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| p --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| 0.0000000000000000 | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| x --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] number[] | |
| --[primary start] number[] | |
| xi --local symbol number[] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| for | |
| --[local symbols] j | |
| j --local symbol integer | |
| = | |
| 1 | |
| , | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| p --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| do | |
| --[local symbols] sum, ai, cj | |
| local | |
| --[symbols] | |
| sum --local symbol number | |
| , | |
| ai --local symbol number[] | |
| , | |
| cj --local symbol number[] | |
| --[expressions] | |
| 0.0000000000000000 | |
| , | |
| --[unary expr start] number[] | |
| @number[] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| a --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| , | |
| --[unary expr start] number[] | |
| @number[] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[suffixed expr start] any | |
| --[primary start] table | |
| c --local symbol table | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| j --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| for | |
| --[local symbols] k | |
| k --local symbol integer | |
| = | |
| 1 | |
| , | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| n --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| do | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| sum --local symbol number | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] number | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| sum --local symbol number | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| --[binary expr start] number | |
| --[suffixed expr start] number | |
| --[primary start] number[] | |
| ai --local symbol number[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] number | |
| [ | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| k --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| * | |
| --[suffixed expr start] number | |
| --[primary start] number[] | |
| cj --local symbol number[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] number | |
| [ | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| k --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] number | |
| --[primary start] number[] | |
| xi --local symbol number[] | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] number | |
| [ | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| j --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| sum --local symbol number | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| return | |
| --[suffixed expr start] table | |
| --[primary start] table | |
| x --local symbol table | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| matmul --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(1)} | |
| STOREGLOBAL {T(1)} {Upval(_ENV), 'matmul' Ks(0)} | |
| LOADGLOBAL {Upval(_ENV), 'matmul' Ks(0)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| TOTABLE {local(a, 0)} | |
| TOTABLE {local(b, 1)} | |
| LOADGLOBAL {Upval(_ENV), 'assert' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| TGETik {local(a, 0), 1 Kint(0)} {T(2)} | |
| LEN {T(2)} {T(3)} | |
| TOINT {T(3)} | |
| MOV {T(3)} {Tint(3)} | |
| LEN {local(b, 1)} {T(4)} | |
| EQ {Tint(3), T(4)} {T(5)} | |
| CALL {T(1), T(5)} {T(1..), 1 Kint(0)} | |
| LEN {local(a, 0)} {T(5)} | |
| TGETik {local(a, 0), 1 Kint(0)} {T(4)} | |
| LEN {T(4)} {T(6)} | |
| TGETik {local(b, 1), 1 Kint(0)} {T(7)} | |
| LEN {T(7)} {T(8)} | |
| NEWTABLE {T(9)} | |
| TOINT {T(5)} | |
| MOVi {T(5)} {Tint(0)} | |
| TOINT {T(6)} | |
| MOVi {T(6)} {Tint(1)} | |
| TOINT {T(8)} | |
| MOVi {T(8)} {Tint(2)} | |
| MOV {T(9)} {local(x, 2)} | |
| LOADGLOBAL {Upval(_ENV), 'matrix' Ks(1)} {T(9)} | |
| GETsk {T(9), 'T' Ks(2)} {T(8)} | |
| MOV {T(8)} {T(6)} | |
| CALL {T(6), local(b, 1)} {T(6..), 1 Kint(0)} | |
| TOTABLE {T(6[6..])} | |
| MOV {T(6[6..])} {local(c, 3)} | |
| MOV {1 Kint(0)} {Tint(4)} | |
| MOV {Tint(0)} {Tint(5)} | |
| MOV {1 Kint(0)} {Tint(6)} | |
| SUBii {Tint(4), Tint(6)} {Tint(4)} | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| ADDii {Tint(4), Tint(6)} {Tint(4)} | |
| BR {L3} | |
| L3 | |
| LIii {Tint(5), Tint(4)} {Tbool(7)} | |
| CBR {Tbool(7)} {L5, L4} | |
| L4 | |
| MOV {Tint(4)} {Tint(3)} | |
| LOADGLOBAL {Upval(_ENV), 'table' Ks(3)} {T(5)} | |
| GETsk {T(5), 'numarray' Ks(4)} {T(10)} | |
| MOV {T(10)} {T(11)} | |
| CALL {T(11), Tint(2), 0E0 Kflt(0)} {T(11..), 1 Kint(0)} | |
| TOFARRAY {T(11[11..])} | |
| MOV {T(11[11..])} {local(xi, 4)} | |
| MOV {local(xi, 4)} {T(13)} | |
| TPUTik {T(13)} {local(x, 2), Tint(3)} | |
| MOV {1 Kint(0)} {Tint(9)} | |
| MOV {Tint(2)} {Tint(10)} | |
| MOV {1 Kint(0)} {Tint(11)} | |
| SUBii {Tint(9), Tint(11)} {Tint(9)} | |
| BR {L6} | |
| L5 | |
| RET {local(x, 2)} {L1} | |
| L6 | |
| ADDii {Tint(9), Tint(11)} {Tint(9)} | |
| BR {L7} | |
| L7 | |
| LIii {Tint(10), Tint(9)} {Tbool(12)} | |
| CBR {Tbool(12)} {L9, L8} | |
| L8 | |
| MOV {Tint(9)} {Tint(8)} | |
| TGETik {local(a, 0), Tint(3)} {T(13)} | |
| TOFARRAY {T(13)} | |
| TGETik {local(c, 3), Tint(8)} {T(12)} | |
| TOFARRAY {T(12)} | |
| MOVf {0E0 Kflt(0)} {Tflt(0)} | |
| MOV {T(13)} {local(ai, 5)} | |
| MOV {T(12)} {local(cj, 6)} | |
| MOV {1 Kint(0)} {Tint(14)} | |
| MOV {Tint(1)} {Tint(15)} | |
| MOV {1 Kint(0)} {Tint(16)} | |
| SUBii {Tint(14), Tint(16)} {Tint(14)} | |
| BR {L10} | |
| L9 | |
| BR {L2} | |
| L10 | |
| ADDii {Tint(14), Tint(16)} {Tint(14)} | |
| BR {L11} | |
| L11 | |
| LIii {Tint(15), Tint(14)} {Tbool(17)} | |
| CBR {Tbool(17)} {L13, L12} | |
| L12 | |
| MOV {Tint(14)} {Tint(13)} | |
| FAGETik {local(ai, 5), Tint(13)} {Tflt(1)} | |
| FAGETik {local(cj, 6), Tint(13)} {Tflt(2)} | |
| MULff {Tflt(1), Tflt(2)} {Tflt(3)} | |
| ADDff {Tflt(0), Tflt(3)} {Tflt(2)} | |
| MOVf {Tflt(2)} {Tflt(0)} | |
| BR {L10} | |
| L13 | |
| FAPUTfv {Tflt(0)} {local(xi, 4), Tint(8)} | |
| BR {L6} | |
| return -3+4*5//2^3^2//9+4%10/3 == (-3)+(((4*5)//(2^(3^2)))//9)+((4%10)/3) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| 3 | |
| --[unary expr end] | |
| + | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 4 | |
| * | |
| 5 | |
| --[binary expr end] | |
| // | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| --[binary expr start] any | |
| 3 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| // | |
| 9 | |
| --[binary expr end] | |
| --[binary expr end] | |
| + | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 4 | |
| % | |
| 10 | |
| --[binary expr end] | |
| / | |
| 3 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[unary expr start] any | |
| - | |
| 3 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 4 | |
| * | |
| 5 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| // | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 3 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| // | |
| 9 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| + | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| 4 | |
| % | |
| 10 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| / | |
| 3 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] integer | |
| - | |
| 3 | |
| --[unary expr end] | |
| + | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] integer | |
| 4 | |
| * | |
| 5 | |
| --[binary expr end] | |
| // | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| --[binary expr start] number | |
| 3 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| // | |
| 9 | |
| --[binary expr end] | |
| --[binary expr end] | |
| + | |
| --[binary expr start] number | |
| --[binary expr start] integer | |
| 4 | |
| % | |
| 10 | |
| --[binary expr end] | |
| / | |
| 3 | |
| --[binary expr end] | |
| --[binary expr end] | |
| == | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[unary expr start] integer | |
| - | |
| 3 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[binary expr start] integer | |
| 4 | |
| * | |
| 5 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| // | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| 3 | |
| ^ | |
| 2 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| // | |
| 9 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| + | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[binary expr start] integer | |
| 4 | |
| % | |
| 10 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| / | |
| 3 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| UNMi {3 Kint(0)} {Tint(0)} | |
| MULii {4 Kint(1), 5 Kint(2)} {Tint(1)} | |
| POW {3 Kint(0), 2 Kint(3)} {Tflt(0)} | |
| POW {2 Kint(3), Tflt(0)} {Tflt(1)} | |
| IDIV {Tint(1), Tflt(1)} {T(0)} | |
| IDIV {T(0), 9 Kint(4)} {T(1)} | |
| ADD {Tint(0), T(1)} {T(0)} | |
| MOD {4 Kint(1), 10 Kint(5)} {Tint(0)} | |
| DIVii {Tint(0), 3 Kint(0)} {Tflt(1)} | |
| ADD {T(0), Tflt(1)} {T(1)} | |
| UNMi {3 Kint(0)} {Tint(0)} | |
| MULii {4 Kint(1), 5 Kint(2)} {Tint(1)} | |
| POW {3 Kint(0), 2 Kint(3)} {Tflt(1)} | |
| POW {2 Kint(3), Tflt(1)} {Tflt(0)} | |
| IDIV {Tint(1), Tflt(0)} {T(0)} | |
| IDIV {T(0), 9 Kint(4)} {T(2)} | |
| ADD {Tint(0), T(2)} {T(0)} | |
| MOD {4 Kint(1), 10 Kint(5)} {Tint(0)} | |
| DIVii {Tint(0), 3 Kint(0)} {Tflt(0)} | |
| ADD {T(0), Tflt(0)} {T(2)} | |
| EQ {T(1), T(2)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| return -3%5 == 2 and -3+5 == 2 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| 3 | |
| --[unary expr end] | |
| % | |
| 5 | |
| --[binary expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| and | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| 3 | |
| --[unary expr end] | |
| + | |
| 5 | |
| --[binary expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| --[unary expr start] integer | |
| - | |
| 3 | |
| --[unary expr end] | |
| % | |
| 5 | |
| --[binary expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| and | |
| --[binary expr start] boolean | |
| --[binary expr start] integer | |
| --[unary expr start] integer | |
| - | |
| 3 | |
| --[unary expr end] | |
| + | |
| 5 | |
| --[binary expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| UNMi {3 Kint(0)} {Tint(0)} | |
| MOD {Tint(0), 5 Kint(1)} {Tint(1)} | |
| EQii {Tint(1), 2 Kint(2)} {Tbool(0)} | |
| MOV {Tbool(0)} {T(0)} | |
| CBR {T(0)} {L2, L3} | |
| L1 (exit) | |
| L2 | |
| UNMi {3 Kint(0)} {Tint(0)} | |
| ADDii {Tint(0), 5 Kint(1)} {Tint(1)} | |
| EQii {Tint(1), 2 Kint(2)} {Tbool(0)} | |
| MOV {Tbool(0)} {T(0)} | |
| BR {L3} | |
| L3 | |
| RET {T(0)} {L1} | |
| return -((2.0^8 + -(-1)) % 8)/2 * 4 - 3 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2.0000000000000000 | |
| ^ | |
| 8 | |
| --[binary expr end] | |
| + | |
| --[unary expr start] any | |
| - | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[unary expr start] any | |
| - | |
| 1 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| % | |
| 8 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| / | |
| 2 | |
| --[binary expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| - | |
| 3 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] number | |
| --[binary expr start] number | |
| --[binary expr start] number | |
| --[unary expr start] number | |
| - | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| --[binary expr start] number | |
| 2.0000000000000000 | |
| ^ | |
| 8 | |
| --[binary expr end] | |
| + | |
| --[unary expr start] integer | |
| - | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[unary expr start] integer | |
| - | |
| 1 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| % | |
| 8 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| / | |
| 2 | |
| --[binary expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| - | |
| 3 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| POW {2E0 Kflt(0), 8 Kint(0)} {Tflt(0)} | |
| UNMi {1 Kint(1)} {Tint(0)} | |
| UNMi {Tint(0)} {Tint(1)} | |
| ADDfi {Tflt(0), Tint(1)} {Tflt(1)} | |
| MOD {Tflt(1), 8 Kint(0)} {Tflt(0)} | |
| UNMf {Tflt(0)} {Tflt(1)} | |
| DIVfi {Tflt(1), 2 Kint(2)} {Tflt(2)} | |
| MULfi {Tflt(2), 4 Kint(3)} {Tflt(1)} | |
| SUBfi {Tflt(1), 3 Kint(4)} {Tflt(2)} | |
| RET {Tflt(2)} {L1} | |
| L1 (exit) | |
| return -((2^8 + -(-1)) % 8)//2 * 4 - 3 | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| - | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| 2 | |
| ^ | |
| 8 | |
| --[binary expr end] | |
| + | |
| --[unary expr start] any | |
| - | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[unary expr start] any | |
| - | |
| 1 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| % | |
| 8 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| // | |
| 2 | |
| --[binary expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| - | |
| 3 | |
| --[binary expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[unary expr start] number | |
| - | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| --[suffixed expr start] number | |
| --[primary start] number | |
| --[binary expr start] number | |
| --[binary expr start] number | |
| 2 | |
| ^ | |
| 8 | |
| --[binary expr end] | |
| + | |
| --[unary expr start] integer | |
| - | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| --[unary expr start] integer | |
| - | |
| 1 | |
| --[unary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| % | |
| 8 | |
| --[binary expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| // | |
| 2 | |
| --[binary expr end] | |
| * | |
| 4 | |
| --[binary expr end] | |
| - | |
| 3 | |
| --[binary expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| POW {2 Kint(0), 8 Kint(1)} {Tflt(0)} | |
| UNMi {1 Kint(2)} {Tint(0)} | |
| UNMi {Tint(0)} {Tint(1)} | |
| ADDfi {Tflt(0), Tint(1)} {Tflt(1)} | |
| MOD {Tflt(1), 8 Kint(1)} {Tflt(0)} | |
| UNMf {Tflt(0)} {Tflt(1)} | |
| IDIV {Tflt(1), 2 Kint(0)} {T(0)} | |
| MUL {T(0), 4 Kint(3)} {T(1)} | |
| SUB {T(1), 3 Kint(4)} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| local x | |
| do | |
| local y = 12 | |
| goto l1 | |
| ::l2:: x = x + 1; goto l3 | |
| ::l1:: x = y; goto l2 | |
| end | |
| ::l3:: ::l3_1:: assert(x == 13) | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] x, l3:, l3_1: | |
| local | |
| --[symbols] | |
| x --local symbol any | |
| do | |
| --[local symbols] y, l2:, l1: | |
| local | |
| --[symbols] | |
| y --local symbol any | |
| --[expressions] | |
| 12 | |
| goto l1 | |
| ::l2:: | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| goto l3 | |
| ::l1:: | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| goto l2 | |
| end | |
| ::l3:: | |
| ::l3_1:: | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| assert --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| 13 | |
| --[binary expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] x, l3:, l3_1: | |
| local | |
| --[symbols] | |
| x --local symbol any | |
| do | |
| --[local symbols] y, l2:, l1: | |
| local | |
| --[symbols] | |
| y --local symbol any | |
| --[expressions] | |
| 12 | |
| goto l1 | |
| ::l2:: | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| goto l3 | |
| ::l1:: | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| y --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| goto l2 | |
| end | |
| ::l3:: | |
| ::l3_1:: | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| assert --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| 13 | |
| --[binary expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| INIT {local(x, 0)} | |
| MOV {12 Kint(0)} {local(y, 1)} | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| MOV {local(y, 1)} {T(0)} | |
| MOV {T(0)} {local(x, 0)} | |
| BR {L3} | |
| L3 | |
| ADD {local(x, 0), 1 Kint(1)} {T(0)} | |
| MOV {T(0)} {local(x, 0)} | |
| BR {L4} | |
| L4 | |
| LOADGLOBAL {Upval(_ENV), 'assert' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| EQ {local(x, 0), 13 Kint(2)} {T(2)} | |
| CALL {T(1), T(2)} {T(1..), 1 Kint(1)} | |
| RET {L1} | |
| L5 | |
| BR {L2} | |
| L6 | |
| BR {L4} | |
| for i=1,10 do print(i) end | |
| function() | |
| --upvalues _ENV* | |
| for | |
| --[local symbols] i | |
| i --local symbol any | |
| = | |
| 1 | |
| , | |
| 10 | |
| do | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| for | |
| --[local symbols] i | |
| i --local symbol integer | |
| = | |
| 1 | |
| , | |
| 10 | |
| do | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {Tint(1)} | |
| MOV {10 Kint(1)} {Tint(2)} | |
| MOV {1 Kint(0)} {Tint(3)} | |
| SUBii {Tint(1), Tint(3)} {Tint(1)} | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| ADDii {Tint(1), Tint(3)} {Tint(1)} | |
| BR {L3} | |
| L3 | |
| LIii {Tint(2), Tint(1)} {Tbool(4)} | |
| CBR {Tbool(4)} {L5, L4} | |
| L4 | |
| MOV {Tint(1)} {Tint(0)} | |
| LOADGLOBAL {Upval(_ENV), 'print' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1), Tint(0)} {T(1..), 1 Kint(0)} | |
| BR {L2} | |
| L5 | |
| RET {L1} | |
| for i=10,1,-1 do print(i) end | |
| function() | |
| --upvalues _ENV* | |
| for | |
| --[local symbols] i | |
| i --local symbol any | |
| = | |
| 10 | |
| , | |
| 1 | |
| , | |
| --[unary expr start] any | |
| - | |
| 1 | |
| --[unary expr end] | |
| do | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| for | |
| --[local symbols] i | |
| i --local symbol integer | |
| = | |
| 10 | |
| , | |
| 1 | |
| , | |
| --[unary expr start] integer | |
| - | |
| 1 | |
| --[unary expr end] | |
| do | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {10 Kint(0)} {Tint(1)} | |
| MOV {1 Kint(1)} {Tint(2)} | |
| UNMi {1 Kint(1)} {Tint(3)} | |
| MOV {Tint(3)} {Tint(4)} | |
| LIii {0 Kint(2), Tint(4)} {Tbool(5)} | |
| SUBii {Tint(1), Tint(4)} {Tint(1)} | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| ADDii {Tint(1), Tint(4)} {Tint(1)} | |
| CBR {Tbool(5)} {L3, L4} | |
| L3 | |
| LIii {Tint(2), Tint(1)} {Tbool(6)} | |
| CBR {Tbool(6)} {L6, L5} | |
| L4 | |
| LIii {Tint(1), Tint(2)} {Tbool(6)} | |
| CBR {Tbool(6)} {L6, L5} | |
| L5 | |
| MOV {Tint(1)} {Tint(0)} | |
| LOADGLOBAL {Upval(_ENV), 'print' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1), Tint(0)} {T(1..), 1 Kint(1)} | |
| BR {L2} | |
| L6 | |
| RET {L1} | |
| while true do print('forever') end | |
| function() | |
| --upvalues _ENV* | |
| while | |
| true | |
| do | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| 'forever' | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| while | |
| true | |
| do | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| 'forever' | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| CBR {true} {L3, L4} | |
| L3 | |
| LOADGLOBAL {Upval(_ENV), 'print' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1), 'forever' Ks(1)} {T(1..), 1 Kint(0)} | |
| BR {L2} | |
| L4 | |
| RET {L1} | |
| repeat print('forever') brek until true | |
| function() | |
| --upvalues _ENV* | |
| repeat | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| 'forever' | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| brek --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| until | |
| true | |
| --[repeat end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| repeat | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| 'forever' | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| brek --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| until | |
| true | |
| --[repeat end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BR {L3} | |
| L1 (exit) | |
| L2 | |
| CBR {true} {L3, L4} | |
| L3 | |
| LOADGLOBAL {Upval(_ENV), 'print' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1), 'forever' Ks(1)} {T(1..), 1 Kint(0)} | |
| LOADGLOBAL {Upval(_ENV), 'brek' Ks(2)} {T(2)} | |
| BR {L2} | |
| L4 | |
| RET {L1} | |
| repeat print('forever') break until true return | |
| function() | |
| --upvalues _ENV* | |
| repeat | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| 'forever' | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| goto break | |
| until | |
| true | |
| --[repeat end] | |
| return | |
| end | |
| function() | |
| --upvalues _ENV* | |
| repeat | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| 'forever' | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| goto break | |
| until | |
| true | |
| --[repeat end] | |
| return | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| BR {L3} | |
| L1 (exit) | |
| L2 | |
| CBR {true} {L3, L4} | |
| L3 | |
| LOADGLOBAL {Upval(_ENV), 'print' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1), 'forever' Ks(1)} {T(1..), 1 Kint(0)} | |
| BR {L4} | |
| L4 | |
| RET {L1} | |
| L5 | |
| BR {L2} | |
| for i =1,10 do if i == 2 then break end end return | |
| function() | |
| --upvalues _ENV* | |
| for | |
| --[local symbols] i | |
| i --local symbol any | |
| = | |
| 1 | |
| , | |
| 10 | |
| do | |
| if | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| i --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| then | |
| goto break | |
| end | |
| end | |
| return | |
| end | |
| function() | |
| --upvalues _ENV* | |
| for | |
| --[local symbols] i | |
| i --local symbol integer | |
| = | |
| 1 | |
| , | |
| 10 | |
| do | |
| if | |
| --[binary expr start] boolean | |
| --[suffixed expr start] integer | |
| --[primary start] integer | |
| i --local symbol integer | |
| --[primary end] | |
| --[suffixed expr end] | |
| == | |
| 2 | |
| --[binary expr end] | |
| then | |
| goto break | |
| end | |
| end | |
| return | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| MOV {1 Kint(0)} {Tint(1)} | |
| MOV {10 Kint(1)} {Tint(2)} | |
| MOV {1 Kint(0)} {Tint(3)} | |
| SUBii {Tint(1), Tint(3)} {Tint(1)} | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| ADDii {Tint(1), Tint(3)} {Tint(1)} | |
| BR {L3} | |
| L3 | |
| LIii {Tint(2), Tint(1)} {Tbool(4)} | |
| CBR {Tbool(4)} {L5, L4} | |
| L4 | |
| MOV {Tint(1)} {Tint(0)} | |
| BR {L6} | |
| L5 | |
| RET {L1} | |
| L6 | |
| EQii {Tint(0), 2 Kint(2)} {Tbool(5)} | |
| CBR {Tbool(5)} {L7, L8} | |
| L7 | |
| BR {L5} | |
| L8 | |
| BR {L2} | |
| L9 | |
| BR {L8} | |
| local msgs = {} | |
| function Message (m) | |
| if not _nomsg then | |
| print(m) | |
| msgs[#msgs+1] = string.sub(m, 3, -3) | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] msgs | |
| local | |
| --[symbols] | |
| msgs --local symbol any | |
| --[expressions] | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| Message --global symbol any | |
| = | |
| function( | |
| m --local symbol any | |
| ) | |
| --upvalues _ENV*, msgs | |
| --[local symbols] m | |
| if | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| _nomsg --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| then | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| m --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| msgs --upvalue any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| msgs --upvalue any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| string --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[field selector start] any | |
| . | |
| 'sub' | |
| --[field selector end] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| m --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| 3 | |
| , | |
| --[unary expr start] any | |
| - | |
| 3 | |
| --[unary expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] msgs | |
| local | |
| --[symbols] | |
| msgs --local symbol any | |
| --[expressions] | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| Message --global symbol any | |
| = | |
| function( | |
| m --local symbol any | |
| ) | |
| --upvalues _ENV*, msgs | |
| --[local symbols] m | |
| if | |
| --[unary expr start] any | |
| not | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| _nomsg --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| then | |
| --[expression statement start] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| print --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| m --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| msgs --upvalue any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| --[binary expr start] any | |
| --[unary expr start] any | |
| # | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| msgs --upvalue any | |
| --[primary end] | |
| --[suffixed expr end] | |
| --[unary expr end] | |
| + | |
| 1 | |
| --[binary expr end] | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| string --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[field selector start] any | |
| . | |
| 'sub' | |
| --[field selector end] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| m --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| 3 | |
| , | |
| --[unary expr start] integer | |
| - | |
| 3 | |
| --[unary expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWTABLE {T(0)} | |
| MOV {T(0)} {local(msgs, 0)} | |
| CLOSURE {Proc%2} {T(1)} | |
| STOREGLOBAL {T(1)} {Upval(_ENV), 'Message' Ks(0)} | |
| CLOSE {local(msgs, 0)} | |
| RET {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| BR {L2} | |
| L1 (exit) | |
| L2 | |
| LOADGLOBAL {Upval(_ENV), '_nomsg' Ks(0)} {T(0)} | |
| NOT {T(0)} {T(1)} | |
| CBR {T(1)} {L3, L4} | |
| L3 | |
| LOADGLOBAL {Upval(_ENV), 'print' Ks(1)} {T(2)} | |
| MOV {T(2)} {T(3)} | |
| CALL {T(3), local(m, 0)} {T(3..), 1 Kint(0)} | |
| LEN {Upval(1, Proc%1, msgs)} {T(4)} | |
| ADD {T(4), 1 Kint(0)} {T(5)} | |
| LOADGLOBAL {Upval(_ENV), 'string' Ks(2)} {T(6)} | |
| GETsk {T(6), 'sub' Ks(3)} {T(7)} | |
| MOV {T(7)} {T(8)} | |
| UNMi {3 Kint(1)} {Tint(0)} | |
| CALL {T(8), local(m, 0), 3 Kint(1), Tint(0)} {T(8..), 1 Kint(0)} | |
| PUT {T(8[8..])} {Upval(1, Proc%1, msgs), T(5)} | |
| BR {L4} | |
| L4 | |
| RET {L1} | |
| _soft = rawget(_G, "_soft") or false | |
| Z[1][2] = false or true | |
| local _g | |
| r()[a].name = _g and 'Dibyendu' or 'majumdar' | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] _g | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| _soft --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| rawget --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| _G --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| '_soft' | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| or | |
| false | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| Z --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[Y index start] any | |
| [ | |
| 2 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| false | |
| or | |
| true | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| local | |
| --[symbols] | |
| _g --local symbol any | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| r --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[field selector start] any | |
| . | |
| 'name' | |
| --[field selector end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| _g --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| 'Dibyendu' | |
| --[binary expr end] | |
| or | |
| 'majumdar' | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] _g | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| _soft --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| rawget --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| _G --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| , | |
| '_soft' | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| or | |
| false | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| Z --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[Y index start] any | |
| [ | |
| 1 | |
| ] | |
| --[Y index end] | |
| --[Y index start] any | |
| [ | |
| 2 | |
| ] | |
| --[Y index end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| false | |
| or | |
| true | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| local | |
| --[symbols] | |
| _g --local symbol any | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| r --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[Y index start] any | |
| [ | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| a --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| ] | |
| --[Y index end] | |
| --[field selector start] any | |
| . | |
| 'name' | |
| --[field selector end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| --[binary expr start] any | |
| --[binary expr start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| _g --local symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| and | |
| 'Dibyendu' | |
| --[binary expr end] | |
| or | |
| 'majumdar' | |
| --[binary expr end] | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'rawget' Ks(1)} {T(2)} | |
| MOV {T(2)} {T(3)} | |
| LOADGLOBAL {Upval(_ENV), '_G' Ks(2)} {T(4)} | |
| CALL {T(3), T(4), '_soft' Ks(0)} {T(3..), 1 Kint(0)} | |
| MOV {T(3..)} {T(1)} | |
| CBR {T(1)} {L3, L2} | |
| L1 (exit) | |
| L2 | |
| MOV {false} {T(1)} | |
| BR {L3} | |
| L3 | |
| STOREGLOBAL {T(1)} {Upval(_ENV), '_soft' Ks(0)} | |
| LOADGLOBAL {Upval(_ENV), 'Z' Ks(3)} {T(1)} | |
| GETik {T(1), 1 Kint(0)} {T(0)} | |
| MOV {false} {T(4)} | |
| CBR {T(4)} {L5, L4} | |
| L4 | |
| MOV {true} {T(4)} | |
| BR {L5} | |
| L5 | |
| PUTik {T(4)} {T(0), 2 Kint(1)} | |
| INIT {local(_g, 0)} | |
| LOADGLOBAL {Upval(_ENV), 'r' Ks(4)} {T(4)} | |
| MOV {T(4)} {T(3)} | |
| CALL {T(3)} {T(3), 1 Kint(0)} | |
| LOADGLOBAL {Upval(_ENV), 'a' Ks(5)} {T(5)} | |
| GET {T(3), T(5)} {T(6)} | |
| MOV {local(_g, 0)} {T(9)} | |
| CBR {T(9)} {L8, L9} | |
| L6 | |
| MOV {'majumdar' Ks(8)} {T(8)} | |
| BR {L7} | |
| L7 | |
| PUTsk {T(8)} {T(6), 'name' Ks(6)} | |
| RET {L1} | |
| L8 | |
| MOV {'Dibyendu' Ks(7)} {T(9)} | |
| BR {L9} | |
| L9 | |
| MOV {T(9)} {T(8)} | |
| CBR {T(8)} {L7, L6} | |
| function foo(bar: integer[], zee: number[], ...) end | |
| function() | |
| --upvalues _ENV* | |
| foo --global symbol any | |
| = | |
| function( | |
| bar --local symbol integer[] | |
| , | |
| zee --local symbol number[] | |
| ) | |
| --[local symbols] bar, zee | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| foo --global symbol any | |
| = | |
| function( | |
| bar --local symbol integer[] | |
| , | |
| zee --local symbol number[] | |
| ) | |
| --[local symbols] bar, zee | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(1)} | |
| STOREGLOBAL {T(1)} {Upval(_ENV), 'foo' Ks(0)} | |
| RET {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| TOIARRAY {local(bar, 0)} | |
| TOFARRAY {local(zee, 1)} | |
| RET {L1} | |
| L1 (exit) | |
| function foo(bar: number, zee: string) end | |
| function() | |
| --upvalues _ENV* | |
| foo --global symbol any | |
| = | |
| function( | |
| bar --local symbol number | |
| , | |
| zee --local symbol string | |
| ) | |
| --[local symbols] bar, zee | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| foo --global symbol any | |
| = | |
| function( | |
| bar --local symbol number | |
| , | |
| zee --local symbol string | |
| ) | |
| --[local symbols] bar, zee | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(1)} | |
| STOREGLOBAL {T(1)} {Upval(_ENV), 'foo' Ks(0)} | |
| RET {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| TOFLT {local(bar, 0)} | |
| TOSTRING {local(zee, 1)} | |
| RET {L1} | |
| L1 (exit) | |
| function foo(bar: closure, zee: My.User.Type) end | |
| function() | |
| --upvalues _ENV* | |
| foo --global symbol any | |
| = | |
| function( | |
| bar --local symbol closure | |
| , | |
| zee --local symbol userdata My.User.Type | |
| ) | |
| --[local symbols] bar, zee | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| foo --global symbol any | |
| = | |
| function( | |
| bar --local symbol closure | |
| , | |
| zee --local symbol userdata My.User.Type | |
| ) | |
| --[local symbols] bar, zee | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| CLOSURE {Proc%2} {T(1)} | |
| STOREGLOBAL {T(1)} {Upval(_ENV), 'foo' Ks(0)} | |
| RET {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| TOCLOSURE {local(bar, 0)} | |
| TOTYPE {'My.User.Type' Ks(0)} {local(zee, 1)} | |
| RET {L1} | |
| L1 (exit) | |
| return (f()) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[primary end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| LOADGLOBAL {Upval(_ENV), 'f' Ks(0)} {T(0)} | |
| MOV {T(0)} {T(1)} | |
| CALL {T(1)} {T(1..), -1 Kint(0)} | |
| RET {T(1[1..])} {L1} | |
| L1 (exit) | |
| return {g()}, f(g()) | |
| function() | |
| --upvalues _ENV* | |
| return | |
| { --[table constructor start] table | |
| --[indexed assign start] any | |
| --[value start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| g --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| g --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| function() | |
| --upvalues _ENV* | |
| return | |
| { --[table constructor start] table | |
| --[indexed assign start] any | |
| --[value start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| g --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| --[value end] | |
| --[indexed assign end] | |
| } --[table constructor end] | |
| , | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| f --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| g --global symbol any | |
| --[primary end] | |
| --[suffix list start] | |
| --[function call start] any | |
| ( | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| ) | |
| --[function call end] | |
| --[suffix list end] | |
| --[suffixed expr end] | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWTABLE {T(0)} | |
| LOADGLOBAL {Upval(_ENV), 'g' Ks(0)} {T(1)} | |
| MOV {T(1)} {T(2)} | |
| CALL {T(2)} {T(2..), -1 Kint(1)} | |
| TPUTik {T(2..)} {T(0), 1 Kint(0)} | |
| LOADGLOBAL {Upval(_ENV), 'f' Ks(1)} {T(2)} | |
| MOV {T(2)} {T(3)} | |
| LOADGLOBAL {Upval(_ENV), 'g' Ks(0)} {T(4)} | |
| MOV {T(4)} {T(5)} | |
| CALL {T(5)} {T(5..), -1 Kint(1)} | |
| CALL {T(3), T(5..)} {T(3..), -1 Kint(1)} | |
| RET {T(0), T(3..)} {L1} | |
| L1 (exit) | |
| local _ENV = {}; return function() x = 1 end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] _ENV | |
| local | |
| --[symbols] | |
| _ENV --local symbol any | |
| --[expressions] | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| return | |
| function() | |
| --upvalues _ENV | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| function() | |
| --upvalues _ENV* | |
| --[local symbols] _ENV | |
| local | |
| --[symbols] | |
| _ENV --local symbol any | |
| --[expressions] | |
| { --[table constructor start] table | |
| } --[table constructor end] | |
| return | |
| function() | |
| --upvalues _ENV | |
| --[expression statement start] | |
| --[var list start] | |
| --[suffixed expr start] any | |
| --[primary start] any | |
| x --global symbol any | |
| --[primary end] | |
| --[suffixed expr end] | |
| = --[var list end] | |
| --[expression list start] | |
| 1 | |
| --[expression list end] | |
| --[expression statement end] | |
| end | |
| end | |
| define Proc%1 | |
| L0 (entry) | |
| NEWTABLE {T(0)} | |
| MOV {T(0)} {local(_ENV, 0)} | |
| CLOSURE {Proc%2} {T(0)} | |
| RET {T(0)} {L1} | |
| L1 (exit) | |
| define Proc%2 | |
| L0 (entry) | |
| STOREGLOBAL {1 Kint(0)} {Upval(0, Proc%1, _ENV), 'x' Ks(0)} | |
| RET {L1} | |
| L1 (exit) |