|
|
1.1 root 1: deftok(_ANDF) = type -1, ass 0, pred -1, # 256
2: deftok(_ASGN) = type -1, ass 0, pred -1, # 257
3: deftok(_CASE) = type -1, ass 0, pred -1, # 258
4: deftok(_CBRAC) = type -1, ass 0, pred -1, # 259
5: deftok(_DO) = type -1, ass 0, pred -1, # 260
6: deftok(_DONE) = type -1, ass 0, pred -1, # 261
7: deftok(_DSEMI) = type -1, ass 0, pred -1, # 262
8: deftok(_ELIF) = type -1, ass 0, pred -1, # 263
9: deftok(_ELSE) = type -1, ass 0, pred -1, # 264
10: deftok(_ESAC) = type -1, ass 0, pred -1, # 265
11: deftok(_FI) = type -1, ass 0, pred -1, # 266
12: deftok(_FOR) = type -1, ass 0, pred -1, # 267
13: deftok(_IF) = type -1, ass 0, pred -1, # 268
14: deftok(_IN) = type -1, ass 0, pred -1, # 269
15: deftok(_IORS) = type -1, ass 0, pred -1, # 270
16: deftok(_NAME) = type -1, ass 0, pred -1, # 271
17: deftok(_NULL) = type -1, ass 0, pred -1, # 272
18: deftok(_OBRAC) = type -1, ass 0, pred -1, # 273
19: deftok(_ORF) = type -1, ass 0, pred -1, # 274
20: deftok(_PARENS) = type -1, ass 0, pred -1, # 275
21: deftok(_RET) = type -1, ass 0, pred -1, # 276
22: deftok(_THEN) = type -1, ass 0, pred -1, # 277
23: deftok(_UNTIL) = type -1, ass 0, pred -1, # 278
24: deftok(_WHILE) = type -1, ass 0, pred -1, # 279
25: Input grammar:
26:
27: $accept:
28:
29: 0: session $end
30: ;
31:
32: session:
33:
34: 1: session cmd_line
35: 2: |
36: ;
37:
38: cmd_line:
39:
40: 3: '\n'
41: 4: | cmd_list '\n'
42: 5: | error '\n'
43: ;
44:
45: cmd_list:
46:
47: 23: logical_cmd
48: 24: | logical_cmd '&'
49: 25: | logical_cmd ';'
50: 26: | logical_cmd '&' cmd_list
51: 27: | logical_cmd ';' cmd_list
52: ;
53:
54: if:
55:
56: 6: _IF optnls
57: ;
58:
59: optnls:
60:
61: 114: nls
62: 115: |
63: ;
64:
65: then:
66:
67: 7: _THEN optnls
68: ;
69:
70: elif:
71:
72: 8: _ELIF optnls
73: ;
74:
75: else:
76:
77: 9: _ELSE optnls
78: ;
79:
80: whuntile:
81:
82: 10: _WHILE optnls
83: 11: | _UNTIL optnls
84: ;
85:
86: do:
87:
88: 12: _DO optnls
89: 13: | _DO ';' optnls
90: ;
91:
92: in:
93:
94: 14: _IN
95: 15: | _IN sep
96: ;
97:
98: sep:
99:
100: 111: nls
101: 112: | ';'
102: 113: | ';' nls
103: ;
104:
105: oror:
106:
107: 16: _ORF optnls
108: ;
109:
110: andand:
111:
112: 17: _ANDF optnls
113: ;
114:
115: or:
116:
117: 18: '|' optnls
118: ;
119:
120: oparen:
121:
122: 19: '(' optnls
123: ;
124:
125: obrack:
126:
127: 20: _OBRAC optnls
128: ;
129:
130: cparen:
131:
132: 21: ')' optnls
133: ;
134:
135: dsemi:
136:
137: 22: _DSEMI optnls
138: ;
139:
140: logical_cmd:
141:
142: 28: pipe_cmd
143: 29: | pipe_cmd oror logical_cmd
144: 30: | pipe_cmd andand logical_cmd
145: ;
146:
147: pipe_cmd:
148:
149: 31: cmd or pipe_cmd
150: 32: | cmd
151: ;
152:
153: cmd:
154:
155: 33: turn_on_keywords command
156: ;
157:
158: turn_on_keywords:
159:
160: 34:
161: ;
162:
163: command:
164:
165: 35: simple_command
166: 36: | compound_command
167: 37: | compound_command redirect_list
168: 38: | function_definition
169: 39: | _RET name
170: 40: | _RET
171: ;
172:
173: simple_command:
174:
175: 45: cmd_prefix cmd_word cmd_suffix
176: 46: | cmd_prefix cmd_word
177: 47: | cmd_prefix
178: 48: | cmd_name cmd_suffix
179: 49: | cmd_name
180: ;
181:
182: compound_command:
183:
184: 41: control
185: ;
186:
187: redirect_list:
188:
189: 43: redirect_node
190: 44: | redirect_list redirect_node
191: ;
192:
193: function_definition:
194:
195: 42: name _PARENS optnls obrack cmd_seq _CBRAC
196: ;
197:
198: name:
199:
200: 81: _NAME
201: ;
202:
203: control:
204:
205: 84: _FOR name in_name_list sep do_list _DONE
206: 85: | _FOR name in_name_list do_list _DONE
207: 86: | _CASE name sep in case_list _ESAC
208: 87: | _CASE name in case_list _ESAC
209: 88: | whuntile cmd_seq do_list _DONE
210: 89: | if cmd_seq then opt_cmd_seq else_part _FI
211: 90: | oparen opt_cmd_seq ')'
212: 91: | obrack opt_cmd_seq _CBRAC
213: ;
214:
215: cmd_seq:
216:
217: 109: cmd_list nls cmd_seq
218: 110: | cmd_list optnls
219: ;
220:
221: redirect_node:
222:
223: 78: redirect
224: ;
225:
226: cmd_prefix:
227:
228: 50: redirect_node
229: 51: | redirect_node cmd_prefix
230: 52: | asgn_node
231: 53: | asgn_node cmd_prefix
232: ;
233:
234: cmd_word:
235:
236: 55: name_node
237: ;
238:
239: cmd_suffix:
240:
241: 56: redirect_node
242: 57: | redirect_node cmd_suffix
243: 58: | non_keyword_name
244: 59: | non_keyword_name cmd_suffix
245: 60: | asgn_node
246: 61: | asgn_node cmd_suffix
247: ;
248:
249: cmd_name:
250:
251: 54: name_node
252: ;
253:
254: asgn_node:
255:
256: 82: asgn
257: ;
258:
259: name_node:
260:
261: 80: name
262: ;
263:
264: non_keyword_name:
265:
266: 62: non_keyword_string
267: ;
268:
269: non_keyword_string:
270:
271: 63: _NAME
272: 64: | _CASE
273: 65: | _DO
274: 66: | _DONE
275: 67: | _ELIF
276: 68: | _ELSE
277: 69: | _ESAC
278: 70: | _FI
279: 71: | _FOR
280: 72: | _IF
281: 73: | _IN
282: 74: | _RET
283: 75: | _THEN
284: 76: | _UNTIL
285: 77: | _WHILE
286: ;
287:
288: redirect:
289:
290: 79: _IORS
291: ;
292:
293: asgn:
294:
295: 83: _ASGN
296: ;
297:
298: in_name_list:
299:
300: 92: _IN name_list
301: 93: |
302: ;
303:
304: do_list:
305:
306: 102: do opt_cmd_seq
307: 103: |
308: ;
309:
310: case_list:
311:
312: 96: case_line dsemi case_list
313: 97: | case_line
314: 98: |
315: ;
316:
317: opt_cmd_seq:
318:
319: 107: cmd_seq
320: 108: |
321: ;
322:
323: else_part:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.