I've been bashing my head away against this problem for a while now, and would really appreciate it if you could tell me where I've gone wrong, or if you think it might be a bug in the parser.
Please find attached a grammar, and an example file. I am trying to do a Python style DSL, but function calls are normal, bracketed, recursive structures. This all seems to work, except for the simplest case.
If I try
$something $myfunc\(<<<hello>>>, $something->attr\) $myfunc\(<<<hello>>>, $something->attr\($somethingelse->whatever\)\) $myfunc\(<<<hello>>>, $something\) $myfunc\(<<<hello>>>, $something\(\)\) \#id
then the first three lines work, as they should. but the last two lines do not. I have worked out that this is because of the $something variable not having a 'chain', but that works fine when the variable is at the top level.
I would really appreciate some advice on this matter. I haven't been able to deduce what is happening when I put the traces on because there is so much logging going on.
Cheers,
Tiest
grammar with error in it.