1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10: 11:
12: class TP_yyToken implements ArrayAccess
13: {
14: public $string = '';
15: public $metadata = array();
16:
17: public function __construct($s, $m = array())
18: {
19: if ($s instanceof TP_yyToken) {
20: $this->string = $s->string;
21: $this->metadata = $s->metadata;
22: } else {
23: $this->string = (string) $s;
24: if ($m instanceof TP_yyToken) {
25: $this->metadata = $m->metadata;
26: } elseif (is_array($m)) {
27: $this->metadata = $m;
28: }
29: }
30: }
31:
32: public function __toString()
33: {
34: return $this->_string;
35: }
36:
37: public function offsetExists($offset)
38: {
39: return isset($this->metadata[$offset]);
40: }
41:
42: public function offsetGet($offset)
43: {
44: return $this->metadata[$offset];
45: }
46:
47: public function offsetSet($offset, $value)
48: {
49: if ($offset === null) {
50: if (isset($value[0])) {
51: $x = ($value instanceof TP_yyToken) ?
52: $value->metadata : $value;
53: $this->metadata = array_merge($this->metadata, $x);
54:
55: return;
56: }
57: $offset = count($this->metadata);
58: }
59: if ($value === null) {
60: return;
61: }
62: if ($value instanceof TP_yyToken) {
63: if ($value->metadata) {
64: $this->metadata[$offset] = $value->metadata;
65: }
66: } elseif ($value) {
67: $this->metadata[$offset] = $value;
68: }
69: }
70:
71: public function offsetUnset($offset)
72: {
73: unset($this->metadata[$offset]);
74: }
75: }
76:
77: class TP_yyStackEntry
78: {
79: public $stateno;
80: public $major; 81:
82: public $minor; 83:
84: }
85:
86: ;
87:
88:
89: class Smarty_Internal_Templateparser
90: {
91:
92:
93: const Err1 = "Security error: Call to private object member not allowed";
94: const Err2 = "Security error: Call to dynamic object member not allowed";
95: const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
96:
97: public $successful = true;
98: public $retvalue = 0;
99: public static $prefix_number = 0;
100: private $_string;
101: public $yymajor;
102: public $last_index;
103: public $last_variable;
104: public $root_buffer;
105: public $current_buffer;
106: private $lex;
107: private $internalError = false;
108: private $strip = false;
109:
110: function __construct($lex, $compiler)
111: {
112: $this->lex = $lex;
113: $this->compiler = $compiler;
114: $this->smarty = $this->compiler->smarty;
115: $this->template = $this->compiler->template;
116: $this->compiler->has_variable_string = false;
117: $this->compiler->prefix_code = array();
118: $this->block_nesting_level = 0;
119: if ($this->security = isset($this->smarty->security_policy)) {
120: $this->php_handling = $this->smarty->security_policy->php_handling;
121: } else {
122: $this->php_handling = $this->smarty->php_handling;
123: }
124: $this->is_xml = false;
125: $this->asp_tags = (ini_get('asp_tags') != '0');
126: $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
127: }
128:
129: public function compileVariable($variable)
130: {
131: if (strpos($variable, '(') == 0) {
132:
133: $var = trim($variable, '\'');
134: $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable($var, null, true, false)->nocache;
135: $this->template->properties['variables'][$var] = $this->compiler->tag_nocache | $this->compiler->nocache;
136: }
137:
138: return '$_smarty_tpl->tpl_vars[' . $variable . ']->value';
139: }
140:
141:
142:
143: const TP_VERT = 1;
144: const TP_COLON = 2;
145: const TP_RDEL = 3;
146: const TP_COMMENT = 4;
147: const TP_PHPSTARTTAG = 5;
148: const TP_PHPENDTAG = 6;
149: const TP_PHPENDSCRIPT = 7;
150: const TP_ASPSTARTTAG = 8;
151: const TP_ASPENDTAG = 9;
152: const TP_XMLTAG = 10;
153: const TP_TEXT = 11;
154: const TP_STRIPON = 12;
155: const TP_STRIPOFF = 13;
156: const TP_BLOCKSOURCE = 14;
157: const TP_LITERALSTART = 15;
158: const TP_LITERALEND = 16;
159: const TP_LITERAL = 17;
160: const TP_LDEL = 18;
161: const TP_DOLLAR = 19;
162: const TP_ID = 20;
163: const TP_EQUAL = 21;
164: const TP_PTR = 22;
165: const TP_LDELIF = 23;
166: const TP_LDELFOR = 24;
167: const TP_SEMICOLON = 25;
168: const TP_INCDEC = 26;
169: const TP_TO = 27;
170: const TP_STEP = 28;
171: const TP_LDELFOREACH = 29;
172: const TP_SPACE = 30;
173: const TP_AS = 31;
174: const TP_APTR = 32;
175: const TP_LDELSETFILTER = 33;
176: const TP_SMARTYBLOCKCHILDPARENT = 34;
177: const TP_LDELSLASH = 35;
178: const TP_ATTR = 36;
179: const TP_INTEGER = 37;
180: const TP_COMMA = 38;
181: const TP_OPENP = 39;
182: const TP_CLOSEP = 40;
183: const TP_MATH = 41;
184: const TP_UNIMATH = 42;
185: const TP_ANDSYM = 43;
186: const TP_ISIN = 44;
187: const TP_ISDIVBY = 45;
188: const TP_ISNOTDIVBY = 46;
189: const TP_ISEVEN = 47;
190: const TP_ISNOTEVEN = 48;
191: const TP_ISEVENBY = 49;
192: const TP_ISNOTEVENBY = 50;
193: const TP_ISODD = 51;
194: const TP_ISNOTODD = 52;
195: const TP_ISODDBY = 53;
196: const TP_ISNOTODDBY = 54;
197: const TP_INSTANCEOF = 55;
198: const TP_QMARK = 56;
199: const TP_NOT = 57;
200: const TP_TYPECAST = 58;
201: const TP_HEX = 59;
202: const TP_DOT = 60;
203: const TP_SINGLEQUOTESTRING = 61;
204: const TP_DOUBLECOLON = 62;
205: const TP_AT = 63;
206: const TP_HATCH = 64;
207: const TP_OPENB = 65;
208: const TP_CLOSEB = 66;
209: const TP_EQUALS = 67;
210: const TP_NOTEQUALS = 68;
211: const TP_GREATERTHAN = 69;
212: const TP_LESSTHAN = 70;
213: const TP_GREATEREQUAL = 71;
214: const TP_LESSEQUAL = 72;
215: const TP_IDENTITY = 73;
216: const TP_NONEIDENTITY = 74;
217: const TP_MOD = 75;
218: const TP_LAND = 76;
219: const TP_LOR = 77;
220: const TP_LXOR = 78;
221: const TP_QUOTE = 79;
222: const TP_BACKTICK = 80;
223: const TP_DOLLARID = 81;
224: const YY_NO_ACTION = 560;
225: const YY_ACCEPT_ACTION = 559;
226: const YY_ERROR_ACTION = 558;
227:
228: const YY_SZ_ACTTAB = 2541;
229: static public $yy_action = array(
230:
231: 225, 35, 312, 333, 198, 272, 273, 275, 283, 292,
232:
233: 293, 294, 295, 287, 288, 267, 190, 43, 19, 8,
234:
235: 204, 14, 212, 299, 2, 108, 225, 9, 424, 41,
236:
237: 139, 208, 225, 41, 250, 32, 228, 13, 159, 32,
238:
239: 51, 52, 50, 44, 11, 12, 298, 300, 21, 23,
240:
241: 303, 302, 25, 17, 225, 424, 234, 225, 225, 381,
242:
243: 421, 424, 45, 38, 145, 357, 313, 323, 322, 324,
244:
245: 325, 326, 320, 315, 314, 316, 317, 319, 127, 41,
246:
247: 46, 42, 338, 41, 168, 32, 41, 421, 14, 32,
248:
249: 299, 34, 32, 421, 51, 52, 50, 44, 11, 12,
250:
251: 298, 300, 21, 23, 303, 302, 25, 17, 225, 104,
252:
253: 185, 46, 46, 559, 95, 279, 242, 271, 3, 321,
254:
255: 313, 323, 322, 324, 325, 326, 320, 315, 314, 316,
256:
257: 317, 319, 14, 241, 299, 34, 208, 41, 225, 14,
258:
259: 418, 299, 28, 32, 179, 7, 356, 285, 51, 52,
260:
261: 50, 44, 11, 12, 298, 300, 21, 23, 303, 302,
262:
263: 25, 17, 225, 225, 274, 424, 240, 41, 134, 190,
264:
265: 332, 343, 340, 32, 313, 323, 322, 324, 325, 326,
266:
267: 320, 315, 314, 316, 317, 319, 37, 122, 182, 31,
268:
269: 202, 225, 424, 352, 225, 14, 7, 299, 424, 225,
270:
271: 150, 386, 51, 52, 50, 44, 11, 12, 298, 300,
272:
273: 21, 23, 303, 302, 25, 17, 225, 46, 349, 134,
274:
275: 41, 278, 242, 271, 7, 29, 32, 341, 313, 323,
276:
277: 322, 324, 325, 326, 320, 315, 314, 316, 317, 319,
278:
279: 226, 227, 197, 304, 103, 184, 232, 134, 46, 14,
280:
281: 35, 299, 265, 46, 321, 18, 51, 52, 50, 44,
282:
283: 11, 12, 298, 300, 21, 23, 303, 302, 25, 17,
284:
285: 225, 208, 264, 259, 258, 218, 6, 109, 345, 35,
286:
287: 193, 263, 313, 323, 322, 324, 325, 326, 320, 315,
288:
289: 314, 316, 317, 319, 241, 192, 304, 107, 102, 175,
290:
291: 269, 201, 191, 304, 203, 142, 253, 208, 321, 335,
292:
293: 51, 52, 50, 44, 11, 12, 298, 300, 21, 23,
294:
295: 303, 302, 25, 17, 225, 208, 268, 196, 208, 305,
296:
297: 485, 208, 230, 200, 308, 485, 313, 323, 322, 324,
298:
299: 325, 326, 320, 315, 314, 316, 317, 319, 30, 159,
300:
301: 105, 20, 233, 161, 186, 305, 301, 274, 256, 247,
302:
303: 208, 225, 321, 36, 51, 52, 50, 44, 11, 12,
304:
305: 298, 300, 21, 23, 303, 302, 25, 17, 225, 204,
306:
307: 207, 14, 254, 299, 131, 259, 249, 225, 158, 127,
308:
309: 313, 323, 322, 324, 325, 326, 320, 315, 314, 316,
310:
311: 317, 319, 237, 262, 130, 225, 45, 183, 187, 14,
312:
313: 169, 223, 301, 342, 274, 334, 321, 321, 51, 52,
314:
315: 50, 44, 11, 12, 298, 300, 21, 23, 303, 302,
316:
317: 25, 17, 225, 204, 204, 14, 6, 244, 141, 259,
318:
319: 291, 46, 98, 194, 313, 323, 322, 324, 325, 326,
320:
321: 320, 315, 314, 316, 317, 319, 132, 262, 227, 166,
322:
323: 163, 189, 14, 284, 231, 26, 237, 27, 321, 321,
324:
325: 321, 32, 51, 52, 50, 44, 11, 12, 298, 300,
326:
327: 21, 23, 303, 302, 25, 17, 225, 204, 14, 276,
328:
329: 245, 206, 22, 4, 144, 328, 150, 120, 313, 323,
330:
331: 322, 324, 325, 326, 320, 315, 314, 316, 317, 319,
332:
333: 195, 348, 262, 176, 171, 39, 30, 199, 143, 180,
334:
335: 148, 281, 321, 260, 159, 230, 51, 52, 50, 44,
336:
337: 11, 12, 298, 300, 21, 23, 303, 302, 25, 17,
338:
339: 225, 296, 205, 129, 346, 289, 124, 329, 125, 339,
340:
341: 97, 119, 313, 323, 322, 324, 325, 326, 320, 315,
342:
343: 314, 316, 317, 319, 127, 262, 262, 239, 277, 282,
344:
345: 307, 94, 266, 351, 269, 170, 159, 181, 172, 106,
346:
347: 51, 52, 50, 44, 11, 12, 298, 300, 21, 23,
348:
349: 303, 302, 25, 17, 225, 330, 270, 301, 15, 115,
350:
351: 331, 310, 326, 255, 140, 126, 313, 323, 322, 324,
352:
353: 325, 326, 320, 315, 314, 316, 317, 319, 301, 326,
354:
355: 262, 326, 326, 326, 326, 326, 326, 326, 326, 326,
356:
357: 326, 326, 326, 243, 51, 52, 50, 44, 11, 12,
358:
359: 298, 300, 21, 23, 303, 302, 25, 17, 225, 40,
360:
361: 326, 326, 326, 326, 326, 326, 326, 113, 99, 100,
362:
363: 313, 323, 322, 324, 325, 326, 320, 315, 314, 316,
364:
365: 317, 319, 262, 262, 262, 326, 326, 326, 326, 326,
366:
367: 326, 326, 326, 326, 326, 326, 326, 326, 51, 52,
368:
369: 50, 44, 11, 12, 298, 300, 21, 23, 303, 302,
370:
371: 25, 17, 225, 326, 326, 326, 326, 326, 326, 326,
372:
373: 326, 114, 326, 326, 313, 323, 322, 324, 325, 326,
374:
375: 320, 315, 314, 316, 317, 319, 262, 326, 326, 326,
376:
377: 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
378:
379: 326, 286, 51, 52, 50, 44, 11, 12, 298, 300,
380:
381: 21, 23, 303, 302, 25, 17, 225, 326, 326, 326,
382:
383: 326, 326, 326, 326, 326, 326, 326, 326, 313, 323,
384:
385: 322, 324, 325, 326, 320, 315, 314, 316, 317, 319,
386:
387: 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
388:
389: 326, 326, 326, 326, 326, 326, 51, 52, 50, 44,
390:
391: 11, 12, 298, 300, 21, 23, 303, 302, 25, 17,
392:
393: 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
394:
395: 159, 326, 313, 323, 322, 324, 325, 326, 320, 315,
396:
397: 314, 316, 317, 319, 326, 326, 326, 326, 51, 52,
398:
399: 50, 44, 11, 12, 298, 300, 21, 23, 303, 302,
400:
401: 25, 17, 326, 326, 326, 326, 326, 326, 212, 326,
402:
403: 326, 326, 326, 9, 313, 323, 322, 324, 325, 326,
404:
405: 320, 315, 314, 316, 317, 319, 326, 326, 326, 326,
406:
407: 326, 326, 326, 8, 138, 211, 326, 326, 2, 108,
408:
409: 326, 235, 326, 326, 139, 157, 165, 326, 250, 128,
410:
411: 228, 326, 246, 326, 24, 321, 326, 48, 261, 326,
412:
413: 326, 251, 336, 353, 326, 311, 326, 301, 174, 173,
414:
415: 326, 326, 49, 47, 280, 238, 297, 321, 321, 105,
416:
417: 1, 337, 326, 147, 326, 326, 326, 326, 326, 301,
418:
419: 301, 8, 123, 92, 96, 257, 2, 108, 326, 311,
420:
421: 326, 326, 139, 326, 326, 235, 250, 309, 228, 146,
422:
423: 246, 326, 24, 128, 162, 48, 326, 326, 326, 326,
424:
425: 235, 326, 350, 321, 155, 251, 336, 353, 128, 311,
426:
427: 49, 47, 280, 238, 297, 301, 326, 105, 1, 326,
428:
429: 251, 336, 353, 326, 311, 14, 326, 299, 326, 8,
430:
431: 138, 224, 96, 326, 2, 108, 326, 41, 326, 252,
432:
433: 139, 235, 326, 32, 250, 153, 228, 326, 246, 128,
434:
435: 24, 326, 326, 48, 326, 326, 326, 326, 326, 326,
436:
437: 326, 251, 336, 353, 326, 311, 326, 326, 49, 47,
438:
439: 280, 238, 297, 326, 326, 105, 1, 326, 326, 326,
440:
441: 326, 326, 14, 326, 299, 326, 326, 8, 142, 224,
442:
443: 96, 326, 2, 108, 41, 235, 248, 326, 139, 154,
444:
445: 32, 235, 250, 128, 228, 156, 246, 326, 33, 128,
446:
447: 326, 48, 326, 326, 326, 251, 336, 353, 326, 311,
448:
449: 326, 251, 336, 353, 326, 311, 49, 47, 280, 238,
450:
451: 297, 326, 326, 105, 1, 326, 326, 326, 326, 326,
452:
453: 326, 326, 326, 326, 326, 8, 138, 213, 96, 326,
454:
455: 2, 108, 326, 326, 326, 326, 139, 235, 326, 326,
456:
457: 250, 149, 228, 326, 246, 128, 24, 326, 326, 48,
458:
459: 326, 326, 326, 326, 326, 326, 326, 251, 336, 353,
460:
461: 326, 311, 326, 326, 49, 47, 280, 238, 297, 326,
462:
463: 326, 105, 1, 326, 326, 326, 326, 326, 326, 326,
464:
465: 326, 326, 326, 8, 138, 210, 96, 326, 2, 108,
466:
467: 326, 326, 326, 326, 139, 235, 326, 326, 250, 151,
468:
469: 228, 326, 219, 128, 24, 326, 326, 48, 326, 326,
470:
471: 326, 326, 326, 326, 326, 251, 336, 353, 326, 311,
472:
473: 326, 326, 49, 47, 280, 238, 297, 326, 326, 105,
474:
475: 1, 326, 326, 326, 326, 326, 326, 326, 326, 326,
476:
477: 326, 8, 136, 224, 96, 326, 2, 108, 326, 326,
478:
479: 326, 326, 139, 235, 326, 326, 250, 152, 228, 326,
480:
481: 246, 128, 24, 326, 326, 48, 326, 326, 326, 326,
482:
483: 326, 326, 326, 251, 336, 353, 326, 311, 326, 326,
484:
485: 49, 47, 280, 238, 297, 326, 326, 105, 1, 326,
486:
487: 225, 326, 391, 326, 422, 326, 326, 326, 326, 8,
488:
489: 135, 224, 96, 326, 2, 108, 326, 326, 326, 326,
490:
491: 139, 236, 229, 326, 250, 326, 228, 326, 246, 41,
492:
493: 5, 422, 326, 48, 326, 32, 326, 422, 7, 326,
494:
495: 7, 326, 326, 326, 198, 178, 326, 326, 49, 47,
496:
497: 280, 238, 297, 326, 321, 105, 1, 43, 19, 326,
498:
499: 326, 134, 326, 134, 326, 326, 326, 8, 138, 209,
500:
501: 96, 208, 2, 108, 326, 326, 326, 326, 139, 326,
502:
503: 326, 326, 250, 326, 228, 326, 246, 326, 24, 198,
504:
505: 164, 48, 326, 326, 326, 326, 326, 326, 326, 321,
506:
507: 326, 326, 43, 19, 326, 326, 49, 47, 280, 238,
508:
509: 297, 326, 326, 105, 1, 326, 208, 326, 326, 326,
510:
511: 326, 326, 326, 326, 326, 8, 142, 224, 96, 326,
512:
513: 2, 108, 326, 326, 326, 326, 139, 326, 326, 326,
514:
515: 250, 326, 228, 326, 246, 326, 33, 198, 177, 48,
516:
517: 326, 326, 326, 326, 326, 326, 326, 321, 326, 326,
518:
519: 43, 19, 326, 326, 49, 47, 280, 238, 297, 326,
520:
521: 326, 105, 326, 326, 208, 326, 326, 326, 326, 326,
522:
523: 326, 326, 326, 8, 142, 222, 96, 326, 2, 108,
524:
525: 326, 326, 326, 326, 139, 326, 326, 326, 250, 326,
526:
527: 228, 326, 246, 326, 33, 326, 467, 48, 326, 326,
528:
529: 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
530:
531: 326, 326, 49, 47, 280, 238, 297, 326, 467, 105,
532:
533: 467, 467, 326, 467, 467, 326, 326, 326, 326, 467,
534:
535: 326, 467, 7, 467, 96, 326, 326, 326, 326, 326,
536:
537: 326, 326, 326, 326, 326, 235, 326, 326, 467, 121,
538:
539: 326, 326, 86, 128, 326, 134, 326, 326, 326, 467,
540:
541: 326, 290, 318, 326, 326, 251, 336, 353, 326, 311,
542:
543: 326, 326, 326, 467, 326, 326, 326, 235, 326, 216,
544:
545: 354, 133, 326, 326, 68, 117, 249, 326, 326, 326,
546:
547: 326, 326, 326, 290, 318, 326, 326, 251, 336, 353,
548:
549: 235, 311, 326, 326, 133, 326, 326, 76, 128, 326,
550:
551: 326, 326, 326, 326, 326, 326, 290, 318, 326, 235,
552:
553: 251, 336, 353, 133, 311, 326, 76, 128, 326, 326,
554:
555: 326, 221, 326, 326, 326, 290, 318, 326, 326, 251,
556:
557: 336, 353, 326, 311, 326, 326, 326, 326, 235, 326,
558:
559: 215, 326, 121, 326, 326, 86, 128, 326, 326, 326,
560:
561: 326, 326, 326, 326, 290, 318, 326, 326, 251, 336,
562:
563: 353, 235, 311, 326, 326, 133, 326, 326, 59, 117,
564:
565: 137, 326, 326, 355, 326, 326, 326, 290, 318, 326,
566:
567: 326, 251, 336, 353, 235, 311, 326, 326, 133, 326,
568:
569: 326, 76, 128, 326, 326, 326, 326, 326, 326, 326,
570:
571: 290, 318, 326, 235, 251, 336, 353, 110, 311, 326,
572:
573: 69, 128, 326, 326, 326, 217, 326, 326, 326, 290,
574:
575: 318, 326, 326, 251, 336, 353, 326, 311, 326, 235,
576:
577: 101, 160, 326, 133, 326, 326, 57, 128, 326, 326,
578:
579: 321, 326, 326, 43, 19, 290, 318, 326, 235, 251,
580:
581: 336, 353, 133, 311, 326, 73, 128, 208, 326, 326,
582:
583: 326, 326, 326, 326, 290, 318, 326, 326, 251, 336,
584:
585: 353, 235, 311, 326, 326, 133, 326, 326, 78, 128,
586:
587: 326, 326, 326, 326, 326, 326, 326, 290, 318, 326,
588:
589: 235, 251, 336, 353, 133, 311, 326, 70, 128, 326,
590:
591: 326, 326, 326, 326, 326, 326, 290, 318, 326, 326,
592:
593: 251, 336, 353, 326, 311, 326, 235, 198, 167, 326,
594:
595: 133, 326, 326, 64, 128, 326, 326, 321, 326, 326,
596:
597: 43, 19, 290, 318, 326, 235, 251, 336, 353, 133,
598:
599: 311, 326, 67, 128, 208, 326, 326, 326, 326, 326,
600:
601: 326, 290, 318, 326, 326, 251, 336, 353, 235, 311,
602:
603: 326, 326, 133, 326, 326, 88, 128, 326, 326, 326,
604:
605: 326, 326, 326, 326, 290, 318, 326, 235, 251, 336,
606:
607: 353, 133, 311, 326, 82, 128, 326, 326, 326, 326,
608:
609: 326, 326, 326, 290, 318, 326, 326, 251, 336, 353,
610:
611: 326, 311, 326, 235, 198, 188, 326, 133, 326, 326,
612:
613: 72, 128, 326, 326, 321, 326, 326, 43, 19, 290,
614:
615: 318, 326, 235, 251, 336, 353, 93, 311, 326, 55,
616:
617: 116, 208, 326, 326, 326, 326, 326, 326, 290, 318,
618:
619: 326, 326, 251, 336, 353, 235, 311, 326, 326, 112,
620:
621: 326, 326, 87, 128, 326, 326, 326, 326, 326, 326,
622:
623: 326, 290, 318, 326, 235, 251, 336, 353, 133, 311,
624:
625: 326, 77, 128, 326, 326, 326, 326, 326, 326, 326,
626:
627: 290, 318, 326, 326, 251, 336, 353, 326, 311, 326,
628:
629: 235, 326, 326, 326, 133, 326, 326, 89, 128, 326,
630:
631: 326, 326, 326, 326, 326, 326, 290, 318, 326, 235,
632:
633: 251, 336, 353, 133, 311, 326, 75, 128, 326, 326,
634:
635: 326, 326, 326, 326, 326, 290, 318, 326, 326, 251,
636:
637: 336, 353, 235, 311, 326, 326, 133, 326, 326, 91,
638:
639: 128, 326, 326, 326, 326, 326, 326, 326, 290, 318,
640:
641: 326, 235, 251, 336, 353, 133, 311, 326, 62, 128,
642:
643: 326, 326, 326, 326, 326, 326, 326, 290, 318, 326,
644:
645: 326, 251, 336, 353, 326, 311, 326, 235, 326, 326,
646:
647: 326, 93, 326, 326, 53, 116, 326, 326, 326, 326,
648:
649: 326, 326, 326, 290, 318, 326, 235, 220, 336, 353,
650:
651: 133, 311, 326, 63, 128, 326, 326, 326, 326, 326,
652:
653: 326, 326, 290, 318, 326, 326, 251, 336, 353, 235,
654:
655: 311, 326, 326, 133, 326, 326, 61, 128, 326, 326,
656:
657: 326, 326, 326, 326, 326, 290, 318, 326, 235, 214,
658:
659: 336, 353, 133, 311, 326, 71, 128, 326, 326, 326,
660:
661: 326, 326, 326, 326, 290, 318, 326, 326, 251, 336,
662:
663: 353, 326, 311, 326, 235, 326, 326, 326, 133, 326,
664:
665: 326, 85, 128, 326, 326, 326, 326, 326, 326, 326,
666:
667: 290, 318, 326, 235, 251, 336, 353, 133, 311, 326,
668:
669: 65, 128, 326, 326, 326, 326, 326, 326, 326, 290,
670:
671: 318, 326, 326, 251, 336, 353, 235, 311, 326, 326,
672:
673: 111, 326, 326, 74, 128, 326, 326, 326, 326, 326,
674:
675: 326, 326, 290, 318, 326, 235, 251, 336, 353, 118,
676:
677: 311, 326, 58, 128, 326, 326, 326, 326, 326, 326,
678:
679: 326, 290, 318, 326, 326, 251, 336, 353, 326, 311,
680:
681: 326, 235, 326, 326, 326, 133, 326, 326, 56, 128,
682:
683: 326, 326, 326, 326, 326, 326, 326, 290, 318, 326,
684:
685: 235, 251, 336, 353, 133, 311, 326, 79, 128, 326,
686:
687: 326, 326, 326, 326, 326, 326, 290, 318, 326, 326,
688:
689: 251, 336, 353, 235, 311, 326, 326, 133, 326, 326,
690:
691: 80, 128, 326, 326, 326, 326, 326, 326, 326, 290,
692:
693: 318, 326, 235, 251, 336, 353, 133, 311, 326, 84,
694:
695: 128, 326, 326, 326, 326, 326, 326, 326, 290, 318,
696:
697: 326, 326, 251, 336, 353, 326, 311, 326, 235, 326,
698:
699: 326, 326, 133, 326, 326, 66, 128, 326, 326, 326,
700:
701: 326, 326, 326, 326, 290, 318, 326, 344, 251, 336,
702:
703: 353, 326, 311, 326, 10, 326, 326, 326, 326, 2,
704:
705: 108, 344, 326, 326, 326, 139, 326, 326, 10, 250,
706:
707: 326, 228, 326, 2, 108, 326, 326, 326, 326, 139,
708:
709: 326, 326, 326, 250, 326, 228, 235, 326, 326, 326,
710:
711: 133, 326, 326, 60, 128, 326, 326, 326, 326, 326,
712:
713: 326, 326, 290, 318, 326, 326, 251, 336, 353, 326,
714:
715: 311, 326, 326, 326, 326, 306, 16, 347, 326, 235,
716:
717: 326, 326, 326, 133, 326, 326, 81, 128, 326, 327,
718:
719: 16, 347, 326, 326, 326, 290, 318, 326, 326, 251,
720:
721: 336, 353, 326, 311, 326, 326, 235, 326, 326, 326,
722:
723: 133, 326, 326, 68, 128, 326, 326, 326, 326, 326,
724:
725: 326, 326, 290, 318, 326, 326, 251, 336, 353, 326,
726:
727: 311, 326, 235, 326, 326, 326, 133, 326, 326, 54,
728:
729: 128, 326, 326, 326, 326, 326, 326, 326, 290, 318,
730:
731: 326, 326, 251, 336, 353, 235, 311, 326, 326, 133,
732:
733: 326, 326, 83, 128, 326, 326, 235, 326, 326, 326,
734:
735: 133, 290, 318, 90, 128, 251, 336, 353, 326, 311,
736:
737: 326, 326, 290, 318, 326, 326, 251, 336, 353, 326,
738:
739: 311,
740: );
741: static public $yy_lookahead = array(
742:
743: 1, 38, 3, 40, 91, 4, 5, 6, 7, 8,
744:
745: 9, 10, 11, 12, 13, 14, 15, 104, 105, 18,
746:
747: 118, 18, 60, 20, 23, 24, 1, 65, 3, 30,
748:
749: 29, 118, 1, 30, 33, 36, 35, 21, 22, 36,
750:
751: 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
752:
753: 51, 52, 53, 54, 1, 30, 31, 1, 1, 3,
754:
755: 3, 36, 2, 18, 19, 20, 67, 68, 69, 70,
756:
757: 71, 72, 73, 74, 75, 76, 77, 78, 62, 30,
758:
759: 55, 28, 37, 30, 111, 36, 30, 30, 18, 36,
760:
761: 20, 21, 36, 36, 41, 42, 43, 44, 45, 46,
762:
763: 47, 48, 49, 50, 51, 52, 53, 54, 1, 91,
764:
765: 92, 55, 55, 83, 84, 85, 86, 87, 38, 101,
766:
767: 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
768:
769: 77, 78, 18, 63, 20, 21, 118, 30, 1, 18,
770:
771: 3, 20, 21, 36, 111, 39, 66, 26, 41, 42,
772:
773: 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
774:
775: 53, 54, 1, 1, 26, 3, 60, 30, 62, 15,
776:
777: 16, 17, 66, 36, 67, 68, 69, 70, 71, 72,
778:
779: 73, 74, 75, 76, 77, 78, 18, 19, 20, 32,
780:
781: 100, 1, 30, 109, 1, 18, 39, 20, 36, 1,
782:
783: 116, 3, 41, 42, 43, 44, 45, 46, 47, 48,
784:
785: 49, 50, 51, 52, 53, 54, 1, 55, 80, 62,
786:
787: 30, 85, 86, 87, 39, 32, 36, 66, 67, 68,
788:
789: 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
790:
791: 63, 86, 114, 115, 91, 92, 31, 62, 55, 18,
792:
793: 38, 20, 40, 55, 101, 18, 41, 42, 43, 44,
794:
795: 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
796:
797: 1, 118, 3, 94, 95, 96, 39, 122, 123, 38,
798:
799: 91, 40, 67, 68, 69, 70, 71, 72, 73, 74,
800:
801: 75, 76, 77, 78, 63, 114, 115, 100, 91, 92,
802:
803: 112, 91, 114, 115, 91, 19, 20, 118, 101, 20,
804:
805: 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
806:
807: 51, 52, 53, 54, 1, 118, 3, 100, 118, 119,
808:
809: 60, 118, 2, 91, 3, 65, 67, 68, 69, 70,
810:
811: 71, 72, 73, 74, 75, 76, 77, 78, 21, 22,
812:
813: 64, 21, 63, 92, 111, 119, 113, 26, 19, 20,
814:
815: 118, 1, 101, 21, 41, 42, 43, 44, 45, 46,
816:
817: 47, 48, 49, 50, 51, 52, 53, 54, 1, 118,
818:
819: 3, 18, 22, 20, 19, 94, 95, 1, 98, 62,
820:
821: 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
822:
823: 77, 78, 60, 113, 39, 1, 2, 92, 92, 18,
824:
825: 111, 20, 113, 87, 26, 89, 101, 101, 41, 42,
826:
827: 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
828:
829: 53, 54, 1, 118, 118, 18, 39, 20, 19, 94,
830:
831: 95, 55, 98, 25, 67, 68, 69, 70, 71, 72,
832:
833: 73, 74, 75, 76, 77, 78, 38, 113, 86, 92,
834:
835: 92, 92, 18, 40, 20, 30, 60, 2, 101, 101,
836:
837: 101, 36, 41, 42, 43, 44, 45, 46, 47, 48,
838:
839: 49, 50, 51, 52, 53, 54, 1, 118, 18, 109,
840:
841: 20, 20, 56, 39, 19, 123, 116, 98, 67, 68,
842:
843: 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
844:
845: 25, 80, 113, 92, 64, 27, 21, 20, 19, 64,
846:
847: 20, 3, 101, 20, 22, 2, 41, 42, 43, 44,
848:
849: 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
850:
851: 1, 20, 3, 19, 3, 20, 20, 20, 19, 66,
852:
853: 98, 98, 67, 68, 69, 70, 71, 72, 73, 74,
854:
855: 75, 76, 77, 78, 62, 113, 113, 20, 37, 37,
856:
857: 3, 20, 20, 101, 112, 111, 22, 111, 111, 111,
858:
859: 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
860:
861: 51, 52, 53, 54, 1, 116, 30, 113, 97, 88,
862:
863: 16, 115, 124, 97, 99, 98, 67, 68, 69, 70,
864:
865: 71, 72, 73, 74, 75, 76, 77, 78, 113, 124,
866:
867: 113, 124, 124, 124, 124, 124, 124, 124, 124, 124,
868:
869: 124, 124, 124, 40, 41, 42, 43, 44, 45, 46,
870:
871: 47, 48, 49, 50, 51, 52, 53, 54, 1, 2,
872:
873: 124, 124, 124, 124, 124, 124, 124, 98, 98, 98,
874:
875: 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
876:
877: 77, 78, 113, 113, 113, 124, 124, 124, 124, 124,
878:
879: 124, 124, 124, 124, 124, 124, 124, 124, 41, 42,
880:
881: 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
882:
883: 53, 54, 1, 124, 124, 124, 124, 124, 124, 124,
884:
885: 124, 98, 124, 124, 67, 68, 69, 70, 71, 72,
886:
887: 73, 74, 75, 76, 77, 78, 113, 124, 124, 124,
888:
889: 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
890:
891: 124, 40, 41, 42, 43, 44, 45, 46, 47, 48,
892:
893: 49, 50, 51, 52, 53, 54, 1, 124, 124, 124,
894:
895: 124, 124, 124, 124, 124, 124, 124, 124, 67, 68,
896:
897: 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
898:
899: 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
900:
901: 124, 124, 124, 124, 124, 124, 41, 42, 43, 44,
902:
903: 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
904:
905: 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
906:
907: 22, 124, 67, 68, 69, 70, 71, 72, 73, 74,
908:
909: 75, 76, 77, 78, 124, 124, 124, 124, 41, 42,
910:
911: 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
912:
913: 53, 54, 124, 124, 124, 124, 124, 124, 60, 124,
914:
915: 124, 124, 124, 65, 67, 68, 69, 70, 71, 72,
916:
917: 73, 74, 75, 76, 77, 78, 124, 124, 124, 124,
918:
919: 124, 124, 124, 18, 19, 20, 124, 124, 23, 24,
920:
921: 124, 86, 124, 124, 29, 90, 92, 124, 33, 94,
922:
923: 35, 124, 37, 124, 39, 101, 124, 42, 103, 124,
924:
925: 124, 106, 107, 108, 124, 110, 124, 113, 92, 92,
926:
927: 124, 124, 57, 58, 59, 60, 61, 101, 101, 64,
928:
929: 65, 66, 124, 94, 124, 124, 124, 124, 124, 113,
930:
931: 113, 18, 19, 20, 79, 106, 23, 24, 124, 110,
932:
933: 124, 124, 29, 124, 124, 86, 33, 34, 35, 90,
934:
935: 37, 124, 39, 94, 92, 42, 124, 124, 124, 124,
936:
937: 86, 124, 103, 101, 90, 106, 107, 108, 94, 110,
938:
939: 57, 58, 59, 60, 61, 113, 124, 64, 65, 124,
940:
941: 106, 107, 108, 124, 110, 18, 124, 20, 124, 18,
942:
943: 19, 20, 79, 124, 23, 24, 124, 30, 124, 32,
944:
945: 29, 86, 124, 36, 33, 90, 35, 124, 37, 94,
946:
947: 39, 124, 124, 42, 124, 124, 124, 124, 124, 124,
948:
949: 124, 106, 107, 108, 124, 110, 124, 124, 57, 58,
950:
951: 59, 60, 61, 124, 124, 64, 65, 124, 124, 124,
952:
953: 124, 124, 18, 124, 20, 124, 124, 18, 19, 20,
954:
955: 79, 124, 23, 24, 30, 86, 32, 124, 29, 90,
956:
957: 36, 86, 33, 94, 35, 90, 37, 124, 39, 94,
958:
959: 124, 42, 124, 124, 124, 106, 107, 108, 124, 110,
960:
961: 124, 106, 107, 108, 124, 110, 57, 58, 59, 60,
962:
963: 61, 124, 124, 64, 65, 124, 124, 124, 124, 124,
964:
965: 124, 124, 124, 124, 124, 18, 19, 20, 79, 124,
966:
967: 23, 24, 124, 124, 124, 124, 29, 86, 124, 124,
968:
969: 33, 90, 35, 124, 37, 94, 39, 124, 124, 42,
970:
971: 124, 124, 124, 124, 124, 124, 124, 106, 107, 108,
972:
973: 124, 110, 124, 124, 57, 58, 59, 60, 61, 124,
974:
975: 124, 64, 65, 124, 124, 124, 124, 124, 124, 124,
976:
977: 124, 124, 124, 18, 19, 20, 79, 124, 23, 24,
978:
979: 124, 124, 124, 124, 29, 86, 124, 124, 33, 90,
980:
981: 35, 124, 37, 94, 39, 124, 124, 42, 124, 124,
982:
983: 124, 124, 124, 124, 124, 106, 107, 108, 124, 110,
984:
985: 124, 124, 57, 58, 59, 60, 61, 124, 124, 64,
986:
987: 65, 124, 124, 124, 124, 124, 124, 124, 124, 124,
988:
989: 124, 18, 19, 20, 79, 124, 23, 24, 124, 124,
990:
991: 124, 124, 29, 86, 124, 124, 33, 90, 35, 124,
992:
993: 37, 94, 39, 124, 124, 42, 124, 124, 124, 124,
994:
995: 124, 124, 124, 106, 107, 108, 124, 110, 124, 124,
996:
997: 57, 58, 59, 60, 61, 124, 124, 64, 65, 124,
998:
999: 1, 124, 3, 124, 3, 124, 124, 124, 124, 18,
1000:
1001: 19, 20, 79, 124, 23, 24, 124, 124, 124, 124,
1002:
1003: 29, 22, 21, 124, 33, 124, 35, 124, 37, 30,
1004:
1005: 39, 30, 124, 42, 124, 36, 124, 36, 39, 124,
1006:
1007: 39, 124, 124, 124, 91, 92, 124, 124, 57, 58,
1008:
1009: 59, 60, 61, 124, 101, 64, 65, 104, 105, 124,
1010:
1011: 124, 62, 124, 62, 124, 124, 124, 18, 19, 20,
1012:
1013: 79, 118, 23, 24, 124, 124, 124, 124, 29, 124,
1014:
1015: 124, 124, 33, 124, 35, 124, 37, 124, 39, 91,
1016:
1017: 92, 42, 124, 124, 124, 124, 124, 124, 124, 101,
1018:
1019: 124, 124, 104, 105, 124, 124, 57, 58, 59, 60,
1020:
1021: 61, 124, 124, 64, 65, 124, 118, 124, 124, 124,
1022:
1023: 124, 124, 124, 124, 124, 18, 19, 20, 79, 124,
1024:
1025: 23, 24, 124, 124, 124, 124, 29, 124, 124, 124,
1026:
1027: 33, 124, 35, 124, 37, 124, 39, 91, 92, 42,
1028:
1029: 124, 124, 124, 124, 124, 124, 124, 101, 124, 124,
1030:
1031: 104, 105, 124, 124, 57, 58, 59, 60, 61, 124,
1032:
1033: 124, 64, 124, 124, 118, 124, 124, 124, 124, 124,
1034:
1035: 124, 124, 124, 18, 19, 20, 79, 124, 23, 24,
1036:
1037: 124, 124, 124, 124, 29, 124, 124, 124, 33, 124,
1038:
1039: 35, 124, 37, 124, 39, 124, 3, 42, 124, 124,
1040:
1041: 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1042:
1043: 124, 124, 57, 58, 59, 60, 61, 124, 25, 64,
1044:
1045: 27, 28, 124, 30, 31, 124, 124, 124, 124, 36,
1046:
1047: 124, 38, 39, 40, 79, 124, 124, 124, 124, 124,
1048:
1049: 124, 124, 124, 124, 124, 86, 124, 124, 55, 90,
1050:
1051: 124, 124, 93, 94, 124, 62, 124, 124, 124, 66,
1052:
1053: 124, 102, 103, 124, 124, 106, 107, 108, 124, 110,
1054:
1055: 124, 124, 124, 80, 124, 124, 124, 86, 124, 120,
1056:
1057: 121, 90, 124, 124, 93, 94, 95, 124, 124, 124,
1058:
1059: 124, 124, 124, 102, 103, 124, 124, 106, 107, 108,
1060:
1061: 86, 110, 124, 124, 90, 124, 124, 93, 94, 124,
1062:
1063: 124, 124, 124, 124, 124, 124, 102, 103, 124, 86,
1064:
1065: 106, 107, 108, 90, 110, 124, 93, 94, 124, 124,
1066:
1067: 124, 117, 124, 124, 124, 102, 103, 124, 124, 106,
1068:
1069: 107, 108, 124, 110, 124, 124, 124, 124, 86, 124,
1070:
1071: 117, 124, 90, 124, 124, 93, 94, 124, 124, 124,
1072:
1073: 124, 124, 124, 124, 102, 103, 124, 124, 106, 107,
1074:
1075: 108, 86, 110, 124, 124, 90, 124, 124, 93, 94,
1076:
1077: 95, 124, 124, 121, 124, 124, 124, 102, 103, 124,
1078:
1079: 124, 106, 107, 108, 86, 110, 124, 124, 90, 124,
1080:
1081: 124, 93, 94, 124, 124, 124, 124, 124, 124, 124,
1082:
1083: 102, 103, 124, 86, 106, 107, 108, 90, 110, 124,
1084:
1085: 93, 94, 124, 124, 124, 117, 124, 124, 124, 102,
1086:
1087: 103, 124, 124, 106, 107, 108, 124, 110, 124, 86,
1088:
1089: 91, 92, 124, 90, 124, 124, 93, 94, 124, 124,
1090:
1091: 101, 124, 124, 104, 105, 102, 103, 124, 86, 106,
1092:
1093: 107, 108, 90, 110, 124, 93, 94, 118, 124, 124,
1094:
1095: 124, 124, 124, 124, 102, 103, 124, 124, 106, 107,
1096:
1097: 108, 86, 110, 124, 124, 90, 124, 124, 93, 94,
1098:
1099: 124, 124, 124, 124, 124, 124, 124, 102, 103, 124,
1100:
1101: 86, 106, 107, 108, 90, 110, 124, 93, 94, 124,
1102:
1103: 124, 124, 124, 124, 124, 124, 102, 103, 124, 124,
1104:
1105: 106, 107, 108, 124, 110, 124, 86, 91, 92, 124,
1106:
1107: 90, 124, 124, 93, 94, 124, 124, 101, 124, 124,
1108:
1109: 104, 105, 102, 103, 124, 86, 106, 107, 108, 90,
1110:
1111: 110, 124, 93, 94, 118, 124, 124, 124, 124, 124,
1112:
1113: 124, 102, 103, 124, 124, 106, 107, 108, 86, 110,
1114:
1115: 124, 124, 90, 124, 124, 93, 94, 124, 124, 124,
1116:
1117: 124, 124, 124, 124, 102, 103, 124, 86, 106, 107,
1118:
1119: 108, 90, 110, 124, 93, 94, 124, 124, 124, 124,
1120:
1121: 124, 124, 124, 102, 103, 124, 124, 106, 107, 108,
1122:
1123: 124, 110, 124, 86, 91, 92, 124, 90, 124, 124,
1124:
1125: 93, 94, 124, 124, 101, 124, 124, 104, 105, 102,
1126:
1127: 103, 124, 86, 106, 107, 108, 90, 110, 124, 93,
1128:
1129: 94, 118, 124, 124, 124, 124, 124, 124, 102, 103,
1130:
1131: 124, 124, 106, 107, 108, 86, 110, 124, 124, 90,
1132:
1133: 124, 124, 93, 94, 124, 124, 124, 124, 124, 124,
1134:
1135: 124, 102, 103, 124, 86, 106, 107, 108, 90, 110,
1136:
1137: 124, 93, 94, 124, 124, 124, 124, 124, 124, 124,
1138:
1139: 102, 103, 124, 124, 106, 107, 108, 124, 110, 124,
1140:
1141: 86, 124, 124, 124, 90, 124, 124, 93, 94, 124,
1142:
1143: 124, 124, 124, 124, 124, 124, 102, 103, 124, 86,
1144:
1145: 106, 107, 108, 90, 110, 124, 93, 94, 124, 124,
1146:
1147: 124, 124, 124, 124, 124, 102, 103, 124, 124, 106,
1148:
1149: 107, 108, 86, 110, 124, 124, 90, 124, 124, 93,
1150:
1151: 94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
1152:
1153: 124, 86, 106, 107, 108, 90, 110, 124, 93, 94,
1154:
1155: 124, 124, 124, 124, 124, 124, 124, 102, 103, 124,
1156:
1157: 124, 106, 107, 108, 124, 110, 124, 86, 124, 124,
1158:
1159: 124, 90, 124, 124, 93, 94, 124, 124, 124, 124,
1160:
1161: 124, 124, 124, 102, 103, 124, 86, 106, 107, 108,
1162:
1163: 90, 110, 124, 93, 94, 124, 124, 124, 124, 124,
1164:
1165: 124, 124, 102, 103, 124, 124, 106, 107, 108, 86,
1166:
1167: 110, 124, 124, 90, 124, 124, 93, 94, 124, 124,
1168:
1169: 124, 124, 124, 124, 124, 102, 103, 124, 86, 106,
1170:
1171: 107, 108, 90, 110, 124, 93, 94, 124, 124, 124,
1172:
1173: 124, 124, 124, 124, 102, 103, 124, 124, 106, 107,
1174:
1175: 108, 124, 110, 124, 86, 124, 124, 124, 90, 124,
1176:
1177: 124, 93, 94, 124, 124, 124, 124, 124, 124, 124,
1178:
1179: 102, 103, 124, 86, 106, 107, 108, 90, 110, 124,
1180:
1181: 93, 94, 124, 124, 124, 124, 124, 124, 124, 102,
1182:
1183: 103, 124, 124, 106, 107, 108, 86, 110, 124, 124,
1184:
1185: 90, 124, 124, 93, 94, 124, 124, 124, 124, 124,
1186:
1187: 124, 124, 102, 103, 124, 86, 106, 107, 108, 90,
1188:
1189: 110, 124, 93, 94, 124, 124, 124, 124, 124, 124,
1190:
1191: 124, 102, 103, 124, 124, 106, 107, 108, 124, 110,
1192:
1193: 124, 86, 124, 124, 124, 90, 124, 124, 93, 94,
1194:
1195: 124, 124, 124, 124, 124, 124, 124, 102, 103, 124,
1196:
1197: 86, 106, 107, 108, 90, 110, 124, 93, 94, 124,
1198:
1199: 124, 124, 124, 124, 124, 124, 102, 103, 124, 124,
1200:
1201: 106, 107, 108, 86, 110, 124, 124, 90, 124, 124,
1202:
1203: 93, 94, 124, 124, 124, 124, 124, 124, 124, 102,
1204:
1205: 103, 124, 86, 106, 107, 108, 90, 110, 124, 93,
1206:
1207: 94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
1208:
1209: 124, 124, 106, 107, 108, 124, 110, 124, 86, 124,
1210:
1211: 124, 124, 90, 124, 124, 93, 94, 124, 124, 124,
1212:
1213: 124, 124, 124, 124, 102, 103, 124, 11, 106, 107,
1214:
1215: 108, 124, 110, 124, 18, 124, 124, 124, 124, 23,
1216:
1217: 24, 11, 124, 124, 124, 29, 124, 124, 18, 33,
1218:
1219: 124, 35, 124, 23, 24, 124, 124, 124, 124, 29,
1220:
1221: 124, 124, 124, 33, 124, 35, 86, 124, 124, 124,
1222:
1223: 90, 124, 124, 93, 94, 124, 124, 124, 124, 124,
1224:
1225: 124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
1226:
1227: 110, 124, 124, 124, 124, 79, 80, 81, 124, 86,
1228:
1229: 124, 124, 124, 90, 124, 124, 93, 94, 124, 79,
1230:
1231: 80, 81, 124, 124, 124, 102, 103, 124, 124, 106,
1232:
1233: 107, 108, 124, 110, 124, 124, 86, 124, 124, 124,
1234:
1235: 90, 124, 124, 93, 94, 124, 124, 124, 124, 124,
1236:
1237: 124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
1238:
1239: 110, 124, 86, 124, 124, 124, 90, 124, 124, 93,
1240:
1241: 94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
1242:
1243: 124, 124, 106, 107, 108, 86, 110, 124, 124, 90,
1244:
1245: 124, 124, 93, 94, 124, 124, 86, 124, 124, 124,
1246:
1247: 90, 102, 103, 93, 94, 106, 107, 108, 124, 110,
1248:
1249: 124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
1250:
1251: 110,
1252: );
1253: const YY_SHIFT_USE_DFLT = - 39;
1254: const YY_SHIFT_MAX = 259;
1255: static public $yy_shift_ofst = array(
1256:
1257: 1, 1097, 1271, 1097, 981, 1271, 981, 981, 923, 865,
1258:
1259: 923, 981, 981, 981, 981, 981, 981, 981, 981, 981,
1260:
1261: 981, 981, 1213, 981, 981, 981, 1155, 1329, 981, 981,
1262:
1263: 981, 981, 981, 981, 981, 981, 981, 981, 981, 981,
1264:
1265: 981, 1155, 981, 981, 1039, 1039, 1445, 1387, 1387, 1387,
1266:
1267: 1387, 1387, 1387, - 1, 53, 107, 107, 107, 107, 107,
1268:
1269: 539, 431, 701, 161, 377, 269, 647, 485, 593, 215,
1270:
1271: 323, 755, 755, 755, 755, 755, 755, 755, 755, 755,
1272:
1273: 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
1274:
1275: 797, 797, 1279, 56, 190, 1, 2346, 977, 1034, 3,
1276:
1277: 3, 137, 137, 190, 190, 286, 798, 404, 365, 2360,
1278:
1279: 25, 162, 57, 121, 70, 154, 16, 327, 198, 231,
1280:
1281: 114, 193, 417, 391, 360, 363, 363, 339, 502, 363,
1282:
1283: 365, 363, 365, 386, 339, 444, 470, 49, 444, 435,
1284:
1285: 49, 363, 363, 363, 363, 363, 31, 554, 31, 31,
1286:
1287: 554, 31, 31, 31, 31, 31, 31, - 39, 177, 168,
1288:
1289: 49, 49, 49, 49, 49, 49, 49, 49, - 38, - 38,
1290:
1291: - 38, 270, - 38, 49, 49, 49, 49, 49, 49, - 38,
1292:
1293: 270, - 38, 237, 49, 49, 49, - 38, 49, 49, 49,
1294:
1295: 584, 554, 554, 31, 566, 566, 60, 554, 31, 454,
1296:
1297: 31, 31, 60, 31, - 39, - 39, - 39, - 39, - 39, 1483,
1298:
1299: 1281, 106, 45, 157, 138, - 37, 80, 241, 418, 342,
1300:
1301: 331, 212, 185, 330, 185, 289, 552, 541, 526, 525,
1302:
1303: 521, 523, 524, 527, 529, 567, 551, 532, 531, 483,
1304:
1305: 547, 503, 518, 436, 454, 465, 406, 397, 419, 423,
1306:
1307: 471, 388, 475, 455, 500, 499, 497, 450, 488, 495,
1308: );
1309: const YY_REDUCE_USE_DFLT = - 99;
1310: const YY_REDUCE_MAX = 208;
1311: static public $yy_reduce_ofst = array(
1312:
1313: 30, 1449, 1575, 1552, 1523, 1481, 1504, 1598, 1836, 2010,
1314:
1315: 1991, 1791, 1685, 1643, 1704, 1749, 2033, 2078, 2310, 2419,
1316:
1317: 2139, 2207, 2252, 2343, 2370, 1772, 1617, 1946, 1904, 2184,
1318:
1319: 1923, 1878, 1859, 1965, 2052, 1662, 1817, 1730, 2097, 2396,
1320:
1321: 2430, 2120, 2165, 2226, 869, 805, 985, 925, 884, 979,
1322:
1323: 1099, 1041, 1157, 1639, 1233, 1639, 1336, 1278, 1726, 1813,
1324:
1325: - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87,
1326:
1327: - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87,
1328:
1329: - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87,
1330:
1331: - 87, - 87, 18, 207, 153, 136, 155, 827, 872, 804,
1332:
1333: 826, 261, 316, 369, 315, 839, 188, 210, 179, 372,
1334:
1335: 189, 189, 189, 505, 299, 326, 128, 128, 189, 299,
1336:
1337: 299, 189, 507, 453, 242, 344, 243, 84, 128, 452,
1338:
1339: 291, 399, 345, 189, 380, 613, 453, 421, 453, 368,
1340:
1341: 367, 560, 453, 559, 561, 290, 189, 128, 213, 189,
1342:
1343: 181, 189, 189, 189, 189, 189, 189, 189, 484, 479,
1344:
1345: 472, 472, 472, 472, 472, 472, 472, 472, 462, 462,
1346:
1347: 462, 464, 462, 472, 472, 472, 472, 472, 472, 462,
1348:
1349: 467, 462, 466, 472, 472, 472, 462, 472, 472, 472,
1350:
1351: 511, 486, 486, - 98, 501, 506, 236, 486, - 98, 468,
1352:
1353: - 98, - 98, 236, - 98, 227, - 27, 197, 33, 90,
1354: );
1355: static public $yyExpectedTokens = array(
1356:
1357: array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,),
1358:
1359: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1360:
1361: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1362:
1363: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1364:
1365: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1366:
1367: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1368:
1369: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1370:
1371: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1372:
1373: array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1374:
1375: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 66, 79,),
1376:
1377: array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1378:
1379: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1380:
1381: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1382:
1383: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1384:
1385: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1386:
1387: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1388:
1389: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1390:
1391: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1392:
1393: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1394:
1395: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1396:
1397: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1398:
1399: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1400:
1401: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1402:
1403: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1404:
1405: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1406:
1407: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1408:
1409: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1410:
1411: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1412:
1413: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1414:
1415: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1416:
1417: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1418:
1419: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1420:
1421: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1422:
1423: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1424:
1425: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1426:
1427: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1428:
1429: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1430:
1431: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1432:
1433: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1434:
1435: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1436:
1437: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1438:
1439: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1440:
1441: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1442:
1443: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1444:
1445: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1446:
1447: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
1448:
1449: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1450:
1451: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1452:
1453: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1454:
1455: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1456:
1457: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1458:
1459: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1460:
1461: array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
1462:
1463: array(1, 3, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1464:
1465: array(1, 28, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1466:
1467: array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1468:
1469: array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1470:
1471: array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1472:
1473: array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1474:
1475: array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1476:
1477: array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1478:
1479: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80,),
1480:
1481: array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1482:
1483: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1484:
1485: array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1486:
1487: array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1488:
1489: array(1, 2, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1490:
1491: array(1, 25, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1492:
1493: array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1494:
1495: array(1, 31, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1496:
1497: array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1498:
1499: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1500:
1501: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1502:
1503: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1504:
1505: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1506:
1507: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1508:
1509: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1510:
1511: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1512:
1513: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1514:
1515: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1516:
1517: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1518:
1519: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1520:
1521: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1522:
1523: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1524:
1525: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1526:
1527: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1528:
1529: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1530:
1531: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1532:
1533: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1534:
1535: array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1536:
1537: array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1538:
1539: array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
1540:
1541: array(1, 3, 22, 30, 36, 39, 62,),
1542:
1543: array(1, 3, 30, 36, 55,),
1544:
1545: array(1, 30, 36,),
1546:
1547: array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,),
1548:
1549: array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,),
1550:
1551: array(18, 20, 30, 32, 36,),
1552:
1553: array(18, 20, 30, 32, 36,),
1554:
1555: array(18, 20, 30, 36,),
1556:
1557: array(18, 20, 30, 36,),
1558:
1559: array(1, 3, 30, 36,),
1560:
1561: array(1, 3, 30, 36,),
1562:
1563: array(1, 30, 36,),
1564:
1565: array(1, 30, 36,),
1566:
1567: array(19, 20, 64,),
1568:
1569: array(22, 60, 65,),
1570:
1571: array(1, 2,),
1572:
1573: array(19, 39,),
1574:
1575: array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,),
1576:
1577: array(1, 3, 30, 31, 36, 55,),
1578:
1579: array(1, 3, 30, 36, 55,),
1580:
1581: array(1, 3, 30, 36, 55,),
1582:
1583: array(18, 20, 21, 26,),
1584:
1585: array(18, 20, 21, 63,),
1586:
1587: array(15, 16, 17,),
1588:
1589: array(21, 22, 62,),
1590:
1591: array(21, 22, 62,),
1592:
1593: array(1, 3, 55,),
1594:
1595: array(18, 20, 63,),
1596:
1597: array(18, 20, 21,),
1598:
1599: array(1, 32, 55,),
1600:
1601: array(18, 20,),
1602:
1603: array(18, 20,),
1604:
1605: array(1, 22,),
1606:
1607: array(18, 20,),
1608:
1609: array(18, 20,),
1610:
1611: array(19, 20,),
1612:
1613: array(22, 62,),
1614:
1615: array(18, 20,),
1616:
1617: array(19, 39,),
1618:
1619: array(18, 20,),
1620:
1621: array(19, 39,),
1622:
1623: array(1, 55,),
1624:
1625: array(19, 20,),
1626:
1627: array(18, 20,),
1628:
1629: array(18, 20,),
1630:
1631: array(30, 36,),
1632:
1633: array(18, 20,),
1634:
1635: array(30, 36,),
1636:
1637: array(30, 36,),
1638:
1639: array(18, 20,),
1640:
1641: array(18, 20,),
1642:
1643: array(18, 20,),
1644:
1645: array(18, 20,),
1646:
1647: array(18, 20,),
1648:
1649: array(1,),
1650:
1651: array(22,),
1652:
1653: array(1,),
1654:
1655: array(1,),
1656:
1657: array(22,),
1658:
1659: array(1,),
1660:
1661: array(1,),
1662:
1663: array(1,),
1664:
1665: array(1,),
1666:
1667: array(1,),
1668:
1669: array(1,),
1670:
1671: array(),
1672:
1673: array(18, 20, 63,),
1674:
1675: array(18, 19, 20,),
1676:
1677: array(30, 36,),
1678:
1679: array(30, 36,),
1680:
1681: array(30, 36,),
1682:
1683: array(30, 36,),
1684:
1685: array(30, 36,),
1686:
1687: array(30, 36,),
1688:
1689: array(30, 36,),
1690:
1691: array(30, 36,),
1692:
1693: array(60, 65,),
1694:
1695: array(60, 65,),
1696:
1697: array(60, 65,),
1698:
1699: array(60, 65,),
1700:
1701: array(60, 65,),
1702:
1703: array(30, 36,),
1704:
1705: array(30, 36,),
1706:
1707: array(30, 36,),
1708:
1709: array(30, 36,),
1710:
1711: array(30, 36,),
1712:
1713: array(30, 36,),
1714:
1715: array(60, 65,),
1716:
1717: array(60, 65,),
1718:
1719: array(60, 65,),
1720:
1721: array(18, 39,),
1722:
1723: array(30, 36,),
1724:
1725: array(30, 36,),
1726:
1727: array(30, 36,),
1728:
1729: array(60, 65,),
1730:
1731: array(30, 36,),
1732:
1733: array(30, 36,),
1734:
1735: array(30, 36,),
1736:
1737: array(16,),
1738:
1739: array(22,),
1740:
1741: array(22,),
1742:
1743: array(1,),
1744:
1745: array(30,),
1746:
1747: array(30,),
1748:
1749: array(2,),
1750:
1751: array(22,),
1752:
1753: array(1,),
1754:
1755: array(39,),
1756:
1757: array(1,),
1758:
1759: array(1,),
1760:
1761: array(2,),
1762:
1763: array(1,),
1764:
1765: array(),
1766:
1767: array(),
1768:
1769: array(),
1770:
1771: array(),
1772:
1773: array(),
1774:
1775: array(3, 25, 27, 28, 30, 31, 36, 38, 39, 40, 55, 62, 66, 80,),
1776:
1777: array(3, 21, 30, 36, 39, 62,),
1778:
1779: array(39, 60, 62, 66,),
1780:
1781: array(18, 19, 20, 37,),
1782:
1783: array(32, 39, 62,),
1784:
1785: array(26, 80,),
1786:
1787: array(38, 40,),
1788:
1789: array(38, 66,),
1790:
1791: array(38, 40,),
1792:
1793: array(25, 38,),
1794:
1795: array(21, 60,),
1796:
1797: array(3, 26,),
1798:
1799: array(38, 40,),
1800:
1801: array(39, 62,),
1802:
1803: array(2, 21,),
1804:
1805: array(39, 62,),
1806:
1807: array(20, 63,),
1808:
1809: array(20,),
1810:
1811: array(3,),
1812:
1813: array(20,),
1814:
1815: array(20,),
1816:
1817: array(20,),
1818:
1819: array(2,),
1820:
1821: array(19,),
1822:
1823: array(20,),
1824:
1825: array(19,),
1826:
1827: array(3,),
1828:
1829: array(20,),
1830:
1831: array(37,),
1832:
1833: array(37,),
1834:
1835: array(66,),
1836:
1837: array(20,),
1838:
1839: array(20,),
1840:
1841: array(3,),
1842:
1843: array(56,),
1844:
1845: array(39,),
1846:
1847: array(2,),
1848:
1849: array(60,),
1850:
1851: array(39,),
1852:
1853: array(19,),
1854:
1855: array(40,),
1856:
1857: array(20,),
1858:
1859: array(26,),
1860:
1861: array(19,),
1862:
1863: array(64,),
1864:
1865: array(20,),
1866:
1867: array(19,),
1868:
1869: array(20,),
1870:
1871: array(64,),
1872:
1873: array(27,),
1874:
1875: array(21,),
1876:
1877: array(),
1878:
1879: array(),
1880:
1881: array(),
1882:
1883: array(),
1884:
1885: array(),
1886:
1887: array(),
1888:
1889: array(),
1890:
1891: array(),
1892:
1893: array(),
1894:
1895: array(),
1896:
1897: array(),
1898:
1899: array(),
1900:
1901: array(),
1902:
1903: array(),
1904:
1905: array(),
1906:
1907: array(),
1908:
1909: array(),
1910:
1911: array(),
1912:
1913: array(),
1914:
1915: array(),
1916:
1917: array(),
1918:
1919: array(),
1920:
1921: array(),
1922:
1923: array(),
1924:
1925: array(),
1926:
1927: array(),
1928:
1929: array(),
1930:
1931: array(),
1932:
1933: array(),
1934:
1935: array(),
1936:
1937: array(),
1938:
1939: array(),
1940:
1941: array(),
1942:
1943: array(),
1944:
1945: array(),
1946:
1947: array(),
1948:
1949: array(),
1950:
1951: array(),
1952:
1953: array(),
1954:
1955: array(),
1956:
1957: array(),
1958:
1959: array(),
1960:
1961: array(),
1962:
1963: array(),
1964:
1965: array(),
1966:
1967: array(),
1968:
1969: array(),
1970:
1971: array(),
1972:
1973: array(),
1974:
1975: array(),
1976:
1977: array(),
1978:
1979: array(),
1980:
1981: array(),
1982:
1983: array(),
1984:
1985: array(),
1986:
1987: array(),
1988:
1989: array(),
1990:
1991: array(),
1992:
1993: array(),
1994:
1995: array(),
1996:
1997: array(),
1998:
1999: array(),
2000:
2001: array(),
2002:
2003: array(),
2004:
2005: array(),
2006:
2007: array(),
2008:
2009: array(),
2010:
2011: array(),
2012:
2013: array(),
2014:
2015: array(),
2016:
2017: array(),
2018:
2019: array(),
2020:
2021: array(),
2022:
2023: array(),
2024:
2025: array(),
2026:
2027: array(),
2028:
2029: array(),
2030:
2031: array(),
2032:
2033: array(),
2034:
2035: array(),
2036:
2037: array(),
2038:
2039: array(),
2040:
2041: array(),
2042:
2043: array(),
2044:
2045: array(),
2046:
2047: array(),
2048:
2049: array(),
2050:
2051: array(),
2052:
2053: array(),
2054:
2055: array(),
2056:
2057: array(),
2058:
2059: array(),
2060:
2061: array(),
2062:
2063: array(),
2064:
2065: array(),
2066:
2067: array(),
2068:
2069: array(),
2070:
2071: array(),
2072: );
2073: static public $yy_default = array(
2074:
2075: 361, 541, 558, 558, 512, 558, 512, 512, 558, 558,
2076:
2077: 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
2078:
2079: 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
2080:
2081: 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
2082:
2083: 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
2084:
2085: 558, 558, 558, 558, 418, 418, 418, 418, 387, 395,
2086:
2087: 558, 558, 558, 558, 558, 558, 558, 558, 558, 423,
2088:
2089: 558, 428, 425, 510, 423, 429, 511, 543, 444, 542,
2090:
2091: 447, 448, 443, 442, 439, 452, 544, 420, 451, 400,
2092:
2093: 456, 455, 467, 431, 418, 358, 558, 418, 418, 418,
2094:
2095: 418, 438, 475, 418, 418, 558, 524, 409, 558, 558,
2096:
2097: 431, 431, 431, 558, 485, 558, 476, 476, 431, 485,
2098:
2099: 485, 431, 558, 558, 412, 558, 485, 558, 476, 558,
2100:
2101: 558, 558, 558, 431, 558, 558, 558, 397, 558, 418,
2102:
2103: 418, 558, 558, 558, 558, 558, 441, 476, 414, 434,
2104:
2105: 521, 436, 435, 460, 459, 458, 454, 519, 486, 558,
2106:
2107: 385, 384, 405, 404, 389, 406, 399, 388, 505, 483,
2108:
2109: 482, 481, 480, 407, 408, 383, 398, 403, 402, 504,
2110:
2111: 479, 502, 485, 393, 392, 390, 503, 382, 396, 394,
2112:
2113: 378, 525, 522, 475, 557, 557, 513, 499, 438, 485,
2114:
2115: 413, 410, 514, 415, 518, 485, 518, 485, 518, 433,
2116:
2117: 467, 467, 558, 467, 457, 558, 558, 558, 558, 463,
2118:
2119: 457, 558, 453, 497, 467, 558, 558, 558, 558, 558,
2120:
2121: 558, 497, 558, 558, 558, 558, 558, 465, 558, 558,
2122:
2123: 558, 558, 558, 469, 497, 497, 463, 523, 558, 558,
2124:
2125: 558, 457, 558, 558, 558, 558, 558, 558, 426, 558,
2126:
2127: 477, 520, 495, 507, 490, 508, 487, 374, 498, 484,
2128:
2129: 556, 364, 363, 365, 461, 366, 472, 466, 360, 359,
2130:
2131: 462, 362, 464, 367, 430, 401, 469, 372, 373, 419,
2132:
2133: 432, 427, 368, 369, 370, 371, 433, 470, 445, 497,
2134:
2135: 446, 496, 450, 449, 500, 517, 545, 474, 552, 411,
2136:
2137: 501, 478, 553, 526, 534, 533, 535, 536, 437, 537,
2138:
2139: 532, 417, 528, 527, 529, 530, 531, 546, 547, 515,
2140:
2141: 506, 375, 376, 509, 377, 516, 468, 494, 489, 492,
2142:
2143: 491, 493, 379, 380, 555, 548, 554, 551, 550, 549,
2144:
2145: 440, 416, 473, 471, 539, 540, 538, 488,
2146: );
2147: const YYNOCODE = 125;
2148: const YYSTACKDEPTH = 500;
2149: const YYNSTATE = 358;
2150: const YYNRULE = 200;
2151: const YYERRORSYMBOL = 82;
2152: const YYERRSYMDT = 'yy0';
2153: const YYFALLBACK = 0;
2154: public static $yyFallback = array();
2155:
2156: public function Trace($TraceFILE, $zTracePrompt)
2157: {
2158: if (!$TraceFILE) {
2159: $zTracePrompt = 0;
2160: } elseif (!$zTracePrompt) {
2161: $TraceFILE = 0;
2162: }
2163: $this->yyTraceFILE = $TraceFILE;
2164: $this->yyTracePrompt = $zTracePrompt;
2165: }
2166:
2167: public function PrintTrace()
2168: {
2169: $this->yyTraceFILE = fopen('php://output', 'w');
2170: $this->yyTracePrompt = '<br>';
2171: }
2172:
2173: public $yyTraceFILE;
2174: public $yyTracePrompt;
2175: public $yyidx;
2176: public $yyerrcnt;
2177: public $yystack = array();
2178:
2179: public $yyTokenName = array(
2180: '$', 'VERT', 'COLON', 'RDEL',
2181: 'COMMENT', 'PHPSTARTTAG', 'PHPENDTAG', 'PHPENDSCRIPT',
2182: 'ASPSTARTTAG', 'ASPENDTAG', 'XMLTAG', 'TEXT',
2183: 'STRIPON', 'STRIPOFF', 'BLOCKSOURCE', 'LITERALSTART',
2184: 'LITERALEND', 'LITERAL', 'LDEL', 'DOLLAR',
2185: 'ID', 'EQUAL', 'PTR', 'LDELIF',
2186: 'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO',
2187: 'STEP', 'LDELFOREACH', 'SPACE', 'AS',
2188: 'APTR', 'LDELSETFILTER', 'SMARTYBLOCKCHILDPARENT', 'LDELSLASH',
2189: 'ATTR', 'INTEGER', 'COMMA', 'OPENP',
2190: 'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM',
2191: 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN',
2192: 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD',
2193: 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF',
2194: 'QMARK', 'NOT', 'TYPECAST', 'HEX',
2195: 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT',
2196: 'HATCH', 'OPENB', 'CLOSEB', 'EQUALS',
2197: 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL',
2198: 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD',
2199: 'LAND', 'LOR', 'LXOR', 'QUOTE',
2200: 'BACKTICK', 'DOLLARID', 'error', 'start',
2201: 'template', 'template_element', 'smartytag', 'literal',
2202: 'literal_elements', 'literal_element', 'value', 'modifierlist',
2203: 'attributes', 'expr', 'varindexed', 'statement',
2204: 'statements', 'optspace', 'varvar', 'foraction',
2205: 'modparameters', 'attribute', 'ternary', 'array',
2206: 'ifcond', 'lop', 'variable', 'function',
2207: 'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex',
2208: 'indexdef', 'varvarele', 'objectchain', 'objectelement',
2209: 'method', 'params', 'modifier', 'modparameter',
2210: 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',
2211: );
2212:
2213: public static $yyRuleName = array(
2214:
2215: "start ::= template",
2216:
2217: "template ::= template_element",
2218:
2219: "template ::= template template_element",
2220:
2221: "template ::=",
2222:
2223: "template_element ::= smartytag RDEL",
2224:
2225: "template_element ::= COMMENT",
2226:
2227: "template_element ::= literal",
2228:
2229: "template_element ::= PHPSTARTTAG",
2230:
2231: "template_element ::= PHPENDTAG",
2232:
2233: "template_element ::= PHPENDSCRIPT",
2234:
2235: "template_element ::= ASPSTARTTAG",
2236:
2237: "template_element ::= ASPENDTAG",
2238:
2239: "template_element ::= XMLTAG",
2240:
2241: "template_element ::= TEXT",
2242:
2243: "template_element ::= STRIPON",
2244:
2245: "template_element ::= STRIPOFF",
2246:
2247: "template_element ::= BLOCKSOURCE",
2248:
2249: "literal ::= LITERALSTART LITERALEND",
2250:
2251: "literal ::= LITERALSTART literal_elements LITERALEND",
2252:
2253: "literal_elements ::= literal_elements literal_element",
2254:
2255: "literal_elements ::=",
2256:
2257: "literal_element ::= literal",
2258:
2259: "literal_element ::= LITERAL",
2260:
2261: "smartytag ::= LDEL value",
2262:
2263: "smartytag ::= LDEL value modifierlist attributes",
2264:
2265: "smartytag ::= LDEL value attributes",
2266:
2267: "smartytag ::= LDEL expr modifierlist attributes",
2268:
2269: "smartytag ::= LDEL expr attributes",
2270:
2271: "smartytag ::= LDEL DOLLAR ID EQUAL value",
2272:
2273: "smartytag ::= LDEL DOLLAR ID EQUAL expr",
2274:
2275: "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes",
2276:
2277: "smartytag ::= LDEL varindexed EQUAL expr attributes",
2278:
2279: "smartytag ::= LDEL ID attributes",
2280:
2281: "smartytag ::= LDEL ID",
2282:
2283: "smartytag ::= LDEL ID PTR ID attributes",
2284:
2285: "smartytag ::= LDEL ID modifierlist attributes",
2286:
2287: "smartytag ::= LDEL ID PTR ID modifierlist attributes",
2288:
2289: "smartytag ::= LDELIF expr",
2290:
2291: "smartytag ::= LDELIF expr attributes",
2292:
2293: "smartytag ::= LDELIF statement",
2294:
2295: "smartytag ::= LDELIF statement attributes",
2296:
2297: "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes",
2298:
2299: "foraction ::= EQUAL expr",
2300:
2301: "foraction ::= INCDEC",
2302:
2303: "smartytag ::= LDELFOR statement TO expr attributes",
2304:
2305: "smartytag ::= LDELFOR statement TO expr STEP expr attributes",
2306:
2307: "smartytag ::= LDELFOREACH attributes",
2308:
2309: "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes",
2310:
2311: "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes",
2312:
2313: "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes",
2314:
2315: "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes",
2316:
2317: "smartytag ::= LDELSETFILTER ID modparameters",
2318:
2319: "smartytag ::= LDELSETFILTER ID modparameters modifierlist",
2320:
2321: "smartytag ::= LDEL SMARTYBLOCKCHILDPARENT",
2322:
2323: "smartytag ::= LDELSLASH ID",
2324:
2325: "smartytag ::= LDELSLASH ID modifierlist",
2326:
2327: "smartytag ::= LDELSLASH ID PTR ID",
2328:
2329: "smartytag ::= LDELSLASH ID PTR ID modifierlist",
2330:
2331: "attributes ::= attributes attribute",
2332:
2333: "attributes ::= attribute",
2334:
2335: "attributes ::=",
2336:
2337: "attribute ::= SPACE ID EQUAL ID",
2338:
2339: "attribute ::= ATTR expr",
2340:
2341: "attribute ::= ATTR value",
2342:
2343: "attribute ::= SPACE ID",
2344:
2345: "attribute ::= SPACE expr",
2346:
2347: "attribute ::= SPACE value",
2348:
2349: "attribute ::= SPACE INTEGER EQUAL expr",
2350:
2351: "statements ::= statement",
2352:
2353: "statements ::= statements COMMA statement",
2354:
2355: "statement ::= DOLLAR varvar EQUAL expr",
2356:
2357: "statement ::= varindexed EQUAL expr",
2358:
2359: "statement ::= OPENP statement CLOSEP",
2360:
2361: "expr ::= value",
2362:
2363: "expr ::= ternary",
2364:
2365: "expr ::= DOLLAR ID COLON ID",
2366:
2367: "expr ::= expr MATH value",
2368:
2369: "expr ::= expr UNIMATH value",
2370:
2371: "expr ::= expr ANDSYM value",
2372:
2373: "expr ::= array",
2374:
2375: "expr ::= expr modifierlist",
2376:
2377: "expr ::= expr ifcond expr",
2378:
2379: "expr ::= expr ISIN array",
2380:
2381: "expr ::= expr ISIN value",
2382:
2383: "expr ::= expr lop expr",
2384:
2385: "expr ::= expr ISDIVBY expr",
2386:
2387: "expr ::= expr ISNOTDIVBY expr",
2388:
2389: "expr ::= expr ISEVEN",
2390:
2391: "expr ::= expr ISNOTEVEN",
2392:
2393: "expr ::= expr ISEVENBY expr",
2394:
2395: "expr ::= expr ISNOTEVENBY expr",
2396:
2397: "expr ::= expr ISODD",
2398:
2399: "expr ::= expr ISNOTODD",
2400:
2401: "expr ::= expr ISODDBY expr",
2402:
2403: "expr ::= expr ISNOTODDBY expr",
2404:
2405: "expr ::= value INSTANCEOF ID",
2406:
2407: "expr ::= value INSTANCEOF value",
2408:
2409: "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
2410:
2411: "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
2412:
2413: "value ::= variable",
2414:
2415: "value ::= UNIMATH value",
2416:
2417: "value ::= NOT value",
2418:
2419: "value ::= TYPECAST value",
2420:
2421: "value ::= variable INCDEC",
2422:
2423: "value ::= HEX",
2424:
2425: "value ::= INTEGER",
2426:
2427: "value ::= INTEGER DOT INTEGER",
2428:
2429: "value ::= INTEGER DOT",
2430:
2431: "value ::= DOT INTEGER",
2432:
2433: "value ::= ID",
2434:
2435: "value ::= function",
2436:
2437: "value ::= OPENP expr CLOSEP",
2438:
2439: "value ::= SINGLEQUOTESTRING",
2440:
2441: "value ::= doublequoted_with_quotes",
2442:
2443: "value ::= ID DOUBLECOLON static_class_access",
2444:
2445: "value ::= varindexed DOUBLECOLON static_class_access",
2446:
2447: "value ::= smartytag RDEL",
2448:
2449: "value ::= value modifierlist",
2450:
2451: "variable ::= varindexed",
2452:
2453: "variable ::= DOLLAR varvar AT ID",
2454:
2455: "variable ::= object",
2456:
2457: "variable ::= HATCH ID HATCH",
2458:
2459: "variable ::= HATCH ID HATCH arrayindex",
2460:
2461: "variable ::= HATCH variable HATCH",
2462:
2463: "variable ::= HATCH variable HATCH arrayindex",
2464:
2465: "varindexed ::= DOLLAR varvar arrayindex",
2466:
2467: "arrayindex ::= arrayindex indexdef",
2468:
2469: "arrayindex ::=",
2470:
2471: "indexdef ::= DOT DOLLAR varvar",
2472:
2473: "indexdef ::= DOT DOLLAR varvar AT ID",
2474:
2475: "indexdef ::= DOT ID",
2476:
2477: "indexdef ::= DOT INTEGER",
2478:
2479: "indexdef ::= DOT LDEL expr RDEL",
2480:
2481: "indexdef ::= OPENB ID CLOSEB",
2482:
2483: "indexdef ::= OPENB ID DOT ID CLOSEB",
2484:
2485: "indexdef ::= OPENB expr CLOSEB",
2486:
2487: "indexdef ::= OPENB CLOSEB",
2488:
2489: "varvar ::= varvarele",
2490:
2491: "varvar ::= varvar varvarele",
2492:
2493: "varvarele ::= ID",
2494:
2495: "varvarele ::= LDEL expr RDEL",
2496:
2497: "object ::= varindexed objectchain",
2498:
2499: "objectchain ::= objectelement",
2500:
2501: "objectchain ::= objectchain objectelement",
2502:
2503: "objectelement ::= PTR ID arrayindex",
2504:
2505: "objectelement ::= PTR DOLLAR varvar arrayindex",
2506:
2507: "objectelement ::= PTR LDEL expr RDEL arrayindex",
2508:
2509: "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
2510:
2511: "objectelement ::= PTR method",
2512:
2513: "function ::= ID OPENP params CLOSEP",
2514:
2515: "method ::= ID OPENP params CLOSEP",
2516:
2517: "method ::= DOLLAR ID OPENP params CLOSEP",
2518:
2519: "params ::= params COMMA expr",
2520:
2521: "params ::= expr",
2522:
2523: "params ::=",
2524:
2525: "modifierlist ::= modifierlist modifier modparameters",
2526:
2527: "modifierlist ::= modifier modparameters",
2528:
2529: "modifier ::= VERT AT ID",
2530:
2531: "modifier ::= VERT ID",
2532:
2533: "modparameters ::= modparameters modparameter",
2534:
2535: "modparameters ::=",
2536:
2537: "modparameter ::= COLON value",
2538:
2539: "modparameter ::= COLON array",
2540:
2541: "static_class_access ::= method",
2542:
2543: "static_class_access ::= method objectchain",
2544:
2545: "static_class_access ::= ID",
2546:
2547: "static_class_access ::= DOLLAR ID arrayindex",
2548:
2549: "static_class_access ::= DOLLAR ID arrayindex objectchain",
2550:
2551: "ifcond ::= EQUALS",
2552:
2553: "ifcond ::= NOTEQUALS",
2554:
2555: "ifcond ::= GREATERTHAN",
2556:
2557: "ifcond ::= LESSTHAN",
2558:
2559: "ifcond ::= GREATEREQUAL",
2560:
2561: "ifcond ::= LESSEQUAL",
2562:
2563: "ifcond ::= IDENTITY",
2564:
2565: "ifcond ::= NONEIDENTITY",
2566:
2567: "ifcond ::= MOD",
2568:
2569: "lop ::= LAND",
2570:
2571: "lop ::= LOR",
2572:
2573: "lop ::= LXOR",
2574:
2575: "array ::= OPENB arrayelements CLOSEB",
2576:
2577: "arrayelements ::= arrayelement",
2578:
2579: "arrayelements ::= arrayelements COMMA arrayelement",
2580:
2581: "arrayelements ::=",
2582:
2583: "arrayelement ::= value APTR expr",
2584:
2585: "arrayelement ::= ID APTR expr",
2586:
2587: "arrayelement ::= expr",
2588:
2589: "doublequoted_with_quotes ::= QUOTE QUOTE",
2590:
2591: "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
2592:
2593: "doublequoted ::= doublequoted doublequotedcontent",
2594:
2595: "doublequoted ::= doublequotedcontent",
2596:
2597: "doublequotedcontent ::= BACKTICK variable BACKTICK",
2598:
2599: "doublequotedcontent ::= BACKTICK expr BACKTICK",
2600:
2601: "doublequotedcontent ::= DOLLARID",
2602:
2603: "doublequotedcontent ::= LDEL variable RDEL",
2604:
2605: "doublequotedcontent ::= LDEL expr RDEL",
2606:
2607: "doublequotedcontent ::= smartytag RDEL",
2608:
2609: "doublequotedcontent ::= TEXT",
2610:
2611: "optspace ::= SPACE",
2612:
2613: "optspace ::=",
2614: );
2615:
2616: public function tokenName($tokenType)
2617: {
2618: if ($tokenType === 0) {
2619: return 'End of Input';
2620: }
2621: if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
2622: return $this->yyTokenName[$tokenType];
2623: } else {
2624: return "Unknown";
2625: }
2626: }
2627:
2628: public static function yy_destructor($yymajor, $yypminor)
2629: {
2630: switch ($yymajor) {
2631: default:
2632: break;
2633: }
2634: }
2635:
2636: public function yy_pop_parser_stack()
2637: {
2638: if (!count($this->yystack)) {
2639: return;
2640: }
2641: $yytos = array_pop($this->yystack);
2642: if ($this->yyTraceFILE && $this->yyidx >= 0) {
2643: fwrite($this->yyTraceFILE,
2644: $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
2645: "\n");
2646: }
2647: $yymajor = $yytos->major;
2648: self::yy_destructor($yymajor, $yytos->minor);
2649: $this->yyidx --;
2650:
2651: return $yymajor;
2652: }
2653:
2654: public function __destruct()
2655: {
2656: while ($this->yystack !== Array()) {
2657: $this->yy_pop_parser_stack();
2658: }
2659: if (is_resource($this->yyTraceFILE)) {
2660: fclose($this->yyTraceFILE);
2661: }
2662: }
2663:
2664: public function yy_get_expected_tokens($token)
2665: {
2666: $state = $this->yystack[$this->yyidx]->stateno;
2667: $expected = self::$yyExpectedTokens[$state];
2668: if (in_array($token, self::$yyExpectedTokens[$state], true)) {
2669: return $expected;
2670: }
2671: $stack = $this->yystack;
2672: $yyidx = $this->yyidx;
2673: do {
2674: $yyact = $this->yy_find_shift_action($token);
2675: if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
2676:
2677: $done = 0;
2678: do {
2679: if ($done ++ == 100) {
2680: $this->yyidx = $yyidx;
2681: $this->yystack = $stack;
2682:
2683:
2684: return array_unique($expected);
2685: }
2686: $yyruleno = $yyact - self::YYNSTATE;
2687: $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
2688: $nextstate = $this->yy_find_reduce_action(
2689: $this->yystack[$this->yyidx]->stateno,
2690: self::$yyRuleInfo[$yyruleno]['lhs']);
2691: if (isset(self::$yyExpectedTokens[$nextstate])) {
2692: $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
2693: if (in_array($token,
2694: self::$yyExpectedTokens[$nextstate], true)) {
2695: $this->yyidx = $yyidx;
2696: $this->yystack = $stack;
2697:
2698: return array_unique($expected);
2699: }
2700: }
2701: if ($nextstate < self::YYNSTATE) {
2702:
2703: $this->yyidx ++;
2704: $x = new TP_yyStackEntry;
2705: $x->stateno = $nextstate;
2706: $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
2707: $this->yystack[$this->yyidx] = $x;
2708: continue 2;
2709: } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
2710: $this->yyidx = $yyidx;
2711: $this->yystack = $stack;
2712:
2713:
2714:
2715: return array_unique($expected);
2716: } elseif ($nextstate === self::YY_NO_ACTION) {
2717: $this->yyidx = $yyidx;
2718: $this->yystack = $stack;
2719:
2720: return $expected;
2721: } else {
2722: $yyact = $nextstate;
2723: }
2724: } while (true);
2725: }
2726: break;
2727: } while (true);
2728: $this->yyidx = $yyidx;
2729: $this->yystack = $stack;
2730:
2731: return array_unique($expected);
2732: }
2733:
2734: public function yy_is_expected_token($token)
2735: {
2736: if ($token === 0) {
2737: return true;
2738: }
2739: $state = $this->yystack[$this->yyidx]->stateno;
2740: if (in_array($token, self::$yyExpectedTokens[$state], true)) {
2741: return true;
2742: }
2743: $stack = $this->yystack;
2744: $yyidx = $this->yyidx;
2745: do {
2746: $yyact = $this->yy_find_shift_action($token);
2747: if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
2748:
2749: $done = 0;
2750: do {
2751: if ($done ++ == 100) {
2752: $this->yyidx = $yyidx;
2753: $this->yystack = $stack;
2754:
2755:
2756: return true;
2757: }
2758: $yyruleno = $yyact - self::YYNSTATE;
2759: $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
2760: $nextstate = $this->yy_find_reduce_action(
2761: $this->yystack[$this->yyidx]->stateno,
2762: self::$yyRuleInfo[$yyruleno]['lhs']);
2763: if (isset(self::$yyExpectedTokens[$nextstate]) &&
2764: in_array($token, self::$yyExpectedTokens[$nextstate], true)
2765: ) {
2766: $this->yyidx = $yyidx;
2767: $this->yystack = $stack;
2768:
2769: return true;
2770: }
2771: if ($nextstate < self::YYNSTATE) {
2772:
2773: $this->yyidx ++;
2774: $x = new TP_yyStackEntry;
2775: $x->stateno = $nextstate;
2776: $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
2777: $this->yystack[$this->yyidx] = $x;
2778: continue 2;
2779: } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
2780: $this->yyidx = $yyidx;
2781: $this->yystack = $stack;
2782: if (!$token) {
2783:
2784: return true;
2785: }
2786:
2787:
2788:
2789: return false;
2790: } elseif ($nextstate === self::YY_NO_ACTION) {
2791: $this->yyidx = $yyidx;
2792: $this->yystack = $stack;
2793:
2794: return true;
2795: } else {
2796: $yyact = $nextstate;
2797: }
2798: } while (true);
2799: }
2800: break;
2801: } while (true);
2802: $this->yyidx = $yyidx;
2803: $this->yystack = $stack;
2804:
2805: return true;
2806: }
2807:
2808: public function yy_find_shift_action($iLookAhead)
2809: {
2810: $stateno = $this->yystack[$this->yyidx]->stateno;
2811:
2812:
2813: if (!isset(self::$yy_shift_ofst[$stateno])) {
2814:
2815: return self::$yy_default[$stateno];
2816: }
2817: $i = self::$yy_shift_ofst[$stateno];
2818: if ($i === self::YY_SHIFT_USE_DFLT) {
2819: return self::$yy_default[$stateno];
2820: }
2821: if ($iLookAhead == self::YYNOCODE) {
2822: return self::YY_NO_ACTION;
2823: }
2824: $i += $iLookAhead;
2825: if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
2826: self::$yy_lookahead[$i] != $iLookAhead
2827: ) {
2828: if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
2829: && ($iFallback = self::$yyFallback[$iLookAhead]) != 0
2830: ) {
2831: if ($this->yyTraceFILE) {
2832: fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " .
2833: $this->yyTokenName[$iLookAhead] . " => " .
2834: $this->yyTokenName[$iFallback] . "\n");
2835: }
2836:
2837: return $this->yy_find_shift_action($iFallback);
2838: }
2839:
2840: return self::$yy_default[$stateno];
2841: } else {
2842: return self::$yy_action[$i];
2843: }
2844: }
2845:
2846: public function yy_find_reduce_action($stateno, $iLookAhead)
2847: {
2848:
2849:
2850: if (!isset(self::$yy_reduce_ofst[$stateno])) {
2851: return self::$yy_default[$stateno];
2852: }
2853: $i = self::$yy_reduce_ofst[$stateno];
2854: if ($i == self::YY_REDUCE_USE_DFLT) {
2855: return self::$yy_default[$stateno];
2856: }
2857: if ($iLookAhead == self::YYNOCODE) {
2858: return self::YY_NO_ACTION;
2859: }
2860: $i += $iLookAhead;
2861: if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
2862: self::$yy_lookahead[$i] != $iLookAhead
2863: ) {
2864: return self::$yy_default[$stateno];
2865: } else {
2866: return self::$yy_action[$i];
2867: }
2868: }
2869:
2870: public function yy_shift($yyNewState, $yyMajor, $yypMinor)
2871: {
2872: $this->yyidx ++;
2873: if ($this->yyidx >= self::YYSTACKDEPTH) {
2874: $this->yyidx --;
2875: if ($this->yyTraceFILE) {
2876: fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
2877: }
2878: while ($this->yyidx >= 0) {
2879: $this->yy_pop_parser_stack();
2880: }
2881:
2882:
2883: $this->internalError = true;
2884: $this->compiler->trigger_template_error("Stack overflow in template parser");
2885:
2886:
2887: return;
2888: }
2889: $yytos = new TP_yyStackEntry;
2890: $yytos->stateno = $yyNewState;
2891: $yytos->major = $yyMajor;
2892: $yytos->minor = $yypMinor;
2893: array_push($this->yystack, $yytos);
2894: if ($this->yyTraceFILE && $this->yyidx > 0) {
2895: fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt,
2896: $yyNewState);
2897: fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
2898: for ($i = 1; $i <= $this->yyidx; $i ++) {
2899: fprintf($this->yyTraceFILE, " %s",
2900: $this->yyTokenName[$this->yystack[$i]->major]);
2901: }
2902: fwrite($this->yyTraceFILE, "\n");
2903: }
2904: }
2905:
2906: public static $yyRuleInfo = array(
2907: array('lhs' => 83, 'rhs' => 1),
2908: array('lhs' => 84, 'rhs' => 1),
2909: array('lhs' => 84, 'rhs' => 2),
2910: array('lhs' => 84, 'rhs' => 0),
2911: array('lhs' => 85, 'rhs' => 2),
2912: array('lhs' => 85, 'rhs' => 1),
2913: array('lhs' => 85, 'rhs' => 1),
2914: array('lhs' => 85, 'rhs' => 1),
2915: array('lhs' => 85, 'rhs' => 1),
2916: array('lhs' => 85, 'rhs' => 1),
2917: array('lhs' => 85, 'rhs' => 1),
2918: array('lhs' => 85, 'rhs' => 1),
2919: array('lhs' => 85, 'rhs' => 1),
2920: array('lhs' => 85, 'rhs' => 1),
2921: array('lhs' => 85, 'rhs' => 1),
2922: array('lhs' => 85, 'rhs' => 1),
2923: array('lhs' => 85, 'rhs' => 1),
2924: array('lhs' => 87, 'rhs' => 2),
2925: array('lhs' => 87, 'rhs' => 3),
2926: array('lhs' => 88, 'rhs' => 2),
2927: array('lhs' => 88, 'rhs' => 0),
2928: array('lhs' => 89, 'rhs' => 1),
2929: array('lhs' => 89, 'rhs' => 1),
2930: array('lhs' => 86, 'rhs' => 2),
2931: array('lhs' => 86, 'rhs' => 4),
2932: array('lhs' => 86, 'rhs' => 3),
2933: array('lhs' => 86, 'rhs' => 4),
2934: array('lhs' => 86, 'rhs' => 3),
2935: array('lhs' => 86, 'rhs' => 5),
2936: array('lhs' => 86, 'rhs' => 5),
2937: array('lhs' => 86, 'rhs' => 6),
2938: array('lhs' => 86, 'rhs' => 5),
2939: array('lhs' => 86, 'rhs' => 3),
2940: array('lhs' => 86, 'rhs' => 2),
2941: array('lhs' => 86, 'rhs' => 5),
2942: array('lhs' => 86, 'rhs' => 4),
2943: array('lhs' => 86, 'rhs' => 6),
2944: array('lhs' => 86, 'rhs' => 2),
2945: array('lhs' => 86, 'rhs' => 3),
2946: array('lhs' => 86, 'rhs' => 2),
2947: array('lhs' => 86, 'rhs' => 3),
2948: array('lhs' => 86, 'rhs' => 11),
2949: array('lhs' => 99, 'rhs' => 2),
2950: array('lhs' => 99, 'rhs' => 1),
2951: array('lhs' => 86, 'rhs' => 5),
2952: array('lhs' => 86, 'rhs' => 7),
2953: array('lhs' => 86, 'rhs' => 2),
2954: array('lhs' => 86, 'rhs' => 7),
2955: array('lhs' => 86, 'rhs' => 10),
2956: array('lhs' => 86, 'rhs' => 7),
2957: array('lhs' => 86, 'rhs' => 10),
2958: array('lhs' => 86, 'rhs' => 3),
2959: array('lhs' => 86, 'rhs' => 4),
2960: array('lhs' => 86, 'rhs' => 2),
2961: array('lhs' => 86, 'rhs' => 2),
2962: array('lhs' => 86, 'rhs' => 3),
2963: array('lhs' => 86, 'rhs' => 4),
2964: array('lhs' => 86, 'rhs' => 5),
2965: array('lhs' => 92, 'rhs' => 2),
2966: array('lhs' => 92, 'rhs' => 1),
2967: array('lhs' => 92, 'rhs' => 0),
2968: array('lhs' => 101, 'rhs' => 4),
2969: array('lhs' => 101, 'rhs' => 2),
2970: array('lhs' => 101, 'rhs' => 2),
2971: array('lhs' => 101, 'rhs' => 2),
2972: array('lhs' => 101, 'rhs' => 2),
2973: array('lhs' => 101, 'rhs' => 2),
2974: array('lhs' => 101, 'rhs' => 4),
2975: array('lhs' => 96, 'rhs' => 1),
2976: array('lhs' => 96, 'rhs' => 3),
2977: array('lhs' => 95, 'rhs' => 4),
2978: array('lhs' => 95, 'rhs' => 3),
2979: array('lhs' => 95, 'rhs' => 3),
2980: array('lhs' => 93, 'rhs' => 1),
2981: array('lhs' => 93, 'rhs' => 1),
2982: array('lhs' => 93, 'rhs' => 4),
2983: array('lhs' => 93, 'rhs' => 3),
2984: array('lhs' => 93, 'rhs' => 3),
2985: array('lhs' => 93, 'rhs' => 3),
2986: array('lhs' => 93, 'rhs' => 1),
2987: array('lhs' => 93, 'rhs' => 2),
2988: array('lhs' => 93, 'rhs' => 3),
2989: array('lhs' => 93, 'rhs' => 3),
2990: array('lhs' => 93, 'rhs' => 3),
2991: array('lhs' => 93, 'rhs' => 3),
2992: array('lhs' => 93, 'rhs' => 3),
2993: array('lhs' => 93, 'rhs' => 3),
2994: array('lhs' => 93, 'rhs' => 2),
2995: array('lhs' => 93, 'rhs' => 2),
2996: array('lhs' => 93, 'rhs' => 3),
2997: array('lhs' => 93, 'rhs' => 3),
2998: array('lhs' => 93, 'rhs' => 2),
2999: array('lhs' => 93, 'rhs' => 2),
3000: array('lhs' => 93, 'rhs' => 3),
3001: array('lhs' => 93, 'rhs' => 3),
3002: array('lhs' => 93, 'rhs' => 3),
3003: array('lhs' => 93, 'rhs' => 3),
3004: array('lhs' => 102, 'rhs' => 8),
3005: array('lhs' => 102, 'rhs' => 7),
3006: array('lhs' => 90, 'rhs' => 1),
3007: array('lhs' => 90, 'rhs' => 2),
3008: array('lhs' => 90, 'rhs' => 2),
3009: array('lhs' => 90, 'rhs' => 2),
3010: array('lhs' => 90, 'rhs' => 2),
3011: array('lhs' => 90, 'rhs' => 1),
3012: array('lhs' => 90, 'rhs' => 1),
3013: array('lhs' => 90, 'rhs' => 3),
3014: array('lhs' => 90, 'rhs' => 2),
3015: array('lhs' => 90, 'rhs' => 2),
3016: array('lhs' => 90, 'rhs' => 1),
3017: array('lhs' => 90, 'rhs' => 1),
3018: array('lhs' => 90, 'rhs' => 3),
3019: array('lhs' => 90, 'rhs' => 1),
3020: array('lhs' => 90, 'rhs' => 1),
3021: array('lhs' => 90, 'rhs' => 3),
3022: array('lhs' => 90, 'rhs' => 3),
3023: array('lhs' => 90, 'rhs' => 2),
3024: array('lhs' => 90, 'rhs' => 2),
3025: array('lhs' => 106, 'rhs' => 1),
3026: array('lhs' => 106, 'rhs' => 4),
3027: array('lhs' => 106, 'rhs' => 1),
3028: array('lhs' => 106, 'rhs' => 3),
3029: array('lhs' => 106, 'rhs' => 4),
3030: array('lhs' => 106, 'rhs' => 3),
3031: array('lhs' => 106, 'rhs' => 4),
3032: array('lhs' => 94, 'rhs' => 3),
3033: array('lhs' => 111, 'rhs' => 2),
3034: array('lhs' => 111, 'rhs' => 0),
3035: array('lhs' => 112, 'rhs' => 3),
3036: array('lhs' => 112, 'rhs' => 5),
3037: array('lhs' => 112, 'rhs' => 2),
3038: array('lhs' => 112, 'rhs' => 2),
3039: array('lhs' => 112, 'rhs' => 4),
3040: array('lhs' => 112, 'rhs' => 3),
3041: array('lhs' => 112, 'rhs' => 5),
3042: array('lhs' => 112, 'rhs' => 3),
3043: array('lhs' => 112, 'rhs' => 2),
3044: array('lhs' => 98, 'rhs' => 1),
3045: array('lhs' => 98, 'rhs' => 2),
3046: array('lhs' => 113, 'rhs' => 1),
3047: array('lhs' => 113, 'rhs' => 3),
3048: array('lhs' => 110, 'rhs' => 2),
3049: array('lhs' => 114, 'rhs' => 1),
3050: array('lhs' => 114, 'rhs' => 2),
3051: array('lhs' => 115, 'rhs' => 3),
3052: array('lhs' => 115, 'rhs' => 4),
3053: array('lhs' => 115, 'rhs' => 5),
3054: array('lhs' => 115, 'rhs' => 6),
3055: array('lhs' => 115, 'rhs' => 2),
3056: array('lhs' => 107, 'rhs' => 4),
3057: array('lhs' => 116, 'rhs' => 4),
3058: array('lhs' => 116, 'rhs' => 5),
3059: array('lhs' => 117, 'rhs' => 3),
3060: array('lhs' => 117, 'rhs' => 1),
3061: array('lhs' => 117, 'rhs' => 0),
3062: array('lhs' => 91, 'rhs' => 3),
3063: array('lhs' => 91, 'rhs' => 2),
3064: array('lhs' => 118, 'rhs' => 3),
3065: array('lhs' => 118, 'rhs' => 2),
3066: array('lhs' => 100, 'rhs' => 2),
3067: array('lhs' => 100, 'rhs' => 0),
3068: array('lhs' => 119, 'rhs' => 2),
3069: array('lhs' => 119, 'rhs' => 2),
3070: array('lhs' => 109, 'rhs' => 1),
3071: array('lhs' => 109, 'rhs' => 2),
3072: array('lhs' => 109, 'rhs' => 1),
3073: array('lhs' => 109, 'rhs' => 3),
3074: array('lhs' => 109, 'rhs' => 4),
3075: array('lhs' => 104, 'rhs' => 1),
3076: array('lhs' => 104, 'rhs' => 1),
3077: array('lhs' => 104, 'rhs' => 1),
3078: array('lhs' => 104, 'rhs' => 1),
3079: array('lhs' => 104, 'rhs' => 1),
3080: array('lhs' => 104, 'rhs' => 1),
3081: array('lhs' => 104, 'rhs' => 1),
3082: array('lhs' => 104, 'rhs' => 1),
3083: array('lhs' => 104, 'rhs' => 1),
3084: array('lhs' => 105, 'rhs' => 1),
3085: array('lhs' => 105, 'rhs' => 1),
3086: array('lhs' => 105, 'rhs' => 1),
3087: array('lhs' => 103, 'rhs' => 3),
3088: array('lhs' => 120, 'rhs' => 1),
3089: array('lhs' => 120, 'rhs' => 3),
3090: array('lhs' => 120, 'rhs' => 0),
3091: array('lhs' => 121, 'rhs' => 3),
3092: array('lhs' => 121, 'rhs' => 3),
3093: array('lhs' => 121, 'rhs' => 1),
3094: array('lhs' => 108, 'rhs' => 2),
3095: array('lhs' => 108, 'rhs' => 3),
3096: array('lhs' => 122, 'rhs' => 2),
3097: array('lhs' => 122, 'rhs' => 1),
3098: array('lhs' => 123, 'rhs' => 3),
3099: array('lhs' => 123, 'rhs' => 3),
3100: array('lhs' => 123, 'rhs' => 1),
3101: array('lhs' => 123, 'rhs' => 3),
3102: array('lhs' => 123, 'rhs' => 3),
3103: array('lhs' => 123, 'rhs' => 2),
3104: array('lhs' => 123, 'rhs' => 1),
3105: array('lhs' => 97, 'rhs' => 1),
3106: array('lhs' => 97, 'rhs' => 0),
3107: );
3108:
3109: public static $yyReduceMap = array(
3110: 0 => 0,
3111: 1 => 1,
3112: 2 => 2,
3113: 4 => 4,
3114: 5 => 5,
3115: 6 => 6,
3116: 7 => 7,
3117: 8 => 8,
3118: 9 => 9,
3119: 10 => 10,
3120: 11 => 11,
3121: 12 => 12,
3122: 13 => 13,
3123: 14 => 14,
3124: 15 => 15,
3125: 16 => 16,
3126: 17 => 17,
3127: 20 => 17,
3128: 199 => 17,
3129: 18 => 18,
3130: 72 => 18,
3131: 19 => 19,
3132: 100 => 19,
3133: 102 => 19,
3134: 103 => 19,
3135: 126 => 19,
3136: 164 => 19,
3137: 21 => 21,
3138: 22 => 21,
3139: 43 => 21,
3140: 65 => 21,
3141: 66 => 21,
3142: 73 => 21,
3143: 74 => 21,
3144: 79 => 21,
3145: 99 => 21,
3146: 104 => 21,
3147: 105 => 21,
3148: 110 => 21,
3149: 112 => 21,
3150: 113 => 21,
3151: 120 => 21,
3152: 137 => 21,
3153: 163 => 21,
3154: 165 => 21,
3155: 181 => 21,
3156: 186 => 21,
3157: 198 => 21,
3158: 23 => 23,
3159: 24 => 24,
3160: 25 => 25,
3161: 27 => 25,
3162: 26 => 26,
3163: 28 => 28,
3164: 29 => 28,
3165: 30 => 30,
3166: 31 => 31,
3167: 32 => 32,
3168: 33 => 33,
3169: 34 => 34,
3170: 35 => 35,
3171: 36 => 36,
3172: 37 => 37,
3173: 38 => 38,
3174: 40 => 38,
3175: 39 => 39,
3176: 41 => 41,
3177: 42 => 42,
3178: 44 => 44,
3179: 45 => 45,
3180: 46 => 46,
3181: 47 => 47,
3182: 49 => 47,
3183: 48 => 48,
3184: 50 => 48,
3185: 51 => 51,
3186: 52 => 52,
3187: 53 => 53,
3188: 54 => 54,
3189: 55 => 55,
3190: 56 => 56,
3191: 57 => 57,
3192: 58 => 58,
3193: 59 => 59,
3194: 68 => 59,
3195: 153 => 59,
3196: 157 => 59,
3197: 161 => 59,
3198: 162 => 59,
3199: 60 => 60,
3200: 154 => 60,
3201: 160 => 60,
3202: 61 => 61,
3203: 62 => 62,
3204: 63 => 62,
3205: 64 => 64,
3206: 67 => 67,
3207: 69 => 69,
3208: 70 => 70,
3209: 71 => 70,
3210: 75 => 75,
3211: 76 => 76,
3212: 77 => 76,
3213: 78 => 76,
3214: 80 => 80,
3215: 117 => 80,
3216: 81 => 81,
3217: 84 => 81,
3218: 95 => 81,
3219: 82 => 82,
3220: 83 => 83,
3221: 85 => 85,
3222: 86 => 86,
3223: 87 => 87,
3224: 92 => 87,
3225: 88 => 88,
3226: 91 => 88,
3227: 89 => 89,
3228: 94 => 89,
3229: 90 => 90,
3230: 93 => 90,
3231: 96 => 96,
3232: 97 => 97,
3233: 98 => 98,
3234: 101 => 101,
3235: 106 => 106,
3236: 107 => 107,
3237: 108 => 108,
3238: 109 => 109,
3239: 111 => 111,
3240: 114 => 114,
3241: 115 => 115,
3242: 116 => 116,
3243: 118 => 118,
3244: 119 => 119,
3245: 121 => 121,
3246: 122 => 122,
3247: 123 => 123,
3248: 124 => 124,
3249: 125 => 125,
3250: 127 => 127,
3251: 183 => 127,
3252: 128 => 128,
3253: 129 => 129,
3254: 130 => 130,
3255: 131 => 131,
3256: 132 => 132,
3257: 135 => 132,
3258: 133 => 133,
3259: 134 => 134,
3260: 136 => 136,
3261: 138 => 138,
3262: 139 => 139,
3263: 140 => 140,
3264: 141 => 141,
3265: 142 => 142,
3266: 143 => 143,
3267: 144 => 144,
3268: 145 => 145,
3269: 146 => 146,
3270: 147 => 147,
3271: 148 => 148,
3272: 149 => 149,
3273: 150 => 150,
3274: 151 => 151,
3275: 152 => 152,
3276: 155 => 155,
3277: 156 => 156,
3278: 158 => 158,
3279: 159 => 159,
3280: 166 => 166,
3281: 167 => 167,
3282: 168 => 168,
3283: 169 => 169,
3284: 170 => 170,
3285: 171 => 171,
3286: 172 => 172,
3287: 173 => 173,
3288: 174 => 174,
3289: 175 => 175,
3290: 176 => 176,
3291: 177 => 177,
3292: 178 => 178,
3293: 179 => 179,
3294: 180 => 180,
3295: 182 => 182,
3296: 184 => 184,
3297: 185 => 185,
3298: 187 => 187,
3299: 188 => 188,
3300: 189 => 189,
3301: 190 => 190,
3302: 191 => 191,
3303: 192 => 191,
3304: 194 => 191,
3305: 193 => 193,
3306: 195 => 195,
3307: 196 => 196,
3308: 197 => 197,
3309: );
3310:
3311:
3312: function yy_r0()
3313: {
3314: $this->_retvalue = $this->root_buffer->to_smarty_php();
3315: }
3316:
3317:
3318: function yy_r1()
3319: {
3320: if ($this->yystack[$this->yyidx + 0]->minor != null) {
3321: $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);
3322: }
3323: }
3324:
3325:
3326: function yy_r2()
3327: {
3328: if ($this->yystack[$this->yyidx + 0]->minor != null) {
3329:
3330: $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);
3331: }
3332: }
3333:
3334:
3335: function yy_r4()
3336: {
3337: if ($this->compiler->has_code) {
3338: $tmp = '';
3339: foreach ($this->compiler->prefix_code as $code) {
3340: $tmp .= $code;
3341: }
3342: $this->compiler->prefix_code = array();
3343: $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp . $this->yystack[$this->yyidx + - 1]->minor, true));
3344: } else {
3345: $this->_retvalue = null;
3346: }
3347: $this->compiler->has_variable_string = false;
3348: $this->block_nesting_level = count($this->compiler->_tag_stack);
3349: }
3350:
3351:
3352: function yy_r5()
3353: {
3354: $this->_retvalue = null;
3355: }
3356:
3357:
3358: function yy_r6()
3359: {
3360: $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3361: }
3362:
3363:
3364: function yy_r7()
3365: {
3366: if (strpos($this->yystack[$this->yyidx + 0]->minor, '<s') === 0) {
3367: $this->lex->is_phpScript = true;
3368: }
3369: if ($this->php_handling == Smarty::PHP_PASSTHRU) {
3370: if ($this->lex->is_phpScript) {
3371: $s = addcslashes($this->yystack[$this->yyidx + 0]->minor, "'");
3372: $this->_retvalue = new _smarty_text($this, $s);
3373: } else {
3374: $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3375: }
3376: } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
3377: $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
3378: } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
3379: if (!($this->smarty instanceof SmartyBC)) {
3380: $this->compiler->trigger_template_error(self::Err3);
3381: }
3382: $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('<?php ', true));
3383: } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
3384: $this->_retvalue = null;
3385: }
3386: }
3387:
3388:
3389: function yy_r8()
3390: {
3391: if ($this->is_xml) {
3392: $this->compiler->tag_nocache = true;
3393: $this->is_xml = false;
3394: $save = $this->template->has_nocache_code;
3395: $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode("<?php echo '?>';?>\n", $this->compiler, true));
3396: $this->template->has_nocache_code = $save;
3397: } elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
3398: $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3399: } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
3400: $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
3401: } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
3402: $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('?>', true));
3403: } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
3404: $this->_retvalue = null;
3405: }
3406: }
3407:
3408:
3409: function yy_r9()
3410: {
3411: if (!$this->lex->is_phpScript) {
3412: $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3413: } else {
3414: $this->lex->is_phpScript = false;
3415: if ($this->php_handling == Smarty::PHP_PASSTHRU) {
3416: $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3417: } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
3418: $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
3419: } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
3420: $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('?>', true));
3421: } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
3422: $this->_retvalue = null;
3423: }
3424: }
3425: }
3426:
3427:
3428: function yy_r10()
3429: {
3430: if ($this->php_handling == Smarty::PHP_PASSTHRU) {
3431: $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3432: } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
3433: $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
3434: } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
3435: if ($this->asp_tags) {
3436: if (!($this->smarty instanceof SmartyBC)) {
3437: $this->compiler->trigger_template_error(self::Err3);
3438: }
3439: $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('<%', true));
3440: } else {
3441: $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3442: }
3443: } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
3444: if ($this->asp_tags) {
3445: $this->_retvalue = null;
3446: } else {
3447: $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3448: }
3449: }
3450: }
3451:
3452:
3453: function yy_r11()
3454: {
3455: if ($this->php_handling == Smarty::PHP_PASSTHRU) {
3456: $this->_retvalue = new _smarty_text($this, st);
3457: } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
3458: $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
3459: } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
3460: if ($this->asp_tags) {
3461: $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('%>', true));
3462: } else {
3463: $this->_retvalue = new _smarty_text($this, st);
3464: }
3465: } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
3466: if ($this->asp_tags) {
3467: $this->_retvalue = null;
3468: } else {
3469: $this->_retvalue = new _smarty_text($this, st);
3470: }
3471: }
3472: }
3473:
3474:
3475: function yy_r12()
3476: {
3477: $this->compiler->tag_nocache = true;
3478: $this->is_xml = true;
3479: $save = $this->template->has_nocache_code;
3480: $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true));
3481: $this->template->has_nocache_code = $save;
3482: }
3483:
3484:
3485: function yy_r13()
3486: {
3487: if ($this->strip) {
3488: $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
3489: } else {
3490: $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
3491: }
3492: }
3493:
3494:
3495: function yy_r14()
3496: {
3497: $this->strip = true;
3498: }
3499:
3500:
3501: function yy_r15()
3502: {
3503: $this->strip = false;
3504: }
3505:
3506:
3507: function yy_r16()
3508: {
3509: if ($this->strip) {
3510: SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
3511: } else {
3512: SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, $this->yystack[$this->yyidx + 0]->minor);
3513: }
3514: }
3515:
3516:
3517: function yy_r17()
3518: {
3519: $this->_retvalue = '';
3520: }
3521:
3522:
3523: function yy_r18()
3524: {
3525: $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
3526: }
3527:
3528:
3529: function yy_r19()
3530: {
3531: $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
3532: }
3533:
3534:
3535: function yy_r21()
3536: {
3537: $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
3538: }
3539:
3540:
3541: function yy_r23()
3542: {
3543: $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(), array('value' => $this->yystack[$this->yyidx + 0]->minor));
3544: }
3545:
3546:
3547: function yy_r24()
3548: {
3549: $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
3550: }
3551:
3552:
3553: function yy_r25()
3554: {
3555: $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 1]->minor));
3556: }
3557:
3558:
3559: function yy_r26()
3560: {
3561: $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
3562: }
3563:
3564:
3565: function yy_r28()
3566: {
3567: $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[$this->yyidx + 0]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 2]->minor . "'")));
3568: }
3569:
3570:
3571: function yy_r30()
3572: {
3573: $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 3]->minor . "'")), $this->yystack[$this->yyidx + 0]->minor));
3574: }
3575:
3576:
3577: function yy_r31()
3578: {
3579: $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => $this->yystack[$this->yyidx + - 3]->minor['var'])), $this->yystack[$this->yyidx + 0]->minor), array('smarty_internal_index' => $this->yystack[$this->yyidx + - 3]->minor['smarty_internal_index']));
3580: }
3581:
3582:
3583: function yy_r32()
3584: {
3585: $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
3586: }
3587:
3588:
3589: function yy_r33()
3590: {
3591: $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor, array());
3592: }
3593:
3594:
3595: function yy_r34()
3596: {
3597: $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 1]->minor));
3598: }
3599:
3600:
3601: function yy_r35()
3602: {
3603: $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor, $this->yystack[$this->yyidx + 0]->minor) . '<?php echo ';
3604: $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>';
3605: }
3606:
3607:
3608: function yy_r36()
3609: {
3610: $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 2]->minor)) . '<?php echo ';
3611: $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>';
3612: }
3613:
3614:
3615: function yy_r37()
3616: {
3617: $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
3618: $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor));
3619: }
3620:
3621:
3622: function yy_r38()
3623: {
3624: $tag = trim(substr($this->yystack[$this->yyidx + - 2]->minor, $this->lex->ldel_length));
3625: $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, $this->yystack[$this->yyidx + 0]->minor, array('if condition' => $this->yystack[$this->yyidx + - 1]->minor));
3626: }
3627:
3628:
3629: function yy_r39()
3630: {
3631: $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
3632: $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor));
3633: }
3634:
3635:
3636: function yy_r41()
3637: {
3638: $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 9]->minor), array('ifexp' => $this->yystack[$this->yyidx + - 6]->minor), array('var' => $this->yystack[$this->yyidx + - 2]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 1);
3639: }
3640:
3641:
3642: function yy_r42()
3643: {
3644: $this->_retvalue = '=' . $this->yystack[$this->yyidx + 0]->minor;
3645: }
3646:
3647:
3648: function yy_r44()
3649: {
3650: $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 3]->minor), array('to' => $this->yystack[$this->yyidx + - 1]->minor))), 0);
3651: }
3652:
3653:
3654: function yy_r45()
3655: {
3656: $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 5]->minor), array('to' => $this->yystack[$this->yyidx + - 3]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 0);
3657: }
3658:
3659:
3660: function yy_r46()
3661: {
3662: $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[$this->yyidx + 0]->minor);
3663: }
3664:
3665:
3666: function yy_r47()
3667: {
3668: $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 4]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor))));
3669: }
3670:
3671:
3672: function yy_r48()
3673: {
3674: $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 7]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor), array('key' => $this->yystack[$this->yyidx + - 4]->minor))));
3675: }
3676:
3677:
3678: function yy_r51()
3679: {
3680: $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array(array_merge(array($this->yystack[$this->yyidx + - 1]->minor), $this->yystack[$this->yyidx + 0]->minor))));
3681: }
3682:
3683:
3684: function yy_r52()
3685: {
3686: $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array_merge(array(array_merge(array($this->yystack[$this->yyidx + - 2]->minor), $this->yystack[$this->yyidx + - 1]->minor)), $this->yystack[$this->yyidx + 0]->minor)));
3687: }
3688:
3689:
3690: function yy_r53()
3691: {
3692: $j = strrpos($this->yystack[$this->yyidx + 0]->minor, '.');
3693: if ($this->yystack[$this->yyidx + 0]->minor[$j + 1] == 'c') {
3694:
3695: $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
3696: } else {
3697:
3698: $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler);
3699: }
3700: }
3701:
3702:
3703: function yy_r54()
3704: {
3705: $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor . 'close', array());
3706: }
3707:
3708:
3709: function yy_r55()
3710: {
3711: $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor . 'close', array(), array('modifier_list' => $this->yystack[$this->yyidx + 0]->minor));
3712: }
3713:
3714:
3715: function yy_r56()
3716: {
3717: $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + 0]->minor));
3718: }
3719:
3720:
3721: function yy_r57()
3722: {
3723: $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + - 1]->minor, 'modifier_list' => $this->yystack[$this->yyidx + 0]->minor));
3724: }
3725:
3726:
3727: function yy_r58()
3728: {
3729: $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
3730: $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
3731: }
3732:
3733:
3734: function yy_r59()
3735: {
3736: $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
3737: }
3738:
3739:
3740: function yy_r60()
3741: {
3742: $this->_retvalue = array();
3743: }
3744:
3745:
3746: function yy_r61()
3747: {
3748: if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3749: $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'true');
3750: } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3751: $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'false');
3752: } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3753: $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'null');
3754: } else {
3755: $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => "'" . $this->yystack[$this->yyidx + 0]->minor . "'");
3756: }
3757: }
3758:
3759:
3760: function yy_r62()
3761: {
3762: $this->_retvalue = array(trim($this->yystack[$this->yyidx + - 1]->minor, " =\n\r\t") => $this->yystack[$this->yyidx + 0]->minor);
3763: }
3764:
3765:
3766: function yy_r64()
3767: {
3768: $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'";
3769: }
3770:
3771:
3772: function yy_r67()
3773: {
3774: $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor);
3775: }
3776:
3777:
3778: function yy_r69()
3779: {
3780: $this->yystack[$this->yyidx + - 2]->minor[] = $this->yystack[$this->yyidx + 0]->minor;
3781: $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor;
3782: }
3783:
3784:
3785: function yy_r70()
3786: {
3787: $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 2]->minor, 'value' => $this->yystack[$this->yyidx + 0]->minor);
3788: }
3789:
3790:
3791: function yy_r75()
3792: {
3793: $this->_retvalue = '$_smarty_tpl->getStreamVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '://' . $this->yystack[$this->yyidx + 0]->minor . '\')';
3794: }
3795:
3796:
3797: function yy_r76()
3798: {
3799: $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . trim($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor;
3800: }
3801:
3802:
3803: function yy_r80()
3804: {
3805: $this->_retvalue = $this->compiler->compileTag('private_modifier', array(), array('value' => $this->yystack[$this->yyidx + - 1]->minor, 'modifierlist' => $this->yystack[$this->yyidx + 0]->minor));
3806: }
3807:
3808:
3809: function yy_r81()
3810: {
3811: $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
3812: }
3813:
3814:
3815: function yy_r82()
3816: {
3817: $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor . ')';
3818: }
3819:
3820:
3821: function yy_r83()
3822: {
3823: $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',(array)' . $this->yystack[$this->yyidx + 0]->minor . ')';
3824: }
3825:
3826:
3827: function yy_r85()
3828: {
3829: $this->_retvalue = '!(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')';
3830: }
3831:
3832:
3833: function yy_r86()
3834: {
3835: $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')';
3836: }
3837:
3838:
3839: function yy_r87()
3840: {
3841: $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')';
3842: }
3843:
3844:
3845: function yy_r88()
3846: {
3847: $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')';
3848: }
3849:
3850:
3851: function yy_r89()
3852: {
3853: $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')';
3854: }
3855:
3856:
3857: function yy_r90()
3858: {
3859: $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')';
3860: }
3861:
3862:
3863: function yy_r96()
3864: {
3865: self::$prefix_number ++;
3866: $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->yystack[$this->yyidx + 0]->minor . ';?>';
3867: $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . '$_tmp' . self::$prefix_number;
3868: }
3869:
3870:
3871: function yy_r97()
3872: {
3873: $this->_retvalue = $this->yystack[$this->yyidx + - 6]->minor . ' ? ' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 2]->minor . "'") . ' : ' . $this->yystack[$this->yyidx + 0]->minor;
3874: }
3875:
3876:
3877: function yy_r98()
3878: {
3879: $this->_retvalue = $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->yystack[$this->yyidx + - 2]->minor . ' : ' . $this->yystack[$this->yyidx + 0]->minor;
3880: }
3881:
3882:
3883: function yy_r101()
3884: {
3885: $this->_retvalue = '!' . $this->yystack[$this->yyidx + 0]->minor;
3886: }
3887:
3888:
3889: function yy_r106()
3890: {
3891: $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
3892: }
3893:
3894:
3895: function yy_r107()
3896: {
3897: $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.';
3898: }
3899:
3900:
3901: function yy_r108()
3902: {
3903: $this->_retvalue = '.' . $this->yystack[$this->yyidx + 0]->minor;
3904: }
3905:
3906:
3907: function yy_r109()
3908: {
3909: if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3910: $this->_retvalue = 'true';
3911: } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3912: $this->_retvalue = 'false';
3913: } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
3914: $this->_retvalue = 'null';
3915: } else {
3916: $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'";
3917: }
3918: }
3919:
3920:
3921: function yy_r111()
3922: {
3923: $this->_retvalue = "(" . $this->yystack[$this->yyidx + - 1]->minor . ")";
3924: }
3925:
3926:
3927: function yy_r114()
3928: {
3929: if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + - 2]->minor, $this->compiler)) {
3930: if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor])) {
3931: $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor] . '::' . $this->yystack[$this->yyidx + 0]->minor;
3932: } else {
3933: $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '::' . $this->yystack[$this->yyidx + 0]->minor;
3934: }
3935: } else {
3936: $this->compiler->trigger_template_error("static class '" . $this->yystack[$this->yyidx + - 2]->minor . "' is undefined or not allowed by security setting");
3937: }
3938: }
3939:
3940:
3941: function yy_r115()
3942: {
3943: if ($this->yystack[$this->yyidx + - 2]->minor['var'] == '\'smarty\'') {
3944: $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index']) . '::' . $this->yystack[$this->yyidx + 0]->minor;
3945: } else {
3946: $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor['var']) . $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index'] . '::' . $this->yystack[$this->yyidx + 0]->minor;
3947: }
3948: }
3949:
3950:
3951: function yy_r116()
3952: {
3953: self::$prefix_number ++;
3954: $this->compiler->prefix_code[] = '<?php ob_start();?>' . $this->yystack[$this->yyidx + - 1]->minor . '<?php $_tmp' . self::$prefix_number . '=ob_get_clean();?>';
3955: $this->_retvalue = '$_tmp' . self::$prefix_number;
3956: }
3957:
3958:
3959: function yy_r118()
3960: {
3961: if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
3962: $smarty_var = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
3963: $this->_retvalue = $smarty_var;
3964: } else {
3965:
3966: $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
3967: $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
3968: $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']) . $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
3969: }
3970: }
3971:
3972:
3973: function yy_r119()
3974: {
3975: $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[$this->yyidx + - 2]->minor . ']->' . $this->yystack[$this->yyidx + 0]->minor;
3976: }
3977:
3978:
3979: function yy_r121()
3980: {
3981: $this->_retvalue = '$_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 1]->minor . '\')';
3982: }
3983:
3984:
3985: function yy_r122()
3986: {
3987: $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '\')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' :null)';
3988: }
3989:
3990:
3991: function yy_r123()
3992: {
3993: $this->_retvalue = '$_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
3994: }
3995:
3996:
3997: function yy_r124()
3998: {
3999: $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 2]->minor . ')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' : null)';
4000: }
4001:
4002:
4003: function yy_r125()
4004: {
4005: $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 1]->minor, 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor);
4006: }
4007:
4008:
4009: function yy_r127()
4010: {
4011: return;
4012: }
4013:
4014:
4015: function yy_r128()
4016: {
4017: $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + 0]->minor) . ']';
4018: }
4019:
4020:
4021: function yy_r129()
4022: {
4023: $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor) . '->' . $this->yystack[$this->yyidx + 0]->minor . ']';
4024: }
4025:
4026:
4027: function yy_r130()
4028: {
4029: $this->_retvalue = "['" . $this->yystack[$this->yyidx + 0]->minor . "']";
4030: }
4031:
4032:
4033: function yy_r131()
4034: {
4035: $this->_retvalue = "[" . $this->yystack[$this->yyidx + 0]->minor . "]";
4036: }
4037:
4038:
4039: function yy_r132()
4040: {
4041: $this->_retvalue = "[" . $this->yystack[$this->yyidx + - 1]->minor . "]";
4042: }
4043:
4044:
4045: function yy_r133()
4046: {
4047: $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\'][\'index\']') . ']';
4048: }
4049:
4050:
4051: function yy_r134()
4052: {
4053: $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 3]->minor . '\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\']') . ']';
4054: }
4055:
4056:
4057: function yy_r136()
4058: {
4059: $this->_retvalue = '[]';
4060: }
4061:
4062:
4063: function yy_r138()
4064: {
4065: $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
4066: }
4067:
4068:
4069: function yy_r139()
4070: {
4071: $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\'';
4072: }
4073:
4074:
4075: function yy_r140()
4076: {
4077: $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
4078: }
4079:
4080:
4081: function yy_r141()
4082: {
4083: if ($this->yystack[$this->yyidx + - 1]->minor['var'] == '\'smarty\'') {
4084: $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index']) . $this->yystack[$this->yyidx + 0]->minor;
4085: } else {
4086: $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor['var']) . $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index'] . $this->yystack[$this->yyidx + 0]->minor;
4087: }
4088: }
4089:
4090:
4091: function yy_r142()
4092: {
4093: $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
4094: }
4095:
4096:
4097: function yy_r143()
4098: {
4099: $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
4100: }
4101:
4102:
4103: function yy_r144()
4104: {
4105: if ($this->security && substr($this->yystack[$this->yyidx + - 1]->minor, 0, 1) == '_') {
4106: $this->compiler->trigger_template_error(self::Err1);
4107: }
4108: $this->_retvalue = '->' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
4109: }
4110:
4111:
4112: function yy_r145()
4113: {
4114: if ($this->security) {
4115: $this->compiler->trigger_template_error(self::Err2);
4116: }
4117: $this->_retvalue = '->{' . $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor . '}';
4118: }
4119:
4120:
4121: function yy_r146()
4122: {
4123: if ($this->security) {
4124: $this->compiler->trigger_template_error(self::Err2);
4125: }
4126: $this->_retvalue = '->{' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
4127: }
4128:
4129:
4130: function yy_r147()
4131: {
4132: if ($this->security) {
4133: $this->compiler->trigger_template_error(self::Err2);
4134: }
4135: $this->_retvalue = '->{\'' . $this->yystack[$this->yyidx + - 4]->minor . '\'.' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
4136: }
4137:
4138:
4139: function yy_r148()
4140: {
4141: $this->_retvalue = '->' . $this->yystack[$this->yyidx + 0]->minor;
4142: }
4143:
4144:
4145: function yy_r149()
4146: {
4147: if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + - 3]->minor, $this->compiler)) {
4148: if (strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'array') === 0 || is_callable($this->yystack[$this->yyidx + - 3]->minor)) {
4149: $func_name = strtolower($this->yystack[$this->yyidx + - 3]->minor);
4150: if ($func_name == 'isset') {
4151: if (count($this->yystack[$this->yyidx + - 1]->minor) == 0) {
4152: $this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
4153: }
4154: $par = implode(',', $this->yystack[$this->yyidx + - 1]->minor);
4155: if (strncasecmp($par, '$_smarty_tpl->getConfigVariable', strlen('$_smarty_tpl->getConfigVariable')) === 0) {
4156: self::$prefix_number ++;
4157: $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . str_replace(')', ', false)', $par) . ';?>';
4158: $isset_par = '$_tmp' . self::$prefix_number;
4159: } else {
4160: $isset_par = str_replace("')->value", "',null,true,false)->value", $par);
4161: }
4162: $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . $isset_par . ")";
4163: } elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
4164: if (count($this->yystack[$this->yyidx + - 1]->minor) != 1) {
4165: $this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
4166: }
4167: if ($func_name == 'empty') {
4168: $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value", $this->yystack[$this->yyidx + - 1]->minor[0]) . ')';
4169: } else {
4170: $this->_retvalue = $func_name . '(' . $this->yystack[$this->yyidx + - 1]->minor[0] . ')';
4171: }
4172: } else {
4173: $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
4174: }
4175: } else {
4176: $this->compiler->trigger_template_error("unknown function \"" . $this->yystack[$this->yyidx + - 3]->minor . "\"");
4177: }
4178: }
4179: }
4180:
4181:
4182: function yy_r150()
4183: {
4184: if ($this->security && substr($this->yystack[$this->yyidx + - 3]->minor, 0, 1) == '_') {
4185: $this->compiler->trigger_template_error(self::Err1);
4186: }
4187: $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
4188: }
4189:
4190:
4191: function yy_r151()
4192: {
4193: if ($this->security) {
4194: $this->compiler->trigger_template_error(self::Err2);
4195: }
4196: self::$prefix_number ++;
4197: $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 3]->minor . "'") . ';?>';
4198: $this->_retvalue = '$_tmp' . self::$prefix_number . '(' . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ')';
4199: }
4200:
4201:
4202: function yy_r152()
4203: {
4204: $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array($this->yystack[$this->yyidx + 0]->minor));
4205: }
4206:
4207:
4208: function yy_r155()
4209: {
4210: $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor)));
4211: }
4212:
4213:
4214: function yy_r156()
4215: {
4216: $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor));
4217: }
4218:
4219:
4220: function yy_r158()
4221: {
4222: $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
4223: }
4224:
4225:
4226: function yy_r159()
4227: {
4228: $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
4229: }
4230:
4231:
4232: function yy_r166()
4233: {
4234: $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
4235: }
4236:
4237:
4238: function yy_r167()
4239: {
4240: $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
4241: }
4242:
4243:
4244: function yy_r168()
4245: {
4246: $this->_retvalue = '==';
4247: }
4248:
4249:
4250: function yy_r169()
4251: {
4252: $this->_retvalue = '!=';
4253: }
4254:
4255:
4256: function yy_r170()
4257: {
4258: $this->_retvalue = '>';
4259: }
4260:
4261:
4262: function yy_r171()
4263: {
4264: $this->_retvalue = '<';
4265: }
4266:
4267:
4268: function yy_r172()
4269: {
4270: $this->_retvalue = '>=';
4271: }
4272:
4273:
4274: function yy_r173()
4275: {
4276: $this->_retvalue = '<=';
4277: }
4278:
4279:
4280: function yy_r174()
4281: {
4282: $this->_retvalue = '===';
4283: }
4284:
4285:
4286: function yy_r175()
4287: {
4288: $this->_retvalue = '!==';
4289: }
4290:
4291:
4292: function yy_r176()
4293: {
4294: $this->_retvalue = '%';
4295: }
4296:
4297:
4298: function yy_r177()
4299: {
4300: $this->_retvalue = '&&';
4301: }
4302:
4303:
4304: function yy_r178()
4305: {
4306: $this->_retvalue = '||';
4307: }
4308:
4309:
4310: function yy_r179()
4311: {
4312: $this->_retvalue = ' XOR ';
4313: }
4314:
4315:
4316: function yy_r180()
4317: {
4318: $this->_retvalue = 'array(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
4319: }
4320:
4321:
4322: function yy_r182()
4323: {
4324: $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor;
4325: }
4326:
4327:
4328: function yy_r184()
4329: {
4330: $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '=>' . $this->yystack[$this->yyidx + 0]->minor;
4331: }
4332:
4333:
4334: function yy_r185()
4335: {
4336: $this->_retvalue = '\'' . $this->yystack[$this->yyidx + - 2]->minor . '\'=>' . $this->yystack[$this->yyidx + 0]->minor;
4337: }
4338:
4339:
4340: function yy_r187()
4341: {
4342: $this->_retvalue = "''";
4343: }
4344:
4345:
4346: function yy_r188()
4347: {
4348: $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor->to_smarty_php();
4349: }
4350:
4351:
4352: function yy_r189()
4353: {
4354: $this->yystack[$this->yyidx + - 1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor);
4355: $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
4356: }
4357:
4358:
4359: function yy_r190()
4360: {
4361: $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor);
4362: }
4363:
4364:
4365: function yy_r191()
4366: {
4367: $this->_retvalue = new _smarty_code($this, '(string)' . $this->yystack[$this->yyidx + - 1]->minor);
4368: }
4369:
4370:
4371: function yy_r193()
4372: {
4373: $this->_retvalue = new _smarty_code($this, '(string)$_smarty_tpl->tpl_vars[\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\']->value');
4374: }
4375:
4376:
4377: function yy_r195()
4378: {
4379: $this->_retvalue = new _smarty_code($this, '(string)(' . $this->yystack[$this->yyidx + - 1]->minor . ')');
4380: }
4381:
4382:
4383: function yy_r196()
4384: {
4385: $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + - 1]->minor);
4386: }
4387:
4388:
4389: function yy_r197()
4390: {
4391: $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor);
4392: }
4393:
4394:
4395:
4396: private $_retvalue;
4397:
4398: public function yy_reduce($yyruleno)
4399: {
4400: $yymsp = $this->yystack[$this->yyidx];
4401: if ($this->yyTraceFILE && $yyruleno >= 0
4402: && $yyruleno < count(self::$yyRuleName)
4403: ) {
4404: fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n",
4405: $this->yyTracePrompt, $yyruleno,
4406: self::$yyRuleName[$yyruleno]);
4407: }
4408:
4409: $this->_retvalue = $yy_lefthand_side = null;
4410: if (array_key_exists($yyruleno, self::$yyReduceMap)) {
4411:
4412: $this->_retvalue = null;
4413: $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
4414: $yy_lefthand_side = $this->_retvalue;
4415: }
4416: $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
4417: $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
4418: $this->yyidx -= $yysize;
4419: for ($i = $yysize; $i; $i --) {
4420:
4421: array_pop($this->yystack);
4422: }
4423: $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
4424: if ($yyact < self::YYNSTATE) {
4425: if (!$this->yyTraceFILE && $yysize) {
4426: $this->yyidx ++;
4427: $x = new TP_yyStackEntry;
4428: $x->stateno = $yyact;
4429: $x->major = $yygoto;
4430: $x->minor = $yy_lefthand_side;
4431: $this->yystack[$this->yyidx] = $x;
4432: } else {
4433: $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
4434: }
4435: } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
4436: $this->yy_accept();
4437: }
4438: }
4439:
4440: public function yy_parse_failed()
4441: {
4442: if ($this->yyTraceFILE) {
4443: fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
4444: }
4445: while ($this->yyidx >= 0) {
4446: $this->yy_pop_parser_stack();
4447: }
4448: }
4449:
4450: public function yy_syntax_error($yymajor, $TOKEN)
4451: {
4452:
4453:
4454: $this->internalError = true;
4455: $this->yymajor = $yymajor;
4456: $this->compiler->trigger_template_error();
4457:
4458: }
4459:
4460: public function yy_accept()
4461: {
4462: if ($this->yyTraceFILE) {
4463: fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
4464: }
4465: while ($this->yyidx >= 0) {
4466: $stack = $this->yy_pop_parser_stack();
4467: }
4468:
4469:
4470: $this->successful = !$this->internalError;
4471: $this->internalError = false;
4472: $this->retvalue = $this->_retvalue;
4473:
4474:
4475:
4476: }
4477:
4478: public function doParse($yymajor, $yytokenvalue)
4479: {
4480: $yyerrorhit = 0;
4481:
4482: if ($this->yyidx === null || $this->yyidx < 0) {
4483: $this->yyidx = 0;
4484: $this->yyerrcnt = - 1;
4485: $x = new TP_yyStackEntry;
4486: $x->stateno = 0;
4487: $x->major = 0;
4488: $this->yystack = array();
4489: array_push($this->yystack, $x);
4490: }
4491: $yyendofinput = ($yymajor == 0);
4492:
4493: if ($this->yyTraceFILE) {
4494: fprintf($this->yyTraceFILE, "%sInput %s\n",
4495: $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
4496: }
4497:
4498: do {
4499: $yyact = $this->yy_find_shift_action($yymajor);
4500: if ($yymajor < self::YYERRORSYMBOL &&
4501: !$this->yy_is_expected_token($yymajor)
4502: ) {
4503:
4504: $yyact = self::YY_ERROR_ACTION;
4505: }
4506: if ($yyact < self::YYNSTATE) {
4507: $this->yy_shift($yyact, $yymajor, $yytokenvalue);
4508: $this->yyerrcnt --;
4509: if ($yyendofinput && $this->yyidx >= 0) {
4510: $yymajor = 0;
4511: } else {
4512: $yymajor = self::YYNOCODE;
4513: }
4514: } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
4515: $this->yy_reduce($yyact - self::YYNSTATE);
4516: } elseif ($yyact == self::YY_ERROR_ACTION) {
4517: if ($this->yyTraceFILE) {
4518: fprintf($this->yyTraceFILE, "%sSyntax Error!\n",
4519: $this->yyTracePrompt);
4520: }
4521: if (self::YYERRORSYMBOL) {
4522: if ($this->yyerrcnt < 0) {
4523: $this->yy_syntax_error($yymajor, $yytokenvalue);
4524: }
4525: $yymx = $this->yystack[$this->yyidx]->major;
4526: if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
4527: if ($this->yyTraceFILE) {
4528: fprintf($this->yyTraceFILE, "%sDiscard input token %s\n",
4529: $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
4530: }
4531: $this->yy_destructor($yymajor, $yytokenvalue);
4532: $yymajor = self::YYNOCODE;
4533: } else {
4534: while ($this->yyidx >= 0 &&
4535: $yymx != self::YYERRORSYMBOL &&
4536: ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
4537: ) {
4538: $this->yy_pop_parser_stack();
4539: }
4540: if ($this->yyidx < 0 || $yymajor == 0) {
4541: $this->yy_destructor($yymajor, $yytokenvalue);
4542: $this->yy_parse_failed();
4543: $yymajor = self::YYNOCODE;
4544: } elseif ($yymx != self::YYERRORSYMBOL) {
4545: $u2 = 0;
4546: $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
4547: }
4548: }
4549: $this->yyerrcnt = 3;
4550: $yyerrorhit = 1;
4551: } else {
4552: if ($this->yyerrcnt <= 0) {
4553: $this->yy_syntax_error($yymajor, $yytokenvalue);
4554: }
4555: $this->yyerrcnt = 3;
4556: $this->yy_destructor($yymajor, $yytokenvalue);
4557: if ($yyendofinput) {
4558: $this->yy_parse_failed();
4559: }
4560: $yymajor = self::YYNOCODE;
4561: }
4562: } else {
4563: $this->yy_accept();
4564: $yymajor = self::YYNOCODE;
4565: }
4566: } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
4567: }
4568: }
4569: