- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Wed, 05 Jul 2023 09:27:32 +0100
- To: ixml <public-ixml@w3.org>
- Message-ID: <m2y1juwy6z.fsf@saxonica.com>
Hello, I’ve recently published a beta release of the NineML suite of Invisible XML tools (CoffeePot[1], CoffeeFilter, CoffeeSacks, and CoffeeGrinder, CoffeePress to follow shortly). Feedback most eagerly solicited. The changes grew out of things I discovered[2] in the course of writing my Balisage paper. Consequently, many of the changes are related to how ambiguity is described and handled. 1. The tools do a better job of enumerating the trees in an infinitely ambiguous forest. They no longer repeat some trees. 2. The output of --describe-ambiguity now resolves the ambiguities down to symbols from the original grammar, not the transformed BNF. (So you get things like “the choice is between A, B, C and A, D, C” not “the choice is between $3_B_opt and $3_D_opt”.) 3. The new --analyze-ambiguity option prints the results of ambiguity analysis by Anders Möller’s analyzer[3]. 4. The options passed to XPath functions when used to resolve ambiguity (either in CoffeeSacks or loaded as a function library in CoffeePot) have been changed completely. You now get access to the whole parse forest and you can accumulate information across calls. 5. Support for priorities on nonterminals is a core feature of CoffeeGrinder. The priorities are now integers. 6. An ambigous parse that has a unique solution expressed in terms of priorities (or because an XPath function resolved them all explicitly) can be produced without marking it as ambiguous. Possibly other things as well, but that’s what comes to mind this morning. [1] https://github.com/nineml/coffeepot/releases [2] https://so.nwalsh.com/2023/07/04/nineml3 [3] https://www.brics.dk/grammar/ Be seeing you, norm -- Norm Tovey-Walsh Saxonica
Received on Wednesday, 5 July 2023 08:38:07 UTC