Pretty draw app_events, s8->string
This commit is contained in:
@@ -72,12 +72,12 @@ ast_t *parse_lit_expr(parser_t *par) {
|
||||
if (token->kind == lex_kind_integer) {
|
||||
ast_t *result = create_ast(par, token, set_bit(ast_flag_integer) | set_bit(ast_flag_string));
|
||||
result->integer = token->integer;
|
||||
result->string = token->s8;
|
||||
result->string = token->string;
|
||||
return result;
|
||||
} else if (token->kind == lex_kind_real) {
|
||||
ast_t *result = create_ast(par, token, set_bit(ast_flag_real) | set_bit(ast_flag_string));
|
||||
result->real = (double)token->real;
|
||||
result->string = token->s8;
|
||||
result->string = token->string;
|
||||
return result;
|
||||
} else if (token->kind == lex_kind_open_paren) {
|
||||
ast_t *result = parse_expr(par);
|
||||
@@ -189,7 +189,7 @@ void run_parser_test() {
|
||||
ast_t *parse_struct_mem(parser_t *par, s8_t *name) {
|
||||
lex_t *type_name = parser_expect(par, lex_kind_ident);
|
||||
ast_t *type = create_ast(par, type_name, set_bit(ast_flag_type_name) | set_bit(ast_flag_string));
|
||||
type->string = type_name->s8;
|
||||
type->string = type_name->string;
|
||||
|
||||
while (parser_match(par, lex_kind_multiply)) {
|
||||
ast_t *pointer = create_ast(par, par->at, set_bit(ast_flag_type_pointer) | set_bit(ast_flag_string));
|
||||
@@ -198,7 +198,7 @@ ast_t *parse_struct_mem(parser_t *par, s8_t *name) {
|
||||
type = pointer;
|
||||
}
|
||||
|
||||
*name = parser_expect(par, lex_kind_ident)->s8;
|
||||
*name = parser_expect(par, lex_kind_ident)->string;
|
||||
|
||||
while (parser_match(par, lex_kind_open_bracket)) {
|
||||
ast_t *array = create_ast(par, par->at, set_bit(ast_flag_type_array) | set_bit(ast_flag_string));
|
||||
@@ -233,7 +233,7 @@ ast_t *parse_decls(ma_arena_t *arena, char *file, char *code) {
|
||||
while (par->at->kind == lex_kind_ident) {
|
||||
lex_t *val = parser_expect(par, lex_kind_ident);
|
||||
ast_t *mem = create_ast(par, val, set_bit(ast_flag_enum_member) | set_bit(ast_flag_string));
|
||||
mem->string = val->s8;
|
||||
mem->string = val->string;
|
||||
ast_append(n, mem);
|
||||
|
||||
// if (parser_match(par, lex_kind_assign)) {
|
||||
@@ -243,12 +243,12 @@ ast_t *parse_decls(ma_arena_t *arena, char *file, char *code) {
|
||||
if (!parser_match(par, lex_kind_comma)) break;
|
||||
}
|
||||
parser_expect(par, lex_kind_close_brace);
|
||||
n->string = parser_expect(par, lex_kind_ident)->s8;
|
||||
n->string = parser_expect(par, lex_kind_ident)->string;
|
||||
parser_expect(par, lex_kind_semicolon);
|
||||
} else if (parser_matchi(par, s8_lit("struct"))) {
|
||||
ast_t *n = create_ast(par, pos, set_bit(ast_flag_string) | set_bit(ast_flag_struct));
|
||||
ast_append(result, n);
|
||||
n->string = parser_expect(par, lex_kind_ident)->s8;
|
||||
n->string = parser_expect(par, lex_kind_ident)->string;
|
||||
|
||||
parser_expect(par, lex_kind_open_brace);
|
||||
while (par->at->kind != lex_kind_close_brace) {
|
||||
@@ -285,16 +285,16 @@ ast_t *parse_table(ma_arena_t *arena, char *file, char *code) {
|
||||
if (parser_match(par, lex_kind_ident) || parser_match(par, lex_kind_string)) {
|
||||
ast_t *col = create_ast(par, par->at, set_bit(ast_flag_string));
|
||||
ast_append(row, col);
|
||||
col->string = token->s8;
|
||||
col->string = token->string;
|
||||
} else if (parser_match(par, lex_kind_integer)) {
|
||||
ast_t *col = create_ast(par, par->at, set_bit(ast_flag_string) | set_bit(ast_flag_integer));
|
||||
ast_append(row, col);
|
||||
col->string = token->s8;
|
||||
col->string = token->string;
|
||||
col->integer = token->integer;
|
||||
} else if (parser_match(par, lex_kind_real)) {
|
||||
ast_t *col = create_ast(par, par->at, set_bit(ast_flag_string) | set_bit(ast_flag_real));
|
||||
ast_append(row, col);
|
||||
col->string = token->s8;
|
||||
col->string = token->string;
|
||||
col->real = token->real;
|
||||
} else if (parser_match(par, lex_kind_bit_or) || parser_match(par, lex_kind_eof)) {
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user