92 lines
1.3 KiB
C
92 lines
1.3 KiB
C
#pragma once
|
|
|
|
typedef unsigned char byte;
|
|
typedef unsigned short word;
|
|
|
|
enum t_tokentype {
|
|
TOKEN_ERROR,
|
|
TOKEN_NUMBER,
|
|
TOKEN_STRING,
|
|
TOKEN_HEXSTRING,
|
|
|
|
TOKEN_IDENTIFIER,
|
|
TOKEN_LABEL,
|
|
TOKEN_DIM,
|
|
TOKEN_CONST,
|
|
|
|
TOKEN_LET,
|
|
TOKEN_IF,
|
|
TOKEN_ELSE,
|
|
TOKEN_END,
|
|
TOKEN_FOR,
|
|
TOKEN_BREAK,
|
|
TOKEN_CONTINUE,
|
|
TOKEN_GOTO,
|
|
TOKEN_GOSUB,
|
|
TOKEN_RETURN,
|
|
TOKEN_REM,
|
|
TOKEN_QUIT,
|
|
TOKEN_INC,
|
|
TOKEN_DEC,
|
|
|
|
TOKEN_THEN,
|
|
TOKEN_TO,
|
|
|
|
TOKEN_AND,
|
|
TOKEN_OR,
|
|
TOKEN_NOT,
|
|
TOKEN_MOD,
|
|
TOKEN_PLUS,
|
|
TOKEN_MINUS,
|
|
TOKEN_ASTERISC,
|
|
TOKEN_SLASH,
|
|
TOKEN_LPAR,
|
|
TOKEN_RPAR,
|
|
TOKEN_COLON,
|
|
TOKEN_COMMA,
|
|
TOKEN_LT,
|
|
TOKEN_GT,
|
|
TOKEN_LEQ,
|
|
TOKEN_GEQ,
|
|
TOKEN_EQ,
|
|
TOKEN_ENDLINE,
|
|
TOKEN_ENDFILE,
|
|
|
|
TOKEN_STRLEFT,
|
|
TOKEN_STRLEN,
|
|
TOKEN_DEBUG,
|
|
TOKEN_CHR,
|
|
TOKEN_STR,
|
|
TOKEN_SETSPRITE,
|
|
TOKEN_PUTSPRITE,
|
|
TOKEN_LOCATE,
|
|
TOKEN_MOVE,
|
|
TOKEN_PRINT,
|
|
TOKEN_SETCHAR,
|
|
TOKEN_PUTCHAR,
|
|
TOKEN_GETCHAR,
|
|
TOKEN_PUTCOLOR,
|
|
TOKEN_GETCOLOR,
|
|
TOKEN_KEYPRESSED,
|
|
TOKEN_ANYKEY,
|
|
TOKEN_UPDATESCR,
|
|
TOKEN_COLOR,
|
|
TOKEN_BORDER,
|
|
TOKEN_CLS,
|
|
TOKEN_WAIT,
|
|
|
|
TOKEN_SETMUSIC,
|
|
TOKEN_PLAYMUSIC,
|
|
TOKEN_STOPMUSIC,
|
|
TOKEN_ISMUSICPLAYING,
|
|
};
|
|
|
|
void tkn_init(const char* buffer);
|
|
void tkn_next();
|
|
t_tokentype tkn_get_token();
|
|
char* tkn_get_string();
|
|
unsigned char* tkn_get_array();
|
|
int tkn_get_value();
|
|
int tkn_get_line();
|
|
int tkn_get_row();
|