Zen-C
Loading...
Searching...
No Matches
codegen_decl.c File Reference
#include "../ast/ast.h"
#include "../parser/parser.h"
#include "../zprep.h"
#include "codegen.h"
#include "compat.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for codegen_decl.c:

Functions

void emit_preamble (ParserContext *ctx, FILE *out)
 Emits the standard preamble (includes, macros) to the output file.
 
void emit_includes_and_aliases (ASTNode *node, FILE *out)
 
void emit_type_aliases (ASTNode *node, FILE *out)
 
void emit_global_aliases (ParserContext *ctx, FILE *out)
 
void emit_enum_protos (ASTNode *node, FILE *out)
 
void emit_lambda_defs (ParserContext *ctx, FILE *out)
 
void emit_struct_defs (ParserContext *ctx, ASTNode *node, FILE *out)
 
void emit_trait_defs (ASTNode *node, FILE *out)
 
void emit_globals (ParserContext *ctx, ASTNode *node, FILE *out)
 
void emit_protos (ParserContext *ctx, ASTNode *node, FILE *out)
 
void emit_impl_vtables (ParserContext *ctx, FILE *out)
 
int emit_tests_and_runner (ParserContext *ctx, ASTNode *node, FILE *out)
 Emits test runner and test cases if testing is enabled.
 
void print_type_defs (ParserContext *ctx, FILE *out, ASTNode *nodes)
 Prints type definitions to a file.
 

Function Documentation

◆ emit_enum_protos()

void emit_enum_protos ( ASTNode node,
FILE *  out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_global_aliases()

void emit_global_aliases ( ParserContext ctx,
FILE *  out 
)
Here is the caller graph for this function:

◆ emit_globals()

void emit_globals ( ParserContext ctx,
ASTNode node,
FILE *  out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_impl_vtables()

void emit_impl_vtables ( ParserContext ctx,
FILE *  out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_includes_and_aliases()

void emit_includes_and_aliases ( ASTNode node,
FILE *  out 
)
Here is the caller graph for this function:

◆ emit_lambda_defs()

void emit_lambda_defs ( ParserContext ctx,
FILE *  out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_preamble()

void emit_preamble ( ParserContext ctx,
FILE *  out 
)

Emits the standard preamble (includes, macros) to the output file.

Here is the caller graph for this function:

◆ emit_protos()

void emit_protos ( ParserContext ctx,
ASTNode node,
FILE *  out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_struct_defs()

void emit_struct_defs ( ParserContext ctx,
ASTNode node,
FILE *  out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_tests_and_runner()

int emit_tests_and_runner ( ParserContext ctx,
ASTNode node,
FILE *  out 
)

Emits test runner and test cases if testing is enabled.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_trait_defs()

void emit_trait_defs ( ASTNode node,
FILE *  out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ emit_type_aliases()

void emit_type_aliases ( ASTNode node,
FILE *  out 
)
Here is the caller graph for this function:

◆ print_type_defs()

void print_type_defs ( ParserContext ctx,
FILE *  out,
ASTNode nodes 
)

Prints type definitions to a file.

Here is the call graph for this function:
Here is the caller graph for this function: