mirror of
https://github.com/kanaka/mal.git
synced 2024-09-20 01:57:09 +03:00
cc9dbd92e3
Also, add variables.txt file with start of documenting meanings of variables. List of renamings/savings: ZZ% -> S% : 131 bytes ZL% -> X : 550 bytes A% -> A : 192 bytes E% -> E : 32 bytes R% -> R : 381 bytes AR% -> AR : 30 bytes AY% -> AY : 71 bytes AZ% -> AZ : 33 bytes B% -> B : 47 bytes AA% -> AA : 64 bytes AB% -> AB : 25 bytes F% -> F : 21 bytes FF% -> FF : 14 bytes ER% -> ER : 41 bytes PR% -> PR : 7 bytes T% -> T : 46 bytes R0-9% -> R0-9 : 31 bytes T0-9% -> T0-9 : 42 bytes S1-4% -> S1-4 : 25 bytes U0-9% -> U0-9 : 44 bytes ZK% -> ZK : 10 bytes ZI% -> ZI : 10 bytes RC% -> RC : 16 bytes K%/V% -> K/V : 21 bytes SD% -> SD : 16 bytes ZS$ -> S$ : 40 bytes HM% -> H : 10 bytes SZ% -> SZ : 39 bytes LV% -> LV : 9 bytes EO% -> O : 18 bytes C% -> C : 4 bytes P% -> P : 4 bytes
49 lines
1018 B
Plaintext
49 lines
1018 B
Plaintext
Global Unique:
|
|
|
|
Z% : boxed memory values
|
|
ZI : start of unused memory (index into Z%)
|
|
ZK : start of free list (index into Z%)
|
|
|
|
S$ : string memory storage
|
|
ZJ : next free index in S$
|
|
|
|
S% : logic/call stack (Z% indexes)
|
|
X : top element of S% stack
|
|
|
|
ZR% : pending release stack (index into Z%, eval level)
|
|
ZM% : top element of ZR% stack
|
|
|
|
RE% : root repl environment
|
|
|
|
ER : error type (-2: none, -1: string, >=0: object)
|
|
ER$ : error string (ER=-1)
|
|
|
|
LV : EVAL stack call level/depth
|
|
|
|
Calling arguments/temporaries:
|
|
|
|
A : common call arguments (especially EVAL, EVAL_AST)
|
|
B : common call arguments
|
|
C : common call arguments
|
|
E : environment (EVAL, EVAL_AST)
|
|
F : function
|
|
H : hash map
|
|
K : hash map key (Z% index)
|
|
K$ : hash map key string
|
|
O : outer environment
|
|
P : MAL_FUNCTION
|
|
R : common return value
|
|
T : common temp, type
|
|
V : hash map value
|
|
|
|
SZ : size argument to ALLOC
|
|
|
|
Reused/temporaries:
|
|
|
|
I : STRING, REPLACE, SLICE, PR_MEMORY, PR_OBJECT
|
|
J : REPLACE
|
|
|
|
Unused:
|
|
|
|
D, G, L, M, N, Q, U, W, Y
|