input: 1 ; output: 1 ; aliases: SPACE = 32 ; QUERY = 63 ; SLASH = 47 ; CONSONANT = (`('|`)'|`+'|`#'|`&'|`$'| % $ `B'|`G'|`D'|`H'|`W'|`Z'|`X'|`Y'|`K'|`L'|`M'|`N'| `S'|`P'|`C'|`Q'|`R'|`T') ; VOWEL = ( `A'|`F'|`I'|`E'|`"'|`O'|`U'|`.'|`:'|`-'| `.'|`''|`*'|`]') ; DIGIT = (`0'-`9') ; PRINTABLE = ({CONSONANT}|{VOWEL}|{DIGIT}) ; NONPRINTABLE = ^({CONSONANT}|{VOWEL}|{DIGIT}) ; expressions: %% The only purpose of this `pre-BHS' otp is to map the question mark %% and slash into nulls. I don't know what else these characters are %% good for. {QUERY} => ; {SLASH} => ; %% {NONPRINTABLE} => 32 %% ; . => \1 ;