3 * Smarty Internal Plugin Templateparser
5 * This is the template parser.
6 * It is generated from the internal.templateparser.y file
12 class TP_yyToken implements ArrayAccess
15 public $metadata = array();
17 function __construct($s, $m = array())
19 if ($s instanceof TP_yyToken) {
20 $this->string = $s->string;
21 $this->metadata = $s->metadata;
23 $this->string = (string) $s;
24 if ($m instanceof TP_yyToken) {
25 $this->metadata = $m->metadata;
26 } elseif (is_array($m)) {
34 return $this->_string;
37 function offsetExists($offset)
39 return isset($this->metadata[$offset]);
42 function offsetGet($offset)
44 return $this->metadata[$offset];
47 function offsetSet($offset, $value)
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);
56 $offset = count($this->metadata);
58 if ($value === null) {
61 if ($value instanceof TP_yyToken) {
62 if ($value->metadata) {
63 $this->metadata[$offset] = $value->metadata;
66 $this->metadata[$offset] = $value;
70 function offsetUnset($offset)
72 unset($this->metadata[$offset]);
78 public $stateno; /* The state-number */
79 public $major; /* The major token value. This is the code
80 ** number for the token at this stack level */
81 public $minor; /* The user-supplied minor token value. This
82 ** is the value of the token */
86 #line 12 "smarty_internal_templateparser.y"
87 class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
89 #line 14 "smarty_internal_templateparser.y"
91 const Err1 = "Security error: Call to private object member not allowed";
92 const Err2 = "Security error: Call to dynamic object member not allowed";
93 const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
94 // states whether the parse was successful or not
95 public $successful = true;
98 private $internalError = false;
99 private $strip = false;
101 function __construct($lex, $compiler) {
103 $this->compiler = $compiler;
104 $this->smarty = $this->compiler->smarty;
105 $this->template = $this->compiler->template;
106 $this->compiler->has_variable_string = false;
107 $this->compiler->prefix_code = array();
108 $this->prefix_number = 0;
109 $this->block_nesting_level = 0;
110 if ($this->security = isset($this->smarty->security_policy)) {
111 $this->php_handling = $this->smarty->security_policy->php_handling;
113 $this->php_handling = $this->smarty->php_handling;
115 $this->is_xml = false;
116 $this->asp_tags = (ini_get('asp_tags') != '0');
117 $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
120 public static function escape_start_tag($tag_text) {
121 $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
125 public static function escape_end_tag($tag_text) {
129 public function compileVariable($variable) {
130 if (strpos($variable,'(') == 0) {
131 // not a variable variable
132 $var = trim($variable,'\'');
133 $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable($var, null, true, false)->nocache;
134 $this->template->properties['variables'][$var] = $this->compiler->tag_nocache|$this->compiler->nocache;
136 // return '(isset($_smarty_tpl->tpl_vars['. $variable .'])?$_smarty_tpl->tpl_vars['. $variable .']->value:$_smarty_tpl->getVariable('. $variable .')->value)';
137 return '$_smarty_tpl->tpl_vars['. $variable .']->value';
139 #line 132 "smarty_internal_templateparser.php"
143 const TP_COMMENT = 3;
144 const TP_PHPSTARTTAG = 4;
145 const TP_PHPENDTAG = 5;
146 const TP_ASPSTARTTAG = 6;
147 const TP_ASPENDTAG = 7;
148 const TP_FAKEPHPSTARTTAG = 8;
151 const TP_STRIPON = 11;
152 const TP_STRIPOFF = 12;
153 const TP_LITERALSTART = 13;
154 const TP_LITERALEND = 14;
155 const TP_LITERAL = 15;
158 const TP_DOLLAR = 18;
162 const TP_LDELIF = 22;
163 const TP_LDELFOR = 23;
164 const TP_SEMICOLON = 24;
165 const TP_INCDEC = 25;
168 const TP_LDELFOREACH = 28;
172 const TP_LDELSETFILTER = 32;
173 const TP_SMARTYBLOCKCHILD = 33;
174 const TP_LDELSLASH = 34;
176 const TP_INTEGER = 36;
179 const TP_CLOSEP = 39;
181 const TP_UNIMATH = 41;
182 const TP_ANDSYM = 42;
184 const TP_ISDIVBY = 44;
185 const TP_ISNOTDIVBY = 45;
186 const TP_ISEVEN = 46;
187 const TP_ISNOTEVEN = 47;
188 const TP_ISEVENBY = 48;
189 const TP_ISNOTEVENBY = 49;
191 const TP_ISNOTODD = 51;
192 const TP_ISODDBY = 52;
193 const TP_ISNOTODDBY = 53;
194 const TP_INSTANCEOF = 54;
197 const TP_TYPECAST = 57;
200 const TP_SINGLEQUOTESTRING = 60;
201 const TP_DOUBLECOLON = 61;
205 const TP_CLOSEB = 65;
206 const TP_EQUALS = 66;
207 const TP_NOTEQUALS = 67;
208 const TP_GREATERTHAN = 68;
209 const TP_LESSTHAN = 69;
210 const TP_GREATEREQUAL = 70;
211 const TP_LESSEQUAL = 71;
212 const TP_IDENTITY = 72;
213 const TP_NONEIDENTITY = 73;
219 const TP_BACKTICK = 79;
220 const TP_DOLLARID = 80;
221 const YY_NO_ACTION = 593;
222 const YY_ACCEPT_ACTION = 592;
223 const YY_ERROR_ACTION = 591;
225 const YY_SZ_ACTTAB = 2453;
226 static public $yy_action = array(
227 /* 0 */ 210, 320, 317, 316, 312, 311, 313, 314, 315, 322,
228 /* 10 */ 323, 189, 191, 340, 43, 168, 292, 290, 161, 25,
229 /* 20 */ 3, 108, 284, 29, 294, 199, 146, 294, 15, 15,
230 /* 30 */ 244, 296, 243, 277, 18, 18, 285, 12, 127, 48,
231 /* 40 */ 52, 50, 44, 9, 14, 384, 385, 17, 16, 386,
232 /* 50 */ 283, 41, 39, 210, 592, 95, 260, 319, 321, 6,
233 /* 60 */ 21, 194, 135, 374, 193, 387, 383, 382, 378, 377,
234 /* 70 */ 379, 380, 381, 363, 362, 345, 344, 28, 31, 34,
235 /* 80 */ 370, 15, 19, 237, 137, 187, 25, 18, 203, 284,
236 /* 90 */ 29, 203, 48, 52, 50, 44, 9, 14, 384, 385,
237 /* 100 */ 17, 16, 386, 283, 41, 39, 329, 324, 326, 327,
238 /* 110 */ 325, 24, 288, 4, 4, 189, 332, 330, 387, 383,
239 /* 120 */ 382, 378, 377, 379, 380, 381, 363, 362, 345, 344,
240 /* 130 */ 210, 368, 231, 210, 251, 117, 139, 139, 84, 132,
241 /* 140 */ 278, 25, 10, 162, 284, 359, 338, 302, 346, 459,
242 /* 150 */ 226, 228, 369, 364, 15, 375, 230, 15, 15, 177,
243 /* 160 */ 18, 459, 240, 18, 18, 212, 257, 459, 294, 48,
244 /* 170 */ 52, 50, 44, 9, 14, 384, 385, 17, 16, 386,
245 /* 180 */ 283, 41, 39, 131, 101, 159, 47, 196, 340, 371,
246 /* 190 */ 25, 190, 340, 284, 294, 387, 383, 382, 378, 377,
247 /* 200 */ 379, 380, 381, 363, 362, 345, 344, 210, 368, 208,
248 /* 210 */ 210, 203, 140, 210, 8, 56, 123, 118, 210, 457,
249 /* 220 */ 366, 261, 234, 343, 302, 346, 453, 147, 228, 369,
250 /* 230 */ 364, 457, 375, 15, 342, 15, 231, 457, 15, 18,
251 /* 240 */ 4, 18, 307, 37, 18, 195, 48, 52, 50, 44,
252 /* 250 */ 9, 14, 384, 385, 17, 16, 386, 283, 41, 39,
253 /* 260 */ 210, 25, 2, 139, 284, 11, 47, 185, 210, 45,
254 /* 270 */ 266, 47, 387, 383, 382, 378, 377, 379, 380, 381,
255 /* 280 */ 363, 362, 345, 344, 286, 242, 104, 166, 15, 210,
256 /* 290 */ 276, 184, 188, 23, 18, 272, 294, 22, 162, 48,
257 /* 300 */ 52, 50, 44, 9, 14, 384, 385, 17, 16, 386,
258 /* 310 */ 283, 41, 39, 203, 106, 170, 13, 15, 203, 288,
259 /* 320 */ 318, 319, 321, 18, 294, 387, 383, 382, 378, 377,
260 /* 330 */ 379, 380, 381, 363, 362, 345, 344, 210, 131, 105,
261 /* 340 */ 210, 203, 23, 368, 268, 130, 249, 152, 355, 25,
262 /* 350 */ 197, 132, 284, 271, 32, 162, 287, 155, 354, 210,
263 /* 360 */ 3, 108, 15, 228, 369, 364, 146, 375, 18, 252,
264 /* 370 */ 244, 296, 243, 375, 303, 305, 48, 52, 50, 44,
265 /* 380 */ 9, 14, 384, 385, 17, 16, 386, 283, 41, 39,
266 /* 390 */ 103, 210, 36, 208, 109, 388, 303, 232, 8, 4,
267 /* 400 */ 248, 246, 387, 383, 382, 378, 377, 379, 380, 381,
268 /* 410 */ 363, 362, 345, 344, 198, 40, 361, 27, 353, 179,
269 /* 420 */ 175, 20, 139, 236, 239, 211, 116, 18, 294, 294,
270 /* 430 */ 48, 52, 50, 44, 9, 14, 384, 385, 17, 16,
271 /* 440 */ 386, 283, 41, 39, 178, 200, 200, 23, 25, 267,
272 /* 450 */ 351, 284, 186, 294, 285, 201, 387, 383, 382, 378,
273 /* 460 */ 377, 379, 380, 381, 363, 362, 345, 344, 210, 368,
274 /* 470 */ 200, 210, 210, 140, 301, 181, 69, 123, 238, 25,
275 /* 480 */ 210, 147, 284, 347, 202, 302, 346, 459, 304, 228,
276 /* 490 */ 369, 364, 15, 375, 241, 15, 297, 172, 18, 459,
277 /* 500 */ 235, 18, 203, 306, 129, 459, 294, 48, 52, 50,
278 /* 510 */ 44, 9, 14, 384, 385, 17, 16, 386, 283, 41,
279 /* 520 */ 39, 210, 25, 200, 47, 229, 25, 134, 210, 233,
280 /* 530 */ 120, 119, 210, 387, 383, 382, 378, 377, 379, 380,
281 /* 540 */ 381, 363, 362, 345, 344, 373, 373, 143, 308, 180,
282 /* 550 */ 236, 282, 25, 25, 42, 284, 216, 236, 238, 250,
283 /* 560 */ 48, 52, 50, 44, 9, 14, 384, 385, 17, 16,
284 /* 570 */ 386, 283, 41, 39, 210, 30, 203, 360, 182, 25,
285 /* 580 */ 285, 47, 222, 126, 167, 303, 387, 383, 382, 378,
286 /* 590 */ 377, 379, 380, 381, 363, 362, 345, 344, 245, 373,
287 /* 600 */ 15, 372, 160, 334, 6, 333, 18, 247, 254, 35,
288 /* 610 */ 255, 294, 114, 48, 52, 50, 44, 9, 14, 384,
289 /* 620 */ 385, 17, 16, 386, 283, 41, 39, 373, 192, 281,
290 /* 630 */ 253, 145, 38, 298, 300, 226, 94, 124, 102, 387,
291 /* 640 */ 383, 382, 378, 377, 379, 380, 381, 363, 362, 345,
292 /* 650 */ 344, 210, 368, 373, 210, 141, 140, 368, 336, 71,
293 /* 660 */ 132, 149, 136, 7, 10, 132, 165, 204, 302, 346,
294 /* 670 */ 456, 98, 228, 369, 364, 294, 375, 228, 369, 364,
295 /* 680 */ 279, 375, 456, 220, 232, 335, 373, 285, 456, 162,
296 /* 690 */ 48, 52, 50, 44, 9, 14, 384, 385, 17, 16,
297 /* 700 */ 386, 283, 41, 39, 210, 210, 309, 47, 285, 200,
298 /* 710 */ 371, 45, 162, 183, 144, 97, 387, 383, 382, 378,
299 /* 720 */ 377, 379, 380, 381, 363, 362, 345, 344, 285, 131,
300 /* 730 */ 373, 354, 331, 107, 110, 256, 376, 327, 327, 327,
301 /* 740 */ 327, 327, 115, 48, 52, 50, 44, 9, 14, 384,
302 /* 750 */ 385, 17, 16, 386, 283, 41, 39, 373, 327, 327,
303 /* 760 */ 327, 327, 327, 327, 327, 327, 327, 327, 356, 387,
304 /* 770 */ 383, 382, 378, 377, 379, 380, 381, 363, 362, 345,
305 /* 780 */ 344, 210, 352, 368, 327, 210, 327, 140, 327, 327,
306 /* 790 */ 71, 132, 327, 100, 339, 327, 138, 269, 337, 302,
307 /* 800 */ 346, 328, 327, 228, 369, 364, 15, 375, 373, 327,
308 /* 810 */ 15, 373, 18, 15, 219, 327, 18, 327, 327, 18,
309 /* 820 */ 48, 52, 50, 44, 9, 14, 384, 385, 17, 16,
310 /* 830 */ 386, 283, 41, 39, 210, 327, 327, 327, 47, 327,
311 /* 840 */ 327, 327, 327, 327, 327, 327, 387, 383, 382, 378,
312 /* 850 */ 377, 379, 380, 381, 363, 362, 345, 344, 327, 327,
313 /* 860 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
314 /* 870 */ 327, 327, 274, 48, 52, 50, 44, 9, 14, 384,
315 /* 880 */ 385, 17, 16, 386, 283, 41, 39, 210, 327, 327,
316 /* 890 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 387,
317 /* 900 */ 383, 382, 378, 377, 379, 380, 381, 363, 362, 345,
318 /* 910 */ 344, 327, 327, 327, 327, 327, 327, 327, 327, 327,
319 /* 920 */ 327, 327, 327, 327, 327, 327, 48, 52, 50, 44,
320 /* 930 */ 9, 14, 384, 385, 17, 16, 386, 283, 41, 39,
321 /* 940 */ 210, 327, 327, 327, 327, 327, 327, 327, 327, 327,
322 /* 950 */ 327, 265, 387, 383, 382, 378, 377, 379, 380, 381,
323 /* 960 */ 363, 362, 345, 344, 327, 327, 327, 327, 327, 224,
324 /* 970 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 48,
325 /* 980 */ 52, 50, 44, 9, 14, 384, 385, 17, 16, 386,
326 /* 990 */ 283, 41, 39, 210, 327, 327, 327, 327, 327, 327,
327 /* 1000 */ 327, 327, 327, 327, 327, 387, 383, 382, 378, 377,
328 /* 1010 */ 379, 380, 381, 363, 362, 345, 344, 327, 327, 327,
329 /* 1020 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
330 /* 1030 */ 327, 327, 48, 52, 50, 44, 9, 14, 384, 385,
331 /* 1040 */ 17, 16, 386, 283, 41, 39, 327, 327, 327, 327,
332 /* 1050 */ 327, 327, 327, 327, 327, 327, 327, 327, 387, 383,
333 /* 1060 */ 382, 378, 377, 379, 380, 381, 363, 362, 345, 344,
334 /* 1070 */ 327, 327, 327, 48, 52, 50, 44, 9, 14, 384,
335 /* 1080 */ 385, 17, 16, 386, 283, 41, 39, 327, 327, 327,
336 /* 1090 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 387,
337 /* 1100 */ 383, 382, 378, 377, 379, 380, 381, 363, 362, 345,
338 /* 1110 */ 344, 327, 327, 327, 327, 327, 43, 327, 142, 207,
339 /* 1120 */ 327, 327, 3, 108, 327, 264, 327, 368, 146, 327,
340 /* 1130 */ 327, 151, 244, 296, 243, 132, 227, 15, 33, 327,
341 /* 1140 */ 327, 51, 327, 18, 367, 327, 368, 228, 369, 364,
342 /* 1150 */ 150, 375, 327, 174, 132, 327, 49, 46, 299, 225,
343 /* 1160 */ 365, 327, 294, 103, 1, 280, 228, 369, 364, 262,
344 /* 1170 */ 375, 327, 327, 43, 285, 142, 218, 327, 96, 3,
345 /* 1180 */ 108, 15, 289, 327, 327, 146, 327, 18, 327, 244,
346 /* 1190 */ 296, 243, 327, 227, 15, 33, 327, 327, 51, 327,
347 /* 1200 */ 18, 327, 368, 327, 327, 327, 121, 327, 327, 54,
348 /* 1210 */ 132, 327, 327, 49, 46, 299, 225, 365, 302, 346,
349 /* 1220 */ 103, 1, 228, 369, 364, 327, 375, 350, 327, 327,
350 /* 1230 */ 43, 327, 142, 205, 327, 96, 3, 108, 327, 15,
351 /* 1240 */ 169, 327, 146, 327, 358, 18, 244, 296, 243, 294,
352 /* 1250 */ 227, 327, 33, 327, 327, 51, 15, 327, 327, 368,
353 /* 1260 */ 327, 285, 18, 140, 327, 327, 66, 132, 327, 327,
354 /* 1270 */ 49, 46, 299, 225, 365, 302, 346, 103, 1, 228,
355 /* 1280 */ 369, 364, 327, 375, 295, 327, 327, 43, 327, 130,
356 /* 1290 */ 218, 327, 96, 3, 108, 327, 15, 327, 327, 146,
357 /* 1300 */ 327, 293, 18, 244, 296, 243, 327, 227, 327, 26,
358 /* 1310 */ 327, 327, 51, 15, 327, 327, 368, 327, 327, 18,
359 /* 1320 */ 140, 327, 327, 60, 132, 327, 327, 49, 46, 299,
360 /* 1330 */ 225, 365, 302, 346, 103, 1, 228, 369, 364, 327,
361 /* 1340 */ 375, 258, 327, 327, 43, 327, 128, 218, 327, 96,
362 /* 1350 */ 3, 108, 327, 15, 327, 327, 146, 327, 291, 18,
363 /* 1360 */ 244, 296, 243, 327, 227, 327, 5, 327, 327, 51,
364 /* 1370 */ 15, 327, 327, 368, 327, 327, 18, 140, 327, 327,
365 /* 1380 */ 75, 132, 327, 327, 49, 46, 299, 225, 365, 302,
366 /* 1390 */ 346, 103, 1, 228, 369, 364, 327, 375, 259, 327,
367 /* 1400 */ 327, 43, 327, 142, 209, 327, 96, 3, 108, 327,
368 /* 1410 */ 15, 327, 327, 146, 327, 273, 18, 244, 296, 243,
369 /* 1420 */ 327, 227, 327, 33, 327, 327, 51, 15, 327, 327,
370 /* 1430 */ 368, 327, 327, 18, 140, 327, 327, 87, 132, 327,
371 /* 1440 */ 327, 49, 46, 299, 225, 365, 302, 346, 103, 1,
372 /* 1450 */ 228, 369, 364, 327, 375, 275, 327, 327, 43, 327,
373 /* 1460 */ 125, 92, 327, 96, 3, 108, 327, 15, 327, 327,
374 /* 1470 */ 146, 327, 310, 18, 244, 296, 243, 327, 227, 327,
375 /* 1480 */ 33, 327, 327, 51, 15, 327, 327, 368, 327, 327,
376 /* 1490 */ 18, 140, 327, 327, 58, 132, 327, 327, 49, 46,
377 /* 1500 */ 299, 225, 365, 302, 346, 103, 1, 228, 369, 364,
378 /* 1510 */ 327, 375, 341, 327, 327, 43, 327, 133, 218, 327,
379 /* 1520 */ 96, 3, 108, 327, 15, 327, 327, 146, 327, 348,
380 /* 1530 */ 18, 244, 296, 243, 327, 227, 327, 33, 327, 327,
381 /* 1540 */ 51, 15, 327, 327, 368, 327, 327, 18, 140, 327,
382 /* 1550 */ 327, 68, 132, 327, 327, 49, 46, 299, 225, 365,
383 /* 1560 */ 302, 346, 103, 1, 215, 369, 364, 327, 375, 327,
384 /* 1570 */ 327, 327, 43, 327, 142, 206, 327, 96, 3, 108,
385 /* 1580 */ 327, 327, 327, 327, 146, 327, 327, 327, 244, 296,
386 /* 1590 */ 243, 327, 213, 327, 33, 327, 327, 51, 327, 327,
387 /* 1600 */ 327, 368, 327, 327, 327, 140, 327, 327, 89, 132,
388 /* 1610 */ 327, 327, 49, 46, 299, 225, 365, 302, 346, 103,
389 /* 1620 */ 1, 228, 369, 364, 327, 375, 327, 327, 327, 43,
390 /* 1630 */ 327, 130, 214, 327, 96, 3, 108, 327, 327, 327,
391 /* 1640 */ 327, 146, 327, 327, 327, 244, 296, 243, 327, 227,
392 /* 1650 */ 327, 26, 327, 327, 51, 327, 327, 327, 368, 327,
393 /* 1660 */ 327, 327, 93, 327, 327, 53, 122, 327, 327, 49,
394 /* 1670 */ 46, 299, 225, 365, 302, 346, 103, 327, 221, 369,
395 /* 1680 */ 364, 327, 375, 327, 327, 327, 43, 327, 130, 218,
396 /* 1690 */ 327, 96, 3, 108, 327, 327, 327, 327, 146, 327,
397 /* 1700 */ 327, 327, 244, 296, 243, 327, 227, 327, 26, 327,
398 /* 1710 */ 327, 51, 327, 327, 327, 368, 327, 327, 327, 140,
399 /* 1720 */ 327, 327, 71, 132, 327, 327, 49, 46, 299, 225,
400 /* 1730 */ 365, 302, 346, 103, 327, 228, 369, 364, 327, 375,
401 /* 1740 */ 327, 327, 327, 327, 502, 327, 217, 327, 96, 327,
402 /* 1750 */ 327, 502, 327, 502, 502, 355, 502, 502, 327, 327,
403 /* 1760 */ 327, 32, 502, 327, 502, 4, 502, 3, 108, 327,
404 /* 1770 */ 99, 171, 327, 146, 327, 327, 327, 244, 296, 243,
405 /* 1780 */ 294, 502, 327, 28, 31, 327, 327, 327, 139, 327,
406 /* 1790 */ 327, 327, 502, 327, 368, 193, 163, 203, 117, 327,
407 /* 1800 */ 327, 84, 132, 327, 327, 294, 502, 327, 28, 31,
408 /* 1810 */ 302, 346, 327, 368, 228, 369, 364, 157, 375, 327,
409 /* 1820 */ 327, 132, 203, 357, 27, 353, 327, 327, 327, 263,
410 /* 1830 */ 270, 327, 368, 228, 369, 364, 140, 375, 327, 69,
411 /* 1840 */ 132, 327, 210, 368, 327, 327, 327, 140, 302, 346,
412 /* 1850 */ 79, 132, 228, 369, 364, 327, 375, 327, 349, 302,
413 /* 1860 */ 346, 327, 223, 228, 369, 364, 327, 375, 327, 327,
414 /* 1870 */ 15, 327, 327, 327, 368, 327, 18, 327, 140, 4,
415 /* 1880 */ 327, 91, 132, 327, 327, 327, 327, 327, 327, 327,
416 /* 1890 */ 302, 346, 327, 327, 228, 369, 364, 368, 375, 327,
417 /* 1900 */ 327, 140, 139, 368, 76, 132, 327, 153, 327, 327,
418 /* 1910 */ 327, 132, 327, 302, 346, 327, 327, 228, 369, 364,
419 /* 1920 */ 327, 375, 368, 228, 369, 364, 140, 375, 327, 63,
420 /* 1930 */ 132, 327, 327, 368, 327, 327, 327, 111, 302, 346,
421 /* 1940 */ 62, 132, 228, 369, 364, 327, 375, 327, 327, 302,
422 /* 1950 */ 346, 327, 327, 228, 369, 364, 327, 375, 327, 327,
423 /* 1960 */ 368, 193, 176, 327, 140, 327, 327, 78, 132, 327,
424 /* 1970 */ 327, 294, 327, 327, 28, 31, 302, 346, 327, 327,
425 /* 1980 */ 228, 369, 364, 368, 375, 327, 327, 140, 203, 368,
426 /* 1990 */ 64, 132, 327, 154, 327, 327, 327, 132, 327, 302,
427 /* 2000 */ 346, 327, 327, 228, 369, 364, 327, 375, 368, 228,
428 /* 2010 */ 369, 364, 140, 375, 327, 77, 132, 327, 327, 368,
429 /* 2020 */ 327, 327, 327, 140, 302, 346, 80, 132, 228, 369,
430 /* 2030 */ 364, 327, 375, 327, 327, 302, 346, 327, 327, 228,
431 /* 2040 */ 369, 364, 327, 375, 327, 327, 368, 327, 327, 327,
432 /* 2050 */ 140, 327, 327, 61, 132, 327, 327, 327, 327, 327,
433 /* 2060 */ 327, 327, 302, 346, 327, 327, 228, 369, 364, 368,
434 /* 2070 */ 375, 327, 327, 140, 327, 368, 65, 132, 327, 156,
435 /* 2080 */ 327, 327, 327, 132, 327, 302, 346, 327, 327, 228,
436 /* 2090 */ 369, 364, 327, 375, 368, 228, 369, 364, 140, 375,
437 /* 2100 */ 327, 81, 132, 327, 327, 368, 327, 327, 327, 113,
438 /* 2110 */ 302, 346, 88, 132, 228, 369, 364, 327, 375, 327,
439 /* 2120 */ 327, 302, 346, 327, 327, 228, 369, 364, 327, 375,
440 /* 2130 */ 327, 327, 368, 327, 327, 327, 140, 327, 327, 67,
441 /* 2140 */ 132, 327, 327, 327, 327, 327, 327, 327, 302, 346,
442 /* 2150 */ 327, 327, 228, 369, 364, 368, 375, 327, 327, 140,
443 /* 2160 */ 327, 368, 86, 132, 327, 148, 327, 327, 327, 132,
444 /* 2170 */ 327, 302, 346, 327, 327, 228, 369, 364, 327, 375,
445 /* 2180 */ 368, 228, 369, 364, 140, 375, 327, 85, 132, 327,
446 /* 2190 */ 327, 368, 327, 327, 327, 112, 302, 346, 73, 132,
447 /* 2200 */ 228, 369, 364, 327, 375, 327, 327, 302, 346, 327,
448 /* 2210 */ 327, 228, 369, 364, 327, 375, 327, 327, 368, 327,
449 /* 2220 */ 327, 327, 140, 327, 327, 70, 132, 327, 327, 327,
450 /* 2230 */ 327, 327, 327, 327, 302, 346, 327, 327, 228, 369,
451 /* 2240 */ 364, 368, 375, 327, 327, 140, 327, 327, 57, 132,
452 /* 2250 */ 327, 327, 327, 327, 327, 327, 327, 302, 346, 327,
453 /* 2260 */ 327, 228, 369, 364, 327, 375, 368, 327, 327, 327,
454 /* 2270 */ 140, 327, 327, 90, 132, 327, 327, 368, 327, 327,
455 /* 2280 */ 327, 140, 302, 346, 83, 132, 228, 369, 364, 327,
456 /* 2290 */ 375, 327, 327, 302, 346, 327, 327, 228, 369, 364,
457 /* 2300 */ 327, 375, 327, 327, 368, 327, 327, 327, 140, 327,
458 /* 2310 */ 327, 82, 132, 327, 327, 327, 327, 327, 327, 327,
459 /* 2320 */ 302, 346, 327, 327, 228, 369, 364, 368, 375, 327,
460 /* 2330 */ 327, 140, 327, 327, 55, 132, 327, 327, 327, 327,
461 /* 2340 */ 327, 327, 327, 302, 346, 327, 327, 228, 369, 364,
462 /* 2350 */ 327, 375, 368, 327, 327, 327, 140, 327, 327, 72,
463 /* 2360 */ 132, 327, 327, 368, 327, 327, 327, 93, 302, 346,
464 /* 2370 */ 59, 122, 228, 369, 364, 327, 375, 327, 327, 302,
465 /* 2380 */ 346, 327, 327, 228, 369, 364, 327, 375, 327, 327,
466 /* 2390 */ 368, 327, 327, 327, 140, 327, 327, 74, 132, 327,
467 /* 2400 */ 327, 327, 327, 193, 158, 327, 302, 346, 327, 327,
468 /* 2410 */ 228, 369, 364, 294, 375, 327, 28, 31, 193, 173,
469 /* 2420 */ 327, 327, 327, 327, 327, 193, 164, 327, 294, 327,
470 /* 2430 */ 203, 28, 31, 327, 327, 294, 327, 327, 28, 31,
471 /* 2440 */ 327, 327, 327, 327, 327, 203, 327, 327, 327, 327,
472 /* 2450 */ 327, 327, 203,
474 static public $yy_lookahead = array(
475 /* 0 */ 1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
476 /* 10 */ 12, 13, 113, 114, 16, 91, 17, 17, 91, 16,
477 /* 20 */ 22, 23, 19, 20, 100, 24, 28, 100, 29, 29,
478 /* 30 */ 32, 33, 34, 29, 35, 35, 112, 16, 37, 40,
479 /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
480 /* 50 */ 51, 52, 53, 1, 82, 83, 84, 85, 86, 38,
481 /* 60 */ 16, 90, 18, 19, 90, 66, 67, 68, 69, 70,
482 /* 70 */ 71, 72, 73, 74, 75, 76, 77, 103, 104, 27,
483 /* 80 */ 36, 29, 16, 96, 18, 19, 16, 35, 117, 19,
484 /* 90 */ 20, 117, 40, 41, 42, 43, 44, 45, 46, 47,
485 /* 100 */ 48, 49, 50, 51, 52, 53, 4, 5, 6, 7,
486 /* 110 */ 8, 20, 118, 38, 38, 13, 14, 15, 66, 67,
487 /* 120 */ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
488 /* 130 */ 1, 85, 62, 1, 59, 89, 61, 61, 92, 93,
489 /* 140 */ 65, 16, 20, 21, 19, 17, 17, 101, 102, 17,
490 /* 150 */ 59, 105, 106, 107, 29, 109, 31, 29, 29, 91,
491 /* 160 */ 35, 29, 30, 35, 35, 119, 120, 35, 100, 40,
492 /* 170 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
493 /* 180 */ 51, 52, 53, 61, 90, 91, 54, 113, 114, 111,
494 /* 190 */ 16, 113, 114, 19, 100, 66, 67, 68, 69, 70,
495 /* 200 */ 71, 72, 73, 74, 75, 76, 77, 1, 85, 59,
496 /* 210 */ 1, 117, 89, 1, 64, 92, 93, 94, 1, 17,
497 /* 220 */ 108, 17, 20, 17, 101, 102, 17, 115, 105, 106,
498 /* 230 */ 107, 29, 109, 29, 17, 29, 62, 35, 29, 35,
499 /* 240 */ 38, 35, 19, 31, 35, 99, 40, 41, 42, 43,
500 /* 250 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
501 /* 260 */ 1, 16, 37, 61, 19, 20, 54, 110, 1, 2,
502 /* 270 */ 25, 54, 66, 67, 68, 69, 70, 71, 72, 73,
503 /* 280 */ 74, 75, 76, 77, 17, 62, 90, 91, 29, 1,
504 /* 290 */ 65, 90, 110, 37, 35, 39, 100, 20, 21, 40,
505 /* 300 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
506 /* 310 */ 51, 52, 53, 117, 90, 91, 96, 29, 117, 118,
507 /* 320 */ 84, 85, 86, 35, 100, 66, 67, 68, 69, 70,
508 /* 330 */ 71, 72, 73, 74, 75, 76, 77, 1, 61, 99,
509 /* 340 */ 1, 117, 37, 85, 39, 18, 19, 89, 10, 16,
510 /* 350 */ 99, 93, 19, 17, 16, 21, 17, 93, 85, 1,
511 /* 360 */ 22, 23, 29, 105, 106, 107, 28, 109, 35, 105,
512 /* 370 */ 32, 33, 34, 109, 25, 17, 40, 41, 42, 43,
513 /* 380 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
514 /* 390 */ 63, 1, 31, 59, 121, 122, 25, 2, 64, 38,
515 /* 400 */ 18, 19, 66, 67, 68, 69, 70, 71, 72, 73,
516 /* 410 */ 74, 75, 76, 77, 24, 20, 78, 79, 80, 91,
517 /* 420 */ 91, 29, 61, 93, 94, 95, 19, 35, 100, 100,
518 /* 430 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
519 /* 440 */ 50, 51, 52, 53, 91, 117, 117, 37, 16, 39,
520 /* 450 */ 79, 19, 110, 100, 112, 19, 66, 67, 68, 69,
521 /* 460 */ 70, 71, 72, 73, 74, 75, 76, 77, 1, 85,
522 /* 470 */ 117, 1, 1, 89, 108, 90, 92, 93, 94, 16,
523 /* 480 */ 1, 115, 19, 17, 17, 101, 102, 17, 17, 105,
524 /* 490 */ 106, 107, 29, 109, 31, 29, 17, 91, 35, 29,
525 /* 500 */ 21, 35, 117, 19, 18, 35, 100, 40, 41, 42,
526 /* 510 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
527 /* 520 */ 53, 1, 16, 117, 54, 19, 16, 18, 1, 19,
528 /* 530 */ 97, 97, 1, 66, 67, 68, 69, 70, 71, 72,
529 /* 540 */ 73, 74, 75, 76, 77, 112, 112, 38, 17, 90,
530 /* 550 */ 93, 94, 16, 16, 26, 19, 19, 93, 94, 39,
531 /* 560 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
532 /* 570 */ 50, 51, 52, 53, 1, 2, 117, 17, 110, 16,
533 /* 580 */ 112, 54, 19, 18, 97, 25, 66, 67, 68, 69,
534 /* 590 */ 70, 71, 72, 73, 74, 75, 76, 77, 62, 112,
535 /* 600 */ 29, 19, 91, 86, 38, 88, 35, 19, 63, 55,
536 /* 610 */ 63, 100, 97, 40, 41, 42, 43, 44, 45, 46,
537 /* 620 */ 47, 48, 49, 50, 51, 52, 53, 112, 19, 65,
538 /* 630 */ 39, 18, 2, 36, 36, 59, 19, 18, 97, 66,
539 /* 640 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
540 /* 650 */ 77, 1, 85, 112, 1, 18, 89, 85, 19, 92,
541 /* 660 */ 93, 89, 19, 38, 20, 93, 91, 17, 101, 102,
542 /* 670 */ 17, 97, 105, 106, 107, 100, 109, 105, 106, 107,
543 /* 680 */ 19, 109, 29, 116, 2, 19, 112, 112, 35, 21,
544 /* 690 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
545 /* 700 */ 50, 51, 52, 53, 1, 1, 100, 54, 112, 117,
546 /* 710 */ 111, 2, 21, 110, 98, 97, 66, 67, 68, 69,
547 /* 720 */ 70, 71, 72, 73, 74, 75, 76, 77, 112, 61,
548 /* 730 */ 112, 85, 14, 110, 87, 115, 114, 123, 123, 123,
549 /* 740 */ 123, 123, 97, 40, 41, 42, 43, 44, 45, 46,
550 /* 750 */ 47, 48, 49, 50, 51, 52, 53, 112, 123, 123,
551 /* 760 */ 123, 123, 123, 123, 123, 123, 123, 123, 122, 66,
552 /* 770 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
553 /* 780 */ 77, 1, 79, 85, 123, 1, 123, 89, 123, 123,
554 /* 790 */ 92, 93, 123, 97, 17, 123, 97, 17, 17, 101,
555 /* 800 */ 102, 17, 123, 105, 106, 107, 29, 109, 112, 123,
556 /* 810 */ 29, 112, 35, 29, 116, 123, 35, 123, 123, 35,
557 /* 820 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
558 /* 830 */ 50, 51, 52, 53, 1, 123, 123, 123, 54, 123,
559 /* 840 */ 123, 123, 123, 123, 123, 123, 66, 67, 68, 69,
560 /* 850 */ 70, 71, 72, 73, 74, 75, 76, 77, 123, 123,
561 /* 860 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
562 /* 870 */ 123, 123, 39, 40, 41, 42, 43, 44, 45, 46,
563 /* 880 */ 47, 48, 49, 50, 51, 52, 53, 1, 123, 123,
564 /* 890 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 66,
565 /* 900 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
566 /* 910 */ 77, 123, 123, 123, 123, 123, 123, 123, 123, 123,
567 /* 920 */ 123, 123, 123, 123, 123, 123, 40, 41, 42, 43,
568 /* 930 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
569 /* 940 */ 1, 123, 123, 123, 123, 123, 123, 123, 123, 123,
570 /* 950 */ 123, 65, 66, 67, 68, 69, 70, 71, 72, 73,
571 /* 960 */ 74, 75, 76, 77, 123, 123, 123, 123, 123, 30,
572 /* 970 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 40,
573 /* 980 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
574 /* 990 */ 51, 52, 53, 1, 123, 123, 123, 123, 123, 123,
575 /* 1000 */ 123, 123, 123, 123, 123, 66, 67, 68, 69, 70,
576 /* 1010 */ 71, 72, 73, 74, 75, 76, 77, 123, 123, 123,
577 /* 1020 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
578 /* 1030 */ 123, 123, 40, 41, 42, 43, 44, 45, 46, 47,
579 /* 1040 */ 48, 49, 50, 51, 52, 53, 123, 123, 123, 123,
580 /* 1050 */ 123, 123, 123, 123, 123, 123, 123, 123, 66, 67,
581 /* 1060 */ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
582 /* 1070 */ 123, 123, 123, 40, 41, 42, 43, 44, 45, 46,
583 /* 1080 */ 47, 48, 49, 50, 51, 52, 53, 123, 123, 123,
584 /* 1090 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 66,
585 /* 1100 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
586 /* 1110 */ 77, 123, 123, 123, 123, 123, 16, 123, 18, 19,
587 /* 1120 */ 123, 123, 22, 23, 123, 17, 123, 85, 28, 123,
588 /* 1130 */ 123, 89, 32, 33, 34, 93, 36, 29, 38, 123,
589 /* 1140 */ 123, 41, 123, 35, 102, 123, 85, 105, 106, 107,
590 /* 1150 */ 89, 109, 123, 91, 93, 123, 56, 57, 58, 59,
591 /* 1160 */ 60, 123, 100, 63, 64, 65, 105, 106, 107, 17,
592 /* 1170 */ 109, 123, 123, 16, 112, 18, 19, 123, 78, 22,
593 /* 1180 */ 23, 29, 17, 123, 123, 28, 123, 35, 123, 32,
594 /* 1190 */ 33, 34, 123, 36, 29, 38, 123, 123, 41, 123,
595 /* 1200 */ 35, 123, 85, 123, 123, 123, 89, 123, 123, 92,
596 /* 1210 */ 93, 123, 123, 56, 57, 58, 59, 60, 101, 102,
597 /* 1220 */ 63, 64, 105, 106, 107, 123, 109, 17, 123, 123,
598 /* 1230 */ 16, 123, 18, 19, 123, 78, 22, 23, 123, 29,
599 /* 1240 */ 91, 123, 28, 123, 17, 35, 32, 33, 34, 100,
600 /* 1250 */ 36, 123, 38, 123, 123, 41, 29, 123, 123, 85,
601 /* 1260 */ 123, 112, 35, 89, 123, 123, 92, 93, 123, 123,
602 /* 1270 */ 56, 57, 58, 59, 60, 101, 102, 63, 64, 105,
603 /* 1280 */ 106, 107, 123, 109, 17, 123, 123, 16, 123, 18,
604 /* 1290 */ 19, 123, 78, 22, 23, 123, 29, 123, 123, 28,
605 /* 1300 */ 123, 17, 35, 32, 33, 34, 123, 36, 123, 38,
606 /* 1310 */ 123, 123, 41, 29, 123, 123, 85, 123, 123, 35,
607 /* 1320 */ 89, 123, 123, 92, 93, 123, 123, 56, 57, 58,
608 /* 1330 */ 59, 60, 101, 102, 63, 64, 105, 106, 107, 123,
609 /* 1340 */ 109, 17, 123, 123, 16, 123, 18, 19, 123, 78,
610 /* 1350 */ 22, 23, 123, 29, 123, 123, 28, 123, 17, 35,
611 /* 1360 */ 32, 33, 34, 123, 36, 123, 38, 123, 123, 41,
612 /* 1370 */ 29, 123, 123, 85, 123, 123, 35, 89, 123, 123,
613 /* 1380 */ 92, 93, 123, 123, 56, 57, 58, 59, 60, 101,
614 /* 1390 */ 102, 63, 64, 105, 106, 107, 123, 109, 17, 123,
615 /* 1400 */ 123, 16, 123, 18, 19, 123, 78, 22, 23, 123,
616 /* 1410 */ 29, 123, 123, 28, 123, 17, 35, 32, 33, 34,
617 /* 1420 */ 123, 36, 123, 38, 123, 123, 41, 29, 123, 123,
618 /* 1430 */ 85, 123, 123, 35, 89, 123, 123, 92, 93, 123,
619 /* 1440 */ 123, 56, 57, 58, 59, 60, 101, 102, 63, 64,
620 /* 1450 */ 105, 106, 107, 123, 109, 17, 123, 123, 16, 123,
621 /* 1460 */ 18, 19, 123, 78, 22, 23, 123, 29, 123, 123,
622 /* 1470 */ 28, 123, 17, 35, 32, 33, 34, 123, 36, 123,
623 /* 1480 */ 38, 123, 123, 41, 29, 123, 123, 85, 123, 123,
624 /* 1490 */ 35, 89, 123, 123, 92, 93, 123, 123, 56, 57,
625 /* 1500 */ 58, 59, 60, 101, 102, 63, 64, 105, 106, 107,
626 /* 1510 */ 123, 109, 17, 123, 123, 16, 123, 18, 19, 123,
627 /* 1520 */ 78, 22, 23, 123, 29, 123, 123, 28, 123, 17,
628 /* 1530 */ 35, 32, 33, 34, 123, 36, 123, 38, 123, 123,
629 /* 1540 */ 41, 29, 123, 123, 85, 123, 123, 35, 89, 123,
630 /* 1550 */ 123, 92, 93, 123, 123, 56, 57, 58, 59, 60,
631 /* 1560 */ 101, 102, 63, 64, 105, 106, 107, 123, 109, 123,
632 /* 1570 */ 123, 123, 16, 123, 18, 19, 123, 78, 22, 23,
633 /* 1580 */ 123, 123, 123, 123, 28, 123, 123, 123, 32, 33,
634 /* 1590 */ 34, 123, 36, 123, 38, 123, 123, 41, 123, 123,
635 /* 1600 */ 123, 85, 123, 123, 123, 89, 123, 123, 92, 93,
636 /* 1610 */ 123, 123, 56, 57, 58, 59, 60, 101, 102, 63,
637 /* 1620 */ 64, 105, 106, 107, 123, 109, 123, 123, 123, 16,
638 /* 1630 */ 123, 18, 19, 123, 78, 22, 23, 123, 123, 123,
639 /* 1640 */ 123, 28, 123, 123, 123, 32, 33, 34, 123, 36,
640 /* 1650 */ 123, 38, 123, 123, 41, 123, 123, 123, 85, 123,
641 /* 1660 */ 123, 123, 89, 123, 123, 92, 93, 123, 123, 56,
642 /* 1670 */ 57, 58, 59, 60, 101, 102, 63, 123, 105, 106,
643 /* 1680 */ 107, 123, 109, 123, 123, 123, 16, 123, 18, 19,
644 /* 1690 */ 123, 78, 22, 23, 123, 123, 123, 123, 28, 123,
645 /* 1700 */ 123, 123, 32, 33, 34, 123, 36, 123, 38, 123,
646 /* 1710 */ 123, 41, 123, 123, 123, 85, 123, 123, 123, 89,
647 /* 1720 */ 123, 123, 92, 93, 123, 123, 56, 57, 58, 59,
648 /* 1730 */ 60, 101, 102, 63, 123, 105, 106, 107, 123, 109,
649 /* 1740 */ 123, 123, 123, 123, 17, 123, 116, 123, 78, 123,
650 /* 1750 */ 123, 24, 123, 26, 27, 10, 29, 30, 123, 123,
651 /* 1760 */ 123, 16, 35, 123, 37, 38, 39, 22, 23, 123,
652 /* 1770 */ 90, 91, 123, 28, 123, 123, 123, 32, 33, 34,
653 /* 1780 */ 100, 54, 123, 103, 104, 123, 123, 123, 61, 123,
654 /* 1790 */ 123, 123, 65, 123, 85, 90, 91, 117, 89, 123,
655 /* 1800 */ 123, 92, 93, 123, 123, 100, 79, 123, 103, 104,
656 /* 1810 */ 101, 102, 123, 85, 105, 106, 107, 89, 109, 123,
657 /* 1820 */ 123, 93, 117, 78, 79, 80, 123, 123, 123, 120,
658 /* 1830 */ 102, 123, 85, 105, 106, 107, 89, 109, 123, 92,
659 /* 1840 */ 93, 123, 1, 85, 123, 123, 123, 89, 101, 102,
660 /* 1850 */ 92, 93, 105, 106, 107, 123, 109, 123, 17, 101,
661 /* 1860 */ 102, 123, 21, 105, 106, 107, 123, 109, 123, 123,
662 /* 1870 */ 29, 123, 123, 123, 85, 123, 35, 123, 89, 38,
663 /* 1880 */ 123, 92, 93, 123, 123, 123, 123, 123, 123, 123,
664 /* 1890 */ 101, 102, 123, 123, 105, 106, 107, 85, 109, 123,
665 /* 1900 */ 123, 89, 61, 85, 92, 93, 123, 89, 123, 123,
666 /* 1910 */ 123, 93, 123, 101, 102, 123, 123, 105, 106, 107,
667 /* 1920 */ 123, 109, 85, 105, 106, 107, 89, 109, 123, 92,
668 /* 1930 */ 93, 123, 123, 85, 123, 123, 123, 89, 101, 102,
669 /* 1940 */ 92, 93, 105, 106, 107, 123, 109, 123, 123, 101,
670 /* 1950 */ 102, 123, 123, 105, 106, 107, 123, 109, 123, 123,
671 /* 1960 */ 85, 90, 91, 123, 89, 123, 123, 92, 93, 123,
672 /* 1970 */ 123, 100, 123, 123, 103, 104, 101, 102, 123, 123,
673 /* 1980 */ 105, 106, 107, 85, 109, 123, 123, 89, 117, 85,
674 /* 1990 */ 92, 93, 123, 89, 123, 123, 123, 93, 123, 101,
675 /* 2000 */ 102, 123, 123, 105, 106, 107, 123, 109, 85, 105,
676 /* 2010 */ 106, 107, 89, 109, 123, 92, 93, 123, 123, 85,
677 /* 2020 */ 123, 123, 123, 89, 101, 102, 92, 93, 105, 106,
678 /* 2030 */ 107, 123, 109, 123, 123, 101, 102, 123, 123, 105,
679 /* 2040 */ 106, 107, 123, 109, 123, 123, 85, 123, 123, 123,
680 /* 2050 */ 89, 123, 123, 92, 93, 123, 123, 123, 123, 123,
681 /* 2060 */ 123, 123, 101, 102, 123, 123, 105, 106, 107, 85,
682 /* 2070 */ 109, 123, 123, 89, 123, 85, 92, 93, 123, 89,
683 /* 2080 */ 123, 123, 123, 93, 123, 101, 102, 123, 123, 105,
684 /* 2090 */ 106, 107, 123, 109, 85, 105, 106, 107, 89, 109,
685 /* 2100 */ 123, 92, 93, 123, 123, 85, 123, 123, 123, 89,
686 /* 2110 */ 101, 102, 92, 93, 105, 106, 107, 123, 109, 123,
687 /* 2120 */ 123, 101, 102, 123, 123, 105, 106, 107, 123, 109,
688 /* 2130 */ 123, 123, 85, 123, 123, 123, 89, 123, 123, 92,
689 /* 2140 */ 93, 123, 123, 123, 123, 123, 123, 123, 101, 102,
690 /* 2150 */ 123, 123, 105, 106, 107, 85, 109, 123, 123, 89,
691 /* 2160 */ 123, 85, 92, 93, 123, 89, 123, 123, 123, 93,
692 /* 2170 */ 123, 101, 102, 123, 123, 105, 106, 107, 123, 109,
693 /* 2180 */ 85, 105, 106, 107, 89, 109, 123, 92, 93, 123,
694 /* 2190 */ 123, 85, 123, 123, 123, 89, 101, 102, 92, 93,
695 /* 2200 */ 105, 106, 107, 123, 109, 123, 123, 101, 102, 123,
696 /* 2210 */ 123, 105, 106, 107, 123, 109, 123, 123, 85, 123,
697 /* 2220 */ 123, 123, 89, 123, 123, 92, 93, 123, 123, 123,
698 /* 2230 */ 123, 123, 123, 123, 101, 102, 123, 123, 105, 106,
699 /* 2240 */ 107, 85, 109, 123, 123, 89, 123, 123, 92, 93,
700 /* 2250 */ 123, 123, 123, 123, 123, 123, 123, 101, 102, 123,
701 /* 2260 */ 123, 105, 106, 107, 123, 109, 85, 123, 123, 123,
702 /* 2270 */ 89, 123, 123, 92, 93, 123, 123, 85, 123, 123,
703 /* 2280 */ 123, 89, 101, 102, 92, 93, 105, 106, 107, 123,
704 /* 2290 */ 109, 123, 123, 101, 102, 123, 123, 105, 106, 107,
705 /* 2300 */ 123, 109, 123, 123, 85, 123, 123, 123, 89, 123,
706 /* 2310 */ 123, 92, 93, 123, 123, 123, 123, 123, 123, 123,
707 /* 2320 */ 101, 102, 123, 123, 105, 106, 107, 85, 109, 123,
708 /* 2330 */ 123, 89, 123, 123, 92, 93, 123, 123, 123, 123,
709 /* 2340 */ 123, 123, 123, 101, 102, 123, 123, 105, 106, 107,
710 /* 2350 */ 123, 109, 85, 123, 123, 123, 89, 123, 123, 92,
711 /* 2360 */ 93, 123, 123, 85, 123, 123, 123, 89, 101, 102,
712 /* 2370 */ 92, 93, 105, 106, 107, 123, 109, 123, 123, 101,
713 /* 2380 */ 102, 123, 123, 105, 106, 107, 123, 109, 123, 123,
714 /* 2390 */ 85, 123, 123, 123, 89, 123, 123, 92, 93, 123,
715 /* 2400 */ 123, 123, 123, 90, 91, 123, 101, 102, 123, 123,
716 /* 2410 */ 105, 106, 107, 100, 109, 123, 103, 104, 90, 91,
717 /* 2420 */ 123, 123, 123, 123, 123, 90, 91, 123, 100, 123,
718 /* 2430 */ 117, 103, 104, 123, 123, 100, 123, 123, 103, 104,
719 /* 2440 */ 123, 123, 123, 123, 123, 117, 123, 123, 123, 123,
720 /* 2450 */ 123, 123, 117,
722 const YY_SHIFT_USE_DFLT = -3;
723 const YY_SHIFT_MAX = 252;
724 static public $yy_shift_ofst = array(
725 /* 0 */ -2, 1385, 1385, 1328, 1157, 1328, 1157, 1157, 1100, 1157,
726 /* 10 */ 1157, 1157, 1157, 1157, 1157, 1556, 1157, 1157, 1157, 1157,
727 /* 20 */ 1556, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
728 /* 30 */ 1157, 1157, 1442, 1157, 1157, 1499, 1157, 1157, 1214, 1157,
729 /* 40 */ 1157, 1157, 1157, 1442, 1271, 1271, 1670, 1613, 1670, 1670,
730 /* 50 */ 1670, 1670, 1670, 206, 129, 52, -1, 259, 259, 259,
731 /* 60 */ 833, 886, 939, 780, 650, 390, 336, 467, 703, 520,
732 /* 70 */ 573, 992, 992, 992, 992, 992, 992, 992, 992, 992,
733 /* 80 */ 992, 992, 992, 992, 992, 992, 992, 992, 992, 992,
734 /* 90 */ 1033, 1033, 1841, 784, 288, -2, 338, 125, 463, 209,
735 /* 100 */ 333, 209, 333, 327, 288, 267, 288, 334, 509, 1745,
736 /* 110 */ 102, 132, 470, 653, 70, 245, 479, 212, 204, 3,
737 /* 120 */ 174, 217, 277, 122, 432, 537, 432, 509, 510, 432,
738 /* 130 */ 432, 382, 668, 506, 432, 432, 531, 563, 432, 382,
739 /* 140 */ 527, 432, 510, 509, 571, 432, 392, 691, 704, 704,
740 /* 150 */ 704, 704, 704, 704, 704, 691, 704, -3, 1341, 1381,
741 /* 160 */ 1284, 1267, 66, 1108, 1152, 1165, 1210, 536, 1438, 1398,
742 /* 170 */ 1495, 1512, 466, 777, 0, 128, 781, 1324, 1455, 1227,
743 /* 180 */ 471, 358, 150, 150, 339, 150, 150, 21, 150, 718,
744 /* 190 */ 691, 691, 625, 704, 704, 709, 691, 709, 4, 4,
745 /* 200 */ -3, -3, -3, -3, -3, 1727, 202, 75, 44, 361,
746 /* 210 */ 223, 1, 225, 91, 76, 371, 395, 410, 76, 256,
747 /* 220 */ 305, 560, 625, 617, 619, 598, 597, 576, 349, 630,
748 /* 230 */ 637, 639, 666, 682, 661, 643, 644, 613, 591, 528,
749 /* 240 */ 565, 486, 484, 407, 436, 582, 566, 564, 609, 547,
750 /* 250 */ 554, 588, 545,
752 const YY_REDUCE_USE_DFLT = -102;
753 const YY_REDUCE_MAX = 204;
754 static public $yy_reduce_ofst = array(
755 /* 0 */ -28, 46, 1709, 123, 567, 384, 1630, 698, 1961, 1934,
756 /* 10 */ 1923, 1875, 1898, 1984, 2009, 2106, 2095, 2070, 2020, 2047,
757 /* 20 */ 1848, 1837, 1402, 1345, 1288, 1174, 1231, 1459, 1516, 1812,
758 /* 30 */ 1789, 1758, 1573, 1747, 2156, 2133, 2305, 2267, 2181, 2192,
759 /* 40 */ 1117, 2219, 2242, 2278, 1042, 1728, 258, 1061, 572, 2076,
760 /* 50 */ 1990, 1904, 1818, 1680, 1871, 1705, 2313, 2335, 2328, 1680,
761 /* 60 */ -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
762 /* 70 */ -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
763 /* 80 */ -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
764 /* 90 */ -26, -26, 224, 94, 196, 236, 273, 1149, 1062, 406,
765 /* 100 */ -76, 353, 575, 264, 328, 201, 329, 78, 330, 646,
766 /* 110 */ 517, -29, -29, -29, 342, 616, 385, -29, 68, 342,
767 /* 120 */ 342, -29, 74, 74, 618, 433, 574, 457, 515, 541,
768 /* 130 */ 433, 112, 74, 433, 434, 487, 459, 699, 468, 366,
769 /* 140 */ -29, 696, 433, 464, 511, 645, -73, -101, -29, -29,
770 /* 150 */ -29, -29, -29, -29, -29, 74, -29, -29, 606, 606,
771 /* 160 */ 606, 606, 620, 606, 606, 606, 606, 596, 606, 606,
772 /* 170 */ 606, 606, 606, 606, 606, 606, 606, 606, 606, 606,
773 /* 180 */ 592, 592, 599, 599, 592, 599, 599, 603, 599, 647,
774 /* 190 */ 622, 622, 623, 592, 592, -6, 622, -6, -13, 220,
775 /* 200 */ 251, 240, 182, 146, 157,
777 static public $yyExpectedTokens = array(
778 /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 22, 23, 28, 32, 33, 34, ),
779 /* 1 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
780 /* 2 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
781 /* 3 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
782 /* 4 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
783 /* 5 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
784 /* 6 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
785 /* 7 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
786 /* 8 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 65, 78, ),
787 /* 9 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
788 /* 10 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
789 /* 11 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
790 /* 12 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
791 /* 13 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
792 /* 14 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
793 /* 15 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
794 /* 16 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
795 /* 17 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
796 /* 18 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
797 /* 19 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
798 /* 20 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
799 /* 21 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
800 /* 22 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
801 /* 23 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
802 /* 24 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
803 /* 25 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
804 /* 26 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
805 /* 27 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
806 /* 28 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
807 /* 29 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
808 /* 30 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
809 /* 31 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
810 /* 32 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
811 /* 33 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
812 /* 34 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
813 /* 35 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
814 /* 36 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
815 /* 37 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
816 /* 38 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
817 /* 39 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
818 /* 40 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
819 /* 41 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
820 /* 42 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
821 /* 43 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
822 /* 44 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
823 /* 45 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
824 /* 46 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
825 /* 47 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
826 /* 48 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
827 /* 49 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
828 /* 50 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
829 /* 51 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
830 /* 52 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
831 /* 53 */ array(1, 17, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
832 /* 54 */ array(1, 17, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
833 /* 55 */ array(1, 27, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
834 /* 56 */ array(1, 17, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
835 /* 57 */ array(1, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
836 /* 58 */ array(1, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
837 /* 59 */ array(1, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
838 /* 60 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
839 /* 61 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
840 /* 62 */ array(1, 30, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
841 /* 63 */ array(1, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
842 /* 64 */ array(1, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
843 /* 65 */ array(1, 24, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
844 /* 66 */ array(1, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
845 /* 67 */ array(1, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
846 /* 68 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, ),
847 /* 69 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
848 /* 70 */ array(1, 2, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
849 /* 71 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
850 /* 72 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
851 /* 73 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
852 /* 74 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
853 /* 75 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
854 /* 76 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
855 /* 77 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
856 /* 78 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
857 /* 79 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
858 /* 80 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
859 /* 81 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
860 /* 82 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
861 /* 83 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
862 /* 84 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
863 /* 85 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
864 /* 86 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
865 /* 87 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
866 /* 88 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
867 /* 89 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
868 /* 90 */ array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
869 /* 91 */ array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
870 /* 92 */ array(1, 17, 21, 29, 35, 38, 61, ),
871 /* 93 */ array(1, 17, 29, 35, 54, ),
872 /* 94 */ array(1, 29, 35, ),
873 /* 95 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 22, 23, 28, 32, 33, 34, ),
874 /* 96 */ array(10, 16, 22, 23, 28, 32, 33, 34, 78, 79, 80, ),
875 /* 97 */ array(16, 19, 29, 31, 35, ),
876 /* 98 */ array(16, 19, 29, 31, 35, ),
877 /* 99 */ array(1, 17, 29, 35, ),
878 /* 100 */ array(16, 19, 29, 35, ),
879 /* 101 */ array(1, 17, 29, 35, ),
880 /* 102 */ array(16, 19, 29, 35, ),
881 /* 103 */ array(18, 19, 63, ),
882 /* 104 */ array(1, 29, 35, ),
883 /* 105 */ array(1, 2, 17, ),
884 /* 106 */ array(1, 29, 35, ),
885 /* 107 */ array(21, 59, 64, ),
886 /* 108 */ array(18, 38, ),
887 /* 109 */ array(10, 16, 22, 23, 28, 32, 33, 34, 78, 79, 80, ),
888 /* 110 */ array(4, 5, 6, 7, 8, 13, 14, 15, ),
889 /* 111 */ array(1, 17, 29, 30, 35, 54, ),
890 /* 112 */ array(1, 17, 29, 35, 54, ),
891 /* 113 */ array(1, 17, 29, 35, 54, ),
892 /* 114 */ array(16, 19, 20, 62, ),
893 /* 115 */ array(16, 19, 20, 25, ),
894 /* 116 */ array(1, 17, 21, ),
895 /* 117 */ array(1, 31, 54, ),
896 /* 118 */ array(17, 29, 35, ),
897 /* 119 */ array(16, 19, 20, ),
898 /* 120 */ array(16, 19, 62, ),
899 /* 121 */ array(1, 17, 54, ),
900 /* 122 */ array(20, 21, 61, ),
901 /* 123 */ array(20, 21, 61, ),
902 /* 124 */ array(16, 19, ),
903 /* 125 */ array(16, 19, ),
904 /* 126 */ array(16, 19, ),
905 /* 127 */ array(18, 38, ),
906 /* 128 */ array(16, 19, ),
907 /* 129 */ array(16, 19, ),
908 /* 130 */ array(16, 19, ),
909 /* 131 */ array(18, 19, ),
910 /* 132 */ array(21, 61, ),
911 /* 133 */ array(16, 19, ),
912 /* 134 */ array(16, 19, ),
913 /* 135 */ array(16, 19, ),
914 /* 136 */ array(1, 17, ),
915 /* 137 */ array(16, 19, ),
916 /* 138 */ array(16, 19, ),
917 /* 139 */ array(18, 19, ),
918 /* 140 */ array(1, 54, ),
919 /* 141 */ array(16, 19, ),
920 /* 142 */ array(16, 19, ),
921 /* 143 */ array(18, 38, ),
922 /* 144 */ array(29, 35, ),
923 /* 145 */ array(16, 19, ),
924 /* 146 */ array(29, 35, ),
925 /* 147 */ array(21, ),
926 /* 148 */ array(1, ),
927 /* 149 */ array(1, ),
928 /* 150 */ array(1, ),
929 /* 151 */ array(1, ),
930 /* 152 */ array(1, ),
931 /* 153 */ array(1, ),
932 /* 154 */ array(1, ),
933 /* 155 */ array(21, ),
934 /* 156 */ array(1, ),
936 /* 158 */ array(17, 29, 35, ),
937 /* 159 */ array(17, 29, 35, ),
938 /* 160 */ array(17, 29, 35, ),
939 /* 161 */ array(17, 29, 35, ),
940 /* 162 */ array(16, 18, 19, ),
941 /* 163 */ array(17, 29, 35, ),
942 /* 164 */ array(17, 29, 35, ),
943 /* 165 */ array(17, 29, 35, ),
944 /* 166 */ array(17, 29, 35, ),
945 /* 167 */ array(16, 19, 62, ),
946 /* 168 */ array(17, 29, 35, ),
947 /* 169 */ array(17, 29, 35, ),
948 /* 170 */ array(17, 29, 35, ),
949 /* 171 */ array(17, 29, 35, ),
950 /* 172 */ array(17, 29, 35, ),
951 /* 173 */ array(17, 29, 35, ),
952 /* 174 */ array(17, 29, 35, ),
953 /* 175 */ array(17, 29, 35, ),
954 /* 176 */ array(17, 29, 35, ),
955 /* 177 */ array(17, 29, 35, ),
956 /* 178 */ array(17, 29, 35, ),
957 /* 179 */ array(17, 29, 35, ),
958 /* 180 */ array(1, 17, ),
959 /* 181 */ array(1, 17, ),
960 /* 182 */ array(59, 64, ),
961 /* 183 */ array(59, 64, ),
962 /* 184 */ array(1, 17, ),
963 /* 185 */ array(59, 64, ),
964 /* 186 */ array(59, 64, ),
965 /* 187 */ array(16, 38, ),
966 /* 188 */ array(59, 64, ),
967 /* 189 */ array(14, ),
968 /* 190 */ array(21, ),
969 /* 191 */ array(21, ),
970 /* 192 */ array(38, ),
971 /* 193 */ array(1, ),
972 /* 194 */ array(1, ),
973 /* 195 */ array(2, ),
974 /* 196 */ array(21, ),
975 /* 197 */ array(2, ),
976 /* 198 */ array(29, ),
977 /* 199 */ array(29, ),
983 /* 205 */ array(17, 24, 26, 27, 29, 30, 35, 37, 38, 39, 54, 61, 65, 79, ),
984 /* 206 */ array(17, 20, 29, 35, 38, 61, ),
985 /* 207 */ array(38, 59, 61, 65, ),
986 /* 208 */ array(16, 18, 19, 36, ),
987 /* 209 */ array(31, 38, 61, ),
988 /* 210 */ array(19, 62, ),
989 /* 211 */ array(24, 37, ),
990 /* 212 */ array(37, 65, ),
991 /* 213 */ array(20, 59, ),
992 /* 214 */ array(38, 61, ),
993 /* 215 */ array(25, 79, ),
994 /* 216 */ array(2, 20, ),
995 /* 217 */ array(37, 39, ),
996 /* 218 */ array(38, 61, ),
997 /* 219 */ array(37, 39, ),
998 /* 220 */ array(37, 39, ),
999 /* 221 */ array(17, 25, ),
1000 /* 222 */ array(38, ),
1001 /* 223 */ array(19, ),
1002 /* 224 */ array(18, ),
1003 /* 225 */ array(36, ),
1004 /* 226 */ array(36, ),
1005 /* 227 */ array(59, ),
1006 /* 228 */ array(25, ),
1007 /* 229 */ array(2, ),
1008 /* 230 */ array(18, ),
1009 /* 231 */ array(19, ),
1010 /* 232 */ array(19, ),
1011 /* 233 */ array(2, ),
1012 /* 234 */ array(19, ),
1013 /* 235 */ array(19, ),
1014 /* 236 */ array(20, ),
1015 /* 237 */ array(18, ),
1016 /* 238 */ array(39, ),
1017 /* 239 */ array(26, ),
1018 /* 240 */ array(18, ),
1019 /* 241 */ array(18, ),
1020 /* 242 */ array(19, ),
1021 /* 243 */ array(19, ),
1022 /* 244 */ array(19, ),
1023 /* 245 */ array(19, ),
1024 /* 246 */ array(38, ),
1025 /* 247 */ array(65, ),
1026 /* 248 */ array(19, ),
1027 /* 249 */ array(63, ),
1028 /* 250 */ array(55, ),
1029 /* 251 */ array(19, ),
1030 /* 252 */ array(63, ),
1168 static public $yy_default = array(
1169 /* 0 */ 392, 574, 591, 591, 545, 591, 545, 545, 591, 591,
1170 /* 10 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
1171 /* 20 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
1172 /* 30 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
1173 /* 40 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
1174 /* 50 */ 591, 591, 591, 591, 591, 453, 591, 453, 453, 453,
1175 /* 60 */ 591, 591, 458, 591, 591, 591, 591, 591, 591, 591,
1176 /* 70 */ 591, 544, 575, 458, 576, 460, 463, 464, 435, 477,
1177 /* 80 */ 478, 479, 486, 487, 577, 483, 482, 543, 455, 474,
1178 /* 90 */ 490, 491, 502, 466, 453, 389, 591, 453, 453, 473,
1179 /* 100 */ 453, 510, 453, 591, 453, 591, 453, 557, 591, 591,
1180 /* 110 */ 591, 466, 466, 466, 518, 591, 591, 466, 591, 518,
1181 /* 120 */ 518, 466, 511, 511, 591, 591, 591, 591, 591, 591,
1182 /* 130 */ 591, 591, 511, 591, 591, 591, 591, 591, 518, 591,
1183 /* 140 */ 466, 591, 591, 591, 453, 591, 453, 554, 494, 469,
1184 /* 150 */ 489, 476, 495, 470, 493, 511, 471, 552, 591, 591,
1185 /* 160 */ 591, 591, 591, 591, 591, 591, 591, 519, 591, 591,
1186 /* 170 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
1187 /* 180 */ 591, 591, 536, 535, 591, 538, 516, 518, 537, 408,
1188 /* 190 */ 558, 555, 518, 473, 510, 547, 532, 546, 590, 590,
1189 /* 200 */ 551, 551, 518, 551, 518, 468, 502, 502, 591, 502,
1190 /* 210 */ 591, 591, 591, 498, 488, 492, 530, 591, 502, 591,
1191 /* 220 */ 591, 492, 530, 591, 591, 591, 500, 498, 492, 530,
1192 /* 230 */ 591, 591, 591, 530, 591, 591, 591, 591, 591, 461,
1193 /* 240 */ 591, 591, 591, 591, 591, 591, 556, 591, 591, 591,
1194 /* 250 */ 504, 591, 591, 465, 515, 514, 539, 572, 433, 418,
1195 /* 260 */ 390, 432, 438, 573, 437, 526, 436, 541, 540, 523,
1196 /* 270 */ 553, 531, 542, 442, 504, 443, 571, 589, 524, 454,
1197 /* 280 */ 527, 525, 462, 485, 530, 529, 444, 445, 550, 441,
1198 /* 290 */ 440, 431, 430, 434, 452, 439, 446, 447, 499, 497,
1199 /* 300 */ 501, 507, 467, 496, 450, 448, 548, 549, 449, 451,
1200 /* 310 */ 417, 399, 398, 400, 401, 402, 397, 396, 391, 393,
1201 /* 320 */ 394, 395, 403, 404, 413, 412, 414, 415, 416, 411,
1202 /* 330 */ 410, 405, 406, 407, 409, 468, 512, 423, 422, 424,
1203 /* 340 */ 533, 425, 421, 586, 570, 569, 472, 419, 420, 426,
1204 /* 350 */ 427, 582, 583, 584, 587, 588, 580, 579, 429, 428,
1205 /* 360 */ 585, 578, 568, 567, 506, 505, 508, 475, 509, 503,
1206 /* 370 */ 522, 517, 520, 528, 521, 513, 534, 563, 562, 564,
1207 /* 380 */ 565, 566, 561, 560, 480, 481, 484, 559, 581,
1209 const YYNOCODE = 124;
1210 const YYSTACKDEPTH = 100;
1211 const YYNSTATE = 389;
1212 const YYNRULE = 202;
1213 const YYERRORSYMBOL = 81;
1214 const YYERRSYMDT = 'yy0';
1215 const YYFALLBACK = 0;
1216 static public $yyFallback = array(
1218 static function Trace($TraceFILE, $zTracePrompt)
1222 } elseif (!$zTracePrompt) {
1225 self::$yyTraceFILE = $TraceFILE;
1226 self::$yyTracePrompt = $zTracePrompt;
1229 static function PrintTrace()
1231 self::$yyTraceFILE = fopen('php://output', 'w');
1232 self::$yyTracePrompt = '<br>';
1235 static public $yyTraceFILE;
1236 static public $yyTracePrompt;
1237 public $yyidx; /* Index of top element in stack */
1238 public $yyerrcnt; /* Shifts left before out of the error */
1239 public $yystack = array(); /* The parser's stack */
1241 public $yyTokenName = array(
1242 '$', 'VERT', 'COLON', 'COMMENT',
1243 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG',
1244 'FAKEPHPSTARTTAG', 'XMLTAG', 'TEXT', 'STRIPON',
1245 'STRIPOFF', 'LITERALSTART', 'LITERALEND', 'LITERAL',
1246 'LDEL', 'RDEL', 'DOLLAR', 'ID',
1247 'EQUAL', 'PTR', 'LDELIF', 'LDELFOR',
1248 'SEMICOLON', 'INCDEC', 'TO', 'STEP',
1249 'LDELFOREACH', 'SPACE', 'AS', 'APTR',
1250 'LDELSETFILTER', 'SMARTYBLOCKCHILD', 'LDELSLASH', 'ATTR',
1251 'INTEGER', 'COMMA', 'OPENP', 'CLOSEP',
1252 'MATH', 'UNIMATH', 'ANDSYM', 'ISIN',
1253 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN', 'ISNOTEVEN',
1254 'ISEVENBY', 'ISNOTEVENBY', 'ISODD', 'ISNOTODD',
1255 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF', 'QMARK',
1256 'NOT', 'TYPECAST', 'HEX', 'DOT',
1257 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT', 'HATCH',
1258 'OPENB', 'CLOSEB', 'EQUALS', 'NOTEQUALS',
1259 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL', 'LESSEQUAL',
1260 'IDENTITY', 'NONEIDENTITY', 'MOD', 'LAND',
1261 'LOR', 'LXOR', 'QUOTE', 'BACKTICK',
1262 'DOLLARID', 'error', 'start', 'template',
1263 'template_element', 'smartytag', 'literal', 'literal_elements',
1264 'literal_element', 'value', 'modifierlist', 'attributes',
1265 'expr', 'varindexed', 'statement', 'statements',
1266 'optspace', 'varvar', 'foraction', 'modparameters',
1267 'attribute', 'ternary', 'array', 'ifcond',
1268 'lop', 'variable', 'function', 'doublequoted_with_quotes',
1269 'static_class_access', 'object', 'arrayindex', 'indexdef',
1270 'varvarele', 'objectchain', 'objectelement', 'method',
1271 'params', 'modifier', 'modparameter', 'arrayelements',
1272 'arrayelement', 'doublequoted', 'doublequotedcontent',
1275 static public $yyRuleName = array(
1276 /* 0 */ "start ::= template",
1277 /* 1 */ "template ::= template_element",
1278 /* 2 */ "template ::= template template_element",
1279 /* 3 */ "template ::=",
1280 /* 4 */ "template_element ::= smartytag",
1281 /* 5 */ "template_element ::= COMMENT",
1282 /* 6 */ "template_element ::= literal",
1283 /* 7 */ "template_element ::= PHPSTARTTAG",
1284 /* 8 */ "template_element ::= PHPENDTAG",
1285 /* 9 */ "template_element ::= ASPSTARTTAG",
1286 /* 10 */ "template_element ::= ASPENDTAG",
1287 /* 11 */ "template_element ::= FAKEPHPSTARTTAG",
1288 /* 12 */ "template_element ::= XMLTAG",
1289 /* 13 */ "template_element ::= TEXT",
1290 /* 14 */ "template_element ::= STRIPON",
1291 /* 15 */ "template_element ::= STRIPOFF",
1292 /* 16 */ "literal ::= LITERALSTART LITERALEND",
1293 /* 17 */ "literal ::= LITERALSTART literal_elements LITERALEND",
1294 /* 18 */ "literal_elements ::= literal_elements literal_element",
1295 /* 19 */ "literal_elements ::=",
1296 /* 20 */ "literal_element ::= literal",
1297 /* 21 */ "literal_element ::= LITERAL",
1298 /* 22 */ "literal_element ::= PHPSTARTTAG",
1299 /* 23 */ "literal_element ::= FAKEPHPSTARTTAG",
1300 /* 24 */ "literal_element ::= PHPENDTAG",
1301 /* 25 */ "literal_element ::= ASPSTARTTAG",
1302 /* 26 */ "literal_element ::= ASPENDTAG",
1303 /* 27 */ "smartytag ::= LDEL value RDEL",
1304 /* 28 */ "smartytag ::= LDEL value modifierlist attributes RDEL",
1305 /* 29 */ "smartytag ::= LDEL value attributes RDEL",
1306 /* 30 */ "smartytag ::= LDEL expr modifierlist attributes RDEL",
1307 /* 31 */ "smartytag ::= LDEL expr attributes RDEL",
1308 /* 32 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
1309 /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
1310 /* 34 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
1311 /* 35 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
1312 /* 36 */ "smartytag ::= LDEL ID attributes RDEL",
1313 /* 37 */ "smartytag ::= LDEL ID RDEL",
1314 /* 38 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
1315 /* 39 */ "smartytag ::= LDEL ID modifierlist attributes RDEL",
1316 /* 40 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL",
1317 /* 41 */ "smartytag ::= LDELIF expr RDEL",
1318 /* 42 */ "smartytag ::= LDELIF expr attributes RDEL",
1319 /* 43 */ "smartytag ::= LDELIF statement RDEL",
1320 /* 44 */ "smartytag ::= LDELIF statement attributes RDEL",
1321 /* 45 */ "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL",
1322 /* 46 */ "foraction ::= EQUAL expr",
1323 /* 47 */ "foraction ::= INCDEC",
1324 /* 48 */ "smartytag ::= LDELFOR statement TO expr attributes RDEL",
1325 /* 49 */ "smartytag ::= LDELFOR statement TO expr STEP expr attributes RDEL",
1326 /* 50 */ "smartytag ::= LDELFOREACH attributes RDEL",
1327 /* 51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL",
1328 /* 52 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1329 /* 53 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL",
1330 /* 54 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1331 /* 55 */ "smartytag ::= LDELSETFILTER ID modparameters RDEL",
1332 /* 56 */ "smartytag ::= LDELSETFILTER ID modparameters modifierlist RDEL",
1333 /* 57 */ "smartytag ::= SMARTYBLOCKCHILD",
1334 /* 58 */ "smartytag ::= LDELSLASH ID RDEL",
1335 /* 59 */ "smartytag ::= LDELSLASH ID modifierlist RDEL",
1336 /* 60 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
1337 /* 61 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL",
1338 /* 62 */ "attributes ::= attributes attribute",
1339 /* 63 */ "attributes ::= attribute",
1340 /* 64 */ "attributes ::=",
1341 /* 65 */ "attribute ::= SPACE ID EQUAL ID",
1342 /* 66 */ "attribute ::= ATTR expr",
1343 /* 67 */ "attribute ::= ATTR value",
1344 /* 68 */ "attribute ::= SPACE ID",
1345 /* 69 */ "attribute ::= SPACE expr",
1346 /* 70 */ "attribute ::= SPACE value",
1347 /* 71 */ "attribute ::= SPACE INTEGER EQUAL expr",
1348 /* 72 */ "statements ::= statement",
1349 /* 73 */ "statements ::= statements COMMA statement",
1350 /* 74 */ "statement ::= DOLLAR varvar EQUAL expr",
1351 /* 75 */ "statement ::= varindexed EQUAL expr",
1352 /* 76 */ "statement ::= OPENP statement CLOSEP",
1353 /* 77 */ "expr ::= value",
1354 /* 78 */ "expr ::= ternary",
1355 /* 79 */ "expr ::= DOLLAR ID COLON ID",
1356 /* 80 */ "expr ::= expr MATH value",
1357 /* 81 */ "expr ::= expr UNIMATH value",
1358 /* 82 */ "expr ::= expr ANDSYM value",
1359 /* 83 */ "expr ::= array",
1360 /* 84 */ "expr ::= expr modifierlist",
1361 /* 85 */ "expr ::= expr ifcond expr",
1362 /* 86 */ "expr ::= expr ISIN array",
1363 /* 87 */ "expr ::= expr ISIN value",
1364 /* 88 */ "expr ::= expr lop expr",
1365 /* 89 */ "expr ::= expr ISDIVBY expr",
1366 /* 90 */ "expr ::= expr ISNOTDIVBY expr",
1367 /* 91 */ "expr ::= expr ISEVEN",
1368 /* 92 */ "expr ::= expr ISNOTEVEN",
1369 /* 93 */ "expr ::= expr ISEVENBY expr",
1370 /* 94 */ "expr ::= expr ISNOTEVENBY expr",
1371 /* 95 */ "expr ::= expr ISODD",
1372 /* 96 */ "expr ::= expr ISNOTODD",
1373 /* 97 */ "expr ::= expr ISODDBY expr",
1374 /* 98 */ "expr ::= expr ISNOTODDBY expr",
1375 /* 99 */ "expr ::= value INSTANCEOF ID",
1376 /* 100 */ "expr ::= value INSTANCEOF value",
1377 /* 101 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
1378 /* 102 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
1379 /* 103 */ "value ::= variable",
1380 /* 104 */ "value ::= UNIMATH value",
1381 /* 105 */ "value ::= NOT value",
1382 /* 106 */ "value ::= TYPECAST value",
1383 /* 107 */ "value ::= variable INCDEC",
1384 /* 108 */ "value ::= HEX",
1385 /* 109 */ "value ::= INTEGER",
1386 /* 110 */ "value ::= INTEGER DOT INTEGER",
1387 /* 111 */ "value ::= INTEGER DOT",
1388 /* 112 */ "value ::= DOT INTEGER",
1389 /* 113 */ "value ::= ID",
1390 /* 114 */ "value ::= function",
1391 /* 115 */ "value ::= OPENP expr CLOSEP",
1392 /* 116 */ "value ::= SINGLEQUOTESTRING",
1393 /* 117 */ "value ::= doublequoted_with_quotes",
1394 /* 118 */ "value ::= ID DOUBLECOLON static_class_access",
1395 /* 119 */ "value ::= varindexed DOUBLECOLON static_class_access",
1396 /* 120 */ "value ::= smartytag",
1397 /* 121 */ "value ::= value modifierlist",
1398 /* 122 */ "variable ::= varindexed",
1399 /* 123 */ "variable ::= DOLLAR varvar AT ID",
1400 /* 124 */ "variable ::= object",
1401 /* 125 */ "variable ::= HATCH ID HATCH",
1402 /* 126 */ "variable ::= HATCH variable HATCH",
1403 /* 127 */ "varindexed ::= DOLLAR varvar arrayindex",
1404 /* 128 */ "arrayindex ::= arrayindex indexdef",
1405 /* 129 */ "arrayindex ::=",
1406 /* 130 */ "indexdef ::= DOT DOLLAR varvar",
1407 /* 131 */ "indexdef ::= DOT DOLLAR varvar AT ID",
1408 /* 132 */ "indexdef ::= DOT ID",
1409 /* 133 */ "indexdef ::= DOT INTEGER",
1410 /* 134 */ "indexdef ::= DOT LDEL expr RDEL",
1411 /* 135 */ "indexdef ::= OPENB ID CLOSEB",
1412 /* 136 */ "indexdef ::= OPENB ID DOT ID CLOSEB",
1413 /* 137 */ "indexdef ::= OPENB expr CLOSEB",
1414 /* 138 */ "indexdef ::= OPENB CLOSEB",
1415 /* 139 */ "varvar ::= varvarele",
1416 /* 140 */ "varvar ::= varvar varvarele",
1417 /* 141 */ "varvarele ::= ID",
1418 /* 142 */ "varvarele ::= LDEL expr RDEL",
1419 /* 143 */ "object ::= varindexed objectchain",
1420 /* 144 */ "objectchain ::= objectelement",
1421 /* 145 */ "objectchain ::= objectchain objectelement",
1422 /* 146 */ "objectelement ::= PTR ID arrayindex",
1423 /* 147 */ "objectelement ::= PTR DOLLAR varvar arrayindex",
1424 /* 148 */ "objectelement ::= PTR LDEL expr RDEL arrayindex",
1425 /* 149 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
1426 /* 150 */ "objectelement ::= PTR method",
1427 /* 151 */ "function ::= ID OPENP params CLOSEP",
1428 /* 152 */ "method ::= ID OPENP params CLOSEP",
1429 /* 153 */ "method ::= DOLLAR ID OPENP params CLOSEP",
1430 /* 154 */ "params ::= params COMMA expr",
1431 /* 155 */ "params ::= expr",
1432 /* 156 */ "params ::=",
1433 /* 157 */ "modifierlist ::= modifierlist modifier modparameters",
1434 /* 158 */ "modifierlist ::= modifier modparameters",
1435 /* 159 */ "modifier ::= VERT AT ID",
1436 /* 160 */ "modifier ::= VERT ID",
1437 /* 161 */ "modparameters ::= modparameters modparameter",
1438 /* 162 */ "modparameters ::=",
1439 /* 163 */ "modparameter ::= COLON value",
1440 /* 164 */ "modparameter ::= COLON array",
1441 /* 165 */ "static_class_access ::= method",
1442 /* 166 */ "static_class_access ::= method objectchain",
1443 /* 167 */ "static_class_access ::= ID",
1444 /* 168 */ "static_class_access ::= DOLLAR ID arrayindex",
1445 /* 169 */ "static_class_access ::= DOLLAR ID arrayindex objectchain",
1446 /* 170 */ "ifcond ::= EQUALS",
1447 /* 171 */ "ifcond ::= NOTEQUALS",
1448 /* 172 */ "ifcond ::= GREATERTHAN",
1449 /* 173 */ "ifcond ::= LESSTHAN",
1450 /* 174 */ "ifcond ::= GREATEREQUAL",
1451 /* 175 */ "ifcond ::= LESSEQUAL",
1452 /* 176 */ "ifcond ::= IDENTITY",
1453 /* 177 */ "ifcond ::= NONEIDENTITY",
1454 /* 178 */ "ifcond ::= MOD",
1455 /* 179 */ "lop ::= LAND",
1456 /* 180 */ "lop ::= LOR",
1457 /* 181 */ "lop ::= LXOR",
1458 /* 182 */ "array ::= OPENB arrayelements CLOSEB",
1459 /* 183 */ "arrayelements ::= arrayelement",
1460 /* 184 */ "arrayelements ::= arrayelements COMMA arrayelement",
1461 /* 185 */ "arrayelements ::=",
1462 /* 186 */ "arrayelement ::= value APTR expr",
1463 /* 187 */ "arrayelement ::= ID APTR expr",
1464 /* 188 */ "arrayelement ::= expr",
1465 /* 189 */ "doublequoted_with_quotes ::= QUOTE QUOTE",
1466 /* 190 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
1467 /* 191 */ "doublequoted ::= doublequoted doublequotedcontent",
1468 /* 192 */ "doublequoted ::= doublequotedcontent",
1469 /* 193 */ "doublequotedcontent ::= BACKTICK variable BACKTICK",
1470 /* 194 */ "doublequotedcontent ::= BACKTICK expr BACKTICK",
1471 /* 195 */ "doublequotedcontent ::= DOLLARID",
1472 /* 196 */ "doublequotedcontent ::= LDEL variable RDEL",
1473 /* 197 */ "doublequotedcontent ::= LDEL expr RDEL",
1474 /* 198 */ "doublequotedcontent ::= smartytag",
1475 /* 199 */ "doublequotedcontent ::= TEXT",
1476 /* 200 */ "optspace ::= SPACE",
1477 /* 201 */ "optspace ::=",
1480 function tokenName($tokenType)
1482 if ($tokenType === 0) {
1483 return 'End of Input';
1485 if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
1486 return $this->yyTokenName[$tokenType];
1492 static function yy_destructor($yymajor, $yypminor)
1495 default: break; /* If no destructor action specified: do nothing */
1499 function yy_pop_parser_stack()
1501 if (!count($this->yystack)) {
1504 $yytos = array_pop($this->yystack);
1505 if (self::$yyTraceFILE && $this->yyidx >= 0) {
1506 fwrite(self::$yyTraceFILE,
1507 self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
1510 $yymajor = $yytos->major;
1511 self::yy_destructor($yymajor, $yytos->minor);
1516 function __destruct()
1518 while ($this->yystack !== Array()) {
1519 $this->yy_pop_parser_stack();
1521 if (is_resource(self::$yyTraceFILE)) {
1522 fclose(self::$yyTraceFILE);
1526 function yy_get_expected_tokens($token)
1528 $state = $this->yystack[$this->yyidx]->stateno;
1529 $expected = self::$yyExpectedTokens[$state];
1530 if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1533 $stack = $this->yystack;
1534 $yyidx = $this->yyidx;
1536 $yyact = $this->yy_find_shift_action($token);
1537 if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1541 if ($done++ == 100) {
1542 $this->yyidx = $yyidx;
1543 $this->yystack = $stack;
1544 // too much recursion prevents proper detection
1546 return array_unique($expected);
1548 $yyruleno = $yyact - self::YYNSTATE;
1549 $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1550 $nextstate = $this->yy_find_reduce_action(
1551 $this->yystack[$this->yyidx]->stateno,
1552 self::$yyRuleInfo[$yyruleno]['lhs']);
1553 if (isset(self::$yyExpectedTokens[$nextstate])) {
1554 $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
1555 if (in_array($token,
1556 self::$yyExpectedTokens[$nextstate], true)) {
1557 $this->yyidx = $yyidx;
1558 $this->yystack = $stack;
1559 return array_unique($expected);
1562 if ($nextstate < self::YYNSTATE) {
1563 // we need to shift a non-terminal
1565 $x = new TP_yyStackEntry;
1566 $x->stateno = $nextstate;
1567 $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1568 $this->yystack[$this->yyidx] = $x;
1570 } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1571 $this->yyidx = $yyidx;
1572 $this->yystack = $stack;
1573 // the last token was just ignored, we can't accept
1574 // by ignoring input, this is in essence ignoring a
1576 return array_unique($expected);
1577 } elseif ($nextstate === self::YY_NO_ACTION) {
1578 $this->yyidx = $yyidx;
1579 $this->yystack = $stack;
1580 // input accepted, but not shifted (I guess)
1583 $yyact = $nextstate;
1589 $this->yyidx = $yyidx;
1590 $this->yystack = $stack;
1591 return array_unique($expected);
1594 function yy_is_expected_token($token)
1597 return true; // 0 is not part of this
1599 $state = $this->yystack[$this->yyidx]->stateno;
1600 if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1603 $stack = $this->yystack;
1604 $yyidx = $this->yyidx;
1606 $yyact = $this->yy_find_shift_action($token);
1607 if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1611 if ($done++ == 100) {
1612 $this->yyidx = $yyidx;
1613 $this->yystack = $stack;
1614 // too much recursion prevents proper detection
1618 $yyruleno = $yyact - self::YYNSTATE;
1619 $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1620 $nextstate = $this->yy_find_reduce_action(
1621 $this->yystack[$this->yyidx]->stateno,
1622 self::$yyRuleInfo[$yyruleno]['lhs']);
1623 if (isset(self::$yyExpectedTokens[$nextstate]) &&
1624 in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
1625 $this->yyidx = $yyidx;
1626 $this->yystack = $stack;
1629 if ($nextstate < self::YYNSTATE) {
1630 // we need to shift a non-terminal
1632 $x = new TP_yyStackEntry;
1633 $x->stateno = $nextstate;
1634 $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1635 $this->yystack[$this->yyidx] = $x;
1637 } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1638 $this->yyidx = $yyidx;
1639 $this->yystack = $stack;
1641 // end of input: this is valid
1644 // the last token was just ignored, we can't accept
1645 // by ignoring input, this is in essence ignoring a
1648 } elseif ($nextstate === self::YY_NO_ACTION) {
1649 $this->yyidx = $yyidx;
1650 $this->yystack = $stack;
1651 // input accepted, but not shifted (I guess)
1654 $yyact = $nextstate;
1660 $this->yyidx = $yyidx;
1661 $this->yystack = $stack;
1665 function yy_find_shift_action($iLookAhead)
1667 $stateno = $this->yystack[$this->yyidx]->stateno;
1669 /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
1670 if (!isset(self::$yy_shift_ofst[$stateno])) {
1672 return self::$yy_default[$stateno];
1674 $i = self::$yy_shift_ofst[$stateno];
1675 if ($i === self::YY_SHIFT_USE_DFLT) {
1676 return self::$yy_default[$stateno];
1678 if ($iLookAhead == self::YYNOCODE) {
1679 return self::YY_NO_ACTION;
1682 if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1683 self::$yy_lookahead[$i] != $iLookAhead) {
1684 if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
1685 && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
1686 if (self::$yyTraceFILE) {
1687 fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
1688 $this->yyTokenName[$iLookAhead] . " => " .
1689 $this->yyTokenName[$iFallback] . "\n");
1691 return $this->yy_find_shift_action($iFallback);
1693 return self::$yy_default[$stateno];
1695 return self::$yy_action[$i];
1699 function yy_find_reduce_action($stateno, $iLookAhead)
1701 /* $stateno = $this->yystack[$this->yyidx]->stateno; */
1703 if (!isset(self::$yy_reduce_ofst[$stateno])) {
1704 return self::$yy_default[$stateno];
1706 $i = self::$yy_reduce_ofst[$stateno];
1707 if ($i == self::YY_REDUCE_USE_DFLT) {
1708 return self::$yy_default[$stateno];
1710 if ($iLookAhead == self::YYNOCODE) {
1711 return self::YY_NO_ACTION;
1714 if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1715 self::$yy_lookahead[$i] != $iLookAhead) {
1716 return self::$yy_default[$stateno];
1718 return self::$yy_action[$i];
1722 function yy_shift($yyNewState, $yyMajor, $yypMinor)
1725 if ($this->yyidx >= self::YYSTACKDEPTH) {
1727 if (self::$yyTraceFILE) {
1728 fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
1730 while ($this->yyidx >= 0) {
1731 $this->yy_pop_parser_stack();
1733 #line 84 "smarty_internal_templateparser.y"
1735 $this->internalError = true;
1736 $this->compiler->trigger_template_error("Stack overflow in template parser");
1737 #line 1733 "smarty_internal_templateparser.php"
1740 $yytos = new TP_yyStackEntry;
1741 $yytos->stateno = $yyNewState;
1742 $yytos->major = $yyMajor;
1743 $yytos->minor = $yypMinor;
1744 array_push($this->yystack, $yytos);
1745 if (self::$yyTraceFILE && $this->yyidx > 0) {
1746 fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
1748 fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
1749 for($i = 1; $i <= $this->yyidx; $i++) {
1750 fprintf(self::$yyTraceFILE, " %s",
1751 $this->yyTokenName[$this->yystack[$i]->major]);
1753 fwrite(self::$yyTraceFILE,"\n");
1757 static public $yyRuleInfo = array(
1758 array( 'lhs' => 82, 'rhs' => 1 ),
1759 array( 'lhs' => 83, 'rhs' => 1 ),
1760 array( 'lhs' => 83, 'rhs' => 2 ),
1761 array( 'lhs' => 83, 'rhs' => 0 ),
1762 array( 'lhs' => 84, 'rhs' => 1 ),
1763 array( 'lhs' => 84, 'rhs' => 1 ),
1764 array( 'lhs' => 84, 'rhs' => 1 ),
1765 array( 'lhs' => 84, 'rhs' => 1 ),
1766 array( 'lhs' => 84, 'rhs' => 1 ),
1767 array( 'lhs' => 84, 'rhs' => 1 ),
1768 array( 'lhs' => 84, 'rhs' => 1 ),
1769 array( 'lhs' => 84, 'rhs' => 1 ),
1770 array( 'lhs' => 84, 'rhs' => 1 ),
1771 array( 'lhs' => 84, 'rhs' => 1 ),
1772 array( 'lhs' => 84, 'rhs' => 1 ),
1773 array( 'lhs' => 84, 'rhs' => 1 ),
1774 array( 'lhs' => 86, 'rhs' => 2 ),
1775 array( 'lhs' => 86, 'rhs' => 3 ),
1776 array( 'lhs' => 87, 'rhs' => 2 ),
1777 array( 'lhs' => 87, 'rhs' => 0 ),
1778 array( 'lhs' => 88, 'rhs' => 1 ),
1779 array( 'lhs' => 88, 'rhs' => 1 ),
1780 array( 'lhs' => 88, 'rhs' => 1 ),
1781 array( 'lhs' => 88, 'rhs' => 1 ),
1782 array( 'lhs' => 88, 'rhs' => 1 ),
1783 array( 'lhs' => 88, 'rhs' => 1 ),
1784 array( 'lhs' => 88, 'rhs' => 1 ),
1785 array( 'lhs' => 85, 'rhs' => 3 ),
1786 array( 'lhs' => 85, 'rhs' => 5 ),
1787 array( 'lhs' => 85, 'rhs' => 4 ),
1788 array( 'lhs' => 85, 'rhs' => 5 ),
1789 array( 'lhs' => 85, 'rhs' => 4 ),
1790 array( 'lhs' => 85, 'rhs' => 6 ),
1791 array( 'lhs' => 85, 'rhs' => 6 ),
1792 array( 'lhs' => 85, 'rhs' => 7 ),
1793 array( 'lhs' => 85, 'rhs' => 6 ),
1794 array( 'lhs' => 85, 'rhs' => 4 ),
1795 array( 'lhs' => 85, 'rhs' => 3 ),
1796 array( 'lhs' => 85, 'rhs' => 6 ),
1797 array( 'lhs' => 85, 'rhs' => 5 ),
1798 array( 'lhs' => 85, 'rhs' => 7 ),
1799 array( 'lhs' => 85, 'rhs' => 3 ),
1800 array( 'lhs' => 85, 'rhs' => 4 ),
1801 array( 'lhs' => 85, 'rhs' => 3 ),
1802 array( 'lhs' => 85, 'rhs' => 4 ),
1803 array( 'lhs' => 85, 'rhs' => 12 ),
1804 array( 'lhs' => 98, 'rhs' => 2 ),
1805 array( 'lhs' => 98, 'rhs' => 1 ),
1806 array( 'lhs' => 85, 'rhs' => 6 ),
1807 array( 'lhs' => 85, 'rhs' => 8 ),
1808 array( 'lhs' => 85, 'rhs' => 3 ),
1809 array( 'lhs' => 85, 'rhs' => 8 ),
1810 array( 'lhs' => 85, 'rhs' => 11 ),
1811 array( 'lhs' => 85, 'rhs' => 8 ),
1812 array( 'lhs' => 85, 'rhs' => 11 ),
1813 array( 'lhs' => 85, 'rhs' => 4 ),
1814 array( 'lhs' => 85, 'rhs' => 5 ),
1815 array( 'lhs' => 85, 'rhs' => 1 ),
1816 array( 'lhs' => 85, 'rhs' => 3 ),
1817 array( 'lhs' => 85, 'rhs' => 4 ),
1818 array( 'lhs' => 85, 'rhs' => 5 ),
1819 array( 'lhs' => 85, 'rhs' => 6 ),
1820 array( 'lhs' => 91, 'rhs' => 2 ),
1821 array( 'lhs' => 91, 'rhs' => 1 ),
1822 array( 'lhs' => 91, 'rhs' => 0 ),
1823 array( 'lhs' => 100, 'rhs' => 4 ),
1824 array( 'lhs' => 100, 'rhs' => 2 ),
1825 array( 'lhs' => 100, 'rhs' => 2 ),
1826 array( 'lhs' => 100, 'rhs' => 2 ),
1827 array( 'lhs' => 100, 'rhs' => 2 ),
1828 array( 'lhs' => 100, 'rhs' => 2 ),
1829 array( 'lhs' => 100, 'rhs' => 4 ),
1830 array( 'lhs' => 95, 'rhs' => 1 ),
1831 array( 'lhs' => 95, 'rhs' => 3 ),
1832 array( 'lhs' => 94, 'rhs' => 4 ),
1833 array( 'lhs' => 94, 'rhs' => 3 ),
1834 array( 'lhs' => 94, 'rhs' => 3 ),
1835 array( 'lhs' => 92, 'rhs' => 1 ),
1836 array( 'lhs' => 92, 'rhs' => 1 ),
1837 array( 'lhs' => 92, 'rhs' => 4 ),
1838 array( 'lhs' => 92, 'rhs' => 3 ),
1839 array( 'lhs' => 92, 'rhs' => 3 ),
1840 array( 'lhs' => 92, 'rhs' => 3 ),
1841 array( 'lhs' => 92, 'rhs' => 1 ),
1842 array( 'lhs' => 92, 'rhs' => 2 ),
1843 array( 'lhs' => 92, 'rhs' => 3 ),
1844 array( 'lhs' => 92, 'rhs' => 3 ),
1845 array( 'lhs' => 92, 'rhs' => 3 ),
1846 array( 'lhs' => 92, 'rhs' => 3 ),
1847 array( 'lhs' => 92, 'rhs' => 3 ),
1848 array( 'lhs' => 92, 'rhs' => 3 ),
1849 array( 'lhs' => 92, 'rhs' => 2 ),
1850 array( 'lhs' => 92, 'rhs' => 2 ),
1851 array( 'lhs' => 92, 'rhs' => 3 ),
1852 array( 'lhs' => 92, 'rhs' => 3 ),
1853 array( 'lhs' => 92, 'rhs' => 2 ),
1854 array( 'lhs' => 92, 'rhs' => 2 ),
1855 array( 'lhs' => 92, 'rhs' => 3 ),
1856 array( 'lhs' => 92, 'rhs' => 3 ),
1857 array( 'lhs' => 92, 'rhs' => 3 ),
1858 array( 'lhs' => 92, 'rhs' => 3 ),
1859 array( 'lhs' => 101, 'rhs' => 8 ),
1860 array( 'lhs' => 101, 'rhs' => 7 ),
1861 array( 'lhs' => 89, 'rhs' => 1 ),
1862 array( 'lhs' => 89, 'rhs' => 2 ),
1863 array( 'lhs' => 89, 'rhs' => 2 ),
1864 array( 'lhs' => 89, 'rhs' => 2 ),
1865 array( 'lhs' => 89, 'rhs' => 2 ),
1866 array( 'lhs' => 89, 'rhs' => 1 ),
1867 array( 'lhs' => 89, 'rhs' => 1 ),
1868 array( 'lhs' => 89, 'rhs' => 3 ),
1869 array( 'lhs' => 89, 'rhs' => 2 ),
1870 array( 'lhs' => 89, 'rhs' => 2 ),
1871 array( 'lhs' => 89, 'rhs' => 1 ),
1872 array( 'lhs' => 89, 'rhs' => 1 ),
1873 array( 'lhs' => 89, 'rhs' => 3 ),
1874 array( 'lhs' => 89, 'rhs' => 1 ),
1875 array( 'lhs' => 89, 'rhs' => 1 ),
1876 array( 'lhs' => 89, 'rhs' => 3 ),
1877 array( 'lhs' => 89, 'rhs' => 3 ),
1878 array( 'lhs' => 89, 'rhs' => 1 ),
1879 array( 'lhs' => 89, 'rhs' => 2 ),
1880 array( 'lhs' => 105, 'rhs' => 1 ),
1881 array( 'lhs' => 105, 'rhs' => 4 ),
1882 array( 'lhs' => 105, 'rhs' => 1 ),
1883 array( 'lhs' => 105, 'rhs' => 3 ),
1884 array( 'lhs' => 105, 'rhs' => 3 ),
1885 array( 'lhs' => 93, 'rhs' => 3 ),
1886 array( 'lhs' => 110, 'rhs' => 2 ),
1887 array( 'lhs' => 110, 'rhs' => 0 ),
1888 array( 'lhs' => 111, 'rhs' => 3 ),
1889 array( 'lhs' => 111, 'rhs' => 5 ),
1890 array( 'lhs' => 111, 'rhs' => 2 ),
1891 array( 'lhs' => 111, 'rhs' => 2 ),
1892 array( 'lhs' => 111, 'rhs' => 4 ),
1893 array( 'lhs' => 111, 'rhs' => 3 ),
1894 array( 'lhs' => 111, 'rhs' => 5 ),
1895 array( 'lhs' => 111, 'rhs' => 3 ),
1896 array( 'lhs' => 111, 'rhs' => 2 ),
1897 array( 'lhs' => 97, 'rhs' => 1 ),
1898 array( 'lhs' => 97, 'rhs' => 2 ),
1899 array( 'lhs' => 112, 'rhs' => 1 ),
1900 array( 'lhs' => 112, 'rhs' => 3 ),
1901 array( 'lhs' => 109, 'rhs' => 2 ),
1902 array( 'lhs' => 113, 'rhs' => 1 ),
1903 array( 'lhs' => 113, 'rhs' => 2 ),
1904 array( 'lhs' => 114, 'rhs' => 3 ),
1905 array( 'lhs' => 114, 'rhs' => 4 ),
1906 array( 'lhs' => 114, 'rhs' => 5 ),
1907 array( 'lhs' => 114, 'rhs' => 6 ),
1908 array( 'lhs' => 114, 'rhs' => 2 ),
1909 array( 'lhs' => 106, 'rhs' => 4 ),
1910 array( 'lhs' => 115, 'rhs' => 4 ),
1911 array( 'lhs' => 115, 'rhs' => 5 ),
1912 array( 'lhs' => 116, 'rhs' => 3 ),
1913 array( 'lhs' => 116, 'rhs' => 1 ),
1914 array( 'lhs' => 116, 'rhs' => 0 ),
1915 array( 'lhs' => 90, 'rhs' => 3 ),
1916 array( 'lhs' => 90, 'rhs' => 2 ),
1917 array( 'lhs' => 117, 'rhs' => 3 ),
1918 array( 'lhs' => 117, 'rhs' => 2 ),
1919 array( 'lhs' => 99, 'rhs' => 2 ),
1920 array( 'lhs' => 99, 'rhs' => 0 ),
1921 array( 'lhs' => 118, 'rhs' => 2 ),
1922 array( 'lhs' => 118, 'rhs' => 2 ),
1923 array( 'lhs' => 108, 'rhs' => 1 ),
1924 array( 'lhs' => 108, 'rhs' => 2 ),
1925 array( 'lhs' => 108, 'rhs' => 1 ),
1926 array( 'lhs' => 108, 'rhs' => 3 ),
1927 array( 'lhs' => 108, 'rhs' => 4 ),
1928 array( 'lhs' => 103, 'rhs' => 1 ),
1929 array( 'lhs' => 103, 'rhs' => 1 ),
1930 array( 'lhs' => 103, 'rhs' => 1 ),
1931 array( 'lhs' => 103, 'rhs' => 1 ),
1932 array( 'lhs' => 103, 'rhs' => 1 ),
1933 array( 'lhs' => 103, 'rhs' => 1 ),
1934 array( 'lhs' => 103, 'rhs' => 1 ),
1935 array( 'lhs' => 103, 'rhs' => 1 ),
1936 array( 'lhs' => 103, 'rhs' => 1 ),
1937 array( 'lhs' => 104, 'rhs' => 1 ),
1938 array( 'lhs' => 104, 'rhs' => 1 ),
1939 array( 'lhs' => 104, 'rhs' => 1 ),
1940 array( 'lhs' => 102, 'rhs' => 3 ),
1941 array( 'lhs' => 119, 'rhs' => 1 ),
1942 array( 'lhs' => 119, 'rhs' => 3 ),
1943 array( 'lhs' => 119, 'rhs' => 0 ),
1944 array( 'lhs' => 120, 'rhs' => 3 ),
1945 array( 'lhs' => 120, 'rhs' => 3 ),
1946 array( 'lhs' => 120, 'rhs' => 1 ),
1947 array( 'lhs' => 107, 'rhs' => 2 ),
1948 array( 'lhs' => 107, 'rhs' => 3 ),
1949 array( 'lhs' => 121, 'rhs' => 2 ),
1950 array( 'lhs' => 121, 'rhs' => 1 ),
1951 array( 'lhs' => 122, 'rhs' => 3 ),
1952 array( 'lhs' => 122, 'rhs' => 3 ),
1953 array( 'lhs' => 122, 'rhs' => 1 ),
1954 array( 'lhs' => 122, 'rhs' => 3 ),
1955 array( 'lhs' => 122, 'rhs' => 3 ),
1956 array( 'lhs' => 122, 'rhs' => 1 ),
1957 array( 'lhs' => 122, 'rhs' => 1 ),
1958 array( 'lhs' => 96, 'rhs' => 1 ),
1959 array( 'lhs' => 96, 'rhs' => 0 ),
1962 static public $yyReduceMap = array(
2165 #line 95 "smarty_internal_templateparser.y"
2167 $this->_retvalue = $this->root_buffer->to_smarty_php();
2169 #line 2165 "smarty_internal_templateparser.php"
2170 #line 103 "smarty_internal_templateparser.y"
2172 $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);
2174 #line 2170 "smarty_internal_templateparser.php"
2175 #line 119 "smarty_internal_templateparser.y"
2177 if ($this->compiler->has_code) {
2178 $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
2179 $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true));
2181 $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
2183 $this->compiler->has_variable_string = false;
2184 $this->block_nesting_level = count($this->compiler->_tag_stack);
2186 #line 2182 "smarty_internal_templateparser.php"
2187 #line 131 "smarty_internal_templateparser.y"
2189 $this->_retvalue = new _smarty_tag($this, '');
2191 #line 2187 "smarty_internal_templateparser.php"
2192 #line 136 "smarty_internal_templateparser.y"
2194 $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
2196 #line 2192 "smarty_internal_templateparser.php"
2197 #line 141 "smarty_internal_templateparser.y"
2199 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2200 $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
2201 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2202 $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2203 } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2204 if (!($this->smarty instanceof SmartyBC)) {
2205 $this->compiler->trigger_template_error (self::Err3);
2207 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<?php', true));
2208 } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2209 $this->_retvalue = new _smarty_text($this, '');
2212 #line 2208 "smarty_internal_templateparser.php"
2213 #line 157 "smarty_internal_templateparser.y"
2215 if ($this->is_xml) {
2216 $this->compiler->tag_nocache = true;
2217 $this->is_xml = false;
2218 $save = $this->template->has_nocache_code;
2219 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>\n", $this->compiler, true));
2220 $this->template->has_nocache_code = $save;
2221 } elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
2222 $this->_retvalue = new _smarty_text($this, '?<?php ?>>');
2223 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2224 $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
2225 } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2226 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true));
2227 } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2228 $this->_retvalue = new _smarty_text($this, '');
2231 #line 2227 "smarty_internal_templateparser.php"
2232 #line 176 "smarty_internal_templateparser.y"
2234 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2235 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2236 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2237 $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2238 } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2239 if ($this->asp_tags) {
2240 if (!($this->smarty instanceof SmartyBC)) {
2241 $this->compiler->trigger_template_error (self::Err3);
2243 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true));
2245 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2247 } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2248 if ($this->asp_tags) {
2249 $this->_retvalue = new _smarty_text($this, '');
2251 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2255 #line 2251 "smarty_internal_templateparser.php"
2256 #line 200 "smarty_internal_templateparser.y"
2258 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2259 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2260 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2261 $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
2262 } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2263 if ($this->asp_tags) {
2264 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true));
2266 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2268 } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2269 if ($this->asp_tags) {
2270 $this->_retvalue = new _smarty_text($this, '');
2272 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2276 #line 2272 "smarty_internal_templateparser.php"
2277 #line 220 "smarty_internal_templateparser.y"
2280 $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)));
2282 $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
2285 #line 2281 "smarty_internal_templateparser.php"
2286 #line 229 "smarty_internal_templateparser.y"
2288 $this->compiler->tag_nocache = true;
2289 $this->is_xml = true;
2290 $save = $this->template->has_nocache_code;
2291 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true));
2292 $this->template->has_nocache_code = $save;
2294 #line 2290 "smarty_internal_templateparser.php"
2295 #line 238 "smarty_internal_templateparser.y"
2298 $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
2300 $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
2303 #line 2299 "smarty_internal_templateparser.php"
2304 #line 247 "smarty_internal_templateparser.y"
2306 $this->strip = true;
2307 $this->_retvalue = new _smarty_text($this, '');
2309 #line 2305 "smarty_internal_templateparser.php"
2310 #line 252 "smarty_internal_templateparser.y"
2312 $this->strip = false;
2313 $this->_retvalue = new _smarty_text($this, '');
2315 #line 2311 "smarty_internal_templateparser.php"
2316 #line 258 "smarty_internal_templateparser.y"
2318 $this->_retvalue = '';
2320 #line 2316 "smarty_internal_templateparser.php"
2321 #line 262 "smarty_internal_templateparser.y"
2323 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
2325 #line 2321 "smarty_internal_templateparser.php"
2326 #line 266 "smarty_internal_templateparser.y"
2328 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2330 #line 2326 "smarty_internal_templateparser.php"
2331 #line 274 "smarty_internal_templateparser.y"
2333 $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2335 #line 2331 "smarty_internal_templateparser.php"
2336 #line 282 "smarty_internal_templateparser.y"
2338 $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor);
2340 #line 2336 "smarty_internal_templateparser.php"
2341 #line 290 "smarty_internal_templateparser.y"
2343 $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor);
2345 #line 2341 "smarty_internal_templateparser.php"
2346 #line 294 "smarty_internal_templateparser.y"
2348 $this->_retvalue = '<<?php ?>%';
2350 #line 2346 "smarty_internal_templateparser.php"
2351 #line 298 "smarty_internal_templateparser.y"
2353 $this->_retvalue = '%<?php ?>>';
2355 #line 2351 "smarty_internal_templateparser.php"
2356 #line 307 "smarty_internal_templateparser.y"
2358 $this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor));
2360 #line 2356 "smarty_internal_templateparser.php"
2361 #line 311 "smarty_internal_templateparser.y"
2363 $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor, 'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor));
2365 #line 2361 "smarty_internal_templateparser.php"
2366 #line 315 "smarty_internal_templateparser.y"
2368 $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor));
2370 #line 2366 "smarty_internal_templateparser.php"
2371 #line 319 "smarty_internal_templateparser.y"
2373 $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor));
2375 #line 2371 "smarty_internal_templateparser.php"
2376 #line 332 "smarty_internal_templateparser.y"
2378 $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'")));
2380 #line 2376 "smarty_internal_templateparser.php"
2381 #line 340 "smarty_internal_templateparser.y"
2383 $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'")),$this->yystack[$this->yyidx + -1]->minor));
2385 #line 2381 "smarty_internal_templateparser.php"
2386 #line 344 "smarty_internal_templateparser.y"
2388 $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>$this->yystack[$this->yyidx + -4]->minor['var'])),$this->yystack[$this->yyidx + -1]->minor),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -4]->minor['smarty_internal_index']));
2390 #line 2386 "smarty_internal_templateparser.php"
2391 #line 349 "smarty_internal_templateparser.y"
2393 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor);
2395 #line 2391 "smarty_internal_templateparser.php"
2396 #line 353 "smarty_internal_templateparser.y"
2398 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array());
2400 #line 2396 "smarty_internal_templateparser.php"
2401 #line 358 "smarty_internal_templateparser.y"
2403 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor));
2405 #line 2401 "smarty_internal_templateparser.php"
2406 #line 363 "smarty_internal_templateparser.y"
2408 $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
2409 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2411 #line 2407 "smarty_internal_templateparser.php"
2412 #line 369 "smarty_internal_templateparser.y"
2414 $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'<?php echo ';
2415 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2417 #line 2413 "smarty_internal_templateparser.php"
2418 #line 375 "smarty_internal_templateparser.y"
2420 $tag = trim(substr($this->yystack[$this->yyidx + -2]->minor,$this->lex->ldel_length));
2421 $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor));
2423 #line 2419 "smarty_internal_templateparser.php"
2424 #line 380 "smarty_internal_templateparser.y"
2426 $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length));
2427 $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + -1]->minor,array('if condition'=>$this->yystack[$this->yyidx + -2]->minor));
2429 #line 2425 "smarty_internal_templateparser.php"
2430 #line 385 "smarty_internal_templateparser.y"
2432 $tag = trim(substr($this->yystack[$this->yyidx + -2]->minor,$this->lex->ldel_length));
2433 $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor));
2435 #line 2431 "smarty_internal_templateparser.php"
2436 #line 396 "smarty_internal_templateparser.y"
2438 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -10]->minor),array('ifexp'=>$this->yystack[$this->yyidx + -7]->minor),array('var'=>$this->yystack[$this->yyidx + -3]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),1);
2440 #line 2436 "smarty_internal_templateparser.php"
2441 #line 400 "smarty_internal_templateparser.y"
2443 $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor;
2445 #line 2441 "smarty_internal_templateparser.php"
2446 #line 408 "smarty_internal_templateparser.y"
2448 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -4]->minor),array('to'=>$this->yystack[$this->yyidx + -2]->minor))),0);
2450 #line 2446 "smarty_internal_templateparser.php"
2451 #line 412 "smarty_internal_templateparser.y"
2453 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('to'=>$this->yystack[$this->yyidx + -4]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),0);
2455 #line 2451 "smarty_internal_templateparser.php"
2456 #line 417 "smarty_internal_templateparser.y"
2458 $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor);
2460 #line 2456 "smarty_internal_templateparser.php"
2461 #line 422 "smarty_internal_templateparser.y"
2463 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor))));
2465 #line 2461 "smarty_internal_templateparser.php"
2466 #line 426 "smarty_internal_templateparser.y"
2468 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor))));
2470 #line 2466 "smarty_internal_templateparser.php"
2471 #line 430 "smarty_internal_templateparser.y"
2473 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor))));
2475 #line 2471 "smarty_internal_templateparser.php"
2476 #line 434 "smarty_internal_templateparser.y"
2478 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor))));
2480 #line 2476 "smarty_internal_templateparser.php"
2481 #line 439 "smarty_internal_templateparser.y"
2483 $this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array(array_merge(array($this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor))));
2485 #line 2481 "smarty_internal_templateparser.php"
2486 #line 443 "smarty_internal_templateparser.y"
2488 $this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array_merge(array(array_merge(array($this->yystack[$this->yyidx + -3]->minor),$this->yystack[$this->yyidx + -2]->minor)),$this->yystack[$this->yyidx + -1]->minor)));
2490 #line 2486 "smarty_internal_templateparser.php"
2491 #line 448 "smarty_internal_templateparser.y"
2493 $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
2495 #line 2491 "smarty_internal_templateparser.php"
2496 #line 454 "smarty_internal_templateparser.y"
2498 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array());
2500 #line 2496 "smarty_internal_templateparser.php"
2501 #line 458 "smarty_internal_templateparser.y"
2503 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
2505 #line 2501 "smarty_internal_templateparser.php"
2506 #line 463 "smarty_internal_templateparser.y"
2508 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor));
2510 #line 2506 "smarty_internal_templateparser.php"
2511 #line 467 "smarty_internal_templateparser.y"
2513 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
2515 #line 2511 "smarty_internal_templateparser.php"
2516 #line 475 "smarty_internal_templateparser.y"
2518 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
2519 $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
2521 #line 2517 "smarty_internal_templateparser.php"
2522 #line 481 "smarty_internal_templateparser.y"
2524 $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
2526 #line 2522 "smarty_internal_templateparser.php"
2527 #line 486 "smarty_internal_templateparser.y"
2529 $this->_retvalue = array();
2531 #line 2527 "smarty_internal_templateparser.php"
2532 #line 491 "smarty_internal_templateparser.y"
2534 if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2535 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true');
2536 } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2537 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false');
2538 } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2539 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null');
2541 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'");
2544 #line 2540 "smarty_internal_templateparser.php"
2545 #line 503 "smarty_internal_templateparser.y"
2547 $this->_retvalue = array(trim($this->yystack[$this->yyidx + -1]->minor," =\n\r\t")=>$this->yystack[$this->yyidx + 0]->minor);
2549 #line 2545 "smarty_internal_templateparser.php"
2550 #line 511 "smarty_internal_templateparser.y"
2552 $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'";
2554 #line 2550 "smarty_internal_templateparser.php"
2555 #line 523 "smarty_internal_templateparser.y"
2557 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor);
2559 #line 2555 "smarty_internal_templateparser.php"
2560 #line 536 "smarty_internal_templateparser.y"
2562 $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor;
2563 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor;
2565 #line 2561 "smarty_internal_templateparser.php"
2566 #line 541 "smarty_internal_templateparser.y"
2568 $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor);
2570 #line 2566 "smarty_internal_templateparser.php"
2571 #line 569 "smarty_internal_templateparser.y"
2573 $this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')';
2575 #line 2571 "smarty_internal_templateparser.php"
2576 #line 574 "smarty_internal_templateparser.y"
2578 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor;
2580 #line 2576 "smarty_internal_templateparser.php"
2581 #line 593 "smarty_internal_templateparser.y"
2583 $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor));
2585 #line 2581 "smarty_internal_templateparser.php"
2586 #line 599 "smarty_internal_templateparser.y"
2588 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2590 #line 2586 "smarty_internal_templateparser.php"
2591 #line 603 "smarty_internal_templateparser.y"
2593 $this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')';
2595 #line 2591 "smarty_internal_templateparser.php"
2596 #line 607 "smarty_internal_templateparser.y"
2598 $this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')';
2600 #line 2596 "smarty_internal_templateparser.php"
2601 #line 615 "smarty_internal_templateparser.y"
2603 $this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';
2605 #line 2601 "smarty_internal_templateparser.php"
2606 #line 619 "smarty_internal_templateparser.y"
2608 $this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';
2610 #line 2606 "smarty_internal_templateparser.php"
2611 #line 623 "smarty_internal_templateparser.y"
2613 $this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';
2615 #line 2611 "smarty_internal_templateparser.php"
2616 #line 627 "smarty_internal_templateparser.y"
2618 $this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';
2620 #line 2616 "smarty_internal_templateparser.php"
2621 #line 631 "smarty_internal_templateparser.y"
2623 $this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';
2625 #line 2621 "smarty_internal_templateparser.php"
2626 #line 635 "smarty_internal_templateparser.y"
2628 $this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';
2630 #line 2626 "smarty_internal_templateparser.php"
2631 #line 659 "smarty_internal_templateparser.y"
2633 $this->prefix_number++;
2634 $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>';
2635 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number;
2637 #line 2633 "smarty_internal_templateparser.php"
2638 #line 668 "smarty_internal_templateparser.y"
2640 $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? '. $this->compileVariable("'".$this->yystack[$this->yyidx + -2]->minor."'") . ' : '.$this->yystack[$this->yyidx + 0]->minor;
2642 #line 2638 "smarty_internal_templateparser.php"
2643 #line 672 "smarty_internal_templateparser.y"
2645 $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor;
2647 #line 2643 "smarty_internal_templateparser.php"
2648 #line 687 "smarty_internal_templateparser.y"
2650 $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor;
2652 #line 2648 "smarty_internal_templateparser.php"
2653 #line 708 "smarty_internal_templateparser.y"
2655 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;
2657 #line 2653 "smarty_internal_templateparser.php"
2658 #line 712 "smarty_internal_templateparser.y"
2660 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.';
2662 #line 2658 "smarty_internal_templateparser.php"
2663 #line 716 "smarty_internal_templateparser.y"
2665 $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor;
2667 #line 2663 "smarty_internal_templateparser.php"
2668 #line 721 "smarty_internal_templateparser.y"
2670 if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2671 $this->_retvalue = 'true';
2672 } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2673 $this->_retvalue = 'false';
2674 } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2675 $this->_retvalue = 'null';
2677 $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'";
2680 #line 2676 "smarty_internal_templateparser.php"
2681 #line 739 "smarty_internal_templateparser.y"
2683 $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")";
2685 #line 2681 "smarty_internal_templateparser.php"
2686 #line 754 "smarty_internal_templateparser.y"
2688 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)) {
2689 if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) {
2690 $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor;
2692 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;
2695 $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting");
2698 #line 2694 "smarty_internal_templateparser.php"
2699 #line 766 "smarty_internal_templateparser.y"
2701 if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') {
2702 $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;
2704 $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;
2707 #line 2703 "smarty_internal_templateparser.php"
2708 #line 775 "smarty_internal_templateparser.y"
2710 $this->prefix_number++;
2711 $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>';
2712 $this->_retvalue = '$_tmp'.$this->prefix_number;
2714 #line 2710 "smarty_internal_templateparser.php"
2715 #line 790 "smarty_internal_templateparser.y"
2717 if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
2718 $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
2719 $this->_retvalue = $smarty_var;
2721 // used for array reset,next,prev,end,current
2722 $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
2723 $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2724 $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']).$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2727 #line 2723 "smarty_internal_templateparser.php"
2728 #line 803 "smarty_internal_templateparser.y"
2730 $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor;
2732 #line 2728 "smarty_internal_templateparser.php"
2733 #line 813 "smarty_internal_templateparser.y"
2735 $this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')';
2737 #line 2733 "smarty_internal_templateparser.php"
2738 #line 817 "smarty_internal_templateparser.y"
2740 $this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')';
2742 #line 2738 "smarty_internal_templateparser.php"
2743 #line 821 "smarty_internal_templateparser.y"
2745 $this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor);
2747 #line 2743 "smarty_internal_templateparser.php"
2748 #line 834 "smarty_internal_templateparser.y"
2752 #line 2748 "smarty_internal_templateparser.php"
2753 #line 840 "smarty_internal_templateparser.y"
2755 $this->_retvalue = '['.$this->compileVariable($this->yystack[$this->yyidx + 0]->minor).']';
2757 #line 2753 "smarty_internal_templateparser.php"
2758 #line 844 "smarty_internal_templateparser.y"
2760 $this->_retvalue = '['.$this->compileVariable($this->yystack[$this->yyidx + -2]->minor).'->'.$this->yystack[$this->yyidx + 0]->minor.']';
2762 #line 2758 "smarty_internal_templateparser.php"
2763 #line 848 "smarty_internal_templateparser.y"
2765 $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']";
2767 #line 2763 "smarty_internal_templateparser.php"
2768 #line 852 "smarty_internal_templateparser.y"
2770 $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]";
2772 #line 2768 "smarty_internal_templateparser.php"
2773 #line 856 "smarty_internal_templateparser.y"
2775 $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]";
2777 #line 2773 "smarty_internal_templateparser.php"
2778 #line 861 "smarty_internal_templateparser.y"
2780 $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']';
2782 #line 2778 "smarty_internal_templateparser.php"
2783 #line 865 "smarty_internal_templateparser.y"
2785 $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']';
2787 #line 2783 "smarty_internal_templateparser.php"
2788 #line 875 "smarty_internal_templateparser.y"
2790 $this->_retvalue = '[]';
2792 #line 2788 "smarty_internal_templateparser.php"
2793 #line 888 "smarty_internal_templateparser.y"
2795 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;
2797 #line 2793 "smarty_internal_templateparser.php"
2798 #line 893 "smarty_internal_templateparser.y"
2800 $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\'';
2802 #line 2798 "smarty_internal_templateparser.php"
2803 #line 898 "smarty_internal_templateparser.y"
2805 $this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')';
2807 #line 2803 "smarty_internal_templateparser.php"
2808 #line 905 "smarty_internal_templateparser.y"
2810 if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') {
2811 $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;
2813 $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;
2816 #line 2812 "smarty_internal_templateparser.php"
2817 #line 914 "smarty_internal_templateparser.y"
2819 $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2821 #line 2817 "smarty_internal_templateparser.php"
2822 #line 919 "smarty_internal_templateparser.y"
2824 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2826 #line 2822 "smarty_internal_templateparser.php"
2827 #line 924 "smarty_internal_templateparser.y"
2829 if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '_') {
2830 $this->compiler->trigger_template_error (self::Err1);
2832 $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2834 #line 2830 "smarty_internal_templateparser.php"
2835 #line 931 "smarty_internal_templateparser.y"
2837 if ($this->security) {
2838 $this->compiler->trigger_template_error (self::Err2);
2840 $this->_retvalue = '->{'.$this->compileVariable($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor.'}';
2842 #line 2838 "smarty_internal_templateparser.php"
2843 #line 938 "smarty_internal_templateparser.y"
2845 if ($this->security) {
2846 $this->compiler->trigger_template_error (self::Err2);
2848 $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2850 #line 2846 "smarty_internal_templateparser.php"
2851 #line 945 "smarty_internal_templateparser.y"
2853 if ($this->security) {
2854 $this->compiler->trigger_template_error (self::Err2);
2856 $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2858 #line 2854 "smarty_internal_templateparser.php"
2859 #line 953 "smarty_internal_templateparser.y"
2861 $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor;
2863 #line 2859 "smarty_internal_templateparser.php"
2864 #line 961 "smarty_internal_templateparser.y"
2866 if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) {
2867 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)) {
2868 $func_name = strtolower($this->yystack[$this->yyidx + -3]->minor);
2869 if ($func_name == 'isset') {
2870 if (count($this->yystack[$this->yyidx + -1]->minor) == 0) {
2871 $this->compiler->trigger_template_error ('Illegal number of paramer in "isset()"');
2873 $par = implode(',',$this->yystack[$this->yyidx + -1]->minor);
2874 if (strncasecmp($par,'$_smarty_tpl->getConfigVariable',strlen('$_smarty_tpl->getConfigVariable')) === 0) {
2875 $this->prefix_number++;
2876 $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.str_replace(')',', false)',$par).';?>';
2877 $isset_par = '$_tmp'.$this->prefix_number;
2879 $isset_par=str_replace("')->value","',null,true,false)->value",$par);
2881 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $isset_par .")";
2882 } elseif (in_array($func_name,array('empty','reset','current','end','prev','next'))){
2883 if (count($this->yystack[$this->yyidx + -1]->minor) != 1) {
2884 $this->compiler->trigger_template_error ('Illegal number of paramer in "empty()"');
2886 if ($func_name == 'empty') {
2887 $this->_retvalue = $func_name.'('.str_replace("')->value","',null,true,false)->value",$this->yystack[$this->yyidx + -1]->minor[0]).')';
2889 $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')';
2892 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2895 $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\"");
2899 #line 2895 "smarty_internal_templateparser.php"
2900 #line 999 "smarty_internal_templateparser.y"
2902 if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) == '_') {
2903 $this->compiler->trigger_template_error (self::Err1);
2905 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2907 #line 2903 "smarty_internal_templateparser.php"
2908 #line 1006 "smarty_internal_templateparser.y"
2910 if ($this->security) {
2911 $this->compiler->trigger_template_error (self::Err2);
2913 $this->prefix_number++;
2914 $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->compileVariable("'".$this->yystack[$this->yyidx + -3]->minor."'").';?>';
2915 $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')';
2917 #line 2913 "smarty_internal_templateparser.php"
2918 #line 1017 "smarty_internal_templateparser.y"
2920 $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor));
2922 #line 2918 "smarty_internal_templateparser.php"
2923 #line 1034 "smarty_internal_templateparser.y"
2925 $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)));
2927 #line 2923 "smarty_internal_templateparser.php"
2928 #line 1038 "smarty_internal_templateparser.y"
2930 $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor));
2932 #line 2928 "smarty_internal_templateparser.php"
2933 #line 1046 "smarty_internal_templateparser.y"
2935 $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
2937 #line 2933 "smarty_internal_templateparser.php"
2938 #line 1054 "smarty_internal_templateparser.y"
2940 $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor);
2942 #line 2938 "smarty_internal_templateparser.php"
2943 #line 1088 "smarty_internal_templateparser.y"
2945 $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2947 #line 2943 "smarty_internal_templateparser.php"
2948 #line 1093 "smarty_internal_templateparser.y"
2950 $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2952 #line 2948 "smarty_internal_templateparser.php"
2953 #line 1099 "smarty_internal_templateparser.y"
2955 $this->_retvalue = '==';
2957 #line 2953 "smarty_internal_templateparser.php"
2958 #line 1103 "smarty_internal_templateparser.y"
2960 $this->_retvalue = '!=';
2962 #line 2958 "smarty_internal_templateparser.php"
2963 #line 1107 "smarty_internal_templateparser.y"
2965 $this->_retvalue = '>';
2967 #line 2963 "smarty_internal_templateparser.php"
2968 #line 1111 "smarty_internal_templateparser.y"
2970 $this->_retvalue = '<';
2972 #line 2968 "smarty_internal_templateparser.php"
2973 #line 1115 "smarty_internal_templateparser.y"
2975 $this->_retvalue = '>=';
2977 #line 2973 "smarty_internal_templateparser.php"
2978 #line 1119 "smarty_internal_templateparser.y"
2980 $this->_retvalue = '<=';
2982 #line 2978 "smarty_internal_templateparser.php"
2983 #line 1123 "smarty_internal_templateparser.y"
2985 $this->_retvalue = '===';
2987 #line 2983 "smarty_internal_templateparser.php"
2988 #line 1127 "smarty_internal_templateparser.y"
2990 $this->_retvalue = '!==';
2992 #line 2988 "smarty_internal_templateparser.php"
2993 #line 1131 "smarty_internal_templateparser.y"
2995 $this->_retvalue = '%';
2997 #line 2993 "smarty_internal_templateparser.php"
2998 #line 1135 "smarty_internal_templateparser.y"
3000 $this->_retvalue = '&&';
3002 #line 2998 "smarty_internal_templateparser.php"
3003 #line 1139 "smarty_internal_templateparser.y"
3005 $this->_retvalue = '||';
3007 #line 3003 "smarty_internal_templateparser.php"
3008 #line 1143 "smarty_internal_templateparser.y"
3010 $this->_retvalue = ' XOR ';
3012 #line 3008 "smarty_internal_templateparser.php"
3013 #line 1150 "smarty_internal_templateparser.y"
3015 $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')';
3017 #line 3013 "smarty_internal_templateparser.php"
3018 #line 1158 "smarty_internal_templateparser.y"
3020 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor;
3022 #line 3018 "smarty_internal_templateparser.php"
3023 #line 1166 "smarty_internal_templateparser.y"
3025 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor;
3027 #line 3023 "smarty_internal_templateparser.php"
3028 #line 1170 "smarty_internal_templateparser.y"
3030 $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor;
3032 #line 3028 "smarty_internal_templateparser.php"
3033 #line 1182 "smarty_internal_templateparser.y"
3035 $this->_retvalue = "''";
3037 #line 3033 "smarty_internal_templateparser.php"
3038 #line 1186 "smarty_internal_templateparser.y"
3040 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php();
3042 #line 3038 "smarty_internal_templateparser.php"
3043 #line 1191 "smarty_internal_templateparser.y"
3045 $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor);
3046 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
3048 #line 3044 "smarty_internal_templateparser.php"
3049 #line 1196 "smarty_internal_templateparser.y"
3051 $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor);
3053 #line 3049 "smarty_internal_templateparser.php"
3054 #line 1200 "smarty_internal_templateparser.y"
3056 $this->_retvalue = new _smarty_code($this, '(string)'.$this->yystack[$this->yyidx + -1]->minor);
3058 #line 3054 "smarty_internal_templateparser.php"
3059 #line 1208 "smarty_internal_templateparser.y"
3061 $this->_retvalue = new _smarty_code($this, '(string)$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value');
3063 #line 3059 "smarty_internal_templateparser.php"
3064 #line 1216 "smarty_internal_templateparser.y"
3066 $this->_retvalue = new _smarty_code($this, '(string)('.$this->yystack[$this->yyidx + -1]->minor.')');
3068 #line 3064 "smarty_internal_templateparser.php"
3069 #line 1220 "smarty_internal_templateparser.y"
3071 $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
3073 #line 3069 "smarty_internal_templateparser.php"
3074 #line 1224 "smarty_internal_templateparser.y"
3076 $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor);
3078 #line 3074 "smarty_internal_templateparser.php"
3082 function yy_reduce($yyruleno)
3084 $yymsp = $this->yystack[$this->yyidx];
3085 if (self::$yyTraceFILE && $yyruleno >= 0
3086 && $yyruleno < count(self::$yyRuleName)) {
3087 fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
3088 self::$yyTracePrompt, $yyruleno,
3089 self::$yyRuleName[$yyruleno]);
3092 $this->_retvalue = $yy_lefthand_side = null;
3093 if (array_key_exists($yyruleno, self::$yyReduceMap)) {
3095 $this->_retvalue = null;
3096 $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
3097 $yy_lefthand_side = $this->_retvalue;
3099 $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
3100 $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
3101 $this->yyidx -= $yysize;
3102 for($i = $yysize; $i; $i--) {
3103 // pop all of the right-hand side parameters
3104 array_pop($this->yystack);
3106 $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
3107 if ($yyact < self::YYNSTATE) {
3108 if (!self::$yyTraceFILE && $yysize) {
3110 $x = new TP_yyStackEntry;
3111 $x->stateno = $yyact;
3112 $x->major = $yygoto;
3113 $x->minor = $yy_lefthand_side;
3114 $this->yystack[$this->yyidx] = $x;
3116 $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
3118 } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
3123 function yy_parse_failed()
3125 if (self::$yyTraceFILE) {
3126 fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
3128 while ($this->yyidx >= 0) {
3129 $this->yy_pop_parser_stack();
3133 function yy_syntax_error($yymajor, $TOKEN)
3135 #line 77 "smarty_internal_templateparser.y"
3137 $this->internalError = true;
3138 $this->yymajor = $yymajor;
3139 $this->compiler->trigger_template_error();
3140 #line 3137 "smarty_internal_templateparser.php"
3143 function yy_accept()
3145 if (self::$yyTraceFILE) {
3146 fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
3148 while ($this->yyidx >= 0) {
3149 $stack = $this->yy_pop_parser_stack();
3151 #line 69 "smarty_internal_templateparser.y"
3153 $this->successful = !$this->internalError;
3154 $this->internalError = false;
3155 $this->retvalue = $this->_retvalue;
3156 //echo $this->retvalue."\n\n";
3157 #line 3155 "smarty_internal_templateparser.php"
3160 function doParse($yymajor, $yytokenvalue)
3162 $yyerrorhit = 0; /* True if yymajor has invoked an error */
3164 if ($this->yyidx === null || $this->yyidx < 0) {
3166 $this->yyerrcnt = -1;
3167 $x = new TP_yyStackEntry;
3170 $this->yystack = array();
3171 array_push($this->yystack, $x);
3173 $yyendofinput = ($yymajor==0);
3175 if (self::$yyTraceFILE) {
3176 fprintf(self::$yyTraceFILE, "%sInput %s\n",
3177 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
3181 $yyact = $this->yy_find_shift_action($yymajor);
3182 if ($yymajor < self::YYERRORSYMBOL &&
3183 !$this->yy_is_expected_token($yymajor)) {
3184 // force a syntax error
3185 $yyact = self::YY_ERROR_ACTION;
3187 if ($yyact < self::YYNSTATE) {
3188 $this->yy_shift($yyact, $yymajor, $yytokenvalue);
3190 if ($yyendofinput && $this->yyidx >= 0) {
3193 $yymajor = self::YYNOCODE;
3195 } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
3196 $this->yy_reduce($yyact - self::YYNSTATE);
3197 } elseif ($yyact == self::YY_ERROR_ACTION) {
3198 if (self::$yyTraceFILE) {
3199 fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
3200 self::$yyTracePrompt);
3202 if (self::YYERRORSYMBOL) {
3203 if ($this->yyerrcnt < 0) {
3204 $this->yy_syntax_error($yymajor, $yytokenvalue);
3206 $yymx = $this->yystack[$this->yyidx]->major;
3207 if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
3208 if (self::$yyTraceFILE) {
3209 fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
3210 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
3212 $this->yy_destructor($yymajor, $yytokenvalue);
3213 $yymajor = self::YYNOCODE;
3215 while ($this->yyidx >= 0 &&
3216 $yymx != self::YYERRORSYMBOL &&
3217 ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
3219 $this->yy_pop_parser_stack();
3221 if ($this->yyidx < 0 || $yymajor==0) {
3222 $this->yy_destructor($yymajor, $yytokenvalue);
3223 $this->yy_parse_failed();
3224 $yymajor = self::YYNOCODE;
3225 } elseif ($yymx != self::YYERRORSYMBOL) {
3227 $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
3230 $this->yyerrcnt = 3;
3233 if ($this->yyerrcnt <= 0) {
3234 $this->yy_syntax_error($yymajor, $yytokenvalue);
3236 $this->yyerrcnt = 3;
3237 $this->yy_destructor($yymajor, $yytokenvalue);
3238 if ($yyendofinput) {
3239 $this->yy_parse_failed();
3241 $yymajor = self::YYNOCODE;
3245 $yymajor = self::YYNOCODE;
3247 } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);