::= {'0'..'9'} # limited by BASE when BASE is {2..10} ::= {'A'..'Z'} # limited by BASE when BASE is {11..36} ::= | ::= ['-']+ ::= '.' ::= +['.'*] ::= '+' | '-' ::= []+ | * ::= []'E' ::= + ::= | | | ::= *[+]