# Comments can be added anywhere whitespace can be added. # Expression / argument ::= | <> # Expression that must be present (cannot be empty). ::= | "{" "}" | "{" "}" | "{:" ":}" | "[" "]" | ::= | <> ::= ":" | ":" ";" | ";" ::= | ";" | <> # Directive expression ::= | # Command expression ::= "<" ">" # Command argument ::= < > | ":" | ":""{" "}" | ":""{" "}" | ":""{:" ":}" | ":""[" "]" | ":""<" ">" | ":""<>"":" | ":""<>" # Tag expression ::= "<+" ">" "<-" ">" | "<+" ">" "<-" ">" # Tag argument ::= < > | ":" | ":""{" "}" | ":""{" "}" | ":""{:" ":}" | ":""[" "]" | ":""<" ">" | ":""<>" # Directive attribute ::= <> | | ":" | ":" "{" "}" | ":" "{" "}" | ":" "{:" ":}" | ":" "[" "]" | ":" ::= | # A quote is anything enclosed within the quotes. ::= "\"" ... "\"" ::= | <> ::= | # A word is any sequence of glyphs that contains # no reserved characters (except if they are escaped.) ::= ... # No whitespace allowed <> ::= ...