Keys
Technically, lin only distinguishes between 2 constructs when parsing syntax: numbers and keys. Keys form all of the syntax and commands. Any string of characters that is not a digit, period, or space will be parsed as a key.
Examples of keys:
asdf
+-*/
~
asdljfasdkfjklsadf
Examples of non-keys:
1234
log2
a e s t h e t i c
._.
Syntax Keys
Although still keys, these contain special features that cause them to be evaluated differently. Multi-character keys with a leading backslash \
will push the rest of the key (sans the leading backslash) as a string to the stack rather than evaluating it as a command. Multi-character keys with a leading pound symbol #
signifies an ID; unless in certain cases, these kinds of keys are ignored.
Command Keys
Anything that is not a syntax key is considered a command key. A full list of such commands can be found here. Particularly special or important commands will be discussed in subsequent sections.