|
Zen-C
|


Go to the source code of this file.
Data Structures | |
| struct | Type |
| Represents a formal type in the type system. More... | |
| struct | Attribute |
| struct | ASTNode |
Typedefs | |
| typedef struct ASTNode | ASTNode |
| typedef struct Type | Type |
| Represents a formal type in the type system. | |
| typedef struct Attribute | Attribute |
Functions | |
| ASTNode * | ast_create (NodeType type) |
| void | ast_free (ASTNode *node) |
| Type * | type_new (TypeKind kind) |
| Type * | type_new_ptr (Type *inner) |
| int | type_eq (Type *a, Type *b) |
| int | is_integer_type (Type *t) |
| char * | type_to_string (Type *t) |
| char * | type_to_c_string (Type *t) |
| enum LiteralKind |
| enum NodeType |
AST Node Types.
| Enumerator | |
|---|---|
| NODE_ROOT | Root of the AST. |
| NODE_FUNCTION | Function definition. |
| NODE_BLOCK | Code block { ... }. |
| NODE_RETURN | Return statement. |
| NODE_VAR_DECL | Variable declaration. |
| NODE_CONST | Constant definition. |
| NODE_TYPE_ALIAS | Type alias (typedef). |
| NODE_IF | If statement. |
| NODE_WHILE | While loop. |
| NODE_FOR | For loop. |
| NODE_FOR_RANGE | For-range loop (iterator). |
| NODE_LOOP | Infinite loop. |
| NODE_REPEAT | Repeat loop (n times). |
| NODE_UNLESS | Unless statement (if !cond). |
| NODE_GUARD | Guard clause (if !cond return). |
| NODE_BREAK | Break statement. |
| NODE_CONTINUE | Continue statement. |
| NODE_MATCH | Match statement. |
| NODE_MATCH_CASE | Case within match. |
| NODE_EXPR_BINARY | Binary expression (a + b). |
| NODE_EXPR_UNARY | Unary expression (!a). |
| NODE_EXPR_LITERAL | Literal value. |
| NODE_EXPR_VAR | Variable reference. |
| NODE_EXPR_CALL | Function call. |
| NODE_EXPR_MEMBER | Member access (a.b). |
| NODE_EXPR_INDEX | Array index (a[b]). |
| NODE_EXPR_CAST | Type cast. |
| NODE_EXPR_SIZEOF | Sizeof expression. |
| NODE_EXPR_STRUCT_INIT | Struct initializer. |
| NODE_EXPR_ARRAY_LITERAL | Array literal. |
| NODE_EXPR_SLICE | Slice operation. |
| NODE_STRUCT | Struct definition. |
| NODE_FIELD | Struct field. |
| NODE_ENUM | Enum definition. |
| NODE_ENUM_VARIANT | Enum variant. |
| NODE_TRAIT | Trait definition. |
| NODE_IMPL | Impl block. |
| NODE_IMPL_TRAIT | Trait implementation. |
| NODE_INCLUDE | Include directive. |
| NODE_RAW_STMT | Raw statement (transpiler bypass). |
| NODE_TEST | Test block. |
| NODE_ASSERT | Assert statement. |
| NODE_DEFER | Defer statement. |
| NODE_DESTRUCT_VAR | Destructuring declaration. |
| NODE_TERNARY | Ternary expression (?:). |
| NODE_ASM | Assembly block. |
| NODE_LAMBDA | Lambda function. |
| NODE_PLUGIN | Plugin invocation. |
| NODE_GOTO | Goto statement. |
| NODE_LABEL | Label. |
| NODE_DO_WHILE | Do-while loop. |
| NODE_TYPEOF | Typeof operator. |
| NODE_TRY | Try statement (error handling). |
| NODE_REFLECTION | Reflection info. |
| NODE_AWAIT | Await expression. |
| NODE_REPL_PRINT | Implicit print (REPL). |
| NODE_CUDA_LAUNCH | CUDA kernel launch (<<<...>>>). |
| NODE_VA_START | va_start intrinsic. |
| NODE_VA_END | va_end intrinsic. |
| NODE_VA_COPY | va_copy intrinsic. |
| NODE_VA_ARG | va_arg intrinsic. |
| enum TypeKind |
Formal type system kinds.


| void ast_free | ( | ASTNode * | node | ) |
| int is_integer_type | ( | Type * | t | ) |







| char * type_to_c_string | ( | Type * | t | ) |


| char * type_to_string | ( | Type * | t | ) |

