[Versa] Updated ebnf with no conflicts

Jeremy Kloth jeremy.kloth at fourthought.com
Mon Sep 26 10:24:38 MDT 2005


On Monday 26 September 2005 10:18 am, Michael Olson wrote:
> On Sep 23, 2005, at 4:41 PM, Uche Ogbuji wrote:
> > On Fri, 2005-09-23 at 01:40 -0600, Michael Olson wrote:
> >> added function reference as &function_name
> >
> > I really dislike this change.  I think it makes a lot more sense to add
> > syntax to qname predicates as functions.
>
> We do, its a trailing "(".
>
> The problem is with qname-patterns where it is just "qname"  So
>
> function-reference :== qname
>
> and
>
> qname-pattern :== qname
>
> always result in a reduce reduce conflict.
>
> This one cannot be solved with precedence.
>
> The only other option is to add a symbol for a qname pattern which I
> really dislike.

The XPath grammar gets around that issue by saying "a QName followed by a '(' 
is a FunctionName" in the lexicon section.  Oops, you're referring to a 
function *reference*.  Hmm, that my be best solved at the implementation 
level, not in the grammer.

-- 
Jeremy Kloth
Fourthought, Inc.
http://fourthought.com/
http://4suite.org/


More information about the Versa mailing list