Herb C Reference
Loading...
Searching...
No Matches
ast_node.h
Go to the documentation of this file.
1#ifndef HERB_AST_H
2#define HERB_AST_H
3
4#include "ast_nodes.h"
5#include "errors.h"
6#include "position.h"
7#include "token_struct.h"
8
9void ast_node_init(AST_NODE_T* node, ast_node_type_T type, position_T* start, position_T* end, array_T* errors);
10void ast_node_free(AST_NODE_T* node);
11
13
14size_t ast_node_sizeof(void);
16
18
20
21void ast_node_set_start(AST_NODE_T* node, position_T* position);
22void ast_node_set_end(AST_NODE_T* node, position_T* position);
23
24size_t ast_node_errors_count(const AST_NODE_T* node);
26void ast_node_append_error(const AST_NODE_T* node, ERROR_T* error);
27
28void ast_node_set_start_from_token(AST_NODE_T* node, const token_T* token);
29void ast_node_set_end_from_token(AST_NODE_T* node, const token_T* token);
30
32
33bool ast_node_is(const AST_NODE_T* node, ast_node_type_T type);
34
35#endif
size_t ast_node_errors_count(const AST_NODE_T *node)
Definition ast_node.c:42
void ast_node_set_end(AST_NODE_T *node, position_T *position)
Definition ast_node.c:60
void ast_node_set_start_from_token(AST_NODE_T *node, const token_T *token)
Definition ast_node.c:66
ast_node_type_T ast_node_type(const AST_NODE_T *node)
Definition ast_node.c:38
void ast_node_free(AST_NODE_T *node)
Definition ast_nodes.c:834
void ast_node_set_start(AST_NODE_T *node, position_T *position)
Definition ast_node.c:54
size_t ast_node_sizeof(void)
Definition ast_node.c:11
size_t ast_node_child_count(AST_NODE_T *node)
void ast_node_append_error(const AST_NODE_T *node, ERROR_T *error)
Definition ast_node.c:50
void ast_node_set_positions_from_token(AST_NODE_T *node, const token_T *token)
Definition ast_node.c:74
void ast_node_set_end_from_token(AST_NODE_T *node, const token_T *token)
Definition ast_node.c:70
array_T * ast_node_errors(const AST_NODE_T *node)
Definition ast_node.c:46
char * ast_node_name(AST_NODE_T *node)
void ast_node_init(AST_NODE_T *node, ast_node_type_T type, position_T *start, position_T *end, array_T *errors)
Definition ast_node.c:15
bool ast_node_is(const AST_NODE_T *node, ast_node_type_T type)
Definition ast_node.c:79
AST_LITERAL_NODE_T * ast_literal_node_init_from_token(const token_T *token)
Definition ast_node.c:28
ast_node_type_T
Definition ast_nodes.h:17
Definition array.h:6
Definition ast_nodes.h:60
Definition ast_nodes.h:47
Definition errors.h:26
Definition position.h:6
Definition token_struct.h:44