minor changes for
This commit is contained in:
3
include/ast_util.h
Normal file
3
include/ast_util.h
Normal file
@@ -0,0 +1,3 @@
|
||||
#include "globals.h"
|
||||
|
||||
ASTNode *ast_node_new(NodeKind kind, Token token);
|
||||
@@ -6,6 +6,8 @@
|
||||
* Token Definitions
|
||||
*/
|
||||
typedef enum {
|
||||
PROGRAM, /* use for syntax */
|
||||
|
||||
LBRACK,
|
||||
RBRACK,
|
||||
LCURLY,
|
||||
@@ -48,8 +50,29 @@ typedef struct {
|
||||
/**
|
||||
* AST Node Definitions
|
||||
*/
|
||||
|
||||
typedef enum NodeKind {
|
||||
NODE_PROGRAM,
|
||||
NODE_DEFN,
|
||||
NODE_TYPE,
|
||||
NODE_EXPR,
|
||||
NODE_ATOM,
|
||||
NODE_STMT,
|
||||
NODE_BLOCK,
|
||||
NODE_LAMBDA,
|
||||
NODE_COMPOUND,
|
||||
NODE_PARAMS
|
||||
|
||||
|
||||
} NodeKind;
|
||||
|
||||
typedef struct ASTNode {
|
||||
NodeKind kind;
|
||||
|
||||
Token token;
|
||||
struct ASTNode **children;
|
||||
size_t child_count;
|
||||
size_t capacity;
|
||||
|
||||
|
||||
} ASTNode;
|
||||
Reference in New Issue
Block a user