summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-03-14 21:55:34 +0100
committerkdx <kikoodx@paranoici.org>2023-03-14 21:55:34 +0100
commitda38a82f202c02e0f397dcc4290dfdf2174e913a (patch)
treeee5ec640074da9089317dfe1ad92dadaa4913465
parent29f0cf60472ad791e4ef62460c55e213bc9d8fd2 (diff)
downloadgolem-da38a82f202c02e0f397dcc4290dfdf2174e913a.tar.gz
group scope first
-rw-r--r--group.c3
-rw-r--r--main.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/group.c b/group.c
index f166193..81c958c 100644
--- a/group.c
+++ b/group.c
@@ -6,6 +6,9 @@
static int
group_dec(Token **list, unsigned int tok_type, unsigned int group_type)
{
+ for (Token *e = *list; e != NULL; e = e->next)
+ if (e->type == TOK_GROUP && e->group.type == GROUP_SCOPE)
+ group_dec(&e->group.tokens, tok_type, group_type);
for (;;) {
Token *begin = token_search(*list, tok_type);
if (begin == NULL)
diff --git a/main.c b/main.c
index 61af8be..2c14af2 100644
--- a/main.c
+++ b/main.c
@@ -24,9 +24,9 @@ main(int argc, char **argv)
fclose(file);
Token *tokens = lexer(slice);
+ group_scope(&tokens);
group_global(&tokens);
group_local(&tokens);
- group_scope(&tokens);
token_print(tokens, 1, 0);
token_destroy(tokens);