/* these have to be full sets of tokens, because A+'s tokens don't match Atari BASIC's */ const char *aplus_cmds[] = { "REM", /* $00 */ "DATA", /* $01 */ "INPUT", /* $02 */ "LIST", /* $03 */ "ENTER", /* $04 */ "LET", /* $05 */ "IF", /* $06 */ "FOR", /* $07 */ "NEXT", /* $08 */ "GOTO", /* $09 */ "RENUM", /* $0a */ "GOSUB", /* $0b */ "TRAP", /* $0c */ "BYE", /* $0d */ "CONT", /* $0e */ "CLOSE", /* $0f */ "CLR", /* $10 */ "DEG", /* $11 */ "DIM", /* $12 */ "WHILE", /* $13 */ "ENDWHILE", /* $14 */ "TRACEOFF", /* $15 */ "TRACE", /* $16 */ "ELSE", /* $17 */ "ENDIF", /* $18 */ "END", /* $19 */ "NEW", /* $1a */ "OPEN", /* $1b */ "LOAD", /* $1c */ "SAVE", /* $1d */ "STATUS", /* $1e */ "NOTE", /* $1f */ "POINT", /* $20 */ "XIO", /* $21 */ "ON", /* $22 */ "POKE", /* $23 */ "DPOKE", /* $24 */ "PRINT", /* $25 */ "RAD", /* $26 */ "READ", /* $27 */ "RESTORE", /* $28 */ "RETURN", /* $29 */ "RUN", /* $2a */ "STOP", /* $2b */ "POP", /* $2c */ "?", /* $2d */ "GET", /* $2e */ "PUT", /* $2f */ "LOMEM", /* $30 */ "DEL", /* $31 */ "RPUT", /* $32 */ "RGET", /* $33 */ "BPUT", /* $34 */ "BGET", /* $35 */ "TAB", /* $36 */ "CP", /* $37 */ "DOS", /* $38 */ "ERASE", /* $39 */ "PROTECT", /* $3a */ "UNPROTECT", /* $3b */ "DIR", /* $3c */ "RENAME", /* $3d */ "MOVE", /* $3e */ "COLOR", /* $3f */ "GRAPHICS", /* $40 */ "PLOT", /* $41 */ "POSITION", /* $42 */ "DRAWTO", /* $43 */ "SETCOLOR", /* $44 */ "LOCATE", /* $45 */ "SOUND", /* $46 */ "LPRINT", /* $47 */ "CSAVE", /* $48 */ "CLOAD", /* $49 */ "MISSILE", /* $4a */ "PMCLR", /* $4b */ "PMCOLOR", /* $4c */ "PMGRAPHICS", /* $4d */ "PMMOVE", /* $4e */ "PMWIDTH", /* $4f */ "SET", /* $50 */ "LVAR", /* $51 */ "", /* $52, silent LET */ "ERROR- " /* $53 */ }; const int aplus_cmd_size = sizeof(aplus_cmds); const char *aplus_ops[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ",", /* $12 */ "$", /* $13 */ ":", /* $14 */ ";", /* $15 */ "", /* $16 */ " GOTO ", /* $17 */ " GOSUB ", /* $18 */ " TO ", /* $19 */ " STEP ", /* $1a */ " THEN ", /* $1b */ " USING ", /* $1c */ "#", /* $1d */ "<=", /* $1e */ "<>", /* $1f */ ">=", /* $20 */ "<", /* $21 */ ">", /* $22 */ "=", /* $23 */ "^", /* $24 */ "*", /* $25 */ "+", /* $26 */ "-", /* $27 */ "/", /* $28 */ " NOT ", /* $29 */ " OR ", /* $2a */ " AND ", /* $2b */ "!", /* $2c */ "&", /* $2d */ "(", /* $2e */ ")", /* $2f */ "=", /* $30 */ "=", /* $31 */ "<=", /* $32 */ "<>", /* $33 */ ">=", /* $34 */ "<", /* $35 */ ">", /* $36 */ "=", /* $37 */ "+", /* $38 */ "-", /* $39 */ "(", /* $3a */ "", /* $3b */ "", /* $3c */ "(", /* $3d */ "(", /* $3e */ ",", /* $3f */ "STR$", /* $40 */ "CHR$", /* $41 */ "USR", /* $42 */ "ASC", /* $43 */ "VAL", /* $44 */ "LEN", /* $45 */ "ADR", /* $46 */ "BUMP", /* $47 */ "FIND", /* $48 */ "DPEEK", /* $49 */ "ATN", /* $4a */ "COS", /* $4b */ "PEEK", /* $4c */ "SIN", /* $4d */ "RND", /* $4e */ "FRE", /* $4f */ "EXP", /* $50 */ "LOG", /* $51 */ "CLOG", /* $52 */ "SQR", /* $53 */ "SGN", /* $54 */ "ABS", /* $55 */ "INT", /* $56 */ "SYS", /* $57 */ "PADDLE", /* $58 */ "STICK", /* $59 */ "PTRIG", /* $5a */ "STRIG", /* $5b */ "VSTICK", /* $5c */ "HSTICK", /* $5d */ "PMADR", /* $5e */ "ERR", /* $5f */ "TAB", /* $60 */ "PEN", /* $61 */ }; const int aplus_ops_size = sizeof(aplus_ops);