Re: sbnf (striped BNF)

> 
> kifer@cs.sunysb.edu (Michael Kifer) writes:
> > 
> > (resending due to my email troubles in the morning)
> > 
> > Sandro Hawke wrote:
> > >
> > > If the asn is to be completely redundant, we need to add a flag in there
> > > that the arguments are ordered, perhaps like:
> > > 
> > >     Uniterm ::= op::Const "(" args::List(Uniterm*) ")"
> > >     Uniterm ::= op::Const "(" args::List((Uniterm ("," Uniterm)*)?) ")"
> > > 
> > 
> > Is it necessary to say in the syntax that the arguments are ordered or
> > unordered? I would think that this is a matter of the semantics (and
> > semantics handles this just fine right now).
> 
> It's not necessary at the BNF level, but I think it's highly desirable
> at the ASN level, because the ASN corresponds to the abstract data types
> one needs for holding the instance data (the rulesets), and I think it's
> important to have different data structure APIs for sets (or multisets,
> or multimaps, depending how you look at it) and lists.  So, if the ASN
> is to be derivable from the BNF, then the BNF needs this information.

But why is it necessary to treat a language syntax as if it were some kind
of data? It is not clear what are we gaining by that, but it is clear that
we had trouble following through with this ambitious program.


	--michael  

Received on Thursday, 6 September 2007 01:30:24 UTC