1 (* https://bottlecaps.de/rr/ui *)
4 ::= PropertyName ( '=' Value )? ( ',' PropertyName ( '=' Value )? )*
5 Query ::= ( '-'? PropertyName | PropertyName ( '=' | '!=' ) Value )
6 ( ',' ( '-'? PropertyName | PropertyName ( '=' | '!=' ) Value ) )*
7 Value ::= NumberLiteral
9 StringLiteral ::= QuotedString | UnquotedString
10 QuotedString ::= '"' [^"]* '"'
12 UnquotedString ::= [^{space},]+
14 ::= '0' ( [0-7]* | 'x' [0-9A-Fa-f]+ )
17 ::= [A-Z] [A-Z0-9_]* ( '.' [A-Z] [A-Z0-9_]* )*