The parsing and pretty printing of expressions are incremental. Thus we will now show the syntax the user can use to specify the syntax of new symbols.
| ass-ident | := | alpha-ident [:: sort] |
| syntax-arg | := | string \ alpha-ident \) |
| syntax | := | alpha-ident {ass-ident} |
Prefix [ [ float ] ]
string {syntax-arg} |
||
Infix [ [float] ]
ass-ident string {syntax-arg} |
||
rInfix [ [float] ]
ass-ident string {syntax-arg} |
||
lInfix [ [float] ]
ass-ident string {syntax-arg} |
||
Postfix[float] ]
ass-ident |
Moreover, in the rule for syntax a ass-ident can not be immediately
followed by another ass-ident or a (\ alpha-ident \)
because this would lead to ambiguities. Moreover, in the same rule, the string must contain a valid identifier (alpha-ident or special-ident). These constraints are not for LaTeX syntax.