/* A.6 URI character classes */ uri: (uriCharacters)? ; uriCharacters: uriCharacter (uriCharacters)? ; uriCharacter: uriReserved | uriUnescaped | uriEscaped ; uriReserved: SEMI | SLASH | QUESTION | COLON | AT | AMPER | EQ | PLUS | DOLLAR | COMMA ; uriUnescaped: uriAlpha | decimalDigit | uriMark ; uriEscaped: PERCENT hexDigit hexDigit ; uriAlpha: ALPHA_CHARACTER /* consists of a-zA-Z */ ; uriMark: MINUS | UNDERSCORE | DOT | EXCLAMATION | TILDE | ASTERISK | APOSTROPHE | LPAREN | RPAREN ; ALPHA_CHARACTER : ('a'..'z')|('A'..'Z'); LOWER_ALPHA_CHAR : ('a'..'z'); UPPER_ALPHA_CHAR : ('a'..'z');