OC-KittenOS/inst/symbolGuide.md

33 lines
953 B
Markdown
Raw Normal View History

2020-03-31 22:41:08 +11:00
# The Symbol Guide
## lexCrunch commands
2020-03-31 22:41:08 +11:00
The following prefixes are really special,
and are lexcrunch's responsibility:
"$$THING" : These are defines.
"$Thing" : Writes a global into stream. If not already allocated, is allocated a global.
"${" : Opens a frame.
"$}" : Closes a frame. (Attached temps are released.)
"$L|THING" : Allocates THING from temp pool, attaches to stack frame, writes to stream.
Use inside a comment to erase the written symbol
2020-03-31 22:41:08 +11:00
## Conventions
2020-03-31 22:41:08 +11:00
The rest are convention:
"$iThing" symbols are Installer Wrapper.
"$icThing" symbols are Installer Core.
"$dfThing" symbols are DEFLATE Engine.
"$bdThing" symbols are BDIVIDE Engine.
"$a0", "$a1", etc. are Local Symbols.
DEPRECATED, THESE ARE AN OLD MECHANISM, USE FRAMED TEMPS INSTEAD.
2020-03-31 22:41:08 +11:00
These are reserved only for use in locals.
(For loops count.)
"$lThing" symbols are used to name Local Symbols using aliases.
NO THEY ARE NOW USED FOR ALL TEMPS, INCLUDING LOCAL SYMBOLS