summaryrefslogtreecommitdiff
path: root/scope.c
diff options
context:
space:
mode:
Diffstat (limited to 'scope.c')
-rw-r--r--scope.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/scope.c b/scope.c
index 722e430..fdd36c5 100644
--- a/scope.c
+++ b/scope.c
@@ -25,3 +25,23 @@ scope_extract(Token *list)
} else
e = e->next;
}
+
+static void
+_scope_function(Token *list)
+{
+ unsigned int len = token_len(list->group.tokens);
+ while (len > 2) {
+ token_append(&list->group.scope,
+ token_extract(&list->group.tokens,
+ list->group.tokens->next));
+ len -= 1;
+ }
+}
+
+void
+scope_function(Token *list)
+{
+ for (Token *e = list->group.tokens; e != NULL; e = e->next)
+ if (token_isgroup(e, GROUP_FUNCTION))
+ _scope_function(e);
+}