wip: working on classes
This commit is contained in:
@@ -70,7 +70,15 @@ fzl_token_t *parse_name(fzl_reader_t *reader)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (strcmp(value, "return") == 0)
|
||||
if (strcmp(value, "class") == 0)
|
||||
tok =
|
||||
fzl_mktoken(FZL_TOKTYPE_CLASS, l.line, l.col, value, size, l.filename);
|
||||
else if (strcmp(value, "new") == 0)
|
||||
tok = fzl_mktoken(FZL_TOKTYPE_NEW, l.line, l.col, value, size, l.filename);
|
||||
else if (strcmp(value, "fn") == 0)
|
||||
tok = fzl_mktoken(FZL_TOKTYPE_FUNCTION, l.line, l.col, value, size,
|
||||
l.filename);
|
||||
else if (strcmp(value, "return") == 0)
|
||||
tok =
|
||||
fzl_mktoken(FZL_TOKTYPE_RETURN, l.line, l.col, value, size, l.filename);
|
||||
else if (strcmp(value, "if") == 0)
|
||||
@@ -86,7 +94,7 @@ fzl_token_t *parse_name(fzl_reader_t *reader)
|
||||
strcmp(value, "i16") == 0 || strcmp(value, "i32") == 0 ||
|
||||
strcmp(value, "i64") == 0 || strcmp(value, "u8") == 0 ||
|
||||
strcmp(value, "u16") == 0 || strcmp(value, "u32") == 0 ||
|
||||
strcmp(value, "u64") == 0)
|
||||
strcmp(value, "u64") == 0 || strcmp(value, "null") == 0)
|
||||
tok = fzl_mktoken(FZL_TOKTYPE_TYPE, l.line, l.col, value, size, l.filename);
|
||||
else
|
||||
tok = fzl_mktoken(FZL_TOKTYPE_NAME, l.line, l.col, value, size, l.filename);
|
||||
@@ -286,6 +294,8 @@ int fzl_read(fzl_reader_t *reader)
|
||||
token = add_single(reader, FZL_TOKTYPE_RPAREN);
|
||||
else if (curr == ',')
|
||||
token = add_single(reader, FZL_TOKTYPE_COMMA);
|
||||
else if (curr == '.')
|
||||
token = add_single(reader, FZL_TOKTYPE_DOT);
|
||||
else if (curr == '*')
|
||||
token = add_single(reader, FZL_TOKTYPE_STAR);
|
||||
else if (curr == '/')
|
||||
|
||||
Reference in New Issue
Block a user