comment ambiguity bug
In an attempt to write a MiniJava compiler in Spoofax I ran into what is probably a bug when parsing this code:
`class Main {
public static void main(String[] args) { System.out.println(new Fac().fac(10)) ; }
}
class Fac {
public int fac(int num) { //bla1 a = b; //bla2 return c; }
}`
The editor reports a warning on line //bla1 altough “transform->show abstract syntax” reports no ambiguities:
Fragment is ambiguous: amb([MethodDecl(Int,"fac",FormalList([TypeId(Int,"num")]),[],[Assign ("a",Id("b"))],Id("c")),MethodDecl(Int,"fac",FormalList([TypeId(Int,"num")]),[],[Assign("a",Id ("b"))],Id("c"))])
I’ll try to also post my syntax definition.
Submitted on 21 September 2010 at 12:39
Issue Log
I had a closer look at the grammar and the example and it turns out it is missing the following restriction:
context-free restrcitions
LAYOUT? -/- [/].[/]This restriction ensures that comments can only be parsed on one level of the tree.
I can confirm that it was indeed the problem.
Log in to post comments