| Issue 12: | Disambiguisation runs into dead-loop | |
| 1 person starred this issue and may be notified of changes. | Back to list |
Consider this gzl grammar
----
@start expression;
// sample language with function call and method
// sample expression : #true, #false, a, b, a.b, a.b(c), a(b), a(#true),
// and also the useless #true.#false(#true)
expression -> simpleExpression (methodApplication | functionApplication)* ;
functionApplication -> argumentList;
methodApplication -> "." variableExpression (argumentList)?+;
simpleExpression -> variableExpression| literalExpression;
argumentList -> '(' expression *(',')')';
variableExpression -> .name=/[a-z]+/;
literalExpression -> "#true" | "#false" ;
----
Compiler runs into a loop while consuming more and more memory.
The rationale of the test is to match expression
a.b(c) as a 'methodApplication' with parameters and not a
'methodApplication' followed by a 'functionApplication'
Feb 2, 2009
#1
manu....@gmail.com
Feb 6, 2009
I believe the latter problem you mention is fixed in the latest Git. The first problem I can reproduce however. I'll have to track it down and fix it. Thanks for the report!
Status:
Accepted
Labels: FixTarget-0.5 |