items = { item };
item
= text
| element
;
text = char, { char };
char
= normal char
| escaped char
;
normal char = ? any unicode character ? - '\' - '<' - '>';
escaped char
= "\\"
| "\<"
| "\>"
;
element = '<', tags, ' ', items, '>';
tags = tag, { ',', tag };
(* tag can only contians alphabetic, numberic and '+', '-', ':' characters *)
tag
= [ [ "fg" | "bg" ], ':' ], color
| [ "mod", ':' ], midifier
| custom-tag
;
(* Please read generator's document for color and modifier they supports *)