CoffeeFilter Test Report

Report generated on 06 Aug 2023 at 21:03 with CoffeeFilter version 3.2.1 (using CoffeeGrinder version 3.2.1) from a test suite dated 21 Jun 2022 (20 Jun 2023).

Description

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.

Ambiguous inputs

01 Jun 2022 (09 May 2023)

Description

Tests provided by Steven Pemberton in December 2021, with corrections of 21 December. Reorganized by Norm Tovey-Walsh, February 2022.

ambig2

Created 16 Dec 2021 by SP

Invisible XML Grammar
a: "a"* ; "b"*.

Test case: ambig2

Repository URI: …/tests/ambiguous/test-catalog.xml

Created 16 Dec 2021 by SP

Updated 30 Dec 2021 by MSM

add description and second result

Description

The grammar is a: "a"* ; "b"*. and the input is the empty string.

If the grammar is rewritten to BNF, it will clearly have two parse trees against the BNF grammar, but it does not have two parse trees against the EBNF grammar.

So MSM has added an alternative result which does not mark the result ambiguous.

What the spec should say will require careful discussion.

Description

The grammar is a: "a"* ; "b"*. and the input is the empty string.

If the grammar is rewritten to BNF, it will clearly have two parse trees against the BNF grammar, but it does not have two parse trees against the EBNF grammar.

So MSM has added an alternative result which does not mark the result ambiguous.

What the spec should say will require careful discussion.

Input string (0 characters)
Expected results (one of)
<!-- AMBIGUOUS
     The input from line.pos 1.1 to 1.1 can be interpreted as 'a' in 2 different ways:
     1: a[1.1:]:  "a"*[:1.1] 
     2: a[1.1:]:  "b"*[:1.1] 
--><a xmlns:ixml="http://invisiblexml.org/NS" ixml:state="ambiguous"/>
<!-- UNAMBIGUOUS 
     The input from line.pos 1.1 to 1.1 can be interpreted as 'a' in 2 different ways: 
     1: a[1.1:]:  "a"*[:1.1] 
     2: a[1.1:]:  "b"*[:1.1]
     But there is only one parse tree.     
--><a/>

Test report

PASS