Defaults
What the machine does when nothing says otherwise. Everything here can be changed; nothing here has to be.
The grammar’s own settings
Written in a config block — see Config Settings.
setting |
default |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 bytes |
|
256 slots |
A grammar that writes a size of 0 has written nothing: zero is how “use the
default” is stored, so it cannot also mean “none”.
The run’s own settings
Set by whoever starts the run (ApmVmConfig), not by the grammar. The runner
apmr leaves all of them alone.
setting |
default |
what it is |
|---|---|---|
variable stack |
64 KiB |
room for globals and every live action’s locals |
stack growth |
off |
a grammar that wants more errors instead of growing |
semvar rows |
64 |
rows a set starts with before it doubles |
call cache |
the grammar’s |
the run may override what the grammar asked for |
call cache |
on |
|
trace |
off |
no trace is written unless a writer is given |
The stack does not grow by default on purpose: a parser that wants an unbounded amount of variable space has nearly always run away, and saying so is worth more than allocating for it.
What a rule does when nothing says otherwise
default |
|
|---|---|
|
|
a counter |
greedy, and gives nothing back |
|
skips a run of the inbetween grammar, and only where it is written |
an action |
becomes a node named after itself |
a semvar |
matches its longest member; |
a scope |
one bracket, and no pairing by position |