Files
cval/include/globals.h
2025-11-17 15:49:06 +09:00

55 lines
662 B
C

#pragma once
#include <stddef.h>
#include <stdint.h>
/**
* Token Definitions
*/
typedef enum {
LBRACK,
RBRACK,
LCURLY,
RCURLY,
LPAREN,
RPAREN,
SEMI,
COMMA,
ARROW,
STAR,
ANDREF,
DOLLAR,
COMMENT,
ID,
NUM,
STRING_LITERAL,
VAL,
RETURN,
IF,
ELSE,
EOF_TOKEN,
ERROR
} TokenType;
typedef struct {
size_t len;
char *string;
} TokenString;
typedef struct {
TokenType type;
uint32_t line;
TokenString data;
} Token;
/**
* AST Node Definitions
*/
typedef struct ASTNode {
Token token;
struct ASTNode **children;
size_t child_count;
} ASTNode;