aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/rc/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cmd/rc/tree.c')
-rw-r--r--sys/cmd/rc/tree.c111
1 files changed, 0 insertions, 111 deletions
diff --git a/sys/cmd/rc/tree.c b/sys/cmd/rc/tree.c
deleted file mode 100644
index 2c65041..0000000
--- a/sys/cmd/rc/tree.c
+++ /dev/null
@@ -1,111 +0,0 @@
-#include "rc.h"
-#include "parse.h"
-
-static Tree *nodes;
-
-Tree*
-maketree(void)
-{
- Tree *node = emalloc(sizeof(*node));
-
- node->link = nodes;
- nodes = node;
- return node;
-}
-
-void
-freeparsetree(void)
-{
- Tree *t, *nt;
- for(t = nodes; t; t = nt) {
- nt = t->link;
- if(t->type == Tword && t->str)
- efree(t->str);
- efree(t);
- }
- nodes = nil;
-}
-
-Tree*
-maketree1(int type, Tree *c0)
-{
- return maketree2(type, c0, nil);
-}
-
-Tree*
-maketree2(int type, Tree *c0, Tree *c1)
-{
- return maketree3(type, c0, c1, nil);
-}
-
-Tree*
-maketree3(int type, Tree *c0, Tree *c1, Tree *c2)
-{
- Tree *node = maketree();
-
- node->type = type;
- node->child[0] = c0;
- node->child[1] = c1;
- node->child[2] = c2;
-
- return node;
-}
-
-Tree*
-hangchild1(Tree *node, Tree *c, int i)
-{
- node->child[i] = c;
-
- return node;
-}
-
-Tree*
-hangchild2(Tree *node, Tree *c1, int i1, Tree *c2, int i2)
-{
- node->child[i1] = c1;
- node->child[i2] = c2;
-
- return node;
-}
-
-Tree*
-hangchild3(Tree *node, Tree *c0, Tree *c1, Tree *c2)
-{
- node->child[0] = c0;
- node->child[1] = c1;
- node->child[2] = c2;
-
- return node;
-}
-
-Tree*
-hangepilog(Tree *cmd, Tree *epi)
-{
- Tree *p;
- if(!epi)
- return cmd;
- for(p = epi; p->child[1]; p = p->child[1])
- ;
-
- p->child[1] = cmd;
- return epi;
-}
-
-Tree*
-token(int type, char *s)
-{
- Tree *node = maketree();
-
- node->type = type;
- node->str = strdup(s);
-
- return node;
-}
-
-/*
-Tree*
-basic(Tree *node)
-{
- return maketree1(Tbasic, node);
-}
-*/