[Versa] equality

Michael Olson Mike.Olson at fourthought.com
Mon Sep 26 12:46:16 MDT 2005


On Sep 26, 2005, at 12:39 PM, Jeremy Kloth wrote:

> On Monday 26 September 2005 12:29 pm, Michael Olson wrote:
>>>> 1)  now we could use this binding language for other queries such as
>>>> XPath
>>>> 2)  by separating the grammars we are free to reuse symbols.  In  
>>>> this
>>>> case the '@' is fair game again, and we could go back to "=" for
>>>> equality (I think)
>>
>> Just an FYI, not so lucky here with the "=",  as the reduce/reduce
>> conflict comes from keyword arguments not the declarations
>
> You do need precedence, you bastard :)

I don't think it will help in this case as precedence is not an issue

the production

qname '=' expression

is really ambiguous in our grammar.  In one case, we say (roughly)

expression :== qname '=' expression

and in another we say

keyword-argument :== qname '=' expression

so the query

function_call ( foo = bar)

can always be interpreted as either

"call the function "function_call" with the keyword argument "foo" set  
to "bar"

or

"call the function "function_call" with a single boolean parameter"

precedence would not help this case

I think we need the "==", or something else.  In this case I think "=="  
strongly maps to other languages and is a very good choice.

That does not mean I ain't a bastard as we still need precedence for  
the forward traversal operator (rule/context level).  I'm working on  
updating the bgen reader to support this now but may have to hand the  
implementation off to you....

Mike

>
> --  
> Jeremy Kloth
> Fourthought, Inc.
> http://fourthought.com/
> http://4suite.org/
> _______________________________________________
> Versa mailing list
> Versa at lists.fourthought.com
> http://lists.fourthought.com/mailman/listinfo/versa
>
------------------------------------------------------------------------ 
-----------------
Mike Olson                                                Principal  
Consultant
mike.olson at fourthought.com                +1 720 253 4662
Fourthought, Inc.                                       
http://Fourthought.com
PO Box 270590,                                       http://4Suite.org
Louisville, CO 80027-5009, USA
XML strategy, XML tools, knowledge management



More information about the Versa mailing list