Message text written by Murata Makoto
>
We can examine datatype ambiguity by rewriting grammars [1]. Given a
grammar and a simple path expression, we create a grammar such that
(1) it accepts exactly what the original grammar accepts and (2) some
of its named patterns are marked, and (3) an element matches a marked
named pattern if and only if that element satisfies the path
expression. Intuitively speaking, the new grammar simulates the
original grammar (in the bottom-up manner) as well as the path
expression (in the top-down manner).
<<<<<<<<<<
Makoto,
Could we not separate the datatyping layer from the grammar?
Then we force the datatyping to be a separate declaration step
<grammars>
<declareDatatyping>stuff here.</declareDatatyping>
<grammar name="A">using datatyping</grammar>
</grammars>
That way we keep this simple, and yet still extensible.
DW.