iXML Community Group Test Suite
23 Oct 2023 (22 Nov 2023)
Top-level catalog for tests in the iXML Community Group Test Suite.
Tests have been contributed from several sources, but the core of the test collection are the tests contributed by Steven Pemberton in December 2021.
Misc tests
13 Jun 2022
Grammars 1-20.
Tests compiled manually in 2018 and 2019, re-packaged in 2022.
Moved to ixml test collection, June 2022.
sample.grammar.11
Created 08 Feb 2022 by cmsmcq
Lots of infinite ambiguity.
L(G) is the set of strings matching the regex "(x|y|z)*", grouped arbitrarily into nodes labeled A, B, and C, with an S node at the root.
Invisible XML Grammar
S: (A; B; C)*.
A: (A; B; C)*; ["x"; "y"; "z"]*.
B: (A; B; C)*; ["x"; "y"; "z"]*.
C: (A; B; C)*; ["x"; "y"; "z"]*.
Test case: Grammar test
Repository URI: …/tests/misc/misc-001-020-catalog.xml
Expected result
<ixml xmlns:ixml="http://invisiblexml.org/NS"
xmlns:tc="https://github.com/invisibleXML/ixml/test-catalog">
<rule name="S">
<alt>
<repeat0>
<alts>
<alt>
<nonterminal name="A"/>
</alt>
<alt>
<nonterminal name="B"/>
</alt>
<alt>
<nonterminal name="C"/>
</alt>
</alts>
</repeat0>
</alt>
</rule>
<rule name="A">
<alt>
<repeat0>
<alts>
<alt>
<nonterminal name="A"/>
</alt>
<alt>
<nonterminal name="B"/>
</alt>
<alt>
<nonterminal name="C"/>
</alt>
</alts>
</repeat0>
</alt>
<alt>
<repeat0>
<inclusion>
<member string="x"/>
<member string="y"/>
<member string="z"/>
</inclusion>
</repeat0>
</alt>
</rule>
<rule name="B">
<alt>
<repeat0>
<alts>
<alt>
<nonterminal name="A"/>
</alt>
<alt>
<nonterminal name="B"/>
</alt>
<alt>
<nonterminal name="C"/>
</alt>
</alts>
</repeat0>
</alt>
<alt>
<repeat0>
<inclusion>
<member string="x"/>
<member string="y"/>
<member string="z"/>
</inclusion>
</repeat0>
</alt>
</rule>
<rule name="C">
<alt>
<repeat0>
<alts>
<alt>
<nonterminal name="A"/>
</alt>
<alt>
<nonterminal name="B"/>
</alt>
<alt>
<nonterminal name="C"/>
</alt>
</alts>
</repeat0>
</alt>
<alt>
<repeat0>
<inclusion>
<member string="x"/>
<member string="y"/>
<member string="z"/>
</inclusion>
</repeat0>
</alt>
</rule>
</ixml>