• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This file was generated by mknodes.sh
3  */
4 
5 #define NSEMI 0
6 #define NCMD 1
7 #define NPIPE 2
8 #define NREDIR 3
9 #define NBACKGND 4
10 #define NSUBSHELL 5
11 #define NAND 6
12 #define NOR 7
13 #define NIF 8
14 #define NWHILE 9
15 #define NUNTIL 10
16 #define NFOR 11
17 #define NCASE 12
18 #define NCLIST 13
19 #define NDEFUN 14
20 #define NARG 15
21 #define NTO 16
22 #define NCLOBBER 17
23 #define NFROM 18
24 #define NFROMTO 19
25 #define NAPPEND 20
26 #define NTOFD 21
27 #define NFROMFD 22
28 #define NHERE 23
29 #define NXHERE 24
30 #define NNOT 25
31 
32 
33 
34 struct nbinary {
35       int type;
36       union node *ch1;
37       union node *ch2;
38 };
39 
40 
41 struct ncmd {
42       int type;
43       int backgnd;
44       union node *args;
45       union node *redirect;
46 };
47 
48 
49 struct npipe {
50       int type;
51       int backgnd;
52       struct nodelist *cmdlist;
53 };
54 
55 
56 struct nredir {
57       int type;
58       union node *n;
59       union node *redirect;
60 };
61 
62 
63 struct nif {
64       int type;
65       union node *test;
66       union node *ifpart;
67       union node *elsepart;
68 };
69 
70 
71 struct nfor {
72       int type;
73       union node *args;
74       union node *body;
75       char *var;
76 };
77 
78 
79 struct ncase {
80       int type;
81       union node *expr;
82       union node *cases;
83 };
84 
85 
86 struct nclist {
87       int type;
88       union node *next;
89       union node *pattern;
90       union node *body;
91 };
92 
93 
94 struct narg {
95       int type;
96       union node *next;
97       char *text;
98       struct nodelist *backquote;
99 };
100 
101 
102 struct nfile {
103       int type;
104       union node *next;
105       int fd;
106       union node *fname;
107       char *expfname;
108 };
109 
110 
111 struct ndup {
112       int type;
113       union node *next;
114       int fd;
115       int dupfd;
116       union node *vname;
117 };
118 
119 
120 struct nhere {
121       int type;
122       union node *next;
123       int fd;
124       union node *doc;
125 };
126 
127 
128 struct nnot {
129       int type;
130       union node *com;
131 };
132 
133 
134 union node {
135       int type;
136       struct nbinary nbinary;
137       struct ncmd ncmd;
138       struct npipe npipe;
139       struct nredir nredir;
140       struct nif nif;
141       struct nfor nfor;
142       struct ncase ncase;
143       struct nclist nclist;
144       struct narg narg;
145       struct nfile nfile;
146       struct ndup ndup;
147       struct nhere nhere;
148       struct nnot nnot;
149 };
150 
151 
152 struct nodelist {
153 	struct nodelist *next;
154 	union node *n;
155 };
156 
157 
158 union node *copyfunc(union node *);
159 void freefunc(union node *);
160