See the discussion on stratego-dev, e.g.:
https://mail.cs.uu.nl/pipermail/stratego-dev/2004q1/000676.html

Submitted on 18 March 2004 at 09:28

On 8 April 2004 at 08:59 Jira commented:

STR-1, martin:
The disambiguation of the if-then-else operator isn’t ok. The current implementation, which is the best I’ve been able to achieve without obfuscating the whole grammar, allows:

“s ; if s then s else s ; s”
“s + if s then s else s + s”

but not:

“s ; if s then s else s + s”
“s + if s then s else s ; s”

I’ve no idea how to solve this completely in an acceptable way. The solution in the “Disambiguation Filters For Scannerless Generalized LR Parsers” article is ambiguous as well.


On 8 April 2004 at 10:27 Jira commented:

STR-1, martin:
Arthur & Rob suggested that using an “end” is fine. This has now been implemented in stratego-front.


On 10 April 2004 at 17:37 Jira commented:

STR-1, martin:
if-then-else-end is the solution for now.

Log in to post comments