- From: Sandro Hawke <sandro@w3.org>
- Date: Mon, 10 Sep 2007 07:59:31 -0400
- To: kifer@cs.sunysb.edu (Michael Kifer)
- Cc: "Sandro Hawke" <sandro@w3.org>, "RIF WG" <public-rif-wg@w3.org>
kifer@cs.sunysb.edu (Michael Kifer) writes:
>
> Sandro, you are looking in a wrong place. Look at the abstract syntax.
> Instead, you are looking at a translation algorithm!
No, I don't think so.
Yes, I could have compared the abstract syntax. In that case I would
have compared what's in the BLD draft...
Equal ::= 'Equal'
'('
'side' '->' TERM
'side' '->' TERM
')'
to some asn07 like this:
class Equal
property left: Term
property right: Term
in which case I also have a strong preference for the asn07.
But, no, instead I chose to focus on the specification of the mapping
from abstract syntax to presentation syntax. For that, I quoted the BLD
text which specifies the mapping for Equal and showed it with the a
single line of sbnf which performs the same function. (The fact that
the text in BLD shows more of how to one might perform that
transformation, instead of *just* specifying it -- that surely accounts
for why it is so much more complicated -- but I don't see that as a
benefit.)
-- Sandro
> > kifer@cs.sunysb.edu (Michael Kifer) writes:
> > >
> > > "Sandro Hawke" <sandro@w3.org> wrote:
> > > >
> > > > "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca> writes:
> > > > >
> > > > > Based on the recent discussions, I updated the Abstract Syntax by also
> > > > > just using EBNF and introduced Abstract-to-Concrete Mappings for:
> > > > >
> > > > > http://www.w3.org/2005/rules/wg/wiki/Core/Positive_Conditions
> > > > > http://www.w3.org/2005/rules/wg/wiki/Core/Horn_Rules
> > > > > http://www.w3.org/2005/rules/wg/wiki/Core/Slotted_Conditions
> > > > >
> > > > > Thus, unresolved dependencies on a future metalanguage for defining
> > > > > the RIF Syntax were removed, especially in the Slotted Conditions.
> > > > > This can now contribute to speeding up our editorial BLD WD2 work.
> > > >
> > > > What's the advantage of this formalism over SBNF? It seems much more
> > > > complicated to me.
> > > >
> > > > - s
> > >
> > > As far as I can see, this is a slight elaboration (and, perhaps, a visually
> > > more convenient form) of your own proposal of a couple of weeks ago.
> > > Can you explain where do you see the differences?
> >
> > If you find this:
> >
> > class2token('Equal','=')
> > abs2con4g('Equal'
> > '('
> > 'side' '->' TERM1
> > 'side' '->' TERM2
> > ')',
> > TokenTable)
> > =
> > TERM1 lookup('Equal',TokenTable) TERM2
> >
> > more "visually convenient" than this:
> >
> > Equal ::= left::Term '=' right::Term
> >
> > then I have no idea where to begin this discussion.
> >
> > > (Your syntax was at times at odds with the formal syntax, and that has been
> > > fixed.
> >
> > I think I was trying to match the BNF not the formal syntax, but that
> > was just for illustration purposes anyway.
> >
> > > Otherwise, the two seem basically isomorphic to me.)
> >
> > They appear equalent in some essential ways -- a bit like C++ and
> > assembly are equivalent, I guess. I have a pretty strong preference for
> > one style over the other.
> >
> > -- Sandro
>
Received on Monday, 10 September 2007 12:02:47 UTC