Hi,

I think what you're looking for is Sylvain Schmidt's paper entitled
"Modular syntax demands verification". IIRC in general the problem is
undecidable, but Sylvain develops a conservative NFA approach and
demonstrates it on a tricky ML grammar snippet. It's far from trivial
though.

Cheers,
Colin

On 27 May 2010 19:57, Panciz <dav.pole...@gmail.com> wrote:
>
> Hi,
>
> I'm wrinting a tool to that collect  sparse single grammr productions
> and combine them together in order to generate the complete grammar
> definition.
>
> In particular the colleted rules are transformed in Rats! modules in
> order to generate a Java Packrat Parser.
>
> My problem is that I need to give to the  productions that define the
> same non terminal the correct priority (that in
> Rats! means the definition order in the module) in order
> to ensure that a shorter rules does not prevent a
>  longer one to be choosen.
>
> Is there an efficient strategy to automatically check this constrain??
> It's trivial in simple grammars like
>
> NonTerm1 <-- NonTerm3 / NonTerm2
> NonTerm2 <-- NonTerm3 "sym"
>
> find out that NonTerm3 must have low priority than NonTerm2.
> but when I have something like this
>
> NonTerm1 <-- NonTerm2 / NonTerm3
> NonTerm2 <-- NonTerm2A  / NonTerm2B / NonTerm2C
> NonTerm3 <-- NonTerm3A / NonTerm3B
> etc.....
>
> In order to compare NonTerm3 with NonTerm2 I need to check for their 
> definition
> and then recursevly check in their definition until I found
> out if NonTerm2 prevents or not the choice NonTerm3.
>
> Thanks
> Davide
>
>
>
>
> _______________________________________________
> PEG mailing list
> PEG@lists.csail.mit.edu
> https://lists.csail.mit.edu/mailman/listinfo/peg
>

_______________________________________________
PEG mailing list
PEG@lists.csail.mit.edu
https://lists.csail.mit.edu/mailman/listinfo/peg

Reply via email to