tokenID =>
SELECT
TRUE
FROM
Rope.Equal[tokenText,"IF"] => [tknIF,NIL],
Rope.Equal[tokenText,"THEN"] => [tknTHEN,NIL],
Rope.Equal[tokenText,"ELSE"] => [tknELSE,NIL],
Rope.Equal[tokenText,"OR"] => [tknOR, opOR],
Rope.Equal[tokenText,"AND"] => [tknAND, opAND],
Rope.Equal[tokenText,"NOT"] => [tknNOT, opNOT],
Rope.Equal[tokenText,"MOD"] => [tknMulop, opMOD],
IsOpCode[tokenText] => [tknInstruction, OpCode[tokenText]],
ENDCASE => [tknID, tokenText],
tokenSINGLE, tokenDOUBLE =>
SELECT
TRUE
FROM
Rope.Equal[tokenText,"("] => [tknLParen, NIL],
Rope.Equal[tokenText,")"] => [tknRParen, NIL],
Rope.Equal[tokenText,"["] => [tknLBracket, NIL],
Rope.Equal[tokenText,"]"] => [tknRBracket, NIL],
Rope.Equal[tokenText,"^"] => [tknIndirect, NIL],
Rope.Equal[tokenText,":"] => [tknColon, NIL],
Rope.Equal[tokenText,";"] => [tknSemiColon, NIL],
Rope.Equal[tokenText,","] => [tknComma, NIL],
Rope.Equal[tokenText,"←"] => [tknAssign, NIL],
Rope.Equal[tokenText,"<"] => [tknRelop, opLT],
Rope.Equal[tokenText,"="] => [tknRelop, opEQ],
Rope.Equal[tokenText,">"] => [tknRelop, opGT],
Rope.Equal[tokenText,"+"] => [tknAddop, opPlus],
Rope.Equal[tokenText,"-"] => [tknAddop, opMinus],
Rope.Equal[tokenText,"*"] => [tknMulop, opTimes],
Rope.Equal[tokenText,"/"] => [tknMulop, opDivide],
Rope.Equal[tokenText,"~"] => [tknNOT, opNOT],
Rope.Equal[tokenText,"#"] => [tknImmediate, NIL],
Rope.Equal[tokenText,">="], Rope.Equal[tokenText, "~<"] => [tknRelop, opGE],
Rope.Equal[tokenText,"<="], Rope.Equal[tokenText, "~>"] => [tknRelop, opLE],
Rope.Equal[tokenText, "~="] => [tknRelop, opNE],
ENDCASE => ERROR,