token: op | '"' str | widestrmaybe_cmp: | '='op: '<' maybe_cmp | '>' maybe_cmp | '=' maybe_cmp | '!' maybe_cmpstr: '"' | '\' chr str | chr str widestr := 'L' '"' str