parsing things

This commit is contained in:
2026-04-13 18:42:52 +02:00
parent 8fc846d5a1
commit bc2bc1efa2
4 changed files with 144 additions and 8 deletions

View File

@@ -3,10 +3,14 @@
typedef enum noomP_NodeType {
NOOMP_NODE_PROGRAM,
NOOMP_NODE_VARNAME,
NOOMP_NODE_NUMBERLITERAL,
NOOMP_NODE_LOCALDECLARATION,
} noomP_NodeType;
typedef struct noomP_Node {
noomP_NodeType type;
noom_uint_t source_offset;
noom_uint_t subnodec;
noom_uint_t subnode_cap;
@@ -29,6 +33,8 @@ void noomP_skip(noomP_Parser* parser, noomL_Token* token);
noomP_Node* noomP_allocNode(noomP_Parser* parser);
noomP_Node* noomP_parseStatement(noomP_Parser* parser);
noomP_Node* noomP_parseExpression(noomP_Parser* parser);
int noomP_parse(const char* code, const char* filename, noomP_Node** outpointer);
int noomP_initParser(noomP_Parser* parser, const char* code, const char* filename);