1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 01:57:09 +03:00
mal/basic/variables.txt
Joel Martin cc9dbd92e3 Basic: variable renaming. Save 2 kbytes.
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
2016-10-14 22:42:56 -05:00

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