df8e9f7e83
refactoring: switched to match/case
...
wow! python actually added switch cases! too bad this is just syntax sugar...
2023-12-09 12:01:04 -06:00
a22aa808e0
lp: added support for OP_TEST
2022-08-26 01:18:24 -05:00
935844f274
more minor refactoring
2022-08-22 00:59:21 -05:00
c37e9a21d8
ld: minor refactoring
2022-08-22 00:54:59 -05:00
34b1ec7285
ld: added LuaDump()
...
- chunks can now be serialized back into lua bytecode dumps :D
2022-08-22 00:50:08 -05:00
f9f1d4af00
ld: minor refactoring
2022-08-19 15:46:47 -05:00
3be45f156a
lp: support OP_CLOSURE, boilerplate function/proto support
2022-08-17 22:14:45 -05:00
b28edcba1d
lp: fix isValidLocal() not respecting capitals
2022-08-17 22:14:13 -05:00
bc4e762e26
lp: bug fix (forgot to transfer registers)
2022-08-16 00:26:50 -05:00
19bed999ee
lp: added __parseNewTable(), better table pseudo-code
2022-08-16 00:12:26 -05:00
a248cc4807
lp: added NEWTABLE && SETLIST
...
- tables can now be (mostly) decompiled
- changed 'decompiled source' to 'pseudo-code' since the output doesn't typically match the compiled script source.
- misc. refactoring
2022-08-15 23:30:32 -05:00
9da0d0ffbd
lp: support FORPREP && FORLOOP
2022-08-14 01:36:05 -05:00
5d91dbbc64
lundump.py: better instruction annotations
2022-08-12 17:31:15 -05:00
0d947f4f3d
Added 'repeat .. until' support
...
- lines are now tracked by start & end PC
- new config option: annotatedLines. if true line annotations show start & end PC will be emitted
- lundump.py now shows locals for each proto
2022-08-12 17:08:31 -05:00
368ff62538
'not' not '!'
2022-08-12 00:10:47 -05:00
a6623c8953
lparser.py: if local name is invalid, resort to fallback
2022-08-12 00:04:11 -05:00
0f72e71a59
lparser.py: proper support for locals
2022-08-11 23:58:21 -05:00
b8bf02f7d0
lparser.py: minor refactoring, cleanup
2022-08-11 23:10:36 -05:00
95ca3bb26b
lparser.py: added support for while loops
2022-08-11 17:26:48 -05:00
78e137d033
updated README
2022-08-11 16:56:42 -05:00
875e91636b
lundump.py: SETGLOBAL uses K[]
2022-08-11 16:49:48 -05:00
055af56e27
lparser.py: don't read RK values here, use lundump.py to read them
2022-08-11 16:45:05 -05:00
eb1d3ffe87
lundump.py: minor refactoring, added instruction annotations
2022-08-11 16:43:34 -05:00
2258888956
lundump.py: Instruction.__readRK() should be a static method
2022-08-11 16:19:21 -05:00
ac0b7039d2
README: clarification
2022-08-11 16:00:41 -05:00
28db2dcb8b
Added LICENSE
2022-08-11 15:55:49 -05:00
0adecfae2b
Added README
2022-08-11 15:54:19 -05:00
61ce2d416b
lundump.py: only list protos if we have any
2022-08-11 15:52:50 -05:00
4d8c78f023
lundump.py: improved instruction operand labeling
...
- RKs are fully supported
- KBx are also supported
2022-08-11 15:49:57 -05:00
0dbdfc49c6
Inital commit
...
- Extremely basic decompiler implemented in lparser.py
- lundump.py ported from [this repository](https://github.com/CPunch/LuaPytecode )
2022-08-11 15:38:31 -05:00