Wed, 31 Dec 2014 07:16:47 +0100
Revert simplistic fix pending revisit of Mozilla integration attempt.
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #ifndef lint
6 char yysccsid[] = "@(#)yaccpar 1.4 (Berkeley) 02/25/90";
7 #endif
8 #line 37 "installparse.y"
10 #define yyparse Pk11Install_yyparse
11 #define yylex Pk11Install_yylex
12 #define yyerror Pk11Install_yyerror
13 #define yychar Pk11Install_yychar
14 #define yyval Pk11Install_yyval
15 #define yylval Pk11Install_yylval
16 #define yydebug Pk11Install_yydebug
17 #define yynerrs Pk11Install_yynerrs
18 #define yyerrflag Pk11Install_yyerrflag
19 #define yyss Pk11Install_yyss
20 #define yyssp Pk11Install_yyssp
21 #define yyvs Pk11Install_yyvs
22 #define yyvsp Pk11Install_yyvsp
23 #define yylhs Pk11Install_yylhs
24 #define yylen Pk11Install_yylen
25 #define yydefred Pk11Install_yydefred
26 #define yydgoto Pk11Install_yydgoto
27 #define yysindex Pk11Install_yysindex
28 #define yyrindex Pk11Install_yyrindex
29 #define yygindex Pk11Install_yygindex
30 #define yytable Pk11Install_yytable
31 #define yycheck Pk11Install_yycheck
32 #define yyname Pk11Install_yyname
33 #define yyrule Pk11Install_yyrule
35 /* C Stuff */
36 #include "install-ds.h"
37 #include <prprf.h>
39 #define YYSTYPE Pk11Install_Pointer
40 extern char *Pk11Install_yytext;
41 char *Pk11Install_yyerrstr=NULL;
43 #line 40 "ytab.c"
44 #define OPENBRACE 257
45 #define CLOSEBRACE 258
46 #define STRING 259
47 #define YYERRCODE 256
48 short yylhs[] = { -1,
49 0, 1, 1, 2, 2, 3, 4,
50 };
51 short yylen[] = { 2,
52 1, 2, 0, 1, 1, 4, 1,
53 };
54 short yydefred[] = { 0,
55 0, 0, 1, 0, 4, 0, 2, 0, 0, 6,
56 };
57 short yydgoto[] = { 2,
58 3, 4, 5, 6,
59 };
60 short yysindex[] = { -257,
61 0, 0, 0, -257, 0, -252, 0, -257, -251, 0,
62 };
63 short yyrindex[] = { 6,
64 1, 0, 0, 3, 0, 0, 0, -250, 0, 0,
65 };
66 short yygindex[] = { 0,
67 -4, 0, 0, 0,
68 };
69 #define YYTABLESIZE 261
70 short yytable[] = { 7,
71 5, 1, 3, 9, 8, 3, 10, 3, 0, 0,
72 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
74 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
77 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
82 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
83 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
84 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
88 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
89 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
90 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
91 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
92 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
94 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
95 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
96 0, 0, 0, 0, 0, 0, 0, 7, 5, 5,
97 3,
98 };
99 short yycheck[] = { 4,
100 0, 259, 0, 8, 257, 0, 258, 258, -1, -1,
101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
102 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
104 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
109 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
110 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
111 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
113 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
114 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
116 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
117 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
118 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
120 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
121 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
122 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
123 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
125 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
126 258,
127 };
128 #define YYFINAL 2
129 #ifndef YYDEBUG
130 #define YYDEBUG 0
131 #endif
132 #define YYMAXTOKEN 259
133 #if YYDEBUG
134 char *yyname[] = {
135 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
136 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
137 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
138 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
139 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
140 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
141 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"OPENBRACE","CLOSEBRACE","STRING",
142 };
143 char *yyrule[] = {
144 "$accept : toplist",
145 "toplist : valuelist",
146 "valuelist : value valuelist",
147 "valuelist :",
148 "value : key_value_pair",
149 "value : STRING",
150 "key_value_pair : key OPENBRACE valuelist CLOSEBRACE",
151 "key : STRING",
152 };
153 #endif
154 #ifndef YYSTYPE
155 typedef int YYSTYPE;
156 #endif
157 #define yyclearin (yychar=(-1))
158 #define yyerrok (yyerrflag=0)
159 #ifndef YYSTACKSIZE
160 #ifdef YYMAXDEPTH
161 #define YYSTACKSIZE YYMAXDEPTH
162 #else
163 #define YYSTACKSIZE 300
164 #endif
165 #endif
166 int yydebug;
167 int yynerrs;
168 int yyerrflag;
169 int yychar;
170 short *yyssp;
171 YYSTYPE *yyvsp;
172 YYSTYPE yyval;
173 YYSTYPE yylval;
174 #define yystacksize YYSTACKSIZE
175 short yyss[YYSTACKSIZE];
176 YYSTYPE yyvs[YYSTACKSIZE];
177 #line 118 "installparse.y"
178 /*----------------------- Program Section --------------------------------*/
180 /*************************************************************************/
181 void
182 Pk11Install_yyerror(char *message)
183 {
184 char *tmp;
185 if(Pk11Install_yyerrstr) {
186 tmp=PR_smprintf("%sline %d: %s\n", Pk11Install_yyerrstr,
187 Pk11Install_yylinenum, message);
188 PR_smprintf_free(Pk11Install_yyerrstr);
189 } else {
190 tmp = PR_smprintf("line %d: %s\n", Pk11Install_yylinenum, message);
191 }
192 Pk11Install_yyerrstr=tmp;
193 }
194 #line 191 "ytab.c"
195 #define YYABORT goto yyabort
196 #define YYACCEPT goto yyaccept
197 #define YYERROR goto yyerrlab
198 int
199 yyparse()
200 {
201 register int yym, yyn, yystate;
202 #if YYDEBUG
203 register char *yys;
204 extern char *getenv();
206 if (yys = getenv("YYDEBUG"))
207 {
208 yyn = *yys;
209 if (yyn >= '0' && yyn <= '9')
210 yydebug = yyn - '0';
211 }
212 #endif
214 yynerrs = 0;
215 yyerrflag = 0;
216 yychar = (-1);
218 yyssp = yyss;
219 yyvsp = yyvs;
220 *yyssp = yystate = 0;
222 yyloop:
223 if (yyn = yydefred[yystate]) goto yyreduce;
224 if (yychar < 0)
225 {
226 if ((yychar = yylex()) < 0) yychar = 0;
227 #if YYDEBUG
228 if (yydebug)
229 {
230 yys = 0;
231 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
232 if (!yys) yys = "illegal-symbol";
233 printf("yydebug: state %d, reading %d (%s)\n", yystate,
234 yychar, yys);
235 }
236 #endif
237 }
238 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
239 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
240 {
241 #if YYDEBUG
242 if (yydebug)
243 printf("yydebug: state %d, shifting to state %d\n",
244 yystate, yytable[yyn]);
245 #endif
246 if (yyssp >= yyss + yystacksize - 1)
247 {
248 goto yyoverflow;
249 }
250 *++yyssp = yystate = yytable[yyn];
251 *++yyvsp = yylval;
252 yychar = (-1);
253 if (yyerrflag > 0) --yyerrflag;
254 goto yyloop;
255 }
256 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
257 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
258 {
259 yyn = yytable[yyn];
260 goto yyreduce;
261 }
262 if (yyerrflag) goto yyinrecovery;
263 #ifdef lint
264 goto yynewerror;
265 yynewerror:
266 #endif
267 yyerror("syntax error");
268 #ifdef lint
269 goto yyerrlab;
270 yyerrlab:
271 #endif
272 ++yynerrs;
273 yyinrecovery:
274 if (yyerrflag < 3)
275 {
276 yyerrflag = 3;
277 for (;;)
278 {
279 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
280 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
281 {
282 #if YYDEBUG
283 if (yydebug)
284 printf("yydebug: state %d, error recovery shifting\
285 to state %d\n", *yyssp, yytable[yyn]);
286 #endif
287 if (yyssp >= yyss + yystacksize - 1)
288 {
289 goto yyoverflow;
290 }
291 *++yyssp = yystate = yytable[yyn];
292 *++yyvsp = yylval;
293 goto yyloop;
294 }
295 else
296 {
297 #if YYDEBUG
298 if (yydebug)
299 printf("yydebug: error recovery discarding state %d\n",
300 *yyssp);
301 #endif
302 if (yyssp <= yyss) goto yyabort;
303 --yyssp;
304 --yyvsp;
305 }
306 }
307 }
308 else
309 {
310 if (yychar == 0) goto yyabort;
311 #if YYDEBUG
312 if (yydebug)
313 {
314 yys = 0;
315 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
316 if (!yys) yys = "illegal-symbol";
317 printf("yydebug: state %d, error recovery discards token %d (%s)\n",
318 yystate, yychar, yys);
319 }
320 #endif
321 yychar = (-1);
322 goto yyloop;
323 }
324 yyreduce:
325 #if YYDEBUG
326 if (yydebug)
327 printf("yydebug: state %d, reducing by rule %d (%s)\n",
328 yystate, yyn, yyrule[yyn]);
329 #endif
330 yym = yylen[yyn];
331 yyval = yyvsp[1-yym];
332 switch (yyn)
333 {
334 case 1:
335 #line 84 "installparse.y"
336 {
337 Pk11Install_valueList = yyvsp[0].list;
338 }
339 break;
340 case 2:
341 #line 89 "installparse.y"
342 {
343 Pk11Install_ValueList_AddItem(yyvsp[0].list,yyvsp[-1].value);
344 yyval .list = yyvsp[0].list;
345 }
346 break;
347 case 3:
348 #line 94 "installparse.y"
349 {
350 yyval .list = Pk11Install_ValueList_new();
351 }
352 break;
353 case 4:
354 #line 99 "installparse.y"
355 {
356 yyval .value= Pk11Install_Value_new(PAIR_VALUE,yyvsp[0]);
357 }
358 break;
359 case 5:
360 #line 103 "installparse.y"
361 {
362 yyval .value= Pk11Install_Value_new(STRING_VALUE, yyvsp[0]);
363 }
364 break;
365 case 6:
366 #line 108 "installparse.y"
367 {
368 yyval .pair = Pk11Install_Pair_new(yyvsp[-3].string,yyvsp[-1].list);
369 }
370 break;
371 case 7:
372 #line 113 "installparse.y"
373 {
374 yyval .string = yyvsp[0].string;
375 }
376 break;
377 #line 374 "ytab.c"
378 }
379 yyssp -= yym;
380 yystate = *yyssp;
381 yyvsp -= yym;
382 yym = yylhs[yyn];
383 if (yystate == 0 && yym == 0)
384 {
385 #ifdef YYDEBUG
386 if (yydebug)
387 printf("yydebug: after reduction, shifting from state 0 to\
388 state %d\n", YYFINAL);
389 #endif
390 yystate = YYFINAL;
391 *++yyssp = YYFINAL;
392 *++yyvsp = yyval;
393 if (yychar < 0)
394 {
395 if ((yychar = yylex()) < 0) yychar = 0;
396 #if YYDEBUG
397 if (yydebug)
398 {
399 yys = 0;
400 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
401 if (!yys) yys = "illegal-symbol";
402 printf("yydebug: state %d, reading %d (%s)\n",
403 YYFINAL, yychar, yys);
404 }
405 #endif
406 }
407 if (yychar == 0) goto yyaccept;
408 goto yyloop;
409 }
410 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
411 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
412 yystate = yytable[yyn];
413 else
414 yystate = yydgoto[yym];
415 #ifdef YYDEBUG
416 if (yydebug)
417 printf("yydebug: after reduction, shifting from state %d \
418 to state %d\n", *yyssp, yystate);
419 #endif
420 if (yyssp >= yyss + yystacksize - 1)
421 {
422 goto yyoverflow;
423 }
424 *++yyssp = yystate;
425 *++yyvsp = yyval;
426 goto yyloop;
427 yyoverflow:
428 yyerror("yacc stack overflow");
429 yyabort:
430 return (1);
431 yyaccept:
432 return (0);
433 }