default_tokens
This commit is contained in:
parent
a2962a360e
commit
ae8e5c92f9
@ -52,8 +52,7 @@ typedef enum TokenId{
|
|||||||
tok_override,
|
tok_override,
|
||||||
tok_partial,
|
tok_partial,
|
||||||
// allocation keywords
|
// allocation keywords
|
||||||
tok_halloc, // allocates struct in heap
|
tok_new, // allocates struct in heap
|
||||||
tok_malloc, // allocates bytes in stack
|
|
||||||
tok_sizeof, // size of variable value
|
tok_sizeof, // size of variable value
|
||||||
tok_typeof, // type of variable
|
tok_typeof, // type of variable
|
||||||
// user-defined
|
// user-defined
|
||||||
@ -92,7 +91,7 @@ typedef enum TokenId{
|
|||||||
tok_point, // .
|
tok_point, // .
|
||||||
tok_comma, // ,
|
tok_comma, // ,
|
||||||
tok_tilda, // ~
|
tok_tilda, // ~
|
||||||
tok_backslash, // \
|
tok_backslash, // \ /
|
||||||
tok_percent, // %
|
tok_percent, // %
|
||||||
tok_xor, // ^
|
tok_xor, // ^
|
||||||
tok_lattice, // #
|
tok_lattice, // #
|
||||||
@ -105,3 +104,91 @@ typedef struct Token{
|
|||||||
TokenId id;
|
TokenId id;
|
||||||
} Token;
|
} Token;
|
||||||
|
|
||||||
|
static const Token default_tokens[]={
|
||||||
|
// base types
|
||||||
|
{"void", tok_void_t},
|
||||||
|
{"int8", tok_int8_t},
|
||||||
|
{"uint8", tok_uint8_t},
|
||||||
|
{"int16", tok_int16_t},
|
||||||
|
{"uint16", tok_uint16_t},
|
||||||
|
{"int32", tok_int32_t},
|
||||||
|
{"uint32", tok_uint32_t},
|
||||||
|
{"int64", tok_int64_t},
|
||||||
|
{"uint64", tok_uint64_t},
|
||||||
|
{"char", tok_char_t},
|
||||||
|
{"char8", tok_char8_t},
|
||||||
|
{"char16", tok_char16_t},
|
||||||
|
{"bool", tok_bool_t},
|
||||||
|
{"float32", tok_float32_t},
|
||||||
|
{"float64", tok_float64_t},
|
||||||
|
// constant
|
||||||
|
{"null", tok_null},
|
||||||
|
{"true", tok_true},
|
||||||
|
{"false", tok_false},
|
||||||
|
// control flow operators
|
||||||
|
{"if", tok_if},
|
||||||
|
{"else", tok_else},
|
||||||
|
{"for", tok_for},
|
||||||
|
{"while", tok_while},
|
||||||
|
{"switch", tok_switch},
|
||||||
|
{"case", tok_case},
|
||||||
|
{"brake", tok_brake},
|
||||||
|
{"braketo", tok_braketo},
|
||||||
|
{"return", tok_return},
|
||||||
|
{"goto", tok_goto},
|
||||||
|
// declaration keywords
|
||||||
|
{"struct", tok_struct},
|
||||||
|
{"enum", tok_enum},
|
||||||
|
{"union", tok_union},
|
||||||
|
{"event", tok_event},
|
||||||
|
{"import", tok_import},
|
||||||
|
{"alias", tok_alias},
|
||||||
|
// access modifiers
|
||||||
|
{"static", tok_static},
|
||||||
|
{"const", tok_const},
|
||||||
|
{"readonly", tok_readonly},
|
||||||
|
{"protected", tok_protected},
|
||||||
|
{"internal", tok_internal},
|
||||||
|
{"public", tok_public},
|
||||||
|
{"virtual", tok_virtual},
|
||||||
|
{"override", tok_override},
|
||||||
|
{"partial", tok_partial},
|
||||||
|
// allocation keywords
|
||||||
|
{"new", tok_new},
|
||||||
|
{"sizeof", tok_sizeof},
|
||||||
|
{"typeof", tok_typeof},
|
||||||
|
// special characters
|
||||||
|
{"(", tok_lbracket},
|
||||||
|
{"{", tok_lbracket_fi},
|
||||||
|
{"[", tok_lbracket_sq},
|
||||||
|
{")", tok_rbracket},
|
||||||
|
{"}", tok_rbracket_fi},
|
||||||
|
{"]", tok_rbracket_sq},
|
||||||
|
{"<", tok_less},
|
||||||
|
{">", tok_more},
|
||||||
|
{"+", tok_plus},
|
||||||
|
{"-", tok_minus},
|
||||||
|
{"*", tok_asterisk},
|
||||||
|
{"/", tok_slash},
|
||||||
|
{"=", tok_assign},
|
||||||
|
{"!", tok_not},
|
||||||
|
{"==", tok_equals},
|
||||||
|
{"!=", tok_not_equals},
|
||||||
|
{"&", tok_and},
|
||||||
|
{"&&", tok_and_d},
|
||||||
|
{"|", tok_or},
|
||||||
|
{"||", tok_or_d},
|
||||||
|
{"?", tok_question},
|
||||||
|
{"??", tok_question_d},
|
||||||
|
{":", tok_colon},
|
||||||
|
{";", tok_semicolon},
|
||||||
|
{".", tok_point},
|
||||||
|
{",", tok_comma},
|
||||||
|
{"~", tok_tilda},
|
||||||
|
{"\\", tok_backslash},
|
||||||
|
{"%", tok_percent},
|
||||||
|
{"^", tok_xor},
|
||||||
|
{"#", tok_lattice},
|
||||||
|
{"$", tok_dollar},
|
||||||
|
{"@", tok_at}
|
||||||
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user