OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [xri] Groups - xri-abstract-syntax-tree-instance-diagram-v4.pdfuploaded


Drummond Reed wrote:
> Steve, good stuff. Two minor items I noted in reviewing it:
>
> 1) You say, "a no-type subsegment may only appear at the start of a
> segment". Actually, it can also appear at the start of a "Ref" (a
> parenthetical subsegment).
>   
I don't get this. What Steve calls a "no-type" subseg is essentially the 
"char-subseg" production in abnf-draft05, right? Steve should stop the 
bad habit of inventing new terms as he goes along! ;-P

I've always read the ABNF this way:


Whenever you have a production that is defined as alternatives of other 
productions, e.g.

simple-subseg    = paren-subseg
                 / char-subseg

I read it as "simple-subseg has two subclasses - paren-subseg or 
char-subseg". This is an inheritance relationship.



Whenever you have a production that is defined as a few components, e.g.

paren-subseg      = "(" [ paren-value] ")"


I read it as "parent-subseg contains a left-paren, followed by an 
optional paren-value, then right-paren". This is a containment relationship.


Therefore, the following production with the productions above:

global-subseg    = gcs-char [ simple-subseg ] *local-subseg

reads to me "global-subseg contains a gcs-char, and an optional subseg, 
followed by zero or more local-subseg, where simple-subseg may be either 
a paren-subseg or char-subseg".

In short, the string "@foo" explodes to "global-subseg contains gcs-char 
followed by a simple-subseg specialized to a char-subseg".


OTOH, the string "(foo)" explodes to "paren-subseg contains left-paren 
followed by a paren-value which is specialized to an xri-reference, in 
turn specialized to an xri-path-noscheme, which contains an 
xri-segment-nc... eventually getting to char-subseg". The important note 
here is that char-subseg is not immediately followed by the left-paren 
but is buried in a lower level under xri-path-noscheme. This means that 
char-subseg, while it can appear next to the left-paren, is different 
from the global-subseg case.


=wil


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]