libmya 0.1.0
Library to parse Mya language.
Loading...
Searching...
No Matches
ast.h
Go to the documentation of this file.
1#pragma once
2
3#include "types/token.h"
4
5#define AST_INITIAL_CHILDREN_LENGTH 5
6#define AST_CHILDREN_LENGTH_INCREMENT 20
7
25
35
36extern const char* mya_node_types[];
const char * mya_node_types[]
Definition globals.c:65
Definition ast.h:27
unsigned int children_count
Definition ast.h:32
token_t * token
Definition ast.h:30
struct ast_node * children
Definition ast.h:31
unsigned int _children_length
Definition ast.h:33
struct ast_node * parent
Definition ast.h:28
node_type_t type
Definition ast.h:29
enum node_type node_type_t
struct ast_node ast_node_t
node_type
Definition ast.h:9
@ NT_STRING
Definition ast.h:22
@ NT_ARG
Definition ast.h:11
@ NT_TYPE
Definition ast.h:23
@ NT_FIELD_SPEC
Definition ast.h:15
@ NT_SIZE_SPEC
Definition ast.h:20
@ NT_INST_BODY
Definition ast.h:18
@ NT_IDENTIFIER
Definition ast.h:17
@ NT_STATEMENT
Definition ast.h:21
@ NT_BITFIELD_SPEC
Definition ast.h:13
@ NT_FIELD
Definition ast.h:16
@ NT_EXPRESSION
Definition ast.h:14
@ NT_ROOT
Definition ast.h:19
@ NT_ARG_LIST
Definition ast.h:10
@ NT_BITFIELD_BODY
Definition ast.h:12
struct token token_t
Struct for a Mya token.