After upgrading my project to Spoofax 1.3, I get parse errors when using rounded brackets in lexical syntax, for example for:

DOUBLE = ([0-9]+ "." [0-9]* EXPONENT) | ("." [0-9]+ EXPONENT) | ([0-9]+ EXPONENT)

Is this a bug or is it the idea that users introduce new productions?

DOUBLE = [0-9]+ "." [0-9]* EXPONENT
DOUBLE = "." [0-9]+ EXPONENT
DOUBLE = [0-9]+ EXPONENT

A bracket with only one containing element still parses correctly:

PARSE = (((("dummy"))))*

But it fails when there are two or more containing elements.

Submitted by Oskar van Rest on 13 November 2014 at 01:37

On 13 November 2014 at 01:37 Oskar van Rest tagged sdf

On 13 November 2014 at 01:37 Oskar van Rest tagged regression

On 13 November 2014 at 11:36 Eduardo Amorim commented:

Sequences and alternatives were dropped because they break the generated pretty-printer.
Alternatives are still allowed in lexical syntax, as they do not affect the shape of the AST. I believe it is the same for sequences.
I am fixing it to allow them in lexical syntax.


On 21 November 2014 at 09:39 Eduardo Amorim commented:

Fixed.


On 21 November 2014 at 09:39 Eduardo Amorim closed this issue.

On 21 November 2014 at 09:50 Gabriƫl Konat tagged 1.3.1

Log in to post comments