mirror of
https://github.com/lua/lua
synced 2025-04-13 00:12:53 +03:00

The compilation of a goto or a label just create an entry and generate boilerplate code for the gotos. As we don't know yet whether it needs a CLOSE, we code a jump followed by a CLOSE, which is then dead code. When a block ends (and then we know for sure whether there are variables that need to be closed), we check the goto's against the labels of that block. When closing a goto against a label, if it needs a CLOSE, the compiler swaps the order of the jump and the CLOSE, making the CLOSE active.
Lua
This is the repository of Lua development code, as seen by the Lua team. It contains the full history of all commits but is mirrored irregularly. For complete information about Lua, visit Lua.org.
Please do not send pull requests. To report issues, post a message to the Lua mailing list.
Download official Lua releases from Lua.org.
Description
Languages
C
67.2%
Lua
32.2%
Makefile
0.6%