Lines Matching refs:Shnode_t
55 static Shnode_t *makeparent(Lex_t*, int, Shnode_t*);
56 static Shnode_t *makelist(Lex_t*, int, Shnode_t*, Shnode_t*);
59 static Shnode_t *sh_cmd(Lex_t*,int,int);
60 static Shnode_t *term(Lex_t*,int);
61 static Shnode_t *list(Lex_t*,int);
63 static Shnode_t *item(Lex_t*,int);
64 static Shnode_t *simple(Lex_t*,int, struct ionod*);
66 static Shnode_t *test_expr(Lex_t*,int);
67 static Shnode_t *test_and(Lex_t*);
68 static Shnode_t *test_or(Lex_t*);
69 static Shnode_t *test_primary(Lex_t*);
92 #define getnode(type) ((Shnode_t*)stakalloc(sizeof(struct type)))
244 static Shnode_t *makeparent(Lex_t *lp, int flag, Shnode_t *child)
246 register Shnode_t *par = getnode(forknod);
282 static Shnode_t *getanode(Lex_t *lp, struct argnod *ap)
284 register Shnode_t *t = getnode(arithnod);
302 static Shnode_t *makelist(Lex_t *lexp, int type, Shnode_t *l, Shnode_t *r)
304 register Shnode_t *t;
327 register Shnode_t *t;
369 Shnode_t *tt;
411 Shnode_t *sh_dolparen(Lex_t* lp)
413 register Shnode_t *t=0;
491 static Shnode_t *sh_cmd(Lex_t *lexp, register int sym, int flag)
493 register Shnode_t *left, *right;
545 static Shnode_t *list(Lex_t *lexp, register int flag)
547 register Shnode_t *t = term(lexp,flag);
559 static Shnode_t *term(Lex_t *lexp,register int flag)
561 register Shnode_t *t;
582 register Shnode_t *tt;
664 static Shnode_t *arithfor(Lex_t *lexp,register Shnode_t *tf)
666 register Shnode_t *t, *tw = tf;
739 static Shnode_t *funct(Lex_t *lexp)
742 register Shnode_t *t;
945 register Shnode_t *t, **tp;
1096 t = makelist(lexp,TLST,(Shnode_t*)ac,t);
1100 *tp = (Shnode_t*)ac;
1116 static Shnode_t *item(Lex_t *lexp,int flag)
1118 register Shnode_t *t;
1173 register Shnode_t *tt;
1332 t = (Shnode_t*)simple(lexp,SH_NOIO,NIL(struct ionod*));
1354 t = (Shnode_t*)simple(lexp,flag,io);
1379 Shnode_t *t;
1393 static Shnode_t *simple(Lex_t *lexp,int flag, struct ionod *io)
1645 return((Shnode_t*)t);
1877 static Shnode_t *test_expr(Lex_t *lp,int sym)
1879 register Shnode_t *t = test_or(lp);
1885 static Shnode_t *test_or(Lex_t *lp)
1887 register Shnode_t *t = test_and(lp);
1893 static Shnode_t *test_and(Lex_t *lp)
1895 register Shnode_t *t = test_primary(lp);
1918 static Shnode_t *test_primary(Lex_t *lexp)
1921 register Shnode_t *t;
1929 t = makelist(lexp,TTST|TTEST|TPAREN ,t, (Shnode_t*)pointerof(lexp->sh->inlineno));
1949 (Shnode_t*)lexp->arg,(Shnode_t*)lexp->arg);
1971 (Shnode_t*)arg,(Shnode_t*)arg);
1995 t->lst.lstlef = (Shnode_t*)arg;
1996 t->lst.lstrit = (Shnode_t*)lexp->arg;