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
Recommended reading order: | |
lmathlib.c, lstrlib.c: get familiar with the external C API. Don't bother with the pattern matcher though. Just the easy functions. | |
lapi.c: Check how the API is implemented internally. Only skim this to get a feeling for the code. Cross-reference to lua.h and luaconf.h as needed. | |
lobject.h: tagged values and object representation. skim through this first. you'll want to keep a window with this file open all the time. | |
lstate.h: state objects. ditto. | |
lopcodes.h: bytecode instruction format and opcode definitions. easy. | |
lvm.c: scroll down to luaV_execute, the main interpreter loop. see how all of the instructions are implemented. skip the details for now. reread later. | |
ldo.c: calls, stacks, exceptions, coroutines. tough read. | |
lstring.c: string interning. cute, huh? | |
ltable.c: hash tables and arrays. tricky code. |