[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]