Sujet : Re: infix via code walker hook.
De : ram (at) *nospam* zedat.fu-berlin.de (Stefan Ram)
Groupes : comp.lang.lispDate : 05. Apr 2025, 08:26:42
Autres entêtes
Organisation : Stefan Ram
Message-ID : <AsciMath-20250405082521@ram.dialup.fu-berlin.de>
References : 1 2 3 4 5 6
Stefan Monnier <
monnier@iro.umontreal.ca> wrote or quoted:
sin a + b + c + sin d + e + f
Well, now you're falling into the world of heuristics to try and handle
the inconsistent mix of rules used by various authors.
You're obviously free to go there, but don't count me in.
Languages such as "AsciiMath" or "AsciiMathML" have been created
to deal with such notations, and there is software available to
convert them to LaTeX or MathML.
In one case, a double space was made significant, to resolve
some ambiguities as in "sin a/2", in which the "/" now binds
stronger than the sin, different from "sin a/2".
The implementation of ASCIIMathML is somewhat elegant insofar as
some ambiguities are not resolved but just passed on to LaTeX or
MathML as they are. The input is not actually parsed into an AST
that represents the actual structure of the expression as it would
be parsed by a parser for a programming language.
And some implementations take care to handle /ungrammatical/ math
because it could be needed in a text book to show what makes no sense.
For example, input such as "sin sin sin" is handled too.