Files
jailbasic/tokenizer.h

66 lines
911 B
C

#pragma once
typedef unsigned char byte;
typedef unsigned short word;
enum t_tokentype {
TOKEN_ERROR,
TOKEN_NUMBER,
TOKEN_STRING,
TOKEN_IDENTIFIER,
TOKEN_STRUCT,
TOKEN_AS,
TOKEN_END,
TOKEN_FUNCTION,
TOKEN_VAR,
TOKEN_ARRAY,
TOKEN_OF,
TOKEN_CONST,
TOKEN_IF,
TOKEN_THEN,
TOKEN_ELSE,
TOKEN_WHILE,
TOKEN_DO,
TOKEN_REPEAT,
TOKEN_UNTIL,
TOKEN_FOR,
TOKEN_TO,
TOKEN_STEP,
TOKEN_RETURN,
TOKEN_REM,
TOKEN_AND,
TOKEN_OR,
TOKEN_NOT,
TOKEN_MOD,
TOKEN_PLUS,
TOKEN_MINUS,
TOKEN_ASTERISC,
TOKEN_SLASH,
TOKEN_DOT,
TOKEN_LPAR,
TOKEN_RPAR,
TOKEN_LBRACKET,
TOKEN_RBRACKET,
TOKEN_COMMA,
TOKEN_LT,
TOKEN_GT,
TOKEN_LEQ,
TOKEN_GEQ,
TOKEN_EQ,
TOKEN_NEQ,
TOKEN_ENDLINE,
TOKEN_ENDFILE
};
void tkn_init(const char* buffer);
void tkn_next();
t_tokentype tkn_get_token();
char* tkn_get_string();
unsigned char* tkn_get_array();
float tkn_get_value();
int tkn_get_line();
int tkn_get_row();