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 3

28 Jun 2022

Grammars 41-60.

Tests compiled manually in 2018 and 2019, re-packaged and extended (supplying test cases where needed) in 2022.

Note that some tests have alternate results for processors operating in non-standard modes, in particular modes in which they tolerate multiple definitions and undefined nonterminals or in which they do not tolerate non-productive nonterminals or unreachable nonterminals.

For a description of the form in which alternate results are recorded, see tests/misc-grammar/test-catalog.xml.

sample.grammar.41

Created 08 Feb 2022 by cmsmcq

Sample grammar from Niklaus Wirth, Grundlagen und Techniken des Compilerbaus (Bonn: Addison-Wesley, 1996), pp. 36-37.

Grammar for Oberon-0, the subset of Oberon for which the book describes a compiler.

Rules for whitespace and comments added for usability; Wirth assumes a lexer to eat whitespace. This grammar experiments with a pattern in which nonterminals normally begin and end with non-whitespace characters, so in the XML any whitespace goes outside the tags, not inside. (A different style is shown in sample.grammar.41bis.)

(For what it's worth: in some ways the raw parse tree produced by this grammar is nicer than the raw parse tree produced by grammar 41bis, but optional nonterminals and nonterminals which can produce the empty string cause ambiguity unless they are handled specially.)

Table of contents