summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-03-14 18:18:59 +0100
committerkdx <kikoodx@paranoici.org>2023-03-14 18:18:59 +0100
commita2222a6e270b38cdb214f5975903fef6699f61f4 (patch)
treed2a7b4e065a6840e62d625b67edacfdb0eb1441a
parent6602bdf7c86e0f579588fe25618d00cb7b5cfe5e (diff)
downloadgolem-a2222a6e270b38cdb214f5975903fef6699f61f4.tar.gz
group type
-rw-r--r--group.c1
-rw-r--r--group.h8
-rw-r--r--token.c5
3 files changed, 8 insertions, 6 deletions
diff --git a/group.c b/group.c
index 4f0c5b5..dd0ce3f 100644
--- a/group.c
+++ b/group.c
@@ -40,6 +40,7 @@ int group_scope(Token **list)
fprintf(stderr, "group_create failed\n");
return 1;
}
+ group->group.type = GROUP_SCOPE;
token_delete(&group->group.tokens, begin);
token_delete(&group->group.tokens, end);
if (group_scope(&group->group.tokens)) {
diff --git a/group.h b/group.h
index 5fd4c7e..303b44e 100644
--- a/group.h
+++ b/group.h
@@ -1,10 +1,10 @@
#pragma once
enum {
- GROUP_NONE,
- GROUP_SCOPE,
- GROUP_FUNCTION,
- GROUP_ASSIGN,
+ GROUP_NONE = 0,
+ GROUP_SCOPE = 's',
+ GROUP_FUNCTION = 'f',
+ GROUP_ASSIGN = '=',
};
struct Token;
diff --git a/token.c b/token.c
index b9ab802..4d3f631 100644
--- a/token.c
+++ b/token.c
@@ -95,10 +95,11 @@ token_print(Token *token, int recurse, int depth)
for (int i = 0; i < depth * 2; i++)
putchar(' ');
if (token->type == TOK_GROUP) {
- printf("type: TOK_GROUP\n");
+ printf("type: TOK_GROUP group.type: %c\n",
+ token->group.type);
token_print(token->group.tokens, 1, depth + 1);
} else {
- printf("type: %c slice: ", (char)token->type);
+ printf("type: %c slice: ", token->type);
slice_print(token->slice);
}
if (!recurse)