diff options
author | Bad Diode <bd@badd10de.dev> | 2021-10-30 11:33:15 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2021-10-30 11:33:15 +0200 |
commit | 995f138c293a3db430ced10c688d07f0acf8baa8 (patch) | |
tree | 2f3c59bfd346ab28ead38c110e3af2c1c212984a /src/parser.h | |
parent | af3f2ebc42bf9dc64fc581b9f8f79e98895cb417 (diff) | |
download | bdl-995f138c293a3db430ced10c688d07f0acf8baa8.tar.gz bdl-995f138c293a3db430ced10c688d07f0acf8baa8.zip |
Prepare for scope check
Diffstat (limited to 'src/parser.h')
-rwxr-xr-x | src/parser.h | 5 |
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 { | |||
62 | typedef struct Environment { | 62 | typedef struct Environment { |
63 | HashTable *table; | 63 | HashTable *table; |
64 | struct Environment *parent; | 64 | struct Environment *parent; |
65 | }; | 65 | } Environment; |
66 | 66 | ||
67 | typedef struct Parser { | 67 | typedef struct Parser { |
68 | Token *tokens; | 68 | Token *tokens; |
@@ -71,7 +71,7 @@ typedef struct Parser { | |||
71 | 71 | ||
72 | typedef Object* Root; | 72 | typedef Object* Root; |
73 | 73 | ||
74 | // Mimics the functionality in the Scanner functions, but for tokens. | 74 | // Token scanner. |
75 | Token next_token(Parser *parser); | 75 | Token next_token(Parser *parser); |
76 | Token previous_token(Parser *parser); | 76 | Token previous_token(Parser *parser); |
77 | Token rewind_token(Parser *parser); | 77 | Token rewind_token(Parser *parser); |
@@ -95,6 +95,7 @@ void object_display(Object *obj); | |||
95 | bool object_equal(Object *a, Object *b); | 95 | bool object_equal(Object *a, Object *b); |
96 | 96 | ||
97 | // Manage resources. | 97 | // Manage resources. |
98 | Environment * env_alloc(Environment *parent); | ||
98 | Object * object_alloc(Token tok, ObjectType type); | 99 | Object * object_alloc(Token tok, ObjectType type); |
99 | void object_free(Object *node); | 100 | void object_free(Object *node); |
100 | void free_objects(void); | 101 | void free_objects(void); |