50 lines
993 B
C
50 lines
993 B
C
#ifndef __TOKENS_H_
|
|
#define __TOKENS_H_
|
|
|
|
#define TT_NONE 0x00
|
|
#define TT_ERROR 0x01
|
|
#define TT_NUMBER 0x10
|
|
#define TT_NAME 0x20
|
|
#define TT_COMMAND 0x21
|
|
#define TT_VARIABLE 0x22
|
|
#define TT_FUNCTION 0x23
|
|
#define TT_SYMBOL 0x30
|
|
#define TT_FUNC_END 0x31
|
|
#define TT_SEPARATOR 0x32
|
|
#define TT_ARRAY 0x33
|
|
#define TT_LITERAL 0x40
|
|
#define TT_COMMENT 0x41
|
|
|
|
#define CMD_REM 0
|
|
#define CMD_PRINT 1
|
|
#define CMD_INPUT 2
|
|
#define CMD_IF 3
|
|
#define CMD_GOTO 4
|
|
#define CMD_GOSUB 5
|
|
#define CMD_RETURN 6
|
|
#define CMD_END 7
|
|
#define CMD_LET 8
|
|
#define CMD_LETA 9
|
|
#define CMD_DIM 10
|
|
#define CMD_DELAY 11
|
|
#define CMD_DATA 12
|
|
#define CMD_EMIT 13
|
|
#define CMD_EXTRA 0x40
|
|
|
|
#define MAX_LINE_NUMBER 30000
|
|
|
|
#include "basic_utils.h"
|
|
|
|
void parseLine(char* line, token* tokens);
|
|
short tokenSize(token* t);
|
|
short tokenChainSize(token* t);
|
|
token* nextToken(token* t);
|
|
void copyToken(token* dst, token* src);
|
|
char tokenClass(token* t);
|
|
numeric tokenHash(token* t);
|
|
char* getParseErrorPos(void);
|
|
void getParseErrorMsg(char*);
|
|
|
|
#endif
|
|
|