Hi all, again. We find two keywords from the responses.
- trade-off between features and simplicity - ambiguities in Set These two may well have been the main reasons why Set was dropped from the draft 3 (http://tools.ietf.org/html/draft-ietf-drums-abnf-03) about 12 years ago. Since then, Internet flourished and so did protocols. Along the line, the pivot for trading off might have shifted towards "features" from "simplicity" a little bit, we wonder. And we still hope that overall gain from adding "Set" might be positive. The biggest advantage of introducing Set again is: - self-contained definitions in describing a message whose components can come unordered. - more readability - far better for parser generation And of course, we sacrifice its simplicity, a little bit. The following is a writing of Set specifications. We are looking forward to hearing overall integrity concerns, among other things. 3.6. Variable Repetition: *Rule . . 3.6.1. Element's Repetition in Sequence, Concatenation, etc, other than Set An element with a repetition is expanded sequentially. Example: Element's Repetition in non-Set types which results in forming a Sequence group 3A = (A A A) So, ... Example: Sequence Group in a Set set = {(3A) X} = {(A A A) X} = ((A A A) X)/ (X (A A A)) = (A A A X) / (X A A A) Example: Sequence Group in Set set = {(A B C) X} = (A B C X) / (X A B C) 3.6.2. Element's Repetition in Set An element with a repetition in a Set is expanded non-sequentially. Example: Element's Repetition in Set set = {3A X} = {A A A X} = (A A A X) / (A A X A) / (A X A A) / (X A A A) 3.6.3. Set's Repetition A Set with a repetition is expanded only atomically. Example: SETa = {A B} 2SETa = 2{A B} = 2((A B)/(B A)) = ((A B) (A B)) / ((B A) (B A)) = (A B A B) / (B A B A) ******************** 4. ABNF Definition of ABNF . . element = rulename / group / set / option / char-val / num-val / prose-val set = "{" repetition *(1*c-wsp repetition ) "}" ; repetitions in any order Note that the rule "element" above now includes "set" and the rule set is of course the new addition for Set. In addition to probing into this new specifications, please raise a red flag for any possible disruptions of existing RFCs by this new Set, even though we are pretty sure that no existing specifications would be affected by this change. Thanks, -Munjo Yu, VineGen Inc. On Fri, Apr 10, 2009 at 5:56 PM, Dale Worley <[email protected]> wrote: > On Wed, 2009-04-01 at 20:17 -0500, Munjo Yu wrote: >> SET is described simply as follows, using a pair of braces: >> >> SET {Rule1 Rule2} > > As a start, I would like to see a fully accurate description of how the > SET construction is written, and what its significance is. Given that > SET is a *tool for writing specifications*, we must be careful to define > it exactly. Currently, all we have is one example of its use. > > Dale > > > _______________________________________________ Sip mailing list https://www.ietf.org/mailman/listinfo/sip This list is for NEW development of the core SIP Protocol Use [email protected] for questions on current sip Use [email protected] for new developments on the application of sip
