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 | := | stringass-ident (\ alpha-ident\ ) |
syntax | := | alpha-ident {ass-ident} |
Prefix [ [ float] ] string {syntax-arg} | ||
Infix [ [ float] ] ass-identstring {syntax-arg} | ||
rInfix [ [ float] ] ass-identstring {syntax-arg} | ||
lInfix [ [ float] ] ass-identstring {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.