mirror of
https://github.com/Ed94/metadesk.git
synced 2026-08-06 07:38:45 +00:00
unify c generator naming
This commit is contained in:
@@ -1422,38 +1422,32 @@ main:
|
|||||||
//~ C Language Generation
|
//~ C Language Generation
|
||||||
|
|
||||||
@send(Output)
|
@send(Output)
|
||||||
@func MD_OutputTree_C_String: {
|
@func MD_C_Generate_String: {
|
||||||
file: *FILE,
|
file: *FILE,
|
||||||
node: *MD_Node,
|
node: *MD_Node,
|
||||||
};
|
};
|
||||||
|
|
||||||
@send(Output)
|
@send(Output)
|
||||||
@func MD_OutputTree_C_Struct: {
|
@func MD_C_Generate_Struct: {
|
||||||
file: *FILE,
|
file: *FILE,
|
||||||
node: *MD_Node,
|
node: *MD_Node,
|
||||||
};
|
};
|
||||||
|
|
||||||
@send(Output)
|
@send(Output)
|
||||||
@func MD_OutputTree_C_Decl: {
|
@func MD_C_Generate_Decl: {
|
||||||
file: *FILE,
|
file: *FILE,
|
||||||
node: *MD_Node,
|
node: *MD_Node,
|
||||||
};
|
};
|
||||||
|
|
||||||
@send(Output)
|
@send(Output)
|
||||||
@func MD_Output_C_DeclByNameAndType: {
|
@func MD_C_Generate_DeclByNameAndType: {
|
||||||
file: *FILE,
|
file: *FILE,
|
||||||
name: MD_String8,
|
name: MD_String8,
|
||||||
type: *MD_Expr,
|
type: *MD_Expr,
|
||||||
};
|
};
|
||||||
|
|
||||||
@send(Output)
|
@send(Output)
|
||||||
@func MD_OutputExpr: {
|
@func MD_C_Generate_Expr: {
|
||||||
file: *FILE,
|
|
||||||
expr: *MD_Expr,
|
|
||||||
};
|
|
||||||
|
|
||||||
@send(Output)
|
|
||||||
@func MD_OutputExpr_C: {
|
|
||||||
file: *FILE,
|
file: *FILE,
|
||||||
expr: *MD_Expr,
|
expr: *MD_Expr,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ int main(int argument_count, char **arguments)
|
|||||||
{
|
{
|
||||||
if(MD_NodeHasTag(node, MD_S8Lit("struct")))
|
if(MD_NodeHasTag(node, MD_S8Lit("struct")))
|
||||||
{
|
{
|
||||||
MD_OutputTree_C_Struct(stdout, node);
|
MD_C_Generate_Struct(stdout, node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("\n\n");
|
printf("\n\n");
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ static void OutputPrefixedType(FILE *f, MD_Map *user_defined_types, MD_String8 p
|
|||||||
I();
|
I();
|
||||||
OutputType_C_LHS_Namespace(f, user_defined_types, prefix, type);
|
OutputType_C_LHS_Namespace(f, user_defined_types, prefix, type);
|
||||||
fprintf(f, " %.*s", MD_StringExpand(node->string));
|
fprintf(f, " %.*s", MD_StringExpand(node->string));
|
||||||
MD_OutputType_C_RHS(f, type);
|
MD_C_Generate_RHS(f, type);
|
||||||
|
|
||||||
fprintf(f, ";\n");
|
fprintf(f, ";\n");
|
||||||
}
|
}
|
||||||
|
|||||||
+20
-26
@@ -505,7 +505,7 @@ MD_ExprDeepMatch(MD_Expr *a, MD_Expr *b, MD_MatchFlags flags)
|
|||||||
//~ C Language Generation
|
//~ C Language Generation
|
||||||
|
|
||||||
MD_FUNCTION_IMPL void
|
MD_FUNCTION_IMPL void
|
||||||
MD_OutputTree_C_String(FILE *file, MD_Node *node)
|
MD_C_Generate_String(FILE *file, MD_Node *node)
|
||||||
{
|
{
|
||||||
fprintf(file, "\"");
|
fprintf(file, "\"");
|
||||||
for(MD_u64 i = 0; i < node->string.size; i += 1)
|
for(MD_u64 i = 0; i < node->string.size; i += 1)
|
||||||
@@ -528,7 +528,7 @@ MD_OutputTree_C_String(FILE *file, MD_Node *node)
|
|||||||
}
|
}
|
||||||
|
|
||||||
MD_FUNCTION_IMPL void
|
MD_FUNCTION_IMPL void
|
||||||
MD_OutputTree_C_Struct(FILE *file, MD_Node *node)
|
MD_C_Generate_Struct(FILE *file, MD_Node *node)
|
||||||
{
|
{
|
||||||
if(node)
|
if(node)
|
||||||
{
|
{
|
||||||
@@ -538,7 +538,7 @@ MD_OutputTree_C_Struct(FILE *file, MD_Node *node)
|
|||||||
fprintf(file, "struct %.*s\n{\n", MD_StringExpand(node->string));
|
fprintf(file, "struct %.*s\n{\n", MD_StringExpand(node->string));
|
||||||
for(MD_Node *child = node->first_child; !MD_NodeIsNil(child); child = child->next)
|
for(MD_Node *child = node->first_child; !MD_NodeIsNil(child); child = child->next)
|
||||||
{
|
{
|
||||||
MD_OutputTree_C_Decl(file, child);
|
MD_C_Generate_Decl(file, child);
|
||||||
fprintf(file, ";\n");
|
fprintf(file, ";\n");
|
||||||
}
|
}
|
||||||
fprintf(file, "};\n\n");
|
fprintf(file, "};\n\n");
|
||||||
@@ -546,25 +546,25 @@ MD_OutputTree_C_Struct(FILE *file, MD_Node *node)
|
|||||||
}
|
}
|
||||||
|
|
||||||
MD_FUNCTION_IMPL void
|
MD_FUNCTION_IMPL void
|
||||||
MD_OutputTree_C_Decl(FILE *file, MD_Node *node)
|
MD_C_Generate_Decl(FILE *file, MD_Node *node)
|
||||||
{
|
{
|
||||||
if(node)
|
if(node)
|
||||||
{
|
{
|
||||||
MD_Expr *type = MD_ParseAsType(node->first_child, node->last_child);
|
MD_Expr *type = MD_ParseAsType(node->first_child, node->last_child);
|
||||||
MD_Output_C_DeclByNameAndType(file, node->string, type);
|
MD_C_Generate_DeclByNameAndType(file, node->string, type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MD_FUNCTION_IMPL void
|
MD_FUNCTION_IMPL void
|
||||||
MD_Output_C_DeclByNameAndType(FILE *file, MD_String8 name, MD_Expr *type)
|
MD_C_Generate_DeclByNameAndType(FILE *file, MD_String8 name, MD_Expr *type)
|
||||||
{
|
{
|
||||||
MD_OutputType_C_LHS(file, type);
|
MD_C_Generate_LHS(file, type);
|
||||||
fprintf(file, " %.*s", MD_StringExpand(name));
|
fprintf(file, " %.*s", MD_StringExpand(name));
|
||||||
MD_OutputType_C_RHS(file, type);
|
MD_C_Generate_RHS(file, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
MD_FUNCTION_IMPL void
|
MD_FUNCTION_IMPL void
|
||||||
MD_OutputExpr(FILE *file, MD_Expr *expr)
|
MD_C_Generate_Expr(FILE *file, MD_Expr *expr)
|
||||||
{
|
{
|
||||||
if(!MD_NodeIsNil(expr->node))
|
if(!MD_NodeIsNil(expr->node))
|
||||||
{
|
{
|
||||||
@@ -579,9 +579,9 @@ MD_OutputExpr(FILE *file, MD_Expr *expr)
|
|||||||
case MD_ExprKindGroup_Binary:
|
case MD_ExprKindGroup_Binary:
|
||||||
{
|
{
|
||||||
fprintf(file, "(");
|
fprintf(file, "(");
|
||||||
MD_OutputExpr(file, expr->sub[0]);
|
MD_C_Generate_Expr(file, expr->sub[0]);
|
||||||
fprintf(file, " %s ", metadata->symbol);
|
fprintf(file, " %s ", metadata->symbol);
|
||||||
MD_OutputExpr(file, expr->sub[1]);
|
MD_C_Generate_Expr(file, expr->sub[1]);
|
||||||
fprintf(file, ")");
|
fprintf(file, ")");
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
@@ -589,14 +589,14 @@ MD_OutputExpr(FILE *file, MD_Expr *expr)
|
|||||||
{
|
{
|
||||||
fprintf(file, "%s", metadata->pre_symbol);
|
fprintf(file, "%s", metadata->pre_symbol);
|
||||||
fprintf(file, "(");
|
fprintf(file, "(");
|
||||||
MD_OutputExpr(file, expr->sub[0]);
|
MD_C_Generate_Expr(file, expr->sub[0]);
|
||||||
fprintf(file, ")");
|
fprintf(file, ")");
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
case MD_ExprKindGroup_PostUnary:
|
case MD_ExprKindGroup_PostUnary:
|
||||||
{
|
{
|
||||||
fprintf(file, "(");
|
fprintf(file, "(");
|
||||||
MD_OutputExpr(file, expr->sub[0]);
|
MD_C_Generate_Expr(file, expr->sub[0]);
|
||||||
fprintf(file, ")");
|
fprintf(file, ")");
|
||||||
fprintf(file, "%s", metadata->post_symbol);
|
fprintf(file, "%s", metadata->post_symbol);
|
||||||
}break;
|
}break;
|
||||||
@@ -606,12 +606,6 @@ MD_OutputExpr(FILE *file, MD_Expr *expr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MD_FUNCTION_IMPL void
|
|
||||||
MD_OutputExpr_C(FILE *file, MD_Expr *expr)
|
|
||||||
{
|
|
||||||
MD_OutputExpr(file, expr);
|
|
||||||
}
|
|
||||||
|
|
||||||
MD_PRIVATE_FUNCTION_IMPL MD_b32
|
MD_PRIVATE_FUNCTION_IMPL MD_b32
|
||||||
_MD_OutputType_C_NeedsParens(MD_Expr *type)
|
_MD_OutputType_C_NeedsParens(MD_Expr *type)
|
||||||
{
|
{
|
||||||
@@ -625,7 +619,7 @@ _MD_OutputType_C_NeedsParens(MD_Expr *type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
MD_FUNCTION_IMPL void
|
MD_FUNCTION_IMPL void
|
||||||
MD_OutputType_C_LHS(FILE *file, MD_Expr *type)
|
MD_C_Generate_LHS(FILE *file, MD_Expr *type)
|
||||||
{
|
{
|
||||||
switch (type->kind)
|
switch (type->kind)
|
||||||
{
|
{
|
||||||
@@ -637,7 +631,7 @@ MD_OutputType_C_LHS(FILE *file, MD_Expr *type)
|
|||||||
|
|
||||||
case MD_ExprKind_Pointer:
|
case MD_ExprKind_Pointer:
|
||||||
{
|
{
|
||||||
MD_OutputType_C_LHS(file, type->sub[0]);
|
MD_C_Generate_LHS(file, type->sub[0]);
|
||||||
if (_MD_OutputType_C_NeedsParens(type))
|
if (_MD_OutputType_C_NeedsParens(type))
|
||||||
{
|
{
|
||||||
fprintf(file, "(");
|
fprintf(file, "(");
|
||||||
@@ -647,7 +641,7 @@ MD_OutputType_C_LHS(FILE *file, MD_Expr *type)
|
|||||||
|
|
||||||
case MD_ExprKind_Array:
|
case MD_ExprKind_Array:
|
||||||
{
|
{
|
||||||
MD_OutputType_C_LHS(file, type->sub[0]);
|
MD_C_Generate_LHS(file, type->sub[0]);
|
||||||
if (_MD_OutputType_C_NeedsParens(type))
|
if (_MD_OutputType_C_NeedsParens(type))
|
||||||
{
|
{
|
||||||
fprintf(file, "(");
|
fprintf(file, "(");
|
||||||
@@ -667,7 +661,7 @@ MD_OutputType_C_LHS(FILE *file, MD_Expr *type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
MD_FUNCTION_IMPL void
|
MD_FUNCTION_IMPL void
|
||||||
MD_OutputType_C_RHS(FILE *file, MD_Expr *type)
|
MD_C_Generate_RHS(FILE *file, MD_Expr *type)
|
||||||
{
|
{
|
||||||
switch (type->kind)
|
switch (type->kind)
|
||||||
{
|
{
|
||||||
@@ -680,7 +674,7 @@ MD_OutputType_C_RHS(FILE *file, MD_Expr *type)
|
|||||||
{
|
{
|
||||||
fprintf(file, ")");
|
fprintf(file, ")");
|
||||||
}
|
}
|
||||||
MD_OutputType_C_RHS(file, type->sub[0]);
|
MD_C_Generate_RHS(file, type->sub[0]);
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
case MD_ExprKind_Array:
|
case MD_ExprKind_Array:
|
||||||
@@ -690,9 +684,9 @@ MD_OutputType_C_RHS(FILE *file, MD_Expr *type)
|
|||||||
fprintf(file, ")");
|
fprintf(file, ")");
|
||||||
}
|
}
|
||||||
fprintf(file, "[");
|
fprintf(file, "[");
|
||||||
MD_OutputExpr_C(file, type->sub[1]);
|
MD_C_Generate_Expr(file, type->sub[1]);
|
||||||
fprintf(file, "]");
|
fprintf(file, "]");
|
||||||
MD_OutputType_C_RHS(file, type->sub[0]);
|
MD_C_Generate_RHS(file, type->sub[0]);
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
case MD_ExprKind_Volatile: { fprintf(file, "volatile "); }break;
|
case MD_ExprKind_Volatile: { fprintf(file, "volatile "); }break;
|
||||||
|
|||||||
@@ -101,15 +101,13 @@ MD_FUNCTION MD_b32 MD_ExprMatch(MD_Expr *a, MD_Expr *b, MD_MatchFlags fla
|
|||||||
MD_FUNCTION MD_b32 MD_ExprDeepMatch(MD_Expr *a, MD_Expr *b, MD_MatchFlags flags);
|
MD_FUNCTION MD_b32 MD_ExprDeepMatch(MD_Expr *a, MD_Expr *b, MD_MatchFlags flags);
|
||||||
|
|
||||||
//~ C Language Generation
|
//~ C Language Generation
|
||||||
MD_FUNCTION void MD_OutputTree_C_String(FILE *file, MD_Node *node);
|
MD_FUNCTION void MD_C_Generate_String(FILE *file, MD_Node *node);
|
||||||
MD_FUNCTION void MD_OutputTree_C_Struct(FILE *file, MD_Node *node);
|
MD_FUNCTION void MD_C_Generate_Struct(FILE *file, MD_Node *node);
|
||||||
MD_FUNCTION void MD_OutputTree_C_Decl(FILE *file, MD_Node *node);
|
MD_FUNCTION void MD_C_Generate_Decl(FILE *file, MD_Node *node);
|
||||||
MD_FUNCTION void MD_Output_C_DeclByNameAndType(FILE *file, MD_String8 name, MD_Expr *type);
|
MD_FUNCTION void MD_C_Generate_DeclByNameAndType(FILE *file, MD_String8 name, MD_Expr *type);
|
||||||
MD_FUNCTION void MD_OutputExpr(FILE *file, MD_Expr *expr);
|
MD_FUNCTION void MD_C_Generate_Expr(FILE *file, MD_Expr *expr);
|
||||||
MD_FUNCTION void MD_OutputExpr_C(FILE *file, MD_Expr *expr);
|
MD_FUNCTION void MD_C_Generate_LHS(FILE *file, MD_Expr *type);
|
||||||
MD_FUNCTION void MD_OutputType(FILE *file, MD_Expr *expr);
|
MD_FUNCTION void MD_C_Generate_RHS(FILE *file, MD_Expr *type);
|
||||||
MD_FUNCTION void MD_OutputType_C_LHS(FILE *file, MD_Expr *type);
|
|
||||||
MD_FUNCTION void MD_OutputType_C_RHS(FILE *file, MD_Expr *type);
|
|
||||||
|
|
||||||
#endif //MD_C_HELPERS_H
|
#endif //MD_C_HELPERS_H
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user