Skip to content

Instantly share code, notes, and snippets.

qianlihu qianlihu8906

Block or report user

Report or block qianlihu8906

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:73eb87a11fa467c030bf3014b07cbf3c
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.
You can’t perform that action at this time.