aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser.h
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2021-10-30 11:33:15 +0200
committerBad Diode <bd@badd10de.dev>2021-10-30 11:33:15 +0200
commit995f138c293a3db430ced10c688d07f0acf8baa8 (patch)
tree2f3c59bfd346ab28ead38c110e3af2c1c212984a /src/parser.h
parentaf3f2ebc42bf9dc64fc581b9f8f79e98895cb417 (diff)
downloadbdl-995f138c293a3db430ced10c688d07f0acf8baa8.tar.gz
bdl-995f138c293a3db430ced10c688d07f0acf8baa8.zip
Prepare for scope check
Diffstat (limited to 'src/parser.h')
-rwxr-xr-xsrc/parser.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/parser.h b/src/parser.h
index d1eddc7..dff40d8 100755
--- a/src/parser.h
+++ b/src/parser.h
@@ -62,7 +62,7 @@ typedef struct Object {
62typedef struct Environment { 62typedef struct Environment {
63 HashTable *table; 63 HashTable *table;
64 struct Environment *parent; 64 struct Environment *parent;
65}; 65} Environment;
66 66
67typedef struct Parser { 67typedef struct Parser {
68 Token *tokens; 68 Token *tokens;
@@ -71,7 +71,7 @@ typedef struct Parser {
71 71
72typedef Object* Root; 72typedef Object* Root;
73 73
74// Mimics the functionality in the Scanner functions, but for tokens. 74// Token scanner.
75Token next_token(Parser *parser); 75Token next_token(Parser *parser);
76Token previous_token(Parser *parser); 76Token previous_token(Parser *parser);
77Token rewind_token(Parser *parser); 77Token rewind_token(Parser *parser);
@@ -95,6 +95,7 @@ void object_display(Object *obj);
95bool object_equal(Object *a, Object *b); 95bool object_equal(Object *a, Object *b);
96 96
97// Manage resources. 97// Manage resources.
98Environment * env_alloc(Environment *parent);
98Object * object_alloc(Token tok, ObjectType type); 99Object * object_alloc(Token tok, ObjectType type);
99void object_free(Object *node); 100void object_free(Object *node);
100void free_objects(void); 101void free_objects(void);