1
0
Fork 0
playing with the 1994 Lua 1.1 source code
Find a file
2025-11-11 22:59:53 -06:00
include phase 3 performance upgrades 2025-11-11 22:59:53 -06:00
src phase 3 performance upgrades 2025-11-11 22:59:53 -06:00
test initial commit 2025-11-11 21:39:05 -06:00
.gitignore initial commit 2025-11-11 21:39:05 -06:00
build.toml phase 3 performance upgrades 2025-11-11 22:59:53 -06:00
README.md phase 2 performance upgrades 2025-11-11 22:11:42 -06:00
UPGRADES.md phase 3 performance upgrades 2025-11-11 22:59:53 -06:00

Lua 1.1

This repo is a time capsule project. The intent is to maintain a copy of Lua 1.1 and keep it entirely functional and compilable while maintaining the semantics and mechanics as precisely as possible.

Lua 1.1 is a historical masterpiece of engineering - a product of its time no doubt, but still marvelous in its simplicity and utility. It is a shame to not have a copy available for easy use.

I will only target low hanging fruit improvements; the first of which was to have a custom recursive descent parser to take the place of yacc. syntax.h is the result of that work; all Lua 1.1 language constructs work as intended with the new parser, and so the entire test suite is used as the benchmark for that.

Upgrades

Aside from our custom recursive descent parser, you can find the other internal-only upgrades in UPGRADES.md.

Mako

It's a bit of a self-sell, but development of this project is done using my own build tool, Mako. Warning flags and the original constants are defined in build.toml. A simple mako b is all it takes to (very quickly) compile the Lua binary.