The following fragment is ambiguous in JSGLR, but not in C-based SGLR:

bstm* |[
  bstm_attrs*
  test.methodname();
  ~*<![]>
]|

AST:

ToMetaListExpr(
  [ amb(
      [ [ meta-var("bstm_attr")
        , ExprStm(
            Mul(
              ExprName(Id("s"))
            , Invoke(
                Method(MethodName(AmbName(Id("test")), Id("methodname")))
              , []
              )
            )
          )
        ]
      , [ meta-var("bstm_att")
        , ExprStm(
            Mul(
              ExprName(Id("rs"))
            , Invoke(
                Method(MethodName(AmbName(Id("test")), Id("methodname")))
              , []
              )
            )
          )
        ]
      ]
    )
  , RootApp(Build(NoAnnoList(List([]))))
  ]
)

I’ve minified the code fragment in which it occurred here, the real fragment can be found in https://svn.strategoxt.org/repos/WebDSL/webdsls/trunk/src/org/webdsl/dsl/to-java-servlet/control-flow-to-java-servlet.str

Submitted by Danny Groenewegen on 10 December 2010 at 13:01

On 10 December 2010 at 13:11 Lennart Kats tagged parser

On 10 December 2010 at 13:11 Lennart Kats tagged minor

On 10 December 2010 at 13:11 Lennart Kats commented:

(This seems to be a problem related to the heuristic filters of the Disambiguator.)


On 16 December 2010 at 18:06 Lennart Kats commented:

Exactly what version did you see this with? It’s possible that it’s related to the deployment issue of Spoofax/320, which caused spurious ambiguities…


On 8 January 2013 at 15:10 Eelco Visser tagged sdf

Log in to post comments