BasicString : '0' | '1' | 'L' | 'H' | 'null' | AngleBracketString | BraceExpr | OptionalString /* not supported */ | TruncatedString BraceExpr : '{' CSN1String '}' TruncatedString: '{' CSN1String '}' '//' OptionalString : '[' CSN1String ']'
BasicString
covers those strings which are self-contained: the literal bits, 'null', and expressions enclosed in some kind of brackets/parentheses/braces.
The braces in a BraceExpr
have no real meaning except to set off part of a string and control operator precedence.
TruncatedString
indicates that the string inside the curly braces may be truncated in the encoding. If the string inside the curly braces is a Concatenation
, any member of that Concatenation
, along with all subsequent members, may be absent. Note that if any member is itself enclosed in curly braces, that member is present or absent as a whole. That is, { <a> <b> { <c> <d> } }//
can match ab but not abc.
OptionalString
is the syntax for an optional string, but we do not currently support this. We have not encountered any use of this notation in 3GPP technical specifications.