In the following WebDSL fragment, the parse recovery is trying to hard:

rule page foo() {
true ||
}

becomes

rule page foo() {
true || ""
}

which leads to type errors that obscure the parse error.

How can this be improved? Is it possible to filter out semantic errors that point to syntactically invalid (but recovered) fragments?

Submitted by Danny Groenewegen on 4 February 2011 at 14:34

On 4 February 2011 at 14:56 Lennart Kats tagged parser

On 4 February 2011 at 14:57 Lennart Kats commented:

So what’s the AST for this "" expression?


On 4 February 2011 at 15:26 Danny Groenewegen commented:

String("")


On 4 February 2011 at 15:30 Lennart Kats commented:

Strange. Then I don’t really see how it would do this recovery, since it doesn’t automatically generate insertion recovery rules for lexicals.


On 4 February 2011 at 16:08 Sverre Rabbelier tagged !srabbelier

On 8 January 2013 at 16:19 Gabriël Konat tagged error_recovery

On 8 January 2013 at 16:19 Gabriël Konat removed tag question

On 8 January 2013 at 16:19 Gabriël Konat tagged error

Log in to post comments