Commits

Robert Brewer  committed 9347b2f

Be more explicit that object operators define no order of their elements.

  • Participants
  • Parent commits 6226004

Comments (0)

Files changed (1)

 
 3.  OPERATORS
 
-3.1.  Concatenation:  Rule1 Rule2
+3.1.  String Concatenation:  Rule1 Rule2
 
 A rule can define a simple, ordered string of values (i.e., a
 concatenation of contiguous characters) by listing a sequence of rule
 
 matches (elem foo blat) or (elem bar blat), and
 
-     elem foo / bar blat
+     (elem foo) / (bar blat)
 
 matches (elem foo) or (bar blat).
 
 
 The operators "[" and "]" surrounding an element indicates a
 JSON array containing that element. If the contained element
-is a concatenation or repetition, the elements within match
+is a sequence or repetition, the elements within match
 the intermediate value-separator elements required by JSON
 arrays. Thus,
 
 
 The operators "{" and "}" surrounding an element indicates a
 JSON object containing that element. If the contained element
-is a concatenation or repetition, the elements within match
+is a sequence, object member, or repetition, the elements within match
 the intermediate value-separator elements required by JSON
 objects. Thus,
 
 
 matches {"foo": 51, "foo": 13.8} or {"foo": 72} or {}.
 
+Also, just as JSON objects are unordered collections, any element(s)
+contained within object operators are inherently unordered.
+
 3.8. Optional element: elem?
 
 The operator "?" following an element indicates that the element
 
     Alternative
 
-Use of the alternative operator, freely mixed with concatenations,
+Use of the alternative operator, freely mixed with sequence grouping,
 can be confusing.
 
   Again, it is recommended that the grouping operator be used to
-  make explicit concatenation groups.
+  make explicit, ordered, sequence groups.
 
 4.  JBNF DEFINITION OF JBNF