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);
|
ctx->interns = intern_table_make(ctx->perm, ctx->heap, 2048);
|
||||||
|
|
||||||
/*#import meta
|
/*#import meta
|
||||||
for i in meta.keywords:
|
for i in meta.keywords:
|
||||||
print(f'pctx->keyword_{i.lower()} = pctx->intern("{i}"_s);')
|
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.first_keyword = pctx->keyword_{meta.keywords[0].lower()}.str;')
|
||||||
print(f'pctx->interns.last_keyword = pctx->keyword_{meta.keywords[-1].lower()}.str;')
|
print(f'pctx->interns.last_keyword = pctx->keyword_{meta.keywords[-1].lower()}.str;')
|
||||||
|
|
||||||
for i in meta.interns:
|
for i in meta.interns:
|
||||||
print(f'pctx->intern_{i.lower()} = pctx->intern("{i}"_s);')
|
print(f'pctx->intern_{i.lower()} = pctx->intern("{i}"_s);')
|
||||||
|
|
||||||
index = 0
|
index = 0
|
||||||
for i in meta.token_simple_expr:
|
for i in meta.token_simple_expr:
|
||||||
if i[1] != "SPECIAL":
|
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)}}};')
|
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 += 1
|
||||||
|
|
||||||
*/
|
*/
|
||||||
pctx->keyword_struct = pctx->intern("struct"_s);
|
pctx->keyword_struct = pctx->intern("struct"_s);
|
||||||
|
|||||||
@@ -89,8 +89,8 @@ struct Core_Ctx {
|
|||||||
Token null_token;
|
Token null_token;
|
||||||
|
|
||||||
/*#import meta
|
/*#import meta
|
||||||
for i in meta.keywords: print(f'Intern_String keyword_{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()};')
|
for i in meta.interns: print(f'Intern_String intern_{i.lower()};')
|
||||||
*/
|
*/
|
||||||
Intern_String keyword_struct;
|
Intern_String keyword_struct;
|
||||||
Intern_String keyword_union;
|
Intern_String keyword_union;
|
||||||
@@ -122,11 +122,11 @@ struct Core_Ctx {
|
|||||||
/*END*/
|
/*END*/
|
||||||
|
|
||||||
/*#import meta
|
/*#import meta
|
||||||
size = 0
|
size = 0
|
||||||
for i in meta.token_simple_expr:
|
for i in meta.token_simple_expr:
|
||||||
if i[1] != "SPECIAL":
|
if i[1] != "SPECIAL":
|
||||||
size += 1
|
size += 1
|
||||||
print(f"Ast_Operator_Info op_info_table[{size}];")
|
print(f"Ast_Operator_Info op_info_table[{size}];")
|
||||||
*/
|
*/
|
||||||
Ast_Operator_Info op_info_table[20];
|
Ast_Operator_Info op_info_table[20];
|
||||||
/*END*/
|
/*END*/
|
||||||
|
|||||||
@@ -59,9 +59,9 @@ struct List {
|
|||||||
enum Token_Kind {
|
enum Token_Kind {
|
||||||
TK_End,
|
TK_End,
|
||||||
/*#
|
/*#
|
||||||
import meta
|
import meta
|
||||||
for i in meta.token_kinds:
|
for i in meta.token_kinds:
|
||||||
print(" TK_" + i[0] + ",")
|
print(" TK_" + i[0] + ",")
|
||||||
*/
|
*/
|
||||||
TK_Mul,
|
TK_Mul,
|
||||||
TK_Div,
|
TK_Div,
|
||||||
@@ -227,7 +227,7 @@ enum Ast_Type_Kind {
|
|||||||
|
|
||||||
struct Value {
|
struct Value {
|
||||||
/*#import meta
|
/*#import meta
|
||||||
print(meta.value_struct_content)
|
print(meta.value_struct_content)
|
||||||
*/
|
*/
|
||||||
Ast_Type *type;
|
Ast_Type *type;
|
||||||
Ast_Decl *resolved_decl;
|
Ast_Decl *resolved_decl;
|
||||||
@@ -246,7 +246,7 @@ struct Ast_Resolved_Member {
|
|||||||
int32_t offset;
|
int32_t offset;
|
||||||
bool visited;
|
bool visited;
|
||||||
/*#import meta
|
/*#import meta
|
||||||
meta.inline_value_fields()
|
meta.inline_value_fields()
|
||||||
*/
|
*/
|
||||||
union {
|
union {
|
||||||
Value value;
|
Value value;
|
||||||
@@ -390,7 +390,7 @@ struct Ast_Atom : Ast_Expr {
|
|||||||
// can be use during code generation
|
// can be use during code generation
|
||||||
// it cannot be untyped. (or at least thats the hope :)
|
// it cannot be untyped. (or at least thats the hope :)
|
||||||
/*#import meta
|
/*#import meta
|
||||||
meta.inline_value_fields()
|
meta.inline_value_fields()
|
||||||
*/
|
*/
|
||||||
union {
|
union {
|
||||||
Value value;
|
Value value;
|
||||||
@@ -606,7 +606,7 @@ struct Ast_Decl : Ast {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/*#import meta
|
/*#import meta
|
||||||
meta.inline_value_fields()
|
meta.inline_value_fields()
|
||||||
*/
|
*/
|
||||||
union {
|
union {
|
||||||
Value value;
|
Value value;
|
||||||
|
|||||||
@@ -696,13 +696,14 @@ lex_restream(Core_Ctx *lexer, String istream, String file) {
|
|||||||
CORE_Static const char *
|
CORE_Static const char *
|
||||||
name(Token_Kind kind) {
|
name(Token_Kind kind) {
|
||||||
switch (kind) {
|
switch (kind) {
|
||||||
case TK_End: return "End of stream";
|
case TK_End:
|
||||||
/*#
|
return "End of stream";
|
||||||
import meta
|
/*#
|
||||||
for i in meta.token_kinds:
|
import meta
|
||||||
if i[1] != "SPECIAL":
|
for i in meta.token_kinds:
|
||||||
print("case TK_" + i[0] + f": return \"{i[1]}\";")
|
if i[1] != "SPECIAL":
|
||||||
*/
|
print("case TK_" + i[0] + f": return \"{i[1]}\";")
|
||||||
|
*/
|
||||||
case TK_Mul: return "*";
|
case TK_Mul: return "*";
|
||||||
case TK_Div: return "/";
|
case TK_Div: return "/";
|
||||||
case TK_Mod: return "%";
|
case TK_Mod: return "%";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
struct Operand {
|
struct Operand {
|
||||||
/*#import meta
|
/*#import meta
|
||||||
meta.inline_value_fields()
|
meta.inline_value_fields()
|
||||||
*/
|
*/
|
||||||
union {
|
union {
|
||||||
Value value;
|
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
|
||||||
@@ -61,4 +61,5 @@ for file_to_modify in files:
|
|||||||
fd.seek(0)
|
fd.seek(0)
|
||||||
fd.write(f)
|
fd.write(f)
|
||||||
fd.truncate()
|
fd.truncate()
|
||||||
fd.close()
|
fd.close()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user