Releases: nineml/coffeefilter
3.2.7
One of the new features in iXML (new since 1.0) is the ability to rename elements in the serialized output. Using a >
after a nonterminal will rename it. In a rule, A>B
, means match the nonterminal A
, but serialize the result as B
.
Apparently, I implemented a very early draft of that idea because the specification calls the new name an alias
where CoffeeFilter called it a rename
.
Rename “rename
� to “alias
� in the XML serialization of iXML grammars. This upgrade invalidates any XML serializations using the renaming feature that were generated with an earlier version of CoffeeFilter.
3.2.6
This release is partly a patch to get the current version aligned with the documentation. A build oversight meant that updates after 3.2.5 were being published in the 3.2.5 documentation. That’s potentially confusing; releasing 3.2.6 brings the documentation and the release back into alignment. Apologies for any confusion.
Restore support for the csv-columns
and csv-heading
pragmas. Added support for validating VXML grammars (i.e., iXML grammars in XML format) before using them. Cleaned up a few small problems in the iXML grammar for iXML with pragmas.
3.2.5
3.2.4
3.2.3
3.2.2
This release is mostly a large refactor of how the documentation is organized, managed, and produced. There are also significant new sections about the CoffeeGrinder and CoffeeFilter APIs.
Other aspects of the build have also been improved: the Maven artifacts now explicitly identify either Saxon 11 or Saxon 12 as dependencies; build automation now tests against both versions of Saxon, and the default build dependency is Saxon-HE.
Javadoc clarifications and improvements.
3.2.1
3.2.0
3.1.0
-
Added support for specifying an alternate start symbol for parsing. This is not conformant behavior, but is useful for converted grammars that may have otherwise unreachable states.
-
Added more checks for grammars provided in XML form. Removed some unused rules from the internal pragmas grammar.
-
Improved the way ambiguity is detected and reported.
3.0.0
-
All of the NineML core components have been updated to version 3.0.0; CoffeeFilter incorporates the changes in CoffeeGrinder 3.0.0.
-
Added support for the renaming proposal provided that the grammar identifies itself as version 1.1 (or 1.1-nineml).
-
Refactored how pragmas are processed; removed the unused “token” pragma.
-
Removed the “rewrite” pragma; it can be replaced with standard features: deletion and insertion. Removed the default priority pragma because it didn’t actually seem useful.
-
Removed the notion of compiled grammars and the cache of compiled grammars.
-
Added an option to omit headers when generating CSV output.
-
Added support for the “mark ambiguities” option. When enabled
n:ambiguous="true"
attributes are added to the XML trees.