summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/parse/parse_c/bitbakeparser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/parse/parse_c/bitbakeparser.cc')
-rw-r--r--bitbake/lib/bb/parse/parse_c/bitbakeparser.cc506
1 files changed, 280 insertions, 226 deletions
diff --git a/bitbake/lib/bb/parse/parse_c/bitbakeparser.cc b/bitbake/lib/bb/parse/parse_c/bitbakeparser.cc
index 3a3c53dd46..ee9a901b70 100644
--- a/bitbake/lib/bb/parse/parse_c/bitbakeparser.cc
+++ b/bitbake/lib/bb/parse/parse_c/bitbakeparser.cc
@@ -59,22 +59,22 @@
59** defined, then do no error processing. 59** defined, then do no error processing.
60*/ 60*/
61#define YYCODETYPE unsigned char 61#define YYCODETYPE unsigned char
62#define YYNOCODE 42 62#define YYNOCODE 44
63#define YYACTIONTYPE unsigned char 63#define YYACTIONTYPE unsigned char
64#define bbparseTOKENTYPE token_t 64#define bbparseTOKENTYPE token_t
65typedef union { 65typedef union {
66 bbparseTOKENTYPE yy0; 66 bbparseTOKENTYPE yy0;
67 int yy83; 67 int yy87;
68} YYMINORTYPE; 68} YYMINORTYPE;
69#define YYSTACKDEPTH 100 69#define YYSTACKDEPTH 100
70#define bbparseARG_SDECL lex_t* lex; 70#define bbparseARG_SDECL lex_t* lex;
71#define bbparseARG_PDECL ,lex_t* lex 71#define bbparseARG_PDECL ,lex_t* lex
72#define bbparseARG_FETCH lex_t* lex = yypParser->lex 72#define bbparseARG_FETCH lex_t* lex = yypParser->lex
73#define bbparseARG_STORE yypParser->lex = lex 73#define bbparseARG_STORE yypParser->lex = lex
74#define YYNSTATE 74 74#define YYNSTATE 82
75#define YYNRULE 41 75#define YYNRULE 45
76#define YYERRORSYMBOL 28 76#define YYERRORSYMBOL 30
77#define YYERRSYMDT yy83 77#define YYERRSYMDT yy87
78#define YY_NO_ACTION (YYNSTATE+YYNRULE+2) 78#define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
79#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) 79#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
80#define YY_ERROR_ACTION (YYNSTATE+YYNRULE) 80#define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
@@ -127,53 +127,63 @@ typedef union {
127** yy_default[] Default action for each state. 127** yy_default[] Default action for each state.
128*/ 128*/
129static const YYACTIONTYPE yy_action[] = { 129static const YYACTIONTYPE yy_action[] = {
130 /* 0 */ 28, 47, 5, 57, 33, 58, 30, 25, 24, 37, 130 /* 0 */ 82, 3, 7, 8, 38, 22, 39, 24, 26, 32,
131 /* 10 */ 45, 14, 2, 29, 41, 3, 16, 4, 23, 39, 131 /* 10 */ 34, 28, 30, 128, 1, 40, 53, 70, 55, 5,
132 /* 20 */ 69, 8, 11, 17, 26, 48, 47, 32, 21, 42, 132 /* 20 */ 60, 65, 67, 2, 21, 36, 69, 77, 9, 7,
133 /* 30 */ 31, 57, 57, 73, 44, 10, 66, 7, 34, 38, 133 /* 30 */ 11, 6, 13, 15, 17, 19, 12, 52, 50, 4,
134 /* 40 */ 57, 51, 72, 116, 1, 62, 6, 49, 52, 35, 134 /* 40 */ 74, 42, 46, 59, 57, 10, 64, 62, 38, 14,
135 /* 50 */ 36, 59, 54, 9, 20, 64, 43, 22, 40, 50, 135 /* 50 */ 73, 16, 38, 38, 76, 81, 18, 20, 23, 25,
136 /* 60 */ 46, 71, 67, 60, 15, 65, 61, 70, 53, 56, 136 /* 60 */ 27, 29, 31, 33, 35, 37, 56, 51, 90, 54,
137 /* 70 */ 27, 12, 68, 63, 84, 55, 18, 84, 13, 84, 137 /* 70 */ 58, 71, 41, 43, 63, 45, 44, 47, 72, 48,
138 /* 80 */ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 138 /* 80 */ 75, 78, 80, 61, 90, 49, 66, 90, 90, 68,
139 /* 90 */ 84, 19, 139 /* 90 */ 90, 90, 90, 90, 90, 79,
140}; 140};
141static const YYCODETYPE yy_lookahead[] = { 141static const YYCODETYPE yy_lookahead[] = {
142 /* 0 */ 1, 2, 3, 21, 4, 23, 6, 7, 8, 9, 142 /* 0 */ 0, 1, 2, 3, 23, 4, 25, 6, 7, 8,
143 /* 10 */ 31, 32, 13, 14, 1, 16, 39, 18, 19, 20, 143 /* 10 */ 9, 10, 11, 31, 32, 15, 16, 1, 18, 42,
144 /* 20 */ 37, 38, 22, 24, 25, 1, 2, 4, 10, 6, 144 /* 20 */ 20, 21, 22, 33, 34, 24, 26, 27, 1, 2,
145 /* 30 */ 7, 21, 21, 23, 23, 22, 35, 36, 11, 12, 145 /* 30 */ 4, 28, 6, 7, 8, 9, 5, 35, 36, 29,
146 /* 40 */ 21, 5, 23, 29, 30, 33, 34, 5, 5, 10, 146 /* 40 */ 24, 13, 14, 37, 38, 34, 39, 40, 23, 5,
147 /* 50 */ 12, 10, 5, 22, 39, 15, 40, 11, 10, 5, 147 /* 50 */ 25, 5, 23, 23, 25, 25, 5, 5, 5, 5,
148 /* 60 */ 26, 17, 17, 10, 32, 35, 33, 17, 5, 5, 148 /* 60 */ 5, 5, 5, 5, 5, 41, 17, 35, 43, 1,
149 /* 70 */ 1, 22, 37, 1, 41, 5, 39, 41, 27, 41, 149 /* 70 */ 37, 24, 12, 12, 39, 12, 14, 12, 41, 13,
150 /* 80 */ 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 150 /* 80 */ 41, 1, 41, 19, 43, 12, 19, 43, 43, 19,
151 /* 90 */ 41, 39, 151 /* 90 */ 43, 43, 43, 43, 43, 24,
152}; 152};
153#define YY_SHIFT_USE_DFLT (-19) 153#define YY_SHIFT_USE_DFLT (-20)
154#define YY_SHIFT_MAX 43
155static const signed char yy_shift_ofst[] = { 154static const signed char yy_shift_ofst[] = {
156 /* 0 */ -19, -1, 18, 40, 45, 24, 18, 40, 45, -19, 155 /* 0 */ -20, 0, -20, 10, -20, 3, -20, -20, 27, -20,
157 /* 10 */ -19, -19, -19, -19, 0, 23, -18, 13, 19, 10, 156 /* 10 */ 26, 31, -20, 44, -20, 46, -20, 51, -20, 52,
158 /* 20 */ 11, 27, 53, 50, 63, 64, 69, 49, 51, 72, 157 /* 20 */ -20, 1, 53, -20, 54, -20, 55, -20, 56, -20,
159 /* 30 */ 70, 36, 42, 43, 39, 38, 41, 47, 48, 44, 158 /* 30 */ 57, -20, 58, -20, 59, -20, -20, -19, -20, -20,
160 /* 40 */ 46, 31, 54, 34, 159 /* 40 */ 60, 28, 61, 62, 63, -20, 65, 66, 73, -20,
160 /* 50 */ 60, -20, -20, 68, -20, 49, -20, 49, -20, -20,
161 /* 60 */ 64, -20, 64, -20, -20, 67, -20, 70, -20, 16,
162 /* 70 */ 47, -20, 25, -20, -20, 29, -20, 80, 71, -20,
163 /* 80 */ 30, -20,
161}; 164};
162#define YY_REDUCE_USE_DFLT (-24) 165#define YY_REDUCE_USE_DFLT (-24)
163#define YY_REDUCE_MAX 13
164static const signed char yy_reduce_ofst[] = { 166static const signed char yy_reduce_ofst[] = {
165 /* 0 */ 14, -21, 12, 1, -17, 32, 33, 30, 35, 37, 167 /* 0 */ -18, -10, -24, -24, -23, -24, -24, -24, 11, -24,
166 /* 10 */ 52, -23, 15, 16, 168 /* 10 */ -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
169 /* 20 */ -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
170 /* 30 */ -24, -24, -24, -24, -24, -24, 24, -24, -24, -24,
171 /* 40 */ 2, -24, -24, -24, -24, -24, -24, -24, -24, -24,
172 /* 50 */ 32, -24, -24, -24, -24, 6, -24, 33, -24, -24,
173 /* 60 */ 7, -24, 35, -24, -24, -24, -24, -24, -24, -24,
174 /* 70 */ -24, 37, -24, -24, 39, -24, -24, -24, -24, 41,
175 /* 80 */ -24, -24,
167}; 176};
168static const YYACTIONTYPE yy_default[] = { 177static const YYACTIONTYPE yy_default[] = {
169 /* 0 */ 76, 74, 115, 115, 115, 115, 94, 99, 103, 107, 178 /* 0 */ 84, 127, 83, 85, 125, 126, 124, 86, 127, 85,
170 /* 10 */ 107, 107, 107, 113, 115, 115, 115, 115, 115, 115, 179 /* 10 */ 127, 127, 87, 127, 88, 127, 89, 127, 90, 127,
171 /* 20 */ 115, 89, 115, 115, 115, 115, 115, 115, 77, 115, 180 /* 20 */ 91, 127, 127, 92, 127, 93, 127, 94, 127, 95,
172 /* 30 */ 115, 115, 115, 115, 115, 90, 115, 115, 115, 115, 181 /* 30 */ 127, 96, 127, 97, 127, 98, 119, 127, 118, 120,
173 /* 40 */ 91, 115, 115, 114, 111, 75, 112, 78, 77, 79, 182 /* 40 */ 127, 101, 127, 102, 127, 99, 127, 103, 127, 100,
174 /* 50 */ 80, 81, 82, 83, 84, 85, 86, 106, 108, 87, 183 /* 50 */ 106, 104, 105, 127, 107, 127, 108, 111, 109, 110,
175 /* 60 */ 88, 92, 93, 95, 96, 97, 98, 100, 101, 102, 184 /* 60 */ 127, 112, 115, 113, 114, 127, 116, 127, 117, 127,
176 /* 70 */ 104, 105, 109, 110, 185 /* 70 */ 127, 119, 127, 121, 119, 127, 122, 127, 127, 119,
186 /* 80 */ 127, 123,
177}; 187};
178#define YY_SZ_ACTTAB (sizeof(yy_action)/sizeof(yy_action[0])) 188#define YY_SZ_ACTTAB (sizeof(yy_action)/sizeof(yy_action[0]))
179 189
@@ -260,16 +270,16 @@ void bbparseTrace(FILE *TraceFILE, char *zTracePrompt){
260** are required. The following table supplies these names */ 270** are required. The following table supplies these names */
261static const char *const yyTokenName[] = { 271static const char *const yyTokenName[] = {
262 "$", "SYMBOL", "VARIABLE", "EXPORT", 272 "$", "SYMBOL", "VARIABLE", "EXPORT",
263 "OP_ASSIGN", "STRING", "OP_IMMEDIATE", "OP_COND", 273 "OP_ASSIGN", "STRING", "OP_PREDOT", "OP_POSTDOT",
264 "OP_PREPEND", "OP_APPEND", "TSYMBOL", "BEFORE", 274 "OP_IMMEDIATE", "OP_COND", "OP_PREPEND", "OP_APPEND",
265 "AFTER", "ADDTASK", "ADDHANDLER", "FSYMBOL", 275 "TSYMBOL", "BEFORE", "AFTER", "ADDTASK",
266 "EXPORT_FUNC", "ISYMBOL", "INHERIT", "INCLUDE", 276 "ADDHANDLER", "FSYMBOL", "EXPORT_FUNC", "ISYMBOL",
267 "REQUIRE", "PROC_BODY", "PROC_OPEN", "PROC_CLOSE", 277 "INHERIT", "INCLUDE", "REQUIRE", "PROC_BODY",
268 "PYTHON", "FAKEROOT", "DEF_BODY", "DEF_ARGS", 278 "PROC_OPEN", "PROC_CLOSE", "PYTHON", "FAKEROOT",
269 "error", "program", "statements", "statement", 279 "DEF_BODY", "DEF_ARGS", "error", "program",
270 "variable", "task", "tasks", "func", 280 "statements", "statement", "variable", "task",
271 "funcs", "inherit", "inherits", "proc_body", 281 "tasks", "func", "funcs", "inherit",
272 "def_body", 282 "inherits", "proc_body", "def_body",
273}; 283};
274#endif /* NDEBUG */ 284#endif /* NDEBUG */
275 285
@@ -283,41 +293,45 @@ static const char *const yyRuleName[] = {
283 /* 3 */ "variable ::= SYMBOL", 293 /* 3 */ "variable ::= SYMBOL",
284 /* 4 */ "variable ::= VARIABLE", 294 /* 4 */ "variable ::= VARIABLE",
285 /* 5 */ "statement ::= EXPORT variable OP_ASSIGN STRING", 295 /* 5 */ "statement ::= EXPORT variable OP_ASSIGN STRING",
286 /* 6 */ "statement ::= EXPORT variable OP_IMMEDIATE STRING", 296 /* 6 */ "statement ::= EXPORT variable OP_PREDOT STRING",
287 /* 7 */ "statement ::= EXPORT variable OP_COND STRING", 297 /* 7 */ "statement ::= EXPORT variable OP_POSTDOT STRING",
288 /* 8 */ "statement ::= variable OP_ASSIGN STRING", 298 /* 8 */ "statement ::= EXPORT variable OP_IMMEDIATE STRING",
289 /* 9 */ "statement ::= variable OP_PREPEND STRING", 299 /* 9 */ "statement ::= EXPORT variable OP_COND STRING",
290 /* 10 */ "statement ::= variable OP_APPEND STRING", 300 /* 10 */ "statement ::= variable OP_ASSIGN STRING",
291 /* 11 */ "statement ::= variable OP_IMMEDIATE STRING", 301 /* 11 */ "statement ::= variable OP_PREDOT STRING",
292 /* 12 */ "statement ::= variable OP_COND STRING", 302 /* 12 */ "statement ::= variable OP_POSTDOT STRING",
293 /* 13 */ "task ::= TSYMBOL BEFORE TSYMBOL AFTER TSYMBOL", 303 /* 13 */ "statement ::= variable OP_PREPEND STRING",
294 /* 14 */ "task ::= TSYMBOL AFTER TSYMBOL BEFORE TSYMBOL", 304 /* 14 */ "statement ::= variable OP_APPEND STRING",
295 /* 15 */ "task ::= TSYMBOL", 305 /* 15 */ "statement ::= variable OP_IMMEDIATE STRING",
296 /* 16 */ "task ::= TSYMBOL BEFORE TSYMBOL", 306 /* 16 */ "statement ::= variable OP_COND STRING",
297 /* 17 */ "task ::= TSYMBOL AFTER TSYMBOL", 307 /* 17 */ "task ::= TSYMBOL BEFORE TSYMBOL AFTER TSYMBOL",
298 /* 18 */ "tasks ::= tasks task", 308 /* 18 */ "task ::= TSYMBOL AFTER TSYMBOL BEFORE TSYMBOL",
299 /* 19 */ "tasks ::= task", 309 /* 19 */ "task ::= TSYMBOL",
300 /* 20 */ "statement ::= ADDTASK tasks", 310 /* 20 */ "task ::= TSYMBOL BEFORE TSYMBOL",
301 /* 21 */ "statement ::= ADDHANDLER SYMBOL", 311 /* 21 */ "task ::= TSYMBOL AFTER TSYMBOL",
302 /* 22 */ "func ::= FSYMBOL", 312 /* 22 */ "tasks ::= tasks task",
303 /* 23 */ "funcs ::= funcs func", 313 /* 23 */ "tasks ::= task",
304 /* 24 */ "funcs ::= func", 314 /* 24 */ "statement ::= ADDTASK tasks",
305 /* 25 */ "statement ::= EXPORT_FUNC funcs", 315 /* 25 */ "statement ::= ADDHANDLER SYMBOL",
306 /* 26 */ "inherit ::= ISYMBOL", 316 /* 26 */ "func ::= FSYMBOL",
307 /* 27 */ "inherits ::= inherits inherit", 317 /* 27 */ "funcs ::= funcs func",
308 /* 28 */ "inherits ::= inherit", 318 /* 28 */ "funcs ::= func",
309 /* 29 */ "statement ::= INHERIT inherits", 319 /* 29 */ "statement ::= EXPORT_FUNC funcs",
310 /* 30 */ "statement ::= INCLUDE ISYMBOL", 320 /* 30 */ "inherit ::= ISYMBOL",
311 /* 31 */ "statement ::= REQUIRE ISYMBOL", 321 /* 31 */ "inherits ::= inherits inherit",
312 /* 32 */ "proc_body ::= proc_body PROC_BODY", 322 /* 32 */ "inherits ::= inherit",
313 /* 33 */ "proc_body ::=", 323 /* 33 */ "statement ::= INHERIT inherits",
314 /* 34 */ "statement ::= variable PROC_OPEN proc_body PROC_CLOSE", 324 /* 34 */ "statement ::= INCLUDE ISYMBOL",
315 /* 35 */ "statement ::= PYTHON SYMBOL PROC_OPEN proc_body PROC_CLOSE", 325 /* 35 */ "statement ::= REQUIRE ISYMBOL",
316 /* 36 */ "statement ::= PYTHON PROC_OPEN proc_body PROC_CLOSE", 326 /* 36 */ "proc_body ::= proc_body PROC_BODY",
317 /* 37 */ "statement ::= FAKEROOT SYMBOL PROC_OPEN proc_body PROC_CLOSE", 327 /* 37 */ "proc_body ::=",
318 /* 38 */ "def_body ::= def_body DEF_BODY", 328 /* 38 */ "statement ::= variable PROC_OPEN proc_body PROC_CLOSE",
319 /* 39 */ "def_body ::=", 329 /* 39 */ "statement ::= PYTHON SYMBOL PROC_OPEN proc_body PROC_CLOSE",
320 /* 40 */ "statement ::= SYMBOL DEF_ARGS def_body", 330 /* 40 */ "statement ::= PYTHON PROC_OPEN proc_body PROC_CLOSE",
331 /* 41 */ "statement ::= FAKEROOT SYMBOL PROC_OPEN proc_body PROC_CLOSE",
332 /* 42 */ "def_body ::= def_body DEF_BODY",
333 /* 43 */ "def_body ::=",
334 /* 44 */ "statement ::= SYMBOL DEF_ARGS def_body",
321}; 335};
322#endif /* NDEBUG */ 336#endif /* NDEBUG */
323 337
@@ -402,9 +416,11 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
402 case 25: 416 case 25:
403 case 26: 417 case 26:
404 case 27: 418 case 27:
419 case 28:
420 case 29:
405#line 50 "bitbakeparser.y" 421#line 50 "bitbakeparser.y"
406{ (yypminor->yy0).release_this (); } 422{ (yypminor->yy0).release_this (); }
407#line 409 "bitbakeparser.c" 423#line 425 "bitbakeparser.c"
408 break; 424 break;
409 default: break; /* If no destructor action specified: do nothing */ 425 default: break; /* If no destructor action specified: do nothing */
410 } 426 }
@@ -473,7 +489,9 @@ static int yy_find_shift_action(
473 int i; 489 int i;
474 int stateno = pParser->yystack[pParser->yyidx].stateno; 490 int stateno = pParser->yystack[pParser->yyidx].stateno;
475 491
476 if( stateno>YY_SHIFT_MAX || (i = yy_shift_ofst[stateno])==YY_SHIFT_USE_DFLT ){ 492 /* if( pParser->yyidx<0 ) return YY_NO_ACTION; */
493 i = yy_shift_ofst[stateno];
494 if( i==YY_SHIFT_USE_DFLT ){
477 return yy_default[stateno]; 495 return yy_default[stateno];
478 } 496 }
479 if( iLookAhead==YYNOCODE ){ 497 if( iLookAhead==YYNOCODE ){
@@ -515,8 +533,8 @@ static int yy_find_reduce_action(
515 int i; 533 int i;
516 /* int stateno = pParser->yystack[pParser->yyidx].stateno; */ 534 /* int stateno = pParser->yystack[pParser->yyidx].stateno; */
517 535
518 if( stateno>YY_REDUCE_MAX || 536 i = yy_reduce_ofst[stateno];
519 (i = yy_reduce_ofst[stateno])==YY_REDUCE_USE_DFLT ){ 537 if( i==YY_REDUCE_USE_DFLT ){
520 return yy_default[stateno]; 538 return yy_default[stateno];
521 } 539 }
522 if( iLookAhead==YYNOCODE ){ 540 if( iLookAhead==YYNOCODE ){
@@ -578,47 +596,51 @@ static const struct {
578 YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ 596 YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
579 unsigned char nrhs; /* Number of right-hand side symbols in the rule */ 597 unsigned char nrhs; /* Number of right-hand side symbols in the rule */
580} yyRuleInfo[] = { 598} yyRuleInfo[] = {
581 { 29, 1 }, 599 { 31, 1 },
582 { 30, 2 }, 600 { 32, 2 },
583 { 30, 0 }, 601 { 32, 0 },
584 { 32, 1 }, 602 { 34, 1 },
585 { 32, 1 }, 603 { 34, 1 },
586 { 31, 4 }, 604 { 33, 4 },
587 { 31, 4 }, 605 { 33, 4 },
588 { 31, 4 }, 606 { 33, 4 },
589 { 31, 3 }, 607 { 33, 4 },
590 { 31, 3 }, 608 { 33, 4 },
591 { 31, 3 },
592 { 31, 3 },
593 { 31, 3 },
594 { 33, 5 },
595 { 33, 5 },
596 { 33, 1 },
597 { 33, 3 }, 609 { 33, 3 },
598 { 33, 3 }, 610 { 33, 3 },
599 { 34, 2 }, 611 { 33, 3 },
600 { 34, 1 }, 612 { 33, 3 },
601 { 31, 2 }, 613 { 33, 3 },
602 { 31, 2 }, 614 { 33, 3 },
615 { 33, 3 },
616 { 35, 5 },
617 { 35, 5 },
603 { 35, 1 }, 618 { 35, 1 },
619 { 35, 3 },
620 { 35, 3 },
604 { 36, 2 }, 621 { 36, 2 },
605 { 36, 1 }, 622 { 36, 1 },
606 { 31, 2 }, 623 { 33, 2 },
624 { 33, 2 },
607 { 37, 1 }, 625 { 37, 1 },
608 { 38, 2 }, 626 { 38, 2 },
609 { 38, 1 }, 627 { 38, 1 },
610 { 31, 2 }, 628 { 33, 2 },
611 { 31, 2 }, 629 { 39, 1 },
612 { 31, 2 },
613 { 39, 2 },
614 { 39, 0 },
615 { 31, 4 },
616 { 31, 5 },
617 { 31, 4 },
618 { 31, 5 },
619 { 40, 2 }, 630 { 40, 2 },
620 { 40, 0 }, 631 { 40, 1 },
621 { 31, 3 }, 632 { 33, 2 },
633 { 33, 2 },
634 { 33, 2 },
635 { 41, 2 },
636 { 41, 0 },
637 { 33, 4 },
638 { 33, 5 },
639 { 33, 4 },
640 { 33, 5 },
641 { 42, 2 },
642 { 42, 0 },
643 { 33, 3 },
622}; 644};
623 645
624static void yy_accept(yyParser*); /* Forward Declaration */ 646static void yy_accept(yyParser*); /* Forward Declaration */
@@ -672,7 +694,7 @@ static void yy_reduce(
672{ yygotominor.yy0.assignString( (char*)yymsp[0].minor.yy0.string() ); 694{ yygotominor.yy0.assignString( (char*)yymsp[0].minor.yy0.string() );
673 yymsp[0].minor.yy0.assignString( 0 ); 695 yymsp[0].minor.yy0.assignString( 0 );
674 yymsp[0].minor.yy0.release_this(); } 696 yymsp[0].minor.yy0.release_this(); }
675#line 677 "bitbakeparser.c" 697#line 699 "bitbakeparser.c"
676 break; 698 break;
677 case 4: 699 case 4:
678#line 64 "bitbakeparser.y" 700#line 64 "bitbakeparser.y"
@@ -680,7 +702,7 @@ static void yy_reduce(
680 yygotominor.yy0.assignString( (char*)yymsp[0].minor.yy0.string() ); 702 yygotominor.yy0.assignString( (char*)yymsp[0].minor.yy0.string() );
681 yymsp[0].minor.yy0.assignString( 0 ); 703 yymsp[0].minor.yy0.assignString( 0 );
682 yymsp[0].minor.yy0.release_this(); } 704 yymsp[0].minor.yy0.release_this(); }
683#line 685 "bitbakeparser.c" 705#line 707 "bitbakeparser.c"
684 break; 706 break;
685 case 5: 707 case 5:
686#line 70 "bitbakeparser.y" 708#line 70 "bitbakeparser.y"
@@ -689,191 +711,223 @@ static void yy_reduce(
689 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(3,&yymsp[-3].minor); 711 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(3,&yymsp[-3].minor);
690 yy_destructor(4,&yymsp[-1].minor); 712 yy_destructor(4,&yymsp[-1].minor);
691} 713}
692#line 694 "bitbakeparser.c" 714#line 716 "bitbakeparser.c"
693 break; 715 break;
694 case 6: 716 case 6:
695#line 74 "bitbakeparser.y" 717#line 74 "bitbakeparser.y"
696{ e_immediate ( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() ); 718{ e_precat( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
697 e_export( lex, yymsp[-2].minor.yy0.string() ); 719 e_export( lex, yymsp[-2].minor.yy0.string() );
698 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(3,&yymsp[-3].minor); 720 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(3,&yymsp[-3].minor);
699 yy_destructor(6,&yymsp[-1].minor); 721 yy_destructor(6,&yymsp[-1].minor);
700} 722}
701#line 703 "bitbakeparser.c" 723#line 725 "bitbakeparser.c"
702 break; 724 break;
703 case 7: 725 case 7:
704#line 78 "bitbakeparser.y" 726#line 78 "bitbakeparser.y"
705{ e_cond( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() ); 727{ e_postcat( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
728 e_export( lex, yymsp[-2].minor.yy0.string() );
706 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(3,&yymsp[-3].minor); 729 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(3,&yymsp[-3].minor);
707 yy_destructor(7,&yymsp[-1].minor); 730 yy_destructor(7,&yymsp[-1].minor);
708} 731}
709#line 711 "bitbakeparser.c" 732#line 734 "bitbakeparser.c"
710 break; 733 break;
711 case 8: 734 case 8:
712#line 82 "bitbakeparser.y" 735#line 82 "bitbakeparser.y"
713{ e_assign( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() ); 736{ e_immediate ( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
714 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(4,&yymsp[-1].minor); 737 e_export( lex, yymsp[-2].minor.yy0.string() );
738 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(3,&yymsp[-3].minor);
739 yy_destructor(8,&yymsp[-1].minor);
715} 740}
716#line 718 "bitbakeparser.c" 741#line 743 "bitbakeparser.c"
717 break; 742 break;
718 case 9: 743 case 9:
719#line 85 "bitbakeparser.y" 744#line 86 "bitbakeparser.y"
720{ e_prepend( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() ); 745{ e_cond( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
721 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(8,&yymsp[-1].minor); 746 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(3,&yymsp[-3].minor);
747 yy_destructor(9,&yymsp[-1].minor);
722} 748}
723#line 725 "bitbakeparser.c" 749#line 751 "bitbakeparser.c"
724 break; 750 break;
725 case 10: 751 case 10:
726#line 88 "bitbakeparser.y" 752#line 90 "bitbakeparser.y"
727{ e_append( lex, yymsp[-2].minor.yy0.string() , yymsp[0].minor.yy0.string() ); 753{ e_assign( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
728 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(9,&yymsp[-1].minor); 754 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(4,&yymsp[-1].minor);
729} 755}
730#line 732 "bitbakeparser.c" 756#line 758 "bitbakeparser.c"
731 break; 757 break;
732 case 11: 758 case 11:
733#line 91 "bitbakeparser.y" 759#line 93 "bitbakeparser.y"
734{ e_immediate( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() ); 760{ e_precat( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
735 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(6,&yymsp[-1].minor); 761 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(6,&yymsp[-1].minor);
736} 762}
737#line 739 "bitbakeparser.c" 763#line 765 "bitbakeparser.c"
738 break; 764 break;
739 case 12: 765 case 12:
740#line 94 "bitbakeparser.y" 766#line 96 "bitbakeparser.y"
741{ e_cond( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() ); 767{ e_postcat( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
742 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(7,&yymsp[-1].minor); 768 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(7,&yymsp[-1].minor);
743} 769}
744#line 746 "bitbakeparser.c" 770#line 772 "bitbakeparser.c"
745 break; 771 break;
746 case 13: 772 case 13:
747#line 98 "bitbakeparser.y" 773#line 99 "bitbakeparser.y"
748{ e_addtask( lex, yymsp[-4].minor.yy0.string(), yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() ); 774{ e_prepend( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
749 yymsp[-4].minor.yy0.release_this(); yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(11,&yymsp[-3].minor); 775 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(10,&yymsp[-1].minor);
750 yy_destructor(12,&yymsp[-1].minor);
751} 776}
752#line 754 "bitbakeparser.c" 777#line 779 "bitbakeparser.c"
753 break; 778 break;
754 case 14: 779 case 14:
755#line 101 "bitbakeparser.y" 780#line 102 "bitbakeparser.y"
756{ e_addtask( lex, yymsp[-4].minor.yy0.string(), yymsp[0].minor.yy0.string(), yymsp[-2].minor.yy0.string()); 781{ e_append( lex, yymsp[-2].minor.yy0.string() , yymsp[0].minor.yy0.string() );
757 yymsp[-4].minor.yy0.release_this(); yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(12,&yymsp[-3].minor); 782 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(11,&yymsp[-1].minor);
758 yy_destructor(11,&yymsp[-1].minor);
759} 783}
760#line 762 "bitbakeparser.c" 784#line 786 "bitbakeparser.c"
761 break; 785 break;
762 case 15: 786 case 15:
763#line 104 "bitbakeparser.y" 787#line 105 "bitbakeparser.y"
788{ e_immediate( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
789 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(8,&yymsp[-1].minor);
790}
791#line 793 "bitbakeparser.c"
792 break;
793 case 16:
794#line 108 "bitbakeparser.y"
795{ e_cond( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
796 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(9,&yymsp[-1].minor);
797}
798#line 800 "bitbakeparser.c"
799 break;
800 case 17:
801#line 112 "bitbakeparser.y"
802{ e_addtask( lex, yymsp[-4].minor.yy0.string(), yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string() );
803 yymsp[-4].minor.yy0.release_this(); yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(13,&yymsp[-3].minor);
804 yy_destructor(14,&yymsp[-1].minor);
805}
806#line 808 "bitbakeparser.c"
807 break;
808 case 18:
809#line 115 "bitbakeparser.y"
810{ e_addtask( lex, yymsp[-4].minor.yy0.string(), yymsp[0].minor.yy0.string(), yymsp[-2].minor.yy0.string());
811 yymsp[-4].minor.yy0.release_this(); yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(14,&yymsp[-3].minor);
812 yy_destructor(13,&yymsp[-1].minor);
813}
814#line 816 "bitbakeparser.c"
815 break;
816 case 19:
817#line 118 "bitbakeparser.y"
764{ e_addtask( lex, yymsp[0].minor.yy0.string(), NULL, NULL); 818{ e_addtask( lex, yymsp[0].minor.yy0.string(), NULL, NULL);
765 yymsp[0].minor.yy0.release_this();} 819 yymsp[0].minor.yy0.release_this();}
766#line 768 "bitbakeparser.c" 820#line 822 "bitbakeparser.c"
767 break; 821 break;
768 case 16: 822 case 20:
769#line 107 "bitbakeparser.y" 823#line 121 "bitbakeparser.y"
770{ e_addtask( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string(), NULL); 824{ e_addtask( lex, yymsp[-2].minor.yy0.string(), yymsp[0].minor.yy0.string(), NULL);
771 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(11,&yymsp[-1].minor); 825 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(13,&yymsp[-1].minor);
772} 826}
773#line 775 "bitbakeparser.c" 827#line 829 "bitbakeparser.c"
774 break; 828 break;
775 case 17: 829 case 21:
776#line 110 "bitbakeparser.y" 830#line 124 "bitbakeparser.y"
777{ e_addtask( lex, yymsp[-2].minor.yy0.string(), NULL, yymsp[0].minor.yy0.string()); 831{ e_addtask( lex, yymsp[-2].minor.yy0.string(), NULL, yymsp[0].minor.yy0.string());
778 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(12,&yymsp[-1].minor); 832 yymsp[-2].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); yy_destructor(14,&yymsp[-1].minor);
779} 833}
780#line 782 "bitbakeparser.c" 834#line 836 "bitbakeparser.c"
781 break; 835 break;
782 case 21: 836 case 25:
783#line 117 "bitbakeparser.y" 837#line 131 "bitbakeparser.y"
784{ e_addhandler( lex, yymsp[0].minor.yy0.string()); yymsp[0].minor.yy0.release_this (); yy_destructor(14,&yymsp[-1].minor); 838{ e_addhandler( lex, yymsp[0].minor.yy0.string()); yymsp[0].minor.yy0.release_this (); yy_destructor(16,&yymsp[-1].minor);
785} 839}
786#line 788 "bitbakeparser.c" 840#line 842 "bitbakeparser.c"
787 break; 841 break;
788 case 22: 842 case 26:
789#line 119 "bitbakeparser.y" 843#line 133 "bitbakeparser.y"
790{ e_export_func( lex, yymsp[0].minor.yy0.string()); yymsp[0].minor.yy0.release_this(); } 844{ e_export_func( lex, yymsp[0].minor.yy0.string()); yymsp[0].minor.yy0.release_this(); }
791#line 793 "bitbakeparser.c" 845#line 847 "bitbakeparser.c"
792 break; 846 break;
793 case 26: 847 case 30:
794#line 124 "bitbakeparser.y" 848#line 138 "bitbakeparser.y"
795{ e_inherit( lex, yymsp[0].minor.yy0.string() ); yymsp[0].minor.yy0.release_this (); } 849{ e_inherit( lex, yymsp[0].minor.yy0.string() ); yymsp[0].minor.yy0.release_this (); }
796#line 798 "bitbakeparser.c" 850#line 852 "bitbakeparser.c"
797 break; 851 break;
798 case 30: 852 case 34:
799#line 130 "bitbakeparser.y" 853#line 144 "bitbakeparser.y"
800{ e_include( lex, yymsp[0].minor.yy0.string() ); yymsp[0].minor.yy0.release_this(); yy_destructor(19,&yymsp[-1].minor); 854{ e_include( lex, yymsp[0].minor.yy0.string() ); yymsp[0].minor.yy0.release_this(); yy_destructor(21,&yymsp[-1].minor);
801} 855}
802#line 804 "bitbakeparser.c" 856#line 858 "bitbakeparser.c"
803 break; 857 break;
804 case 31: 858 case 35:
805#line 133 "bitbakeparser.y" 859#line 147 "bitbakeparser.y"
806{ e_require( lex, yymsp[0].minor.yy0.string() ); yymsp[0].minor.yy0.release_this(); yy_destructor(20,&yymsp[-1].minor); 860{ e_require( lex, yymsp[0].minor.yy0.string() ); yymsp[0].minor.yy0.release_this(); yy_destructor(22,&yymsp[-1].minor);
807} 861}
808#line 810 "bitbakeparser.c" 862#line 864 "bitbakeparser.c"
809 break; 863 break;
810 case 32: 864 case 36:
811#line 136 "bitbakeparser.y" 865#line 150 "bitbakeparser.y"
812{ /* concatenate body lines */ 866{ /* concatenate body lines */
813 yygotominor.yy0.assignString( token_t::concatString(yymsp[-1].minor.yy0.string(), yymsp[0].minor.yy0.string()) ); 867 yygotominor.yy0.assignString( token_t::concatString(yymsp[-1].minor.yy0.string(), yymsp[0].minor.yy0.string()) );
814 yymsp[-1].minor.yy0.release_this (); 868 yymsp[-1].minor.yy0.release_this ();
815 yymsp[0].minor.yy0.release_this (); 869 yymsp[0].minor.yy0.release_this ();
816 } 870 }
817#line 819 "bitbakeparser.c" 871#line 873 "bitbakeparser.c"
818 break; 872 break;
819 case 33: 873 case 37:
820#line 141 "bitbakeparser.y" 874#line 155 "bitbakeparser.y"
821{ yygotominor.yy0.assignString(0); } 875{ yygotominor.yy0.assignString(0); }
822#line 824 "bitbakeparser.c" 876#line 878 "bitbakeparser.c"
823 break; 877 break;
824 case 34: 878 case 38:
825#line 143 "bitbakeparser.y" 879#line 157 "bitbakeparser.y"
826{ e_proc( lex, yymsp[-3].minor.yy0.string(), yymsp[-1].minor.yy0.string() ); 880{ e_proc( lex, yymsp[-3].minor.yy0.string(), yymsp[-1].minor.yy0.string() );
827 yymsp[-3].minor.yy0.release_this(); yymsp[-1].minor.yy0.release_this(); yy_destructor(22,&yymsp[-2].minor); 881 yymsp[-3].minor.yy0.release_this(); yymsp[-1].minor.yy0.release_this(); yy_destructor(24,&yymsp[-2].minor);
828 yy_destructor(23,&yymsp[0].minor); 882 yy_destructor(25,&yymsp[0].minor);
829} 883}
830#line 832 "bitbakeparser.c" 884#line 886 "bitbakeparser.c"
831 break; 885 break;
832 case 35: 886 case 39:
833#line 146 "bitbakeparser.y" 887#line 160 "bitbakeparser.y"
834{ e_proc_python ( lex, yymsp[-3].minor.yy0.string(), yymsp[-1].minor.yy0.string() ); 888{ e_proc_python ( lex, yymsp[-3].minor.yy0.string(), yymsp[-1].minor.yy0.string() );
835 yymsp[-3].minor.yy0.release_this(); yymsp[-1].minor.yy0.release_this(); yy_destructor(24,&yymsp[-4].minor); 889 yymsp[-3].minor.yy0.release_this(); yymsp[-1].minor.yy0.release_this(); yy_destructor(26,&yymsp[-4].minor);
836 yy_destructor(22,&yymsp[-2].minor); 890 yy_destructor(24,&yymsp[-2].minor);
837 yy_destructor(23,&yymsp[0].minor); 891 yy_destructor(25,&yymsp[0].minor);
838} 892}
839#line 841 "bitbakeparser.c" 893#line 895 "bitbakeparser.c"
840 break; 894 break;
841 case 36: 895 case 40:
842#line 149 "bitbakeparser.y" 896#line 163 "bitbakeparser.y"
843{ e_proc_python( lex, NULL, yymsp[-1].minor.yy0.string()); 897{ e_proc_python( lex, NULL, yymsp[-1].minor.yy0.string());
844 yymsp[-1].minor.yy0.release_this (); yy_destructor(24,&yymsp[-3].minor); 898 yymsp[-1].minor.yy0.release_this (); yy_destructor(26,&yymsp[-3].minor);
845 yy_destructor(22,&yymsp[-2].minor); 899 yy_destructor(24,&yymsp[-2].minor);
846 yy_destructor(23,&yymsp[0].minor); 900 yy_destructor(25,&yymsp[0].minor);
847} 901}
848#line 850 "bitbakeparser.c" 902#line 904 "bitbakeparser.c"
849 break; 903 break;
850 case 37: 904 case 41:
851#line 153 "bitbakeparser.y" 905#line 167 "bitbakeparser.y"
852{ e_proc_fakeroot( lex, yymsp[-3].minor.yy0.string(), yymsp[-1].minor.yy0.string() ); 906{ e_proc_fakeroot( lex, yymsp[-3].minor.yy0.string(), yymsp[-1].minor.yy0.string() );
853 yymsp[-3].minor.yy0.release_this (); yymsp[-1].minor.yy0.release_this (); yy_destructor(25,&yymsp[-4].minor); 907 yymsp[-3].minor.yy0.release_this (); yymsp[-1].minor.yy0.release_this (); yy_destructor(27,&yymsp[-4].minor);
854 yy_destructor(22,&yymsp[-2].minor); 908 yy_destructor(24,&yymsp[-2].minor);
855 yy_destructor(23,&yymsp[0].minor); 909 yy_destructor(25,&yymsp[0].minor);
856} 910}
857#line 859 "bitbakeparser.c" 911#line 913 "bitbakeparser.c"
858 break; 912 break;
859 case 38: 913 case 42:
860#line 157 "bitbakeparser.y" 914#line 171 "bitbakeparser.y"
861{ /* concatenate body lines */ 915{ /* concatenate body lines */
862 yygotominor.yy0.assignString( token_t::concatString(yymsp[-1].minor.yy0.string(), yymsp[0].minor.yy0.string()) ); 916 yygotominor.yy0.assignString( token_t::concatString(yymsp[-1].minor.yy0.string(), yymsp[0].minor.yy0.string()) );
863 yymsp[-1].minor.yy0.release_this (); yymsp[0].minor.yy0.release_this (); 917 yymsp[-1].minor.yy0.release_this (); yymsp[0].minor.yy0.release_this ();
864 } 918 }
865#line 867 "bitbakeparser.c" 919#line 921 "bitbakeparser.c"
866 break; 920 break;
867 case 39: 921 case 43:
868#line 161 "bitbakeparser.y" 922#line 175 "bitbakeparser.y"
869{ yygotominor.yy0.assignString( 0 ); } 923{ yygotominor.yy0.assignString( 0 ); }
870#line 872 "bitbakeparser.c" 924#line 926 "bitbakeparser.c"
871 break; 925 break;
872 case 40: 926 case 44:
873#line 163 "bitbakeparser.y" 927#line 177 "bitbakeparser.y"
874{ e_def( lex, yymsp[-2].minor.yy0.string(), yymsp[-1].minor.yy0.string(), yymsp[0].minor.yy0.string()); 928{ e_def( lex, yymsp[-2].minor.yy0.string(), yymsp[-1].minor.yy0.string(), yymsp[0].minor.yy0.string());
875 yymsp[-2].minor.yy0.release_this(); yymsp[-1].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); } 929 yymsp[-2].minor.yy0.release_this(); yymsp[-1].minor.yy0.release_this(); yymsp[0].minor.yy0.release_this(); }
876#line 878 "bitbakeparser.c" 930#line 932 "bitbakeparser.c"
877 break; 931 break;
878 }; 932 };
879 yygoto = yyRuleInfo[yyruleno].lhs; 933 yygoto = yyRuleInfo[yyruleno].lhs;
@@ -932,7 +986,7 @@ static void yy_syntax_error(
932#define TOKEN (yyminor.yy0) 986#define TOKEN (yyminor.yy0)
933#line 52 "bitbakeparser.y" 987#line 52 "bitbakeparser.y"
934 e_parse_error( lex ); 988 e_parse_error( lex );
935#line 938 "bitbakeparser.c" 989#line 992 "bitbakeparser.c"
936 bbparseARG_STORE; /* Suppress warning about unused %extra_argument variable */ 990 bbparseARG_STORE; /* Suppress warning about unused %extra_argument variable */
937} 991}
938 992