Clang format + meta fix
This commit is contained in:
@@ -36,19 +36,19 @@ static void core_init_compiler(Core_Ctx *ctx, Allocator *allocator) {
|
||||
ctx->interns = intern_table_make(ctx->perm, ctx->heap, 2048);
|
||||
|
||||
/*#import meta
|
||||
for i in meta.keywords:
|
||||
print(f'pctx->keyword_{i.lower()} = pctx->intern("{i}"_s);')
|
||||
print(f'pctx->interns.first_keyword = pctx->keyword_{meta.keywords[0].lower()}.str;')
|
||||
print(f'pctx->interns.last_keyword = pctx->keyword_{meta.keywords[-1].lower()}.str;')
|
||||
for i in meta.keywords:
|
||||
print(f'pctx->keyword_{i.lower()} = pctx->intern("{i}"_s);')
|
||||
print(f'pctx->interns.first_keyword = pctx->keyword_{meta.keywords[0].lower()}.str;')
|
||||
print(f'pctx->interns.last_keyword = pctx->keyword_{meta.keywords[-1].lower()}.str;')
|
||||
|
||||
for i in meta.interns:
|
||||
print(f'pctx->intern_{i.lower()} = pctx->intern("{i}"_s);')
|
||||
for i in meta.interns:
|
||||
print(f'pctx->intern_{i.lower()} = pctx->intern("{i}"_s);')
|
||||
|
||||
index = 0
|
||||
for i in meta.token_simple_expr:
|
||||
if i[1] != "SPECIAL":
|
||||
print(f'pctx->op_info_table[{index}] = {{pctx->intern("{i[1]}"_s), "{i[0].upper()}"_s, TK_{i[0]}, {int(i[2]&meta.BINARY_EXPR>0)}, {int(i[2]&meta.UNARY_EXPR>0)}}};')
|
||||
index += 1
|
||||
index = 0
|
||||
for i in meta.token_simple_expr:
|
||||
if i[1] != "SPECIAL":
|
||||
print(f'pctx->op_info_table[{index}] = {{pctx->intern("{i[1]}"_s), "{i[0].upper()}"_s, TK_{i[0]}, {int(i[2]&meta.BINARY_EXPR>0)}, {int(i[2]&meta.UNARY_EXPR>0)}}};')
|
||||
index += 1
|
||||
|
||||
*/
|
||||
pctx->keyword_struct = pctx->intern("struct"_s);
|
||||
|
||||
@@ -89,8 +89,8 @@ struct Core_Ctx {
|
||||
Token null_token;
|
||||
|
||||
/*#import meta
|
||||
for i in meta.keywords: print(f'Intern_String keyword_{i.lower()};')
|
||||
for i in meta.interns: print(f'Intern_String intern_{i.lower()};')
|
||||
for i in meta.keywords: print(f'Intern_String keyword_{i.lower()};')
|
||||
for i in meta.interns: print(f'Intern_String intern_{i.lower()};')
|
||||
*/
|
||||
Intern_String keyword_struct;
|
||||
Intern_String keyword_union;
|
||||
@@ -122,11 +122,11 @@ struct Core_Ctx {
|
||||
/*END*/
|
||||
|
||||
/*#import meta
|
||||
size = 0
|
||||
for i in meta.token_simple_expr:
|
||||
if i[1] != "SPECIAL":
|
||||
size += 1
|
||||
print(f"Ast_Operator_Info op_info_table[{size}];")
|
||||
size = 0
|
||||
for i in meta.token_simple_expr:
|
||||
if i[1] != "SPECIAL":
|
||||
size += 1
|
||||
print(f"Ast_Operator_Info op_info_table[{size}];")
|
||||
*/
|
||||
Ast_Operator_Info op_info_table[20];
|
||||
/*END*/
|
||||
|
||||
@@ -59,9 +59,9 @@ struct List {
|
||||
enum Token_Kind {
|
||||
TK_End,
|
||||
/*#
|
||||
import meta
|
||||
for i in meta.token_kinds:
|
||||
print(" TK_" + i[0] + ",")
|
||||
import meta
|
||||
for i in meta.token_kinds:
|
||||
print(" TK_" + i[0] + ",")
|
||||
*/
|
||||
TK_Mul,
|
||||
TK_Div,
|
||||
@@ -227,7 +227,7 @@ enum Ast_Type_Kind {
|
||||
|
||||
struct Value {
|
||||
/*#import meta
|
||||
print(meta.value_struct_content)
|
||||
print(meta.value_struct_content)
|
||||
*/
|
||||
Ast_Type *type;
|
||||
Ast_Decl *resolved_decl;
|
||||
@@ -246,7 +246,7 @@ struct Ast_Resolved_Member {
|
||||
int32_t offset;
|
||||
bool visited;
|
||||
/*#import meta
|
||||
meta.inline_value_fields()
|
||||
meta.inline_value_fields()
|
||||
*/
|
||||
union {
|
||||
Value value;
|
||||
@@ -390,7 +390,7 @@ struct Ast_Atom : Ast_Expr {
|
||||
// can be use during code generation
|
||||
// it cannot be untyped. (or at least thats the hope :)
|
||||
/*#import meta
|
||||
meta.inline_value_fields()
|
||||
meta.inline_value_fields()
|
||||
*/
|
||||
union {
|
||||
Value value;
|
||||
@@ -606,7 +606,7 @@ struct Ast_Decl : Ast {
|
||||
};
|
||||
|
||||
/*#import meta
|
||||
meta.inline_value_fields()
|
||||
meta.inline_value_fields()
|
||||
*/
|
||||
union {
|
||||
Value value;
|
||||
|
||||
@@ -696,13 +696,14 @@ lex_restream(Core_Ctx *lexer, String istream, String file) {
|
||||
CORE_Static const char *
|
||||
name(Token_Kind kind) {
|
||||
switch (kind) {
|
||||
case TK_End: return "End of stream";
|
||||
/*#
|
||||
import meta
|
||||
for i in meta.token_kinds:
|
||||
if i[1] != "SPECIAL":
|
||||
print("case TK_" + i[0] + f": return \"{i[1]}\";")
|
||||
*/
|
||||
case TK_End:
|
||||
return "End of stream";
|
||||
/*#
|
||||
import meta
|
||||
for i in meta.token_kinds:
|
||||
if i[1] != "SPECIAL":
|
||||
print("case TK_" + i[0] + f": return \"{i[1]}\";")
|
||||
*/
|
||||
case TK_Mul: return "*";
|
||||
case TK_Div: return "/";
|
||||
case TK_Mod: return "%";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
struct Operand {
|
||||
/*#import meta
|
||||
meta.inline_value_fields()
|
||||
meta.inline_value_fields()
|
||||
*/
|
||||
union {
|
||||
Value value;
|
||||
|
||||
4
meta.bat
Normal file
4
meta.bat
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
|
||||
call meta_run.bat preprocess cpp
|
||||
clang-format -i *.cpp *.hpp *.h
|
||||
@@ -62,3 +62,4 @@ for file_to_modify in files:
|
||||
fd.write(f)
|
||||
fd.truncate()
|
||||
fd.close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user