PageRenderTime 76ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/smarty/libs/sysplugins/smarty_internal_templateparser.php

https://github.com/jonathankhoo/single-pulse
PHP | 2777 lines | 2446 code | 36 blank | 295 comment | 135 complexity | 62f970a55b8773ca8cbe197bc4b3a8fa MD5 | raw file
  1. <?php
  2. /**
  3. * Smarty Internal Plugin Templateparser
  4. *
  5. * This is the template parser.
  6. * It is generated from the internal.templateparser.y file
  7. * @package Smarty
  8. * @subpackage Compiler
  9. * @author Uwe Tews
  10. */
  11. class TP_yyToken implements ArrayAccess
  12. {
  13. public $string = '';
  14. public $metadata = array();
  15. function __construct($s, $m = array())
  16. {
  17. if ($s instanceof TP_yyToken) {
  18. $this->string = $s->string;
  19. $this->metadata = $s->metadata;
  20. } else {
  21. $this->string = (string) $s;
  22. if ($m instanceof TP_yyToken) {
  23. $this->metadata = $m->metadata;
  24. } elseif (is_array($m)) {
  25. $this->metadata = $m;
  26. }
  27. }
  28. }
  29. function __toString()
  30. {
  31. return $this->_string;
  32. }
  33. function offsetExists($offset)
  34. {
  35. return isset($this->metadata[$offset]);
  36. }
  37. function offsetGet($offset)
  38. {
  39. return $this->metadata[$offset];
  40. }
  41. function offsetSet($offset, $value)
  42. {
  43. if ($offset === null) {
  44. if (isset($value[0])) {
  45. $x = ($value instanceof TP_yyToken) ?
  46. $value->metadata : $value;
  47. $this->metadata = array_merge($this->metadata, $x);
  48. return;
  49. }
  50. $offset = count($this->metadata);
  51. }
  52. if ($value === null) {
  53. return;
  54. }
  55. if ($value instanceof TP_yyToken) {
  56. if ($value->metadata) {
  57. $this->metadata[$offset] = $value->metadata;
  58. }
  59. } elseif ($value) {
  60. $this->metadata[$offset] = $value;
  61. }
  62. }
  63. function offsetUnset($offset)
  64. {
  65. unset($this->metadata[$offset]);
  66. }
  67. }
  68. class TP_yyStackEntry
  69. {
  70. public $stateno; /* The state-number */
  71. public $major; /* The major token value. This is the code
  72. ** number for the token at this stack level */
  73. public $minor; /* The user-supplied minor token value. This
  74. ** is the value of the token */
  75. };
  76. #line 12 "smarty_internal_templateparser.y"
  77. class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
  78. {
  79. #line 14 "smarty_internal_templateparser.y"
  80. // states whether the parse was successful or not
  81. public $successful = true;
  82. public $retvalue = 0;
  83. private $lex;
  84. private $internalError = false;
  85. function __construct($lex, $compiler) {
  86. // set instance object
  87. self::instance($this);
  88. $this->lex = $lex;
  89. $this->compiler = $compiler;
  90. $this->smarty = $this->compiler->smarty;
  91. $this->template = $this->compiler->template;
  92. if ($this->template->security && isset($this->smarty->security_handler)) {
  93. $this->sec_obj = $this->smarty->security_policy;
  94. } else {
  95. $this->sec_obj = $this->smarty;
  96. }
  97. $this->compiler->has_variable_string = false;
  98. $this->compiler->prefix_code = array();
  99. $this->prefix_number = 0;
  100. $this->block_nesting_level = 0;
  101. $this->is_xml = false;
  102. $this->asp_tags = (ini_get('asp_tags') != '0');
  103. $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
  104. }
  105. public static function &instance($new_instance = null)
  106. {
  107. static $instance = null;
  108. if (isset($new_instance) && is_object($new_instance))
  109. $instance = $new_instance;
  110. return $instance;
  111. }
  112. public static function escape_start_tag($tag_text) {
  113. $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
  114. assert($tag !== false && $count === 1);
  115. return $tag;
  116. }
  117. public static function escape_end_tag($tag_text) {
  118. assert($tag_text === '?>');
  119. return '?<?php ?>>';
  120. }
  121. #line 130 "smarty_internal_templateparser.php"
  122. const TP_VERT = 1;
  123. const TP_COLON = 2;
  124. const TP_COMMENT = 3;
  125. const TP_PHPSTARTTAG = 4;
  126. const TP_PHPENDTAG = 5;
  127. const TP_ASPSTARTTAG = 6;
  128. const TP_ASPENDTAG = 7;
  129. const TP_FAKEPHPSTARTTAG = 8;
  130. const TP_XMLTAG = 9;
  131. const TP_OTHER = 10;
  132. const TP_LINEBREAK = 11;
  133. const TP_LITERALSTART = 12;
  134. const TP_LITERALEND = 13;
  135. const TP_LITERAL = 14;
  136. const TP_LDEL = 15;
  137. const TP_RDEL = 16;
  138. const TP_DOLLAR = 17;
  139. const TP_ID = 18;
  140. const TP_EQUAL = 19;
  141. const TP_PTR = 20;
  142. const TP_LDELIF = 21;
  143. const TP_SPACE = 22;
  144. const TP_LDELFOR = 23;
  145. const TP_SEMICOLON = 24;
  146. const TP_INCDEC = 25;
  147. const TP_TO = 26;
  148. const TP_STEP = 27;
  149. const TP_LDELFOREACH = 28;
  150. const TP_AS = 29;
  151. const TP_APTR = 30;
  152. const TP_LDELSLASH = 31;
  153. const TP_INTEGER = 32;
  154. const TP_COMMA = 33;
  155. const TP_MATH = 34;
  156. const TP_UNIMATH = 35;
  157. const TP_ANDSYM = 36;
  158. const TP_ISIN = 37;
  159. const TP_ISDIVBY = 38;
  160. const TP_ISNOTDIVBY = 39;
  161. const TP_ISEVEN = 40;
  162. const TP_ISNOTEVEN = 41;
  163. const TP_ISEVENBY = 42;
  164. const TP_ISNOTEVENBY = 43;
  165. const TP_ISODD = 44;
  166. const TP_ISNOTODD = 45;
  167. const TP_ISODDBY = 46;
  168. const TP_ISNOTODDBY = 47;
  169. const TP_INSTANCEOF = 48;
  170. const TP_OPENP = 49;
  171. const TP_CLOSEP = 50;
  172. const TP_QMARK = 51;
  173. const TP_NOT = 52;
  174. const TP_TYPECAST = 53;
  175. const TP_HEX = 54;
  176. const TP_DOT = 55;
  177. const TP_SINGLEQUOTESTRING = 56;
  178. const TP_DOUBLECOLON = 57;
  179. const TP_AT = 58;
  180. const TP_HATCH = 59;
  181. const TP_OPENB = 60;
  182. const TP_CLOSEB = 61;
  183. const TP_EQUALS = 62;
  184. const TP_NOTEQUALS = 63;
  185. const TP_GREATERTHAN = 64;
  186. const TP_LESSTHAN = 65;
  187. const TP_GREATEREQUAL = 66;
  188. const TP_LESSEQUAL = 67;
  189. const TP_IDENTITY = 68;
  190. const TP_NONEIDENTITY = 69;
  191. const TP_MOD = 70;
  192. const TP_LAND = 71;
  193. const TP_LOR = 72;
  194. const TP_LXOR = 73;
  195. const TP_QUOTE = 74;
  196. const TP_BACKTICK = 75;
  197. const TP_DOLLARID = 76;
  198. const YY_NO_ACTION = 564;
  199. const YY_ACCEPT_ACTION = 563;
  200. const YY_ERROR_ACTION = 562;
  201. const YY_SZ_ACTTAB = 2088;
  202. static public $yy_action = array(
  203. /* 0 */ 182, 20, 8, 140, 302, 299, 298, 294, 293, 295,
  204. /* 10 */ 296, 297, 304, 160, 163, 323, 2, 270, 161, 341,
  205. /* 20 */ 4, 188, 195, 168, 208, 27, 26, 38, 114, 124,
  206. /* 30 */ 265, 271, 204, 48, 47, 44, 39, 32, 30, 348,
  207. /* 40 */ 349, 28, 15, 356, 357, 16, 18, 312, 307, 306,
  208. /* 50 */ 308, 311, 431, 7, 130, 160, 313, 316, 431, 6,
  209. /* 60 */ 322, 364, 365, 366, 367, 363, 362, 358, 359, 360,
  210. /* 70 */ 361, 344, 343, 182, 326, 300, 301, 303, 194, 12,
  211. /* 80 */ 210, 53, 174, 120, 106, 4, 141, 13, 319, 163,
  212. /* 90 */ 266, 104, 43, 114, 188, 240, 353, 345, 168, 327,
  213. /* 100 */ 270, 26, 38, 217, 193, 133, 48, 47, 44, 39,
  214. /* 110 */ 32, 30, 348, 349, 28, 15, 356, 357, 16, 18,
  215. /* 120 */ 563, 85, 229, 301, 303, 33, 24, 110, 136, 272,
  216. /* 130 */ 36, 94, 237, 84, 364, 365, 366, 367, 363, 362,
  217. /* 140 */ 358, 359, 360, 361, 344, 343, 182, 182, 326, 145,
  218. /* 150 */ 24, 276, 176, 272, 210, 77, 24, 231, 106, 272,
  219. /* 160 */ 36, 167, 338, 270, 266, 199, 189, 188, 188, 216,
  220. /* 170 */ 353, 345, 34, 327, 24, 256, 197, 272, 92, 48,
  221. /* 180 */ 47, 44, 39, 32, 30, 348, 349, 28, 15, 356,
  222. /* 190 */ 357, 16, 18, 9, 278, 4, 24, 23, 24, 272,
  223. /* 200 */ 21, 272, 40, 114, 103, 223, 258, 364, 365, 366,
  224. /* 210 */ 367, 363, 362, 358, 359, 360, 361, 344, 343, 182,
  225. /* 220 */ 326, 135, 188, 164, 98, 24, 99, 50, 272, 123,
  226. /* 230 */ 100, 325, 166, 211, 170, 155, 266, 188, 90, 130,
  227. /* 240 */ 278, 216, 353, 345, 230, 327, 88, 168, 197, 270,
  228. /* 250 */ 26, 38, 48, 47, 44, 39, 32, 30, 348, 349,
  229. /* 260 */ 28, 15, 356, 357, 16, 18, 182, 430, 224, 24,
  230. /* 270 */ 277, 6, 272, 188, 174, 35, 278, 105, 317, 13,
  231. /* 280 */ 364, 365, 366, 367, 363, 362, 358, 359, 360, 361,
  232. /* 290 */ 344, 343, 318, 282, 286, 156, 341, 182, 5, 48,
  233. /* 300 */ 47, 44, 39, 32, 30, 348, 349, 28, 15, 356,
  234. /* 310 */ 357, 16, 18, 182, 150, 339, 273, 331, 188, 275,
  235. /* 320 */ 43, 188, 214, 188, 182, 188, 121, 364, 365, 366,
  236. /* 330 */ 367, 363, 362, 358, 359, 360, 361, 344, 343, 430,
  237. /* 340 */ 24, 327, 206, 272, 87, 188, 48, 47, 44, 39,
  238. /* 350 */ 32, 30, 348, 349, 28, 15, 356, 357, 16, 18,
  239. /* 360 */ 182, 25, 330, 321, 269, 340, 158, 341, 188, 188,
  240. /* 370 */ 188, 188, 192, 248, 364, 365, 366, 367, 363, 362,
  241. /* 380 */ 358, 359, 360, 361, 344, 343, 220, 24, 10, 24,
  242. /* 390 */ 196, 31, 207, 48, 47, 44, 39, 32, 30, 348,
  243. /* 400 */ 349, 28, 15, 356, 357, 16, 18, 4, 320, 43,
  244. /* 410 */ 309, 433, 234, 218, 188, 114, 188, 433, 188, 247,
  245. /* 420 */ 219, 364, 365, 366, 367, 363, 362, 358, 359, 360,
  246. /* 430 */ 361, 344, 343, 182, 326, 23, 243, 139, 194, 126,
  247. /* 440 */ 210, 66, 43, 43, 106, 213, 138, 4, 233, 163,
  248. /* 450 */ 266, 270, 188, 284, 10, 114, 353, 345, 168, 327,
  249. /* 460 */ 270, 26, 38, 315, 474, 314, 48, 47, 44, 39,
  250. /* 470 */ 32, 30, 348, 349, 28, 15, 356, 357, 16, 18,
  251. /* 480 */ 165, 355, 240, 329, 4, 337, 153, 332, 273, 188,
  252. /* 490 */ 130, 188, 114, 188, 364, 365, 366, 367, 363, 362,
  253. /* 500 */ 358, 359, 360, 361, 344, 343, 182, 182, 326, 285,
  254. /* 510 */ 24, 255, 98, 272, 102, 52, 125, 123, 100, 336,
  255. /* 520 */ 147, 221, 268, 163, 266, 209, 222, 104, 188, 162,
  256. /* 530 */ 353, 345, 168, 327, 270, 26, 38, 225, 183, 48,
  257. /* 540 */ 47, 44, 39, 32, 30, 348, 349, 28, 15, 356,
  258. /* 550 */ 357, 16, 18, 182, 347, 280, 333, 310, 324, 246,
  259. /* 560 */ 249, 125, 188, 188, 188, 142, 137, 364, 365, 366,
  260. /* 570 */ 367, 363, 362, 358, 359, 360, 361, 344, 343, 270,
  261. /* 580 */ 270, 24, 354, 212, 181, 254, 48, 47, 44, 39,
  262. /* 590 */ 32, 30, 348, 349, 28, 15, 356, 357, 16, 18,
  263. /* 600 */ 201, 37, 250, 267, 342, 202, 239, 283, 251, 188,
  264. /* 610 */ 188, 157, 274, 273, 364, 365, 366, 367, 363, 362,
  265. /* 620 */ 358, 359, 360, 361, 344, 343, 182, 368, 326, 109,
  266. /* 630 */ 115, 127, 178, 211, 210, 51, 29, 122, 106, 290,
  267. /* 640 */ 144, 128, 263, 93, 266, 284, 111, 188, 278, 113,
  268. /* 650 */ 353, 345, 168, 327, 270, 284, 119, 3, 281, 48,
  269. /* 660 */ 47, 44, 39, 32, 30, 348, 349, 28, 15, 356,
  270. /* 670 */ 357, 16, 18, 112, 292, 282, 40, 130, 118, 328,
  271. /* 680 */ 273, 41, 260, 271, 134, 232, 305, 364, 365, 366,
  272. /* 690 */ 367, 363, 362, 358, 359, 360, 361, 344, 343, 182,
  273. /* 700 */ 326, 159, 182, 95, 194, 326, 210, 80, 235, 194,
  274. /* 710 */ 106, 210, 62, 167, 264, 106, 266, 108, 89, 314,
  275. /* 720 */ 314, 266, 353, 345, 200, 327, 314, 353, 345, 14,
  276. /* 730 */ 327, 284, 48, 47, 44, 39, 32, 30, 348, 349,
  277. /* 740 */ 28, 15, 356, 357, 16, 18, 182, 314, 314, 314,
  278. /* 750 */ 314, 314, 314, 314, 314, 314, 314, 314, 96, 97,
  279. /* 760 */ 364, 365, 366, 367, 363, 362, 358, 359, 360, 361,
  280. /* 770 */ 344, 343, 284, 284, 314, 314, 314, 314, 314, 48,
  281. /* 780 */ 47, 44, 39, 32, 30, 348, 349, 28, 15, 356,
  282. /* 790 */ 357, 16, 18, 314, 314, 205, 314, 314, 314, 314,
  283. /* 800 */ 314, 314, 314, 314, 314, 314, 314, 364, 365, 366,
  284. /* 810 */ 367, 363, 362, 358, 359, 360, 361, 344, 343, 182,
  285. /* 820 */ 326, 314, 314, 129, 194, 326, 210, 63, 314, 194,
  286. /* 830 */ 106, 210, 75, 314, 245, 106, 266, 284, 314, 314,
  287. /* 840 */ 314, 266, 353, 345, 314, 327, 314, 353, 345, 314,
  288. /* 850 */ 327, 314, 48, 47, 44, 39, 32, 30, 348, 349,
  289. /* 860 */ 28, 15, 356, 357, 16, 18, 314, 314, 314, 314,
  290. /* 870 */ 314, 314, 314, 314, 314, 314, 314, 314, 314, 154,
  291. /* 880 */ 364, 365, 366, 367, 363, 362, 358, 359, 360, 361,
  292. /* 890 */ 344, 343, 182, 270, 314, 326, 314, 314, 151, 194,
  293. /* 900 */ 314, 210, 65, 238, 314, 106, 314, 171, 11, 314,
  294. /* 910 */ 169, 266, 270, 314, 195, 314, 208, 353, 345, 314,
  295. /* 920 */ 327, 124, 314, 314, 204, 48, 47, 44, 39, 32,
  296. /* 930 */ 30, 348, 349, 28, 15, 356, 357, 16, 18, 182,
  297. /* 940 */ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
  298. /* 950 */ 314, 131, 101, 364, 365, 366, 367, 363, 362, 358,
  299. /* 960 */ 359, 360, 361, 344, 343, 284, 284, 335, 19, 228,
  300. /* 970 */ 314, 314, 48, 47, 44, 39, 32, 30, 348, 349,
  301. /* 980 */ 28, 15, 356, 357, 16, 18, 314, 314, 244, 314,
  302. /* 990 */ 314, 314, 314, 314, 314, 314, 314, 314, 314, 143,
  303. /* 1000 */ 364, 365, 366, 367, 363, 362, 358, 359, 360, 361,
  304. /* 1010 */ 344, 343, 182, 270, 314, 326, 314, 314, 152, 194,
  305. /* 1020 */ 314, 210, 71, 238, 314, 106, 314, 291, 11, 314,
  306. /* 1030 */ 167, 266, 270, 314, 195, 314, 208, 353, 345, 314,
  307. /* 1040 */ 327, 124, 314, 314, 204, 48, 47, 44, 39, 32,
  308. /* 1050 */ 30, 348, 349, 28, 15, 356, 357, 16, 18, 182,
  309. /* 1060 */ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
  310. /* 1070 */ 314, 149, 132, 364, 365, 366, 367, 363, 362, 358,
  311. /* 1080 */ 359, 360, 361, 344, 343, 270, 284, 334, 19, 228,
  312. /* 1090 */ 314, 314, 48, 47, 44, 39, 32, 30, 348, 349,
  313. /* 1100 */ 28, 15, 356, 357, 16, 18, 314, 314, 314, 314,
  314. /* 1110 */ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
  315. /* 1120 */ 364, 365, 366, 367, 363, 362, 358, 359, 360, 361,
  316. /* 1130 */ 344, 343, 314, 146, 148, 314, 2, 91, 116, 175,
  317. /* 1140 */ 314, 314, 195, 314, 208, 167, 168, 270, 270, 124,
  318. /* 1150 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  319. /* 1160 */ 314, 314, 326, 314, 314, 314, 179, 314, 210, 74,
  320. /* 1170 */ 17, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  321. /* 1180 */ 88, 1, 242, 314, 353, 345, 2, 327, 116, 184,
  322. /* 1190 */ 314, 314, 195, 314, 208, 86, 180, 241, 314, 124,
  323. /* 1200 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  324. /* 1210 */ 314, 314, 326, 314, 314, 314, 179, 314, 210, 74,
  325. /* 1220 */ 17, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  326. /* 1230 */ 88, 1, 314, 314, 353, 345, 2, 327, 103, 173,
  327. /* 1240 */ 314, 314, 195, 314, 208, 86, 314, 259, 314, 124,
  328. /* 1250 */ 314, 314, 204, 187, 314, 314, 45, 314, 314, 314,
  329. /* 1260 */ 314, 314, 326, 314, 314, 314, 194, 314, 210, 67,
  330. /* 1270 */ 17, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  331. /* 1280 */ 88, 1, 314, 314, 353, 345, 2, 327, 103, 184,
  332. /* 1290 */ 314, 314, 195, 314, 208, 86, 314, 314, 314, 124,
  333. /* 1300 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  334. /* 1310 */ 314, 314, 326, 314, 314, 314, 194, 314, 210, 68,
  335. /* 1320 */ 17, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  336. /* 1330 */ 88, 1, 314, 314, 353, 345, 2, 327, 117, 83,
  337. /* 1340 */ 314, 314, 195, 314, 208, 86, 314, 314, 314, 124,
  338. /* 1350 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  339. /* 1360 */ 314, 314, 326, 314, 314, 314, 194, 314, 210, 81,
  340. /* 1370 */ 22, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  341. /* 1380 */ 88, 1, 314, 314, 353, 345, 2, 327, 116, 177,
  342. /* 1390 */ 314, 314, 195, 314, 208, 86, 314, 314, 314, 124,
  343. /* 1400 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  344. /* 1410 */ 314, 314, 326, 314, 314, 314, 194, 314, 210, 64,
  345. /* 1420 */ 17, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  346. /* 1430 */ 88, 1, 314, 314, 353, 345, 2, 327, 116, 184,
  347. /* 1440 */ 314, 314, 195, 314, 208, 86, 314, 314, 314, 124,
  348. /* 1450 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  349. /* 1460 */ 314, 314, 326, 314, 314, 314, 194, 314, 210, 72,
  350. /* 1470 */ 22, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  351. /* 1480 */ 88, 1, 314, 314, 353, 345, 2, 327, 107, 184,
  352. /* 1490 */ 314, 314, 195, 314, 208, 86, 314, 314, 314, 124,
  353. /* 1500 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  354. /* 1510 */ 314, 314, 326, 314, 314, 314, 194, 314, 210, 69,
  355. /* 1520 */ 17, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  356. /* 1530 */ 88, 1, 314, 314, 353, 345, 2, 327, 116, 172,
  357. /* 1540 */ 314, 314, 195, 314, 208, 86, 314, 314, 314, 124,
  358. /* 1550 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  359. /* 1560 */ 314, 314, 326, 314, 314, 314, 194, 314, 210, 54,
  360. /* 1570 */ 22, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  361. /* 1580 */ 88, 1, 314, 314, 353, 345, 2, 327, 103, 184,
  362. /* 1590 */ 314, 314, 195, 314, 208, 86, 314, 314, 314, 124,
  363. /* 1600 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  364. /* 1610 */ 314, 314, 326, 314, 314, 314, 194, 314, 210, 57,
  365. /* 1620 */ 17, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  366. /* 1630 */ 88, 314, 314, 314, 353, 345, 2, 327, 103, 186,
  367. /* 1640 */ 314, 314, 195, 314, 208, 86, 314, 314, 314, 124,
  368. /* 1650 */ 314, 314, 204, 198, 314, 314, 45, 314, 314, 314,
  369. /* 1660 */ 314, 314, 326, 314, 314, 314, 194, 314, 210, 60,
  370. /* 1670 */ 17, 314, 106, 42, 46, 289, 190, 346, 266, 314,
  371. /* 1680 */ 88, 314, 314, 314, 353, 345, 314, 327, 314, 314,
  372. /* 1690 */ 314, 314, 314, 314, 226, 86, 314, 314, 314, 314,
  373. /* 1700 */ 326, 314, 314, 314, 194, 326, 210, 76, 314, 194,
  374. /* 1710 */ 106, 210, 60, 314, 314, 106, 266, 314, 314, 314,
  375. /* 1720 */ 314, 266, 353, 345, 314, 327, 314, 353, 345, 314,
  376. /* 1730 */ 327, 314, 314, 314, 326, 314, 314, 227, 194, 314,
  377. /* 1740 */ 210, 60, 314, 314, 106, 314, 314, 314, 326, 314,
  378. /* 1750 */ 266, 314, 194, 314, 210, 60, 353, 345, 106, 327,
  379. /* 1760 */ 314, 314, 314, 314, 266, 314, 252, 314, 314, 314,
  380. /* 1770 */ 353, 345, 314, 327, 314, 314, 314, 326, 314, 314,
  381. /* 1780 */ 215, 194, 326, 210, 61, 314, 194, 106, 210, 59,
  382. /* 1790 */ 314, 314, 106, 266, 314, 314, 314, 314, 266, 353,
  383. /* 1800 */ 345, 314, 327, 314, 353, 345, 314, 327, 314, 326,
  384. /* 1810 */ 314, 314, 314, 194, 314, 210, 78, 314, 314, 106,
  385. /* 1820 */ 326, 314, 314, 314, 194, 266, 210, 82, 314, 314,
  386. /* 1830 */ 106, 353, 345, 314, 327, 314, 266, 314, 314, 314,
  387. /* 1840 */ 326, 314, 353, 345, 194, 327, 210, 58, 326, 314,
  388. /* 1850 */ 106, 314, 194, 314, 210, 49, 266, 314, 106, 314,
  389. /* 1860 */ 314, 314, 353, 345, 266, 327, 314, 314, 326, 314,
  390. /* 1870 */ 353, 345, 194, 327, 210, 70, 314, 314, 106, 314,
  391. /* 1880 */ 314, 314, 326, 314, 266, 314, 194, 314, 185, 55,
  392. /* 1890 */ 353, 345, 106, 327, 314, 314, 314, 314, 266, 314,
  393. /* 1900 */ 314, 314, 326, 314, 353, 345, 194, 327, 210, 73,
  394. /* 1910 */ 314, 314, 106, 326, 314, 314, 314, 194, 266, 210,
  395. /* 1920 */ 56, 314, 314, 106, 353, 345, 314, 327, 314, 266,
  396. /* 1930 */ 314, 314, 314, 314, 314, 353, 345, 326, 327, 314,
  397. /* 1940 */ 314, 194, 314, 210, 79, 326, 314, 106, 314, 203,
  398. /* 1950 */ 314, 210, 314, 266, 314, 106, 314, 314, 314, 353,
  399. /* 1960 */ 345, 191, 327, 314, 314, 314, 314, 353, 345, 314,
  400. /* 1970 */ 327, 326, 314, 314, 314, 350, 314, 210, 314, 314,
  401. /* 1980 */ 326, 106, 314, 314, 288, 314, 210, 351, 314, 314,
  402. /* 1990 */ 106, 326, 314, 353, 345, 261, 327, 210, 314, 314,
  403. /* 2000 */ 326, 106, 353, 345, 253, 327, 210, 262, 314, 314,
  404. /* 2010 */ 106, 326, 314, 353, 345, 287, 327, 210, 314, 314,
  405. /* 2020 */ 326, 106, 353, 345, 352, 327, 210, 314, 314, 314,
  406. /* 2030 */ 106, 326, 314, 353, 345, 279, 327, 210, 314, 314,
  407. /* 2040 */ 314, 106, 353, 345, 314, 327, 314, 314, 314, 314,
  408. /* 2050 */ 314, 314, 314, 353, 345, 314, 327, 326, 314, 314,
  409. /* 2060 */ 314, 236, 326, 210, 314, 314, 257, 106, 210, 314,
  410. /* 2070 */ 314, 314, 106, 314, 314, 314, 314, 314, 314, 353,
  411. /* 2080 */ 345, 314, 327, 314, 353, 345, 314, 327,
  412. );
  413. static public $yy_lookahead = array(
  414. /* 0 */ 1, 30, 33, 86, 3, 4, 5, 6, 7, 8,
  415. /* 10 */ 9, 10, 11, 12, 89, 16, 15, 100, 110, 111,
  416. /* 20 */ 49, 22, 21, 98, 23, 15, 101, 102, 57, 28,
  417. /* 30 */ 61, 114, 31, 34, 35, 36, 37, 38, 39, 40,
  418. /* 40 */ 41, 42, 43, 44, 45, 46, 47, 4, 5, 6,
  419. /* 50 */ 7, 8, 16, 19, 20, 12, 13, 14, 22, 49,
  420. /* 60 */ 16, 62, 63, 64, 65, 66, 67, 68, 69, 70,
  421. /* 70 */ 71, 72, 73, 1, 81, 80, 81, 82, 85, 22,
  422. /* 80 */ 87, 88, 55, 90, 91, 49, 86, 60, 16, 89,
  423. /* 90 */ 97, 57, 48, 57, 22, 81, 103, 104, 98, 106,
  424. /* 100 */ 100, 101, 102, 17, 18, 107, 34, 35, 36, 37,
  425. /* 110 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  426. /* 120 */ 78, 79, 80, 81, 82, 15, 15, 17, 18, 18,
  427. /* 130 */ 19, 117, 118, 18, 62, 63, 64, 65, 66, 67,
  428. /* 140 */ 68, 69, 70, 71, 72, 73, 1, 1, 81, 86,
  429. /* 150 */ 15, 16, 85, 18, 87, 88, 15, 90, 91, 18,
  430. /* 160 */ 19, 98, 16, 100, 97, 30, 20, 22, 22, 58,
  431. /* 170 */ 103, 104, 27, 106, 15, 16, 2, 18, 99, 34,
  432. /* 180 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
  433. /* 190 */ 45, 46, 47, 19, 25, 49, 15, 19, 15, 18,
  434. /* 200 */ 19, 18, 2, 57, 17, 18, 25, 62, 63, 64,
  435. /* 210 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 1,
  436. /* 220 */ 81, 107, 22, 24, 85, 15, 87, 88, 18, 90,
  437. /* 230 */ 91, 16, 33, 55, 16, 86, 97, 22, 89, 20,
  438. /* 240 */ 25, 58, 103, 104, 75, 106, 59, 98, 2, 100,
  439. /* 250 */ 101, 102, 34, 35, 36, 37, 38, 39, 40, 41,
  440. /* 260 */ 42, 43, 44, 45, 46, 47, 1, 16, 58, 15,
  441. /* 270 */ 16, 49, 18, 22, 55, 15, 25, 17, 18, 60,
  442. /* 280 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  443. /* 290 */ 72, 73, 32, 108, 32, 110, 111, 1, 33, 34,
  444. /* 300 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
  445. /* 310 */ 45, 46, 47, 1, 107, 16, 109, 16, 22, 16,
  446. /* 320 */ 48, 22, 87, 22, 1, 22, 91, 62, 63, 64,
  447. /* 330 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 16,
  448. /* 340 */ 15, 106, 29, 18, 18, 22, 34, 35, 36, 37,
  449. /* 350 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  450. /* 360 */ 1, 2, 16, 16, 16, 16, 110, 111, 22, 22,
  451. /* 370 */ 22, 22, 18, 61, 62, 63, 64, 65, 66, 67,
  452. /* 380 */ 68, 69, 70, 71, 72, 73, 32, 15, 19, 15,
  453. /* 390 */ 18, 30, 18, 34, 35, 36, 37, 38, 39, 40,
  454. /* 400 */ 41, 42, 43, 44, 45, 46, 47, 49, 16, 48,
  455. /* 410 */ 16, 16, 16, 55, 22, 57, 22, 22, 22, 61,
  456. /* 420 */ 18, 62, 63, 64, 65, 66, 67, 68, 69, 70,
  457. /* 430 */ 71, 72, 73, 1, 81, 19, 61, 86, 85, 95,
  458. /* 440 */ 87, 88, 48, 48, 91, 92, 86, 49, 16, 89,
  459. /* 450 */ 97, 100, 22, 109, 19, 57, 103, 104, 98, 106,
  460. /* 460 */ 100, 101, 102, 82, 29, 84, 34, 35, 36, 37,
  461. /* 470 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  462. /* 480 */ 18, 18, 81, 16, 49, 16, 107, 16, 109, 22,
  463. /* 490 */ 20, 22, 57, 22, 62, 63, 64, 65, 66, 67,
  464. /* 500 */ 68, 69, 70, 71, 72, 73, 1, 1, 81, 105,
  465. /* 510 */ 15, 16, 85, 18, 87, 88, 112, 90, 91, 118,
  466. /* 520 */ 86, 58, 16, 89, 97, 30, 20, 57, 22, 24,
  467. /* 530 */ 103, 104, 98, 106, 100, 101, 102, 92, 93, 34,
  468. /* 540 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
  469. /* 550 */ 45, 46, 47, 1, 105, 18, 16, 16, 16, 50,
  470. /* 560 */ 50, 112, 22, 22, 22, 86, 86, 62, 63, 64,
  471. /* 570 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 100,
  472. /* 580 */ 100, 15, 18, 18, 18, 50, 34, 35, 36, 37,
  473. /* 590 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  474. /* 600 */ 96, 26, 59, 16, 16, 29, 16, 18, 59, 22,
  475. /* 610 */ 22, 99, 16, 109, 62, 63, 64, 65, 66, 67,
  476. /* 620 */ 68, 69, 70, 71, 72, 73, 1, 75, 81, 17,
  477. /* 630 */ 17, 95, 85, 55, 87, 88, 51, 90, 91, 32,
  478. /* 640 */ 86, 95, 16, 89, 97, 109, 17, 22, 25, 17,
  479. /* 650 */ 103, 104, 98, 106, 100, 109, 22, 49, 18, 34,
  480. /* 660 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
  481. /* 670 */ 45, 46, 47, 17, 100, 108, 2, 20, 17, 111,
  482. /* 680 */ 109, 22, 112, 114, 107, 92, 13, 62, 63, 64,
  483. /* 690 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 1,
  484. /* 700 */ 81, 99, 1, 83, 85, 81, 87, 88, 22, 85,
  485. /* 710 */ 91, 87, 88, 98, 16, 91, 97, 95, 107, 119,
  486. /* 720 */ 119, 97, 103, 104, 94, 106, 119, 103, 104, 94,
  487. /* 730 */ 106, 109, 34, 35, 36, 37, 38, 39, 40, 41,
  488. /* 740 */ 42, 43, 44, 45, 46, 47, 1, 119, 119, 119,
  489. /* 750 */ 119, 119, 119, 119, 119, 119, 119, 119, 95, 95,
  490. /* 760 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  491. /* 770 */ 72, 73, 109, 109, 119, 119, 119, 119, 119, 34,
  492. /* 780 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
  493. /* 790 */ 45, 46, 47, 119, 119, 50, 119, 119, 119, 119,
  494. /* 800 */ 119, 119, 119, 119, 119, 119, 119, 62, 63, 64,
  495. /* 810 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 1,
  496. /* 820 */ 81, 119, 119, 95, 85, 81, 87, 88, 119, 85,
  497. /* 830 */ 91, 87, 88, 119, 16, 91, 97, 109, 119, 119,
  498. /* 840 */ 119, 97, 103, 104, 119, 106, 119, 103, 104, 119,
  499. /* 850 */ 106, 119, 34, 35, 36, 37, 38, 39, 40, 41,
  500. /* 860 */ 42, 43, 44, 45, 46, 47, 119, 119, 119, 119,
  501. /* 870 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 86,
  502. /* 880 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  503. /* 890 */ 72, 73, 1, 100, 119, 81, 119, 119, 86, 85,
  504. /* 900 */ 119, 87, 88, 10, 119, 91, 119, 16, 15, 119,
  505. /* 910 */ 98, 97, 100, 119, 21, 119, 23, 103, 104, 119,
  506. /* 920 */ 106, 28, 119, 119, 31, 34, 35, 36, 37, 38,
  507. /* 930 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 1,
  508. /* 940 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
  509. /* 950 */ 119, 95, 95, 62, 63, 64, 65, 66, 67, 68,
  510. /* 960 */ 69, 70, 71, 72, 73, 109, 109, 74, 75, 76,
  511. /* 970 */ 119, 119, 34, 35, 36, 37, 38, 39, 40, 41,
  512. /* 980 */ 42, 43, 44, 45, 46, 47, 119, 119, 50, 119,
  513. /* 990 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 86,
  514. /* 1000 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  515. /* 1010 */ 72, 73, 1, 100, 119, 81, 119, 119, 86, 85,
  516. /* 1020 */ 119, 87, 88, 10, 119, 91, 119, 16, 15, 119,
  517. /* 1030 */ 98, 97, 100, 119, 21, 119, 23, 103, 104, 119,
  518. /* 1040 */ 106, 28, 119, 119, 31, 34, 35, 36, 37, 38,
  519. /* 1050 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 1,
  520. /* 1060 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
  521. /* 1070 */ 119, 86, 95, 62, 63, 64, 65, 66, 67, 68,
  522. /* 1080 */ 69, 70, 71, 72, 73, 100, 109, 74, 75, 76,
  523. /* 1090 */ 119, 119, 34, 35, 36, 37, 38, 39, 40, 41,
  524. /* 1100 */ 42, 43, 44, 45, 46, 47, 119, 119, 119, 119,
  525. /* 1110 */ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
  526. /* 1120 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  527. /* 1130 */ 72, 73, 119, 86, 86, 119, 15, 89, 17, 18,
  528. /* 1140 */ 119, 119, 21, 119, 23, 98, 98, 100, 100, 28,
  529. /* 1150 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  530. /* 1160 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  531. /* 1170 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  532. /* 1180 */ 59, 60, 61, 119, 103, 104, 15, 106, 17, 18,
  533. /* 1190 */ 119, 119, 21, 119, 23, 74, 115, 116, 119, 28,
  534. /* 1200 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  535. /* 1210 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  536. /* 1220 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  537. /* 1230 */ 59, 60, 119, 119, 103, 104, 15, 106, 17, 18,
  538. /* 1240 */ 119, 119, 21, 119, 23, 74, 119, 116, 119, 28,
  539. /* 1250 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  540. /* 1260 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  541. /* 1270 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  542. /* 1280 */ 59, 60, 119, 119, 103, 104, 15, 106, 17, 18,
  543. /* 1290 */ 119, 119, 21, 119, 23, 74, 119, 119, 119, 28,
  544. /* 1300 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  545. /* 1310 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  546. /* 1320 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  547. /* 1330 */ 59, 60, 119, 119, 103, 104, 15, 106, 17, 18,
  548. /* 1340 */ 119, 119, 21, 119, 23, 74, 119, 119, 119, 28,
  549. /* 1350 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  550. /* 1360 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  551. /* 1370 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  552. /* 1380 */ 59, 60, 119, 119, 103, 104, 15, 106, 17, 18,
  553. /* 1390 */ 119, 119, 21, 119, 23, 74, 119, 119, 119, 28,
  554. /* 1400 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  555. /* 1410 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  556. /* 1420 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  557. /* 1430 */ 59, 60, 119, 119, 103, 104, 15, 106, 17, 18,
  558. /* 1440 */ 119, 119, 21, 119, 23, 74, 119, 119, 119, 28,
  559. /* 1450 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  560. /* 1460 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  561. /* 1470 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  562. /* 1480 */ 59, 60, 119, 119, 103, 104, 15, 106, 17, 18,
  563. /* 1490 */ 119, 119, 21, 119, 23, 74, 119, 119, 119, 28,
  564. /* 1500 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  565. /* 1510 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  566. /* 1520 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  567. /* 1530 */ 59, 60, 119, 119, 103, 104, 15, 106, 17, 18,
  568. /* 1540 */ 119, 119, 21, 119, 23, 74, 119, 119, 119, 28,
  569. /* 1550 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  570. /* 1560 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  571. /* 1570 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  572. /* 1580 */ 59, 60, 119, 119, 103, 104, 15, 106, 17, 18,
  573. /* 1590 */ 119, 119, 21, 119, 23, 74, 119, 119, 119, 28,
  574. /* 1600 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  575. /* 1610 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  576. /* 1620 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  577. /* 1630 */ 59, 119, 119, 119, 103, 104, 15, 106, 17, 18,
  578. /* 1640 */ 119, 119, 21, 119, 23, 74, 119, 119, 119, 28,
  579. /* 1650 */ 119, 119, 31, 32, 119, 119, 35, 119, 119, 119,
  580. /* 1660 */ 119, 119, 81, 119, 119, 119, 85, 119, 87, 88,
  581. /* 1670 */ 49, 119, 91, 52, 53, 54, 55, 56, 97, 119,
  582. /* 1680 */ 59, 119, 119, 119, 103, 104, 119, 106, 119, 119,
  583. /* 1690 */ 119, 119, 119, 119, 113, 74, 119, 119, 119, 119,
  584. /* 1700 */ 81, 119, 119, 119, 85, 81, 87, 88, 119, 85,
  585. /* 1710 */ 91, 87, 88, 119, 119, 91, 97, 119, 119, 119,
  586. /* 1720 */ 119, 97, 103, 104, 119, 106, 119, 103, 104, 119,
  587. /* 1730 */ 106, 119, 119, 119, 81, 119, 119, 113, 85, 119,
  588. /* 1740 */ 87, 88, 119, 119, 91, 119, 119, 119, 81, 119,
  589. /* 1750 */ 97, 119, 85, 119, 87, 88, 103, 104, 91, 106,
  590. /* 1760 */ 119, 119, 119, 119, 97, 119, 113, 119, 119, 119,
  591. /* 1770 */ 103, 104, 119, 106, 119, 119, 119, 81, 119, 119,
  592. /* 1780 */ 113, 85, 81, 87, 88, 119, 85, 91, 87, 88,
  593. /* 1790 */ 119, 119, 91, 97, 119, 119, 119, 119, 97, 103,
  594. /* 1800 */ 104, 119, 106, 119, 103, 104, 119, 106, 119, 81,
  595. /* 1810 */ 119, 119, 119, 85, 119, 87, 88, 119, 119, 91,
  596. /* 1820 */ 81, 119, 119, 119, 85, 97, 87, 88, 119, 119,
  597. /* 1830 */ 91, 103, 104, 119, 106, 119, 97, 119, 119, 119,
  598. /* 1840 */ 81, 119, 103, 104, 85, 106, 87, 88, 81, 119,
  599. /* 1850 */ 91, 119, 85, 119, 87, 88, 97, 119, 91, 119,
  600. /* 1860 */ 119, 119, 103, 104, 97, 106, 119, 119, 81, 119,
  601. /* 1870 */ 103, 104, 85, 106, 87, 88, 119, 119, 91, 119,
  602. /* 1880 */ 119, 119, 81, 119, 97, 119, 85, 119, 87, 88,
  603. /* 1890 */ 103, 104, 91, 106, 119, 119, 119, 119, 97, 119,
  604. /* 1900 */ 119, 119, 81, 119, 103, 104, 85, 106, 87, 88,
  605. /* 1910 */ 119, 119, 91, 81, 119, 119, 119, 85, 97, 87,
  606. /* 1920 */ 88, 119, 119, 91, 103, 104, 119, 106, 119, 97,
  607. /* 1930 */ 119, 119, 119, 119, 119, 103, 104, 81, 106, 119,
  608. /* 1940 */ 119, 85, 119, 87, 88, 81, 119, 91, 119, 85,
  609. /* 1950 */ 119, 87, 119, 97, 119, 91, 119, 119, 119, 103,
  610. /* 1960 */ 104, 97, 106, 119, 119, 119, 119, 103, 104, 119,
  611. /* 1970 */ 106, 81, 119, 119, 119, 85, 119, 87, 119, 119,
  612. /* 1980 */ 81, 91, 119, 119, 85, 119, 87, 97, 119, 119,
  613. /* 1990 */ 91, 81, 119, 103, 104, 85, 106, 87, 119, 119,
  614. /* 2000 */ 81, 91, 103, 104, 85, 106, 87, 97, 119, 119,
  615. /* 2010 */ 91, 81, 119, 103, 104, 85, 106, 87, 119, 119,
  616. /* 2020 */ 81, 91, 103, 104, 85, 106, 87, 119, 119, 119,
  617. /* 2030 */ 91, 81, 119, 103, 104, 85, 106, 87, 119, 119,
  618. /* 2040 */ 119, 91, 103, 104, 119, 106, 119, 119, 119, 119,
  619. /* 2050 */ 119, 119, 119, 103, 104, 119, 106, 81, 119, 119,
  620. /* 2060 */ 119, 85, 81, 87, 119, 119, 85, 91, 87, 119,
  621. /* 2070 */ 119, 119, 91, 119, 119, 119, 119, 119, 119, 103,
  622. /* 2080 */ 104, 119, 106, 119, 103, 104, 119, 106,
  623. );
  624. const YY_SHIFT_USE_DFLT = -32;
  625. const YY_SHIFT_MAX = 227;
  626. static public $yy_shift_ofst = array(
  627. /* 0 */ 1, 1371, 1321, 1171, 1171, 1171, 1171, 1421, 1371, 1421,
  628. /* 10 */ 1521, 1321, 1471, 1121, 1171, 1171, 1171, 1171, 1171, 1171,
  629. /* 20 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
  630. /* 30 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1271,
  631. /* 40 */ 1271, 1221, 1571, 1621, 1571, 1571, 1571, 1571, 1571, 145,
  632. /* 50 */ 72, -1, 625, 625, 698, 552, 818, 891, 938, 432,
  633. /* 60 */ 265, 218, 312, 505, 359, 745, 1011, 1058, 1058, 1058,
  634. /* 70 */ 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058,
  635. /* 80 */ 1058, 1058, 1058, 146, 296, 1, 1013, 506, 187, 219,
  636. /* 90 */ 323, 296, 200, 296, 893, 43, 111, 181, 394, 215,
  637. /* 100 */ 34, 183, 251, 325, 86, 325, 470, 372, 325, 325,
  638. /* 110 */ 374, 325, 325, 325, 86, 325, 372, 566, 325, 661,
  639. /* 120 */ 430, 657, 430, 430, 659, 657, 135, 495, 159, 210,
  640. /* 130 */ 110, 141, 254, 27, 27, 27, 10, 301, 299, 303,
  641. /* 140 */ 348, 346, 347, 349, 588, 540, 471, 396, 469, 541,
  642. /* 150 */ 27, 587, 542, 27, 467, 392, 657, 674, 657, 674,
  643. /* 160 */ 673, 657, 686, 701, 686, 608, 661, -32, -32, -32,
  644. /* 170 */ -32, -32, 36, 435, 260, 358, 395, -29, 44, 361,
  645. /* 180 */ -31, 174, 463, 199, 398, 169, 398, 178, 354, 115,
  646. /* 190 */ 262, 313, 369, 222, 272, 57, 246, 640, 578, 613,
  647. /* 200 */ 612, 596, 656, 576, 326, 585, 629, 608, 634, 632,
  648. /* 210 */ 623, 607, 626, 590, 549, 509, 537, 462, 402, 375,
  649. /* 220 */ 416, 564, 565, 543, 589, 575, 535, 510,
  650. );
  651. const YY_REDUCE_USE_DFLT = -93;
  652. const YY_REDUCE_MAX = 171;
  653. static public $yy_reduce_ofst = array(
  654. /* 0 */ 42, 1081, 427, 1624, 1667, 1653, 1581, -7, 1131, 547,
  655. /* 10 */ 67, 139, 353, 624, 739, 744, 1728, 1759, 1739, 1801,
  656. /* 20 */ 1821, 1281, 814, 1381, 1481, 619, 1431, 1531, 1619, 1331,
  657. /* 30 */ 934, 1181, 1231, 1696, 1701, 1832, 1856, 1767, 1787, 1890,
  658. /* 40 */ 1910, 1864, 1930, 1919, 1939, 1950, 1899, 1981, 1976, 434,
  659. /* 50 */ 149, 0, 149, 360, -75, -75, -75, -75, -75, -75,
  660. /* 60 */ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
  661. /* 70 */ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
  662. /* 80 */ -75, -75, -75, 554, 1048, -5, 14, 812, 235, 185,
  663. /* 90 */ 932, 63, -83, 1047, 401, 381, 379, 504, 985, 793,
  664. /* 100 */ 256, 379, 793, 857, 449, 728, 256, 663, 207, 664,
  665. /* 110 */ 622, 536, 344, 546, 404, 977, 857, 857, 856, 445,
  666. /* 120 */ 913, 256, 480, 479, 351, -92, 571, 571, 571, 571,
  667. /* 130 */ 570, 571, 571, 567, 567, 567, 577, 574, 574, 574,
  668. /* 140 */ 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
  669. /* 150 */ 567, 574, 574, 567, 574, 574, 568, 569, 568, 569,
  670. /* 160 */ 620, 568, 630, 615, 635, 611, 593, 602, 512, 79,
  671. /* 170 */ -2, 114,
  672. );
  673. static public $yyExpectedTokens = array(
  674. /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, ),
  675. /* 1 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  676. /* 2 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  677. /* 3 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  678. /* 4 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  679. /* 5 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  680. /* 6 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  681. /* 7 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  682. /* 8 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  683. /* 9 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  684. /* 10 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  685. /* 11 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  686. /* 12 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  687. /* 13 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 61, 74, ),
  688. /* 14 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  689. /* 15 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  690. /* 16 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  691. /* 17 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  692. /* 18 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  693. /* 19 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  694. /* 20 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  695. /* 21 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  696. /* 22 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  697. /* 23 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  698. /* 24 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  699. /* 25 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  700. /* 26 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  701. /* 27 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  702. /* 28 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  703. /* 29 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  704. /* 30 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  705. /* 31 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  706. /* 32 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  707. /* 33 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  708. /* 34 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  709. /* 35 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  710. /* 36 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  711. /* 37 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  712. /* 38 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  713. /* 39 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  714. /* 40 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  715. /* 41 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 60, 74, ),
  716. /* 42 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 74, ),
  717. /* 43 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 74, ),
  718. /* 44 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 74, ),
  719. /* 45 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 74, ),
  720. /* 46 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 74, ),
  721. /* 47 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 74, ),
  722. /* 48 */ array(15, 17, 18, 21, 23, 28, 31, 32, 35, 49, 52, 53, 54, 55, 56, 59, 74, ),
  723. /* 49 */ array(1, 22, 27, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  724. /* 50 */ array(1, 16, 22, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  725. /* 51 */ array(1, 16, 22, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  726. /* 52 */ array(1, 22, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  727. /* 53 */ array(1, 22, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  728. /* 54 */ array(1, 16, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  729. /* 55 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, ),
  730. /* 56 */ array(1, 16, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  731. /* 57 */ array(1, 16, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  732. /* 58 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  733. /* 59 */ array(1, 16, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  734. /* 60 */ array(1, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  735. /* 61 */ array(1, 16, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  736. /* 62 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  737. /* 63 */ array(1, 24, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  738. /* 64 */ array(1, 2, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  739. /* 65 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  740. /* 66 */ array(1, 16, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  741. /* 67 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  742. /* 68 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  743. /* 69 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  744. /* 70 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  745. /* 71 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  746. /* 72 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  747. /* 73 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  748. /* 74 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  749. /* 75 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  750. /* 76 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  751. /* 77 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  752. /* 78 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  753. /* 79 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  754. /* 80 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  755. /* 81 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  756. /* 82 */ array(1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, ),
  757. /* 83 */ array(1, 16, 20, 22, 49, 57, ),
  758. /* 84 */ array(1, 22, ),
  759. /* 85 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, ),
  760. /* 86 */ array(10, 15, 21, 23, 28, 31, 74, 75, 76, ),
  761. /* 87 */ array(1, 16, 20, 22, ),
  762. /* 88 */ array(17, 18, 59, ),
  763. /* 89 */ array(20, 55, 60, ),
  764. /* 90 */ array(1, 16, 22, ),
  765. /* 91 */ array(1, 22, ),
  766. /* 92 */ array(2, 22, ),
  767. /* 93 */ array(1, 22, ),
  768. /* 94 */ array(10, 15, 21, 23, 28, 31, 74, 75, 76, ),
  769. /* 95 */ array(4, 5, 6, 7, 8, 12, 13, 14, ),
  770. /* 96 */ array(15, 18, 19, 58, ),
  771. /* 97 */ array(15, 18, 19, 25, ),
  772. /* 98 */ array(16, 22, 48, ),
  773. /* 99 */ array(16, 22, 25, ),
  774. /* 100 */ array(19, 20, 57, ),
  775. /* 101 */ array(15, 18, 58, ),
  776. /* 102 */ array(16, 22, 25, ),
  777. /* 103 */ array(15, 18, ),
  778. /* 104 */ array(17, 18, ),
  779. /* 105 */ array(15, 18, ),
  780. /* 106 */ array(20, 57, ),
  781. /* 107 */ array(15, 18, ),
  782. /* 108 */ array(15, 18, ),
  783. /* 109 */ array(15, 18, ),
  784. /* 110 */ array(15, 18, ),
  785. /* 111 */ array(15, 18, ),
  786. /* 112 */ array(15, 18, ),
  787. /* 113 */ array(15, 18, ),
  788. /* 114 */ array(17, 18, ),
  789. /* 115 */ array(15, 18, ),
  790. /* 116 */ array(15, 18, ),
  791. /* 117 */ array(15, 18, ),
  792. /* 118 */ array(15, 18, ),
  793. /* 119 */ array(17, ),
  794. /* 120 */ array(22, ),
  795. /* 121 */ array(20, ),
  796. /* 122 */ array(22, ),
  797. /* 123 */ array(22, ),
  798. /* 124 */ array(22, ),
  799. /* 125 */ array(20, ),
  800. /* 126 */ array(15, 16, 18, 30, ),
  801. /* 127 */ array(15, 16, 18, 30, ),
  802. /* 128 */ array(15, 16, 18, ),
  803. /* 129 */ array(15, 18, 58, ),
  804. /* 130 */ array(15, 17, 18, ),
  805. /* 131 */ array(15, 18, 19, ),
  806. /* 132 */ array(15, 16, 18, ),
  807. /* 133 */ array(55, 60, ),
  808. /* 134 */ array(55, 60, ),
  809. /* 135 */ array(55, 60, ),
  810. /* 136 */ array(15, 49, ),
  811. /* 137 */ array(16, 22, ),
  812. /* 138 */ array(16, 22, ),
  813. /* 139 */ array(16, 22, ),
  814. /* 140 */ array(16, 22, ),
  815. /* 141 */ array(16, 22, ),
  816. /* 142 */ array(16, 22, ),
  817. /* 143 */ array(16, 22, ),
  818. /* 144 */ array(16, 22, ),
  819. /* 145 */ array(16, 22, ),
  820. /* 146 */ array(16, 22, ),
  821. /* 147 */ array(16, 22, ),
  822. /* 148 */ array(16, 22, ),
  823. /* 149 */ array(16, 22, ),
  824. /* 150 */ array(55, 60, ),
  825. /* 151 */ array(16, 22, ),
  826. /* 152 */ array(16, 22, ),
  827. /* 153 */ array(55, 60, ),
  828. /* 154 */ array(16, 22, ),
  829. /* 155 */ array(16, 22, ),
  830. /* 156 */ array(20, ),
  831. /* 157 */ array(2, ),
  832. /* 158 */ array(20, ),
  833. /* 159 */ array(2, ),
  834. /* 160 */ array(13, ),
  835. /* 161 */ array(20, ),
  836. /* 162 */ array(22, ),
  837. /* 163 */ array(1, ),
  838. /* 164 */ array(22, ),
  839. /* 165 */ array(49, ),
  840. /* 166 */ array(17, ),
  841. /* 167 */ array(),
  842. /* 168 */ array(),
  843. /* 169 */ array(),
  844. /* 170 */ array(),
  845. /* 171 */ array(),
  846. /* 172 */ array(16, 22, 49, 57, ),
  847. /* 173 */ array(19, 29, 49, 57, ),
  848. /* 174 */ array(15, 17, 18, 32, ),
  849. /* 175 */ array(49, 55, 57, 61, ),
  850. /* 176 */ array(16, 22, 48, ),
  851. /* 177 */ array(30, 49, 57, ),
  852. /* 178 */ array(16, 48, ),
  853. /* 179 */ array(30, 48, ),
  854. /* 180 */ array(33, 61, ),
  855. /* 181 */ array(2, 19, ),
  856. /* 182 */ array(18, 58, ),
  857. /* 183 */ array(24, 33, ),
  858. /* 184 */ array(49, 57, ),
  859. /* 185 */ array(25, 75, ),
  860. /* 186 */ array(49, 57, ),
  861. /* 187 */ array(19, 55, ),
  862. /* 188 */ array(18, 32, ),
  863. /* 189 */ array(18, ),
  864. /* 190 */ array(32, ),
  865. /* 191 */ array(29, ),
  866. /* 192 */ array(19, ),
  867. /* 193 */ array(49, ),
  868. /* 194 */ array(48, ),
  869. /* 195 */ array(22, ),
  870. /* 196 */ array(2, ),
  871. /* 197 */ array(18, ),
  872. /* 198 */ array(55, ),
  873. /* 199 */ array(17, ),
  874. /* 200 */ array(17, ),
  875. /* 201 */ array(16, ),
  876. /* 202 */ array(17, ),
  877. /* 203 */ array(29, ),
  878. /* 204 */ array(18, ),
  879. /* 205 */ array(51, ),
  880. /* 206 */ array(17, ),
  881. /* 207 */ array(49, ),
  882. /* 208 */ array(22, ),
  883. /* 209 */ array(17, ),
  884. /* 210 */ array(25, ),
  885. /* 211 */ array(32, ),
  886. /* 212 */ array(16, ),
  887. /* 213 */ array(16, ),
  888. /* 214 */ array(59, ),
  889. /* 215 */ array(50, ),
  890. /* 216 */ array(18, ),
  891. /* 217 */ array(18, ),
  892. /* 218 */ array(18, ),
  893. /* 219 */ array(61, ),
  894. /* 220 */ array(19, ),
  895. /* 221 */ array(18, ),
  896. /* 222 */ array(18, ),
  897. /* 223 */ array(59, ),
  898. /* 224 */ array(18, ),
  899. /* 225 */ array(26, ),
  900. /* 226 */ array(50, ),
  901. /* 227 */ array(50, ),
  902. /* 228 */ array(),
  903. /* 229 */ array(),
  904. /* 230 */ array(),
  905. /* 231 */ array(),
  906. /* 232 */ array(),
  907. /* 233 */ array(),
  908. /* 234 */ array(),
  909. /* 235 */ array(),
  910. /* 236 */ array(),
  911. /* 237 */ array(),
  912. /* 238 */ array(),
  913. /* 239 */ array(),
  914. /* 240 */ array(),
  915. /* 241 */ array(),
  916. /* 242 */ array(),
  917. /* 243 */ array(),
  918. /* 244 */ array(),
  919. /* 245 */ array(),
  920. /* 246 */ array(),
  921. /* 247 */ array(),
  922. /* 248 */ array(),
  923. /* 249 */ array(),
  924. /* 250 */ array(),
  925. /* 251 */ array(),
  926. /* 252 */ array(),
  927. /* 253 */ array(),
  928. /* 254 */ array(),
  929. /* 255 */ array(),
  930. /* 256 */ array(),
  931. /* 257 */ array(),
  932. /* 258 */ array(),
  933. /* 259 */ array(),
  934. /* 260 */ array(),
  935. /* 261 */ array(),
  936. /* 262 */ array(),
  937. /* 263 */ array(),
  938. /* 264 */ array(),
  939. /* 265 */ array(),
  940. /* 266 */ array(),
  941. /* 267 */ array(),
  942. /* 268 */ array(),
  943. /* 269 */ array(),
  944. /* 270 */ array(),
  945. /* 271 */ array(),
  946. /* 272 */ array(),
  947. /* 273 */ array(),
  948. /* 274 */ array(),
  949. /* 275 */ array(),
  950. /* 276 */ array(),
  951. /* 277 */ array(),
  952. /* 278 */ array(),
  953. /* 279 */ array(),
  954. /* 280 */ array(),
  955. /* 281 */ array(),
  956. /* 282 */ array(),
  957. /* 283 */ array(),
  958. /* 284 */ array(),
  959. /* 285 */ array(),
  960. /* 286 */ array(),
  961. /* 287 */ array(),
  962. /* 288 */ array(),
  963. /* 289 */ array(),
  964. /* 290 */ array(),
  965. /* 291 */ array(),
  966. /* 292 */ array(),
  967. /* 293 */ array(),
  968. /* 294 */ array(),
  969. /* 295 */ array(),
  970. /* 296 */ array(),
  971. /* 297 */ array(),
  972. /* 298 */ array(),
  973. /* 299 */ array(),
  974. /* 300 */ array(),
  975. /* 301 */ array(),
  976. /* 302 */ array(),
  977. /* 303 */ array(),
  978. /* 304 */ array(),
  979. /* 305 */ array(),
  980. /* 306 */ array(),
  981. /* 307 */ array(),
  982. /* 308 */ array(),
  983. /* 309 */ array(),
  984. /* 310 */ array(),
  985. /* 311 */ array(),
  986. /* 312 */ array(),
  987. /* 313 */ array(),
  988. /* 314 */ array(),
  989. /* 315 */ array(),
  990. /* 316 */ array(),
  991. /* 317 */ array(),
  992. /* 318 */ array(),
  993. /* 319 */ array(),
  994. /* 320 */ array(),
  995. /* 321 */ array(),
  996. /* 322 */ array(),
  997. /* 323 */ array(),
  998. /* 324 */ array(),
  999. /* 325 */ array(),
  1000. /* 326 */ array(),
  1001. /* 327 */ array(),
  1002. /* 328 */ array(),
  1003. /* 329 */ array(),
  1004. /* 330 */ array(),
  1005. /* 331 */ array(),
  1006. /* 332 */ array(),
  1007. /* 333 */ array(),
  1008. /* 334 */ array(),
  1009. /* 335 */ array(),
  1010. /* 336 */ array(),
  1011. /* 337 */ array(),
  1012. /* 338 */ array(),
  1013. /* 339 */ array(),
  1014. /* 340 */ array(),
  1015. /* 341 */ array(),
  1016. /* 342 */ array(),
  1017. /* 343 */ array(),
  1018. /* 344 */ array(),
  1019. /* 345 */ array(),
  1020. /* 346 */ array(),
  1021. /* 347 */ array(),
  1022. /* 348 */ array(),
  1023. /* 349 */ array(),
  1024. /* 350 */ array(),
  1025. /* 351 */ array(),
  1026. /* 352 */ array(),
  1027. /* 353 */ array(),
  1028. /* 354 */ array(),
  1029. /* 355 */ array(),
  1030. /* 356 */ array(),
  1031. /* 357 */ array(),
  1032. /* 358 */ array(),
  1033. /* 359 */ array(),
  1034. /* 360 */ array(),
  1035. /* 361 */ array(),
  1036. /* 362 */ array(),
  1037. /* 363 */ array(),
  1038. /* 364 */ array(),
  1039. /* 365 */ array(),
  1040. /* 366 */ array(),
  1041. /* 367 */ array(),
  1042. /* 368 */ array(),
  1043. );
  1044. static public $yy_default = array(
  1045. /* 0 */ 372, 545, 562, 516, 516, 516, 516, 562, 562, 562,
  1046. /* 10 */ 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
  1047. /* 20 */ 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
  1048. /* 30 */ 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
  1049. /* 40 */ 562, 562, 562, 562, 562, 562, 562, 562, 562, 430,
  1050. /* 50 */ 562, 562, 430, 430, 562, 562, 562, 562, 562, 562,
  1051. /* 60 */ 515, 562, 562, 562, 562, 562, 562, 546, 451, 447,
  1052. /* 70 */ 450, 452, 436, 547, 548, 456, 455, 432, 459, 439,
  1053. /* 80 */ 463, 415, 460, 474, 430, 369, 562, 562, 562, 528,
  1054. /* 90 */ 446, 430, 430, 430, 562, 562, 489, 562, 440, 464,
  1055. /* 100 */ 482, 489, 464, 562, 562, 562, 482, 562, 489, 562,
  1056. /* 110 */ 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
  1057. /* 120 */ 430, 482, 430, 430, 430, 525, 562, 562, 562, 490,
  1058. /* 130 */ 562, 562, 562, 508, 506, 509, 489, 562, 562, 562,
  1059. /* 140 */ 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
  1060. /* 150 */ 507, 562, 562, 487, 562, 562, 529, 518, 503, 517,
  1061. /* 160 */ 387, 526, 561, 446, 561, 489, 562, 522, 522, 522,
  1062. /* 170 */ 489, 489, 474, 435, 562, 474, 440, 474, 440, 440,
  1063. /* 180 */ 562, 501, 562, 562, 474, 464, 461, 470, 562, 562,
  1064. /* 190 */ 562, 562, 435, 527, 440, 562, 501, 562, 470, 562,
  1065. /* 200 */ 562, 562, 562, 562, 562, 476, 562, 501, 562, 562,
  1066. /* 210 */ 464, 472, 562, 562, 562, 562, 562, 562, 562, 562,
  1067. /* 220 */ 562, 562, 562, 562, 562, 437, 562, 562, 555, 370,
  1068. /* 230 */ 553, 434, 438, 418, 417, 560, 442, 552, 559, 413,
  1069. /* 240 */ 558, 543, 498, 496, 476, 494, 511, 495, 497, 513,
  1070. /* 250 */ 485, 486, 514, 462, 512, 422, 423, 443, 416, 544,
  1071. /* 260 */ 510, 523, 524, 427, 502, 542, 445, 425, 424, 426,
  1072. /* 270 */ 429, 521, 501, 500, 414, 419, 420, 421, 468, 465,
  1073. /* 280 */ 483, 441, 488, 491, 499, 479, 473, 466, 467, 469,
  1074. /* 290 */ 471, 412, 428, 379, 378, 380, 381, 382, 377, 376,
  1075. /* 300 */ 371, 373, 374, 375, 383, 384, 393, 392, 394, 395,
  1076. /* 310 */ 396, 391, 390, 385, 386, 388, 389, 492, 493, 557,
  1077. /* 320 */ 399, 400, 401, 402, 398, 556, 481, 484, 505, 397,
  1078. /* 330 */ 403, 404, 410, 411, 549, 550, 551, 409, 408, 405,
  1079. /* 340 */ 406, 504, 407, 541, 540, 478, 477, 480, 453, 454,
  1080. /* 350 */ 449, 448, 444, 475, 519, 520, 457, 458, 536, 537,
  1081. /* 360 */ 538, 539, 535, 534, 530, 531, 532, 533, 554,
  1082. );
  1083. const YYNOCODE = 120;
  1084. const YYSTACKDEPTH = 100;
  1085. const YYNSTATE = 369;
  1086. const YYNRULE = 193;
  1087. const YYERRORSYMBOL = 77;
  1088. const YYERRSYMDT = 'yy0';
  1089. const YYFALLBACK = 0;
  1090. static public $yyFallback = array(
  1091. );
  1092. static function Trace($TraceFILE, $zTracePrompt)
  1093. {
  1094. if (!$TraceFILE) {
  1095. $zTracePrompt = 0;
  1096. } elseif (!$zTracePrompt) {
  1097. $TraceFILE = 0;
  1098. }
  1099. self::$yyTraceFILE = $TraceFILE;
  1100. self::$yyTracePrompt = $zTracePrompt;
  1101. }
  1102. static function PrintTrace()
  1103. {
  1104. self::$yyTraceFILE = fopen('php://output', 'w');
  1105. self::$yyTracePrompt = '<br>';
  1106. }
  1107. static public $yyTraceFILE;
  1108. static public $yyTracePrompt;
  1109. public $yyidx; /* Index of top element in stack */
  1110. public $yyerrcnt; /* Shifts left before out of the error */
  1111. public $yystack = array(); /* The parser's stack */
  1112. public $yyTokenName = array(
  1113. '$', 'VERT', 'COLON', 'COMMENT',
  1114. 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG',
  1115. 'FAKEPHPSTARTTAG', 'XMLTAG', 'OTHER', 'LINEBREAK',
  1116. 'LITERALSTART', 'LITERALEND', 'LITERAL', 'LDEL',
  1117. 'RDEL', 'DOLLAR', 'ID', 'EQUAL',
  1118. 'PTR', 'LDELIF', 'SPACE', 'LDELFOR',
  1119. 'SEMICOLON', 'INCDEC', 'TO', 'STEP',
  1120. 'LDELFOREACH', 'AS', 'APTR', 'LDELSLASH',
  1121. 'INTEGER', 'COMMA', 'MATH', 'UNIMATH',
  1122. 'ANDSYM', 'ISIN', 'ISDIVBY', 'ISNOTDIVBY',
  1123. 'ISEVEN', 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY',
  1124. 'ISODD', 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY',
  1125. 'INSTANCEOF', 'OPENP', 'CLOSEP', 'QMARK',
  1126. 'NOT', 'TYPECAST', 'HEX', 'DOT',
  1127. 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT', 'HATCH',
  1128. 'OPENB', 'CLOSEB', 'EQUALS', 'NOTEQUALS',
  1129. 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL', 'LESSEQUAL',
  1130. 'IDENTITY', 'NONEIDENTITY', 'MOD', 'LAND',
  1131. 'LOR', 'LXOR', 'QUOTE', 'BACKTICK',
  1132. 'DOLLARID', 'error', 'start', 'template',
  1133. 'template_element', 'smartytag', 'literal', 'literal_elements',
  1134. 'literal_element', 'value', 'attributes', 'variable',
  1135. 'expr', 'modifierlist', 'ternary', 'varindexed',
  1136. 'statement', 'statements', 'optspace', 'varvar',
  1137. 'foraction', 'array', 'modifier', 'modparameters',
  1138. 'attribute', 'ifcond', 'lop', 'function',
  1139. 'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex',
  1140. 'indexdef', 'varvarele', 'objectchain', 'objectelement',
  1141. 'method', 'params', 'modparameter', 'arrayelements',
  1142. 'arrayelement', 'doublequoted', 'doublequotedcontent',
  1143. );
  1144. static public $yyRuleName = array(
  1145. /* 0 */ "start ::= template",
  1146. /* 1 */ "template ::= template_element",
  1147. /* 2 */ "template ::= template template_element",
  1148. /* 3 */ "template ::=",
  1149. /* 4 */ "template_element ::= smartytag",
  1150. /* 5 */ "template_element ::= COMMENT",
  1151. /* 6 */ "template_element ::= literal",
  1152. /* 7 */ "template_element ::= PHPSTARTTAG",
  1153. /* 8 */ "template_element ::= PHPENDTAG",
  1154. /* 9 */ "template_element ::= ASPSTARTTAG",
  1155. /* 10 */ "template_element ::= ASPENDTAG",
  1156. /* 11 */ "template_element ::= FAKEPHPSTARTTAG",
  1157. /* 12 */ "template_element ::= XMLTAG",
  1158. /* 13 */ "template_element ::= OTHER",
  1159. /* 14 */ "template_element ::= LINEBREAK",
  1160. /* 15 */ "literal ::= LITERALSTART LITERALEND",
  1161. /* 16 */ "literal ::= LITERALSTART literal_elements LITERALEND",
  1162. /* 17 */ "literal_elements ::= literal_elements literal_element",
  1163. /* 18 */ "literal_elements ::=",
  1164. /* 19 */ "literal_element ::= literal",
  1165. /* 20 */ "literal_element ::= LITERAL",
  1166. /* 21 */ "literal_element ::= PHPSTARTTAG",
  1167. /* 22 */ "literal_element ::= FAKEPHPSTARTTAG",
  1168. /* 23 */ "literal_element ::= PHPENDTAG",
  1169. /* 24 */ "literal_element ::= ASPSTARTTAG",
  1170. /* 25 */ "literal_element ::= ASPENDTAG",
  1171. /* 26 */ "smartytag ::= LDEL value RDEL",
  1172. /* 27 */ "smartytag ::= LDEL value attributes RDEL",
  1173. /* 28 */ "smartytag ::= LDEL variable attributes RDEL",
  1174. /* 29 */ "smartytag ::= LDEL expr modifierlist attributes RDEL",
  1175. /* 30 */ "smartytag ::= LDEL expr attributes RDEL",
  1176. /* 31 */ "smartytag ::= LDEL ternary attributes RDEL",
  1177. /* 32 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
  1178. /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
  1179. /* 34 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
  1180. /* 35 */ "smartytag ::= LDEL DOLLAR ID EQUAL ternary attributes RDEL",
  1181. /* 36 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
  1182. /* 37 */ "smartytag ::= LDEL varindexed EQUAL ternary attributes RDEL",
  1183. /* 38 */ "smartytag ::= LDEL ID attributes RDEL",
  1184. /* 39 */ "smartytag ::= LDEL ID RDEL",
  1185. /* 40 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
  1186. /* 41 */ "smartytag ::= LDEL ID modifierlist attributes RDEL",
  1187. /* 42 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL",
  1188. /* 43 */ "smartytag ::= LDELIF SPACE expr RDEL",
  1189. /* 44 */ "smartytag ::= LDELIF SPACE statement RDEL",
  1190. /* 45 */ "smartytag ::= LDELFOR SPACE statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction RDEL",
  1191. /* 46 */ "foraction ::= EQUAL expr",
  1192. /* 47 */ "foraction ::= INCDEC",
  1193. /* 48 */ "smartytag ::= LDELFOR SPACE statement TO expr attributes RDEL",
  1194. /* 49 */ "smartytag ::= LDELFOR SPACE statement TO expr STEP expr RDEL",
  1195. /* 50 */ "smartytag ::= LDELFOREACH attributes RDEL",
  1196. /* 51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar RDEL",
  1197. /* 52 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar RDEL",
  1198. /* 53 */ "smartytag ::= LDELFOREACH SPACE array AS DOLLAR varvar RDEL",
  1199. /* 54 */ "smartytag ::= LDELFOREACH SPACE array AS DOLLAR varvar APTR DOLLAR varvar RDEL",
  1200. /* 55 */ "smartytag ::= LDELSLASH ID RDEL",
  1201. /* 56 */ "smartytag ::= LDELSLASH ID attributes RDEL",
  1202. /* 57 */ "smartytag ::= LDELSLASH ID modifier modparameters attributes RDEL",
  1203. /* 58 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
  1204. /* 59 */ "attributes ::= attributes attribute",
  1205. /* 60 */ "attributes ::= attribute",
  1206. /* 61 */ "attributes ::=",
  1207. /* 62 */ "attribute ::= SPACE ID EQUAL ID",
  1208. /* 63 */ "attribute ::= SPACE ID EQUAL expr",
  1209. /* 64 */ "attribute ::= SPACE ID EQUAL value",
  1210. /* 65 */ "attribute ::= SPACE ID EQUAL ternary",
  1211. /* 66 */ "attribute ::= SPACE ID",
  1212. /* 67 */ "attribute ::= SPACE INTEGER EQUAL expr",
  1213. /* 68 */ "statements ::= statement",
  1214. /* 69 */ "statements ::= statements COMMA statement",
  1215. /* 70 */ "statement ::= DOLLAR varvar EQUAL expr",
  1216. /* 71 */ "expr ::= value",
  1217. /* 72 */ "expr ::= DOLLAR ID COLON ID",
  1218. /* 73 */ "expr ::= expr MATH value",
  1219. /* 74 */ "expr ::= expr UNIMATH value",
  1220. /* 75 */ "expr ::= expr ANDSYM value",
  1221. /* 76 */ "expr ::= array",
  1222. /* 77 */ "expr ::= expr modifierlist",
  1223. /* 78 */ "expr ::= expr ifcond expr",
  1224. /* 79 */ "expr ::= expr ISIN array",
  1225. /* 80 */ "expr ::= expr ISIN value",
  1226. /* 81 */ "expr ::= expr lop expr",
  1227. /* 82 */ "expr ::= expr ISDIVBY expr",
  1228. /* 83 */ "expr ::= expr ISNOTDIVBY expr",
  1229. /* 84 */ "expr ::= expr ISEVEN",
  1230. /* 85 */ "expr ::= expr ISNOTEVEN",
  1231. /* 86 */ "expr ::= expr ISEVENBY expr",
  1232. /* 87 */ "expr ::= expr ISNOTEVENBY expr",
  1233. /* 88 */ "expr ::= expr ISODD",
  1234. /* 89 */ "expr ::= expr ISNOTODD",
  1235. /* 90 */ "expr ::= expr ISODDBY expr",
  1236. /* 91 */ "expr ::= expr ISNOTODDBY expr",
  1237. /* 92 */ "expr ::= value INSTANCEOF ID",
  1238. /* 93 */ "expr ::= value INSTANCEOF value",
  1239. /* 94 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
  1240. /* 95 */ "value ::= variable",
  1241. /* 96 */ "value ::= UNIMATH value",
  1242. /* 97 */ "value ::= NOT value",
  1243. /* 98 */ "value ::= TYPECAST value",
  1244. /* 99 */ "value ::= variable INCDEC",
  1245. /* 100 */ "value ::= HEX",
  1246. /* 101 */ "value ::= INTEGER",
  1247. /* 102 */ "value ::= INTEGER DOT INTEGER",
  1248. /* 103 */ "value ::= INTEGER DOT",
  1249. /* 104 */ "value ::= DOT INTEGER",
  1250. /* 105 */ "value ::= ID",
  1251. /* 106 */ "value ::= function",
  1252. /* 107 */ "value ::= OPENP expr CLOSEP",
  1253. /* 108 */ "value ::= SINGLEQUOTESTRING",
  1254. /* 109 */ "value ::= doublequoted_with_quotes",
  1255. /* 110 */ "value ::= ID DOUBLECOLON static_class_access",
  1256. /* 111 */ "value ::= varindexed DOUBLECOLON static_class_access",
  1257. /* 112 */ "value ::= smartytag",
  1258. /* 113 */ "variable ::= varindexed",
  1259. /* 114 */ "variable ::= DOLLAR varvar AT ID",
  1260. /* 115 */ "variable ::= object",
  1261. /* 116 */ "variable ::= HATCH ID HATCH",
  1262. /* 117 */ "variable ::= HATCH variable HATCH",
  1263. /* 118 */ "varindexed ::= DOLLAR varvar arrayindex",
  1264. /* 119 */ "arrayindex ::= arrayindex indexdef",
  1265. /* 120 */ "arrayindex ::=",
  1266. /* 121 */ "indexdef ::= DOT DOLLAR varvar",
  1267. /* 122 */ "indexdef ::= DOT DOLLAR varvar AT ID",
  1268. /* 123 */ "indexdef ::= DOT ID",
  1269. /* 124 */ "indexdef ::= DOT INTEGER",
  1270. /* 125 */ "indexdef ::= DOT LDEL expr RDEL",
  1271. /* 126 */ "indexdef ::= OPENB ID CLOSEB",
  1272. /* 127 */ "indexdef ::= OPENB ID DOT ID CLOSEB",
  1273. /* 128 */ "indexdef ::= OPENB expr CLOSEB",
  1274. /* 129 */ "indexdef ::= OPENB CLOSEB",
  1275. /* 130 */ "varvar ::= varvarele",
  1276. /* 131 */ "varvar ::= varvar varvarele",
  1277. /* 132 */ "varvarele ::= ID",
  1278. /* 133 */ "varvarele ::= LDEL expr RDEL",
  1279. /* 134 */ "object ::= varindexed objectchain",
  1280. /* 135 */ "objectchain ::= objectelement",
  1281. /* 136 */ "objectchain ::= objectchain objectelement",
  1282. /* 137 */ "objectelement ::= PTR ID arrayindex",
  1283. /* 138 */ "objectelement ::= PTR DOLLAR varvar arrayindex",
  1284. /* 139 */ "objectelement ::= PTR LDEL expr RDEL arrayindex",
  1285. /* 140 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
  1286. /* 141 */ "objectelement ::= PTR method",
  1287. /* 142 */ "function ::= ID OPENP params CLOSEP",
  1288. /* 143 */ "method ::= ID OPENP params CLOSEP",
  1289. /* 144 */ "method ::= DOLLAR ID OPENP params CLOSEP",
  1290. /* 145 */ "params ::= expr COMMA params",
  1291. /* 146 */ "params ::= expr",
  1292. /* 147 */ "params ::=",
  1293. /* 148 */ "modifierlist ::= modifierlist modifier modparameters",
  1294. /* 149 */ "modifierlist ::= modifier modparameters",
  1295. /* 150 */ "modifier ::= VERT AT ID",
  1296. /* 151 */ "modifier ::= VERT ID",
  1297. /* 152 */ "modparameters ::= modparameters modparameter",
  1298. /* 153 */ "modparameters ::=",
  1299. /* 154 */ "modparameter ::= COLON value",
  1300. /* 155 */ "modparameter ::= COLON array",
  1301. /* 156 */ "static_class_access ::= method",
  1302. /* 157 */ "static_class_access ::= method objectchain",
  1303. /* 158 */ "static_class_access ::= ID",
  1304. /* 159 */ "static_class_access ::= DOLLAR ID arrayindex",
  1305. /* 160 */ "static_class_access ::= DOLLAR ID arrayindex objectchain",
  1306. /* 161 */ "ifcond ::= EQUALS",
  1307. /* 162 */ "ifcond ::= NOTEQUALS",
  1308. /* 163 */ "ifcond ::= GREATERTHAN",
  1309. /* 164 */ "ifcond ::= LESSTHAN",
  1310. /* 165 */ "ifcond ::= GREATEREQUAL",
  1311. /* 166 */ "ifcond ::= LESSEQUAL",
  1312. /* 167 */ "ifcond ::= IDENTITY",
  1313. /* 168 */ "ifcond ::= NONEIDENTITY",
  1314. /* 169 */ "ifcond ::= MOD",
  1315. /* 170 */ "lop ::= LAND",
  1316. /* 171 */ "lop ::= LOR",
  1317. /* 172 */ "lop ::= LXOR",
  1318. /* 173 */ "array ::= OPENB arrayelements CLOSEB",
  1319. /* 174 */ "arrayelements ::= arrayelement",
  1320. /* 175 */ "arrayelements ::= arrayelements COMMA arrayelement",
  1321. /* 176 */ "arrayelements ::=",
  1322. /* 177 */ "arrayelement ::= value APTR expr",
  1323. /* 178 */ "arrayelement ::= ID APTR expr",
  1324. /* 179 */ "arrayelement ::= expr",
  1325. /* 180 */ "doublequoted_with_quotes ::= QUOTE QUOTE",
  1326. /* 181 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
  1327. /* 182 */ "doublequoted ::= doublequoted doublequotedcontent",
  1328. /* 183 */ "doublequoted ::= doublequotedcontent",
  1329. /* 184 */ "doublequotedcontent ::= BACKTICK variable BACKTICK",
  1330. /* 185 */ "doublequotedcontent ::= BACKTICK expr BACKTICK",
  1331. /* 186 */ "doublequotedcontent ::= DOLLARID",
  1332. /* 187 */ "doublequotedcontent ::= LDEL variable RDEL",
  1333. /* 188 */ "doublequotedcontent ::= LDEL expr RDEL",
  1334. /* 189 */ "doublequotedcontent ::= smartytag",
  1335. /* 190 */ "doublequotedcontent ::= OTHER",
  1336. /* 191 */ "optspace ::= SPACE",
  1337. /* 192 */ "optspace ::=",
  1338. );
  1339. function tokenName($tokenType)
  1340. {
  1341. if ($tokenType === 0) {
  1342. return 'End of Input';
  1343. }
  1344. if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
  1345. return $this->yyTokenName[$tokenType];
  1346. } else {
  1347. return "Unknown";
  1348. }
  1349. }
  1350. static function yy_destructor($yymajor, $yypminor)
  1351. {
  1352. switch ($yymajor) {
  1353. default: break; /* If no destructor action specified: do nothing */
  1354. }
  1355. }
  1356. function yy_pop_parser_stack()
  1357. {
  1358. if (!count($this->yystack)) {
  1359. return;
  1360. }
  1361. $yytos = array_pop($this->yystack);
  1362. if (self::$yyTraceFILE && $this->yyidx >= 0) {
  1363. fwrite(self::$yyTraceFILE,
  1364. self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
  1365. "\n");
  1366. }
  1367. $yymajor = $yytos->major;
  1368. self::yy_destructor($yymajor, $yytos->minor);
  1369. $this->yyidx--;
  1370. return $yymajor;
  1371. }
  1372. function __destruct()
  1373. {
  1374. while ($this->yystack !== Array()) {
  1375. $this->yy_pop_parser_stack();
  1376. }
  1377. if (is_resource(self::$yyTraceFILE)) {
  1378. fclose(self::$yyTraceFILE);
  1379. }
  1380. }
  1381. function yy_get_expected_tokens($token)
  1382. {
  1383. $state = $this->yystack[$this->yyidx]->stateno;
  1384. $expected = self::$yyExpectedTokens[$state];
  1385. if (in_array($token, self::$yyExpectedTokens[$state], true)) {
  1386. return $expected;
  1387. }
  1388. $stack = $this->yystack;
  1389. $yyidx = $this->yyidx;
  1390. do {
  1391. $yyact = $this->yy_find_shift_action($token);
  1392. if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
  1393. // reduce action
  1394. $done = 0;
  1395. do {
  1396. if ($done++ == 100) {
  1397. $this->yyidx = $yyidx;
  1398. $this->yystack = $stack;
  1399. // too much recursion prevents proper detection
  1400. // so give up
  1401. return array_unique($expected);
  1402. }
  1403. $yyruleno = $yyact - self::YYNSTATE;
  1404. $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
  1405. $nextstate = $this->yy_find_reduce_action(
  1406. $this->yystack[$this->yyidx]->stateno,
  1407. self::$yyRuleInfo[$yyruleno]['lhs']);
  1408. if (isset(self::$yyExpectedTokens[$nextstate])) {
  1409. $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
  1410. if (in_array($token,
  1411. self::$yyExpectedTokens[$nextstate], true)) {
  1412. $this->yyidx = $yyidx;
  1413. $this->yystack = $stack;
  1414. return array_unique($expected);
  1415. }
  1416. }
  1417. if ($nextstate < self::YYNSTATE) {
  1418. // we need to shift a non-terminal
  1419. $this->yyidx++;
  1420. $x = new TP_yyStackEntry;
  1421. $x->stateno = $nextstate;
  1422. $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
  1423. $this->yystack[$this->yyidx] = $x;
  1424. continue 2;
  1425. } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
  1426. $this->yyidx = $yyidx;
  1427. $this->yystack = $stack;
  1428. // the last token was just ignored, we can't accept
  1429. // by ignoring input, this is in essence ignoring a
  1430. // syntax error!
  1431. return array_unique($expected);
  1432. } elseif ($nextstate === self::YY_NO_ACTION) {
  1433. $this->yyidx = $yyidx;
  1434. $this->yystack = $stack;
  1435. // input accepted, but not shifted (I guess)
  1436. return $expected;
  1437. } else {
  1438. $yyact = $nextstate;
  1439. }
  1440. } while (true);
  1441. }
  1442. break;
  1443. } while (true);
  1444. $this->yyidx = $yyidx;
  1445. $this->yystack = $stack;
  1446. return array_unique($expected);
  1447. }
  1448. function yy_is_expected_token($token)
  1449. {
  1450. if ($token === 0) {
  1451. return true; // 0 is not part of this
  1452. }
  1453. $state = $this->yystack[$this->yyidx]->stateno;
  1454. if (in_array($token, self::$yyExpectedTokens[$state], true)) {
  1455. return true;
  1456. }
  1457. $stack = $this->yystack;
  1458. $yyidx = $this->yyidx;
  1459. do {
  1460. $yyact = $this->yy_find_shift_action($token);
  1461. if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
  1462. // reduce action
  1463. $done = 0;
  1464. do {
  1465. if ($done++ == 100) {
  1466. $this->yyidx = $yyidx;
  1467. $this->yystack = $stack;
  1468. // too much recursion prevents proper detection
  1469. // so give up
  1470. return true;
  1471. }
  1472. $yyruleno = $yyact - self::YYNSTATE;
  1473. $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
  1474. $nextstate = $this->yy_find_reduce_action(
  1475. $this->yystack[$this->yyidx]->stateno,
  1476. self::$yyRuleInfo[$yyruleno]['lhs']);
  1477. if (isset(self::$yyExpectedTokens[$nextstate]) &&
  1478. in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
  1479. $this->yyidx = $yyidx;
  1480. $this->yystack = $stack;
  1481. return true;
  1482. }
  1483. if ($nextstate < self::YYNSTATE) {
  1484. // we need to shift a non-terminal
  1485. $this->yyidx++;
  1486. $x = new TP_yyStackEntry;
  1487. $x->stateno = $nextstate;
  1488. $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
  1489. $this->yystack[$this->yyidx] = $x;
  1490. continue 2;
  1491. } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
  1492. $this->yyidx = $yyidx;
  1493. $this->yystack = $stack;
  1494. if (!$token) {
  1495. // end of input: this is valid
  1496. return true;
  1497. }
  1498. // the last token was just ignored, we can't accept
  1499. // by ignoring input, this is in essence ignoring a
  1500. // syntax error!
  1501. return false;
  1502. } elseif ($nextstate === self::YY_NO_ACTION) {
  1503. $this->yyidx = $yyidx;
  1504. $this->yystack = $stack;
  1505. // input accepted, but not shifted (I guess)
  1506. return true;
  1507. } else {
  1508. $yyact = $nextstate;
  1509. }
  1510. } while (true);
  1511. }
  1512. break;
  1513. } while (true);
  1514. $this->yyidx = $yyidx;
  1515. $this->yystack = $stack;
  1516. return true;
  1517. }
  1518. function yy_find_shift_action($iLookAhead)
  1519. {
  1520. $stateno = $this->yystack[$this->yyidx]->stateno;
  1521. /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
  1522. if (!isset(self::$yy_shift_ofst[$stateno])) {
  1523. // no shift actions
  1524. return self::$yy_default[$stateno];
  1525. }
  1526. $i = self::$yy_shift_ofst[$stateno];
  1527. if ($i === self::YY_SHIFT_USE_DFLT) {
  1528. return self::$yy_default[$stateno];
  1529. }
  1530. if ($iLookAhead == self::YYNOCODE) {
  1531. return self::YY_NO_ACTION;
  1532. }
  1533. $i += $iLookAhead;
  1534. if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
  1535. self::$yy_lookahead[$i] != $iLookAhead) {
  1536. if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
  1537. && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
  1538. if (self::$yyTraceFILE) {
  1539. fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
  1540. $this->yyTokenName[$iLookAhead] . " => " .
  1541. $this->yyTokenName[$iFallback] . "\n");
  1542. }
  1543. return $this->yy_find_shift_action($iFallback);
  1544. }
  1545. return self::$yy_default[$stateno];
  1546. } else {
  1547. return self::$yy_action[$i];
  1548. }
  1549. }
  1550. function yy_find_reduce_action($stateno, $iLookAhead)
  1551. {
  1552. /* $stateno = $this->yystack[$this->yyidx]->stateno; */
  1553. if (!isset(self::$yy_reduce_ofst[$stateno])) {
  1554. return self::$yy_default[$stateno];
  1555. }
  1556. $i = self::$yy_reduce_ofst[$stateno];
  1557. if ($i == self::YY_REDUCE_USE_DFLT) {
  1558. return self::$yy_default[$stateno];
  1559. }
  1560. if ($iLookAhead == self::YYNOCODE) {
  1561. return self::YY_NO_ACTION;
  1562. }
  1563. $i += $iLookAhead;
  1564. if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
  1565. self::$yy_lookahead[$i] != $iLookAhead) {
  1566. return self::$yy_default[$stateno];
  1567. } else {
  1568. return self::$yy_action[$i];
  1569. }
  1570. }
  1571. function yy_shift($yyNewState, $yyMajor, $yypMinor)
  1572. {
  1573. $this->yyidx++;
  1574. if ($this->yyidx >= self::YYSTACKDEPTH) {
  1575. $this->yyidx--;
  1576. if (self::$yyTraceFILE) {
  1577. fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
  1578. }
  1579. while ($this->yyidx >= 0) {
  1580. $this->yy_pop_parser_stack();
  1581. }
  1582. #line 82 "smarty_internal_templateparser.y"
  1583. $this->internalError = true;
  1584. $this->compiler->trigger_template_error("Stack overflow in template parser");
  1585. #line 1615 "smarty_internal_templateparser.php"
  1586. return;
  1587. }
  1588. $yytos = new TP_yyStackEntry;
  1589. $yytos->stateno = $yyNewState;
  1590. $yytos->major = $yyMajor;
  1591. $yytos->minor = $yypMinor;
  1592. array_push($this->yystack, $yytos);
  1593. if (self::$yyTraceFILE && $this->yyidx > 0) {
  1594. fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
  1595. $yyNewState);
  1596. fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
  1597. for($i = 1; $i <= $this->yyidx; $i++) {
  1598. fprintf(self::$yyTraceFILE, " %s",
  1599. $this->yyTokenName[$this->yystack[$i]->major]);
  1600. }
  1601. fwrite(self::$yyTraceFILE,"\n");
  1602. }
  1603. }
  1604. static public $yyRuleInfo = array(
  1605. array( 'lhs' => 78, 'rhs' => 1 ),
  1606. array( 'lhs' => 79, 'rhs' => 1 ),
  1607. array( 'lhs' => 79, 'rhs' => 2 ),
  1608. array( 'lhs' => 79, 'rhs' => 0 ),
  1609. array( 'lhs' => 80, 'rhs' => 1 ),
  1610. array( 'lhs' => 80, 'rhs' => 1 ),
  1611. array( 'lhs' => 80, 'rhs' => 1 ),
  1612. array( 'lhs' => 80, 'rhs' => 1 ),
  1613. array( 'lhs' => 80, 'rhs' => 1 ),
  1614. array( 'lhs' => 80, 'rhs' => 1 ),
  1615. array( 'lhs' => 80, 'rhs' => 1 ),
  1616. array( 'lhs' => 80, 'rhs' => 1 ),
  1617. array( 'lhs' => 80, 'rhs' => 1 ),
  1618. array( 'lhs' => 80, 'rhs' => 1 ),
  1619. array( 'lhs' => 80, 'rhs' => 1 ),
  1620. array( 'lhs' => 82, 'rhs' => 2 ),
  1621. array( 'lhs' => 82, 'rhs' => 3 ),
  1622. array( 'lhs' => 83, 'rhs' => 2 ),
  1623. array( 'lhs' => 83, 'rhs' => 0 ),
  1624. array( 'lhs' => 84, 'rhs' => 1 ),
  1625. array( 'lhs' => 84, 'rhs' => 1 ),
  1626. array( 'lhs' => 84, 'rhs' => 1 ),
  1627. array( 'lhs' => 84, 'rhs' => 1 ),
  1628. array( 'lhs' => 84, 'rhs' => 1 ),
  1629. array( 'lhs' => 84, 'rhs' => 1 ),
  1630. array( 'lhs' => 84, 'rhs' => 1 ),
  1631. array( 'lhs' => 81, 'rhs' => 3 ),
  1632. array( 'lhs' => 81, 'rhs' => 4 ),
  1633. array( 'lhs' => 81, 'rhs' => 4 ),
  1634. array( 'lhs' => 81, 'rhs' => 5 ),
  1635. array( 'lhs' => 81, 'rhs' => 4 ),
  1636. array( 'lhs' => 81, 'rhs' => 4 ),
  1637. array( 'lhs' => 81, 'rhs' => 6 ),
  1638. array( 'lhs' => 81, 'rhs' => 6 ),
  1639. array( 'lhs' => 81, 'rhs' => 7 ),
  1640. array( 'lhs' => 81, 'rhs' => 7 ),
  1641. array( 'lhs' => 81, 'rhs' => 6 ),
  1642. array( 'lhs' => 81, 'rhs' => 6 ),
  1643. array( 'lhs' => 81, 'rhs' => 4 ),
  1644. array( 'lhs' => 81, 'rhs' => 3 ),
  1645. array( 'lhs' => 81, 'rhs' => 6 ),
  1646. array( 'lhs' => 81, 'rhs' => 5 ),
  1647. array( 'lhs' => 81, 'rhs' => 7 ),
  1648. array( 'lhs' => 81, 'rhs' => 4 ),
  1649. array( 'lhs' => 81, 'rhs' => 4 ),
  1650. array( 'lhs' => 81, 'rhs' => 12 ),
  1651. array( 'lhs' => 96, 'rhs' => 2 ),
  1652. array( 'lhs' => 96, 'rhs' => 1 ),
  1653. array( 'lhs' => 81, 'rhs' => 7 ),
  1654. array( 'lhs' => 81, 'rhs' => 8 ),
  1655. array( 'lhs' => 81, 'rhs' => 3 ),
  1656. array( 'lhs' => 81, 'rhs' => 7 ),
  1657. array( 'lhs' => 81, 'rhs' => 10 ),
  1658. array( 'lhs' => 81, 'rhs' => 7 ),
  1659. array( 'lhs' => 81, 'rhs' => 10 ),
  1660. array( 'lhs' => 81, 'rhs' => 3 ),
  1661. array( 'lhs' => 81, 'rhs' => 4 ),
  1662. array( 'lhs' => 81, 'rhs' => 6 ),
  1663. array( 'lhs' => 81, 'rhs' => 5 ),
  1664. array( 'lhs' => 86, 'rhs' => 2 ),
  1665. array( 'lhs' => 86, 'rhs' => 1 ),
  1666. array( 'lhs' => 86, 'rhs' => 0 ),
  1667. array( 'lhs' => 100, 'rhs' => 4 ),
  1668. array( 'lhs' => 100, 'rhs' => 4 ),
  1669. array( 'lhs' => 100, 'rhs' => 4 ),
  1670. array( 'lhs' => 100, 'rhs' => 4 ),
  1671. array( 'lhs' => 100, 'rhs' => 2 ),
  1672. array( 'lhs' => 100, 'rhs' => 4 ),
  1673. array( 'lhs' => 93, 'rhs' => 1 ),
  1674. array( 'lhs' => 93, 'rhs' => 3 ),
  1675. array( 'lhs' => 92, 'rhs' => 4 ),
  1676. array( 'lhs' => 88, 'rhs' => 1 ),
  1677. array( 'lhs' => 88, 'rhs' => 4 ),
  1678. array( 'lhs' => 88, 'rhs' => 3 ),
  1679. array( 'lhs' => 88, 'rhs' => 3 ),
  1680. array( 'lhs' => 88, 'rhs' => 3 ),
  1681. array( 'lhs' => 88, 'rhs' => 1 ),
  1682. array( 'lhs' => 88, 'rhs' => 2 ),
  1683. array( 'lhs' => 88, 'rhs' => 3 ),
  1684. array( 'lhs' => 88, 'rhs' => 3 ),
  1685. array( 'lhs' => 88, 'rhs' => 3 ),
  1686. array( 'lhs' => 88, 'rhs' => 3 ),
  1687. array( 'lhs' => 88, 'rhs' => 3 ),
  1688. array( 'lhs' => 88, 'rhs' => 3 ),
  1689. array( 'lhs' => 88, 'rhs' => 2 ),
  1690. array( 'lhs' => 88, 'rhs' => 2 ),
  1691. array( 'lhs' => 88, 'rhs' => 3 ),
  1692. array( 'lhs' => 88, 'rhs' => 3 ),
  1693. array( 'lhs' => 88, 'rhs' => 2 ),
  1694. array( 'lhs' => 88, 'rhs' => 2 ),
  1695. array( 'lhs' => 88, 'rhs' => 3 ),
  1696. array( 'lhs' => 88, 'rhs' => 3 ),
  1697. array( 'lhs' => 88, 'rhs' => 3 ),
  1698. array( 'lhs' => 88, 'rhs' => 3 ),
  1699. array( 'lhs' => 90, 'rhs' => 7 ),
  1700. array( 'lhs' => 85, 'rhs' => 1 ),
  1701. array( 'lhs' => 85, 'rhs' => 2 ),
  1702. array( 'lhs' => 85, 'rhs' => 2 ),
  1703. array( 'lhs' => 85, 'rhs' => 2 ),
  1704. array( 'lhs' => 85, 'rhs' => 2 ),
  1705. array( 'lhs' => 85, 'rhs' => 1 ),
  1706. array( 'lhs' => 85, 'rhs' => 1 ),
  1707. array( 'lhs' => 85, 'rhs' => 3 ),
  1708. array( 'lhs' => 85, 'rhs' => 2 ),
  1709. array( 'lhs' => 85, 'rhs' => 2 ),
  1710. array( 'lhs' => 85, 'rhs' => 1 ),
  1711. array( 'lhs' => 85, 'rhs' => 1 ),
  1712. array( 'lhs' => 85, 'rhs' => 3 ),
  1713. array( 'lhs' => 85, 'rhs' => 1 ),
  1714. array( 'lhs' => 85, 'rhs' => 1 ),
  1715. array( 'lhs' => 85, 'rhs' => 3 ),
  1716. array( 'lhs' => 85, 'rhs' => 3 ),
  1717. array( 'lhs' => 85, 'rhs' => 1 ),
  1718. array( 'lhs' => 87, 'rhs' => 1 ),
  1719. array( 'lhs' => 87, 'rhs' => 4 ),
  1720. array( 'lhs' => 87, 'rhs' => 1 ),
  1721. array( 'lhs' => 87, 'rhs' => 3 ),
  1722. array( 'lhs' => 87, 'rhs' => 3 ),
  1723. array( 'lhs' => 91, 'rhs' => 3 ),
  1724. array( 'lhs' => 107, 'rhs' => 2 ),
  1725. array( 'lhs' => 107, 'rhs' => 0 ),
  1726. array( 'lhs' => 108, 'rhs' => 3 ),
  1727. array( 'lhs' => 108, 'rhs' => 5 ),
  1728. array( 'lhs' => 108, 'rhs' => 2 ),
  1729. array( 'lhs' => 108, 'rhs' => 2 ),
  1730. array( 'lhs' => 108, 'rhs' => 4 ),
  1731. array( 'lhs' => 108, 'rhs' => 3 ),
  1732. array( 'lhs' => 108, 'rhs' => 5 ),
  1733. array( 'lhs' => 108, 'rhs' => 3 ),
  1734. array( 'lhs' => 108, 'rhs' => 2 ),
  1735. array( 'lhs' => 95, 'rhs' => 1 ),
  1736. array( 'lhs' => 95, 'rhs' => 2 ),
  1737. array( 'lhs' => 109, 'rhs' => 1 ),
  1738. array( 'lhs' => 109, 'rhs' => 3 ),
  1739. array( 'lhs' => 106, 'rhs' => 2 ),
  1740. array( 'lhs' => 110, 'rhs' => 1 ),
  1741. array( 'lhs' => 110, 'rhs' => 2 ),
  1742. array( 'lhs' => 111, 'rhs' => 3 ),
  1743. array( 'lhs' => 111, 'rhs' => 4 ),
  1744. array( 'lhs' => 111, 'rhs' => 5 ),
  1745. array( 'lhs' => 111, 'rhs' => 6 ),
  1746. array( 'lhs' => 111, 'rhs' => 2 ),
  1747. array( 'lhs' => 103, 'rhs' => 4 ),
  1748. array( 'lhs' => 112, 'rhs' => 4 ),
  1749. array( 'lhs' => 112, 'rhs' => 5 ),
  1750. array( 'lhs' => 113, 'rhs' => 3 ),
  1751. array( 'lhs' => 113, 'rhs' => 1 ),
  1752. array( 'lhs' => 113, 'rhs' => 0 ),
  1753. array( 'lhs' => 89, 'rhs' => 3 ),
  1754. array( 'lhs' => 89, 'rhs' => 2 ),
  1755. array( 'lhs' => 98, 'rhs' => 3 ),
  1756. array( 'lhs' => 98, 'rhs' => 2 ),
  1757. array( 'lhs' => 99, 'rhs' => 2 ),
  1758. array( 'lhs' => 99, 'rhs' => 0 ),
  1759. array( 'lhs' => 114, 'rhs' => 2 ),
  1760. array( 'lhs' => 114, 'rhs' => 2 ),
  1761. array( 'lhs' => 105, 'rhs' => 1 ),
  1762. array( 'lhs' => 105, 'rhs' => 2 ),
  1763. array( 'lhs' => 105, 'rhs' => 1 ),
  1764. array( 'lhs' => 105, 'rhs' => 3 ),
  1765. array( 'lhs' => 105, 'rhs' => 4 ),
  1766. array( 'lhs' => 101, 'rhs' => 1 ),
  1767. array( 'lhs' => 101, 'rhs' => 1 ),
  1768. array( 'lhs' => 101, 'rhs' => 1 ),
  1769. array( 'lhs' => 101, 'rhs' => 1 ),
  1770. array( 'lhs' => 101, 'rhs' => 1 ),
  1771. array( 'lhs' => 101, 'rhs' => 1 ),
  1772. array( 'lhs' => 101, 'rhs' => 1 ),
  1773. array( 'lhs' => 101, 'rhs' => 1 ),
  1774. array( 'lhs' => 101, 'rhs' => 1 ),
  1775. array( 'lhs' => 102, 'rhs' => 1 ),
  1776. array( 'lhs' => 102, 'rhs' => 1 ),
  1777. array( 'lhs' => 102, 'rhs' => 1 ),
  1778. array( 'lhs' => 97, 'rhs' => 3 ),
  1779. array( 'lhs' => 115, 'rhs' => 1 ),
  1780. array( 'lhs' => 115, 'rhs' => 3 ),
  1781. array( 'lhs' => 115, 'rhs' => 0 ),
  1782. array( 'lhs' => 116, 'rhs' => 3 ),
  1783. array( 'lhs' => 116, 'rhs' => 3 ),
  1784. array( 'lhs' => 116, 'rhs' => 1 ),
  1785. array( 'lhs' => 104, 'rhs' => 2 ),
  1786. array( 'lhs' => 104, 'rhs' => 3 ),
  1787. array( 'lhs' => 117, 'rhs' => 2 ),
  1788. array( 'lhs' => 117, 'rhs' => 1 ),
  1789. array( 'lhs' => 118, 'rhs' => 3 ),
  1790. array( 'lhs' => 118, 'rhs' => 3 ),
  1791. array( 'lhs' => 118, 'rhs' => 1 ),
  1792. array( 'lhs' => 118, 'rhs' => 3 ),
  1793. array( 'lhs' => 118, 'rhs' => 3 ),
  1794. array( 'lhs' => 118, 'rhs' => 1 ),
  1795. array( 'lhs' => 118, 'rhs' => 1 ),
  1796. array( 'lhs' => 94, 'rhs' => 1 ),
  1797. array( 'lhs' => 94, 'rhs' => 0 ),
  1798. );
  1799. static public $yyReduceMap = array(
  1800. 0 => 0,
  1801. 1 => 1,
  1802. 2 => 1,
  1803. 4 => 4,
  1804. 5 => 5,
  1805. 6 => 6,
  1806. 7 => 7,
  1807. 8 => 8,
  1808. 9 => 9,
  1809. 10 => 10,
  1810. 11 => 11,
  1811. 12 => 12,
  1812. 13 => 13,
  1813. 14 => 14,
  1814. 15 => 15,
  1815. 18 => 15,
  1816. 16 => 16,
  1817. 17 => 17,
  1818. 96 => 17,
  1819. 98 => 17,
  1820. 99 => 17,
  1821. 157 => 17,
  1822. 19 => 19,
  1823. 20 => 19,
  1824. 71 => 19,
  1825. 95 => 19,
  1826. 100 => 19,
  1827. 101 => 19,
  1828. 106 => 19,
  1829. 108 => 19,
  1830. 109 => 19,
  1831. 115 => 19,
  1832. 156 => 19,
  1833. 174 => 19,
  1834. 21 => 21,
  1835. 22 => 21,
  1836. 23 => 23,
  1837. 24 => 24,
  1838. 25 => 25,
  1839. 26 => 26,
  1840. 27 => 27,
  1841. 28 => 27,
  1842. 30 => 27,
  1843. 31 => 27,
  1844. 29 => 29,
  1845. 32 => 32,
  1846. 33 => 32,
  1847. 34 => 34,
  1848. 35 => 34,
  1849. 36 => 36,
  1850. 37 => 36,
  1851. 38 => 38,
  1852. 39 => 39,
  1853. 40 => 40,
  1854. 41 => 41,
  1855. 42 => 42,
  1856. 43 => 43,
  1857. 44 => 43,
  1858. 45 => 45,
  1859. 46 => 46,
  1860. 47 => 47,
  1861. 60 => 47,
  1862. 146 => 47,
  1863. 150 => 47,
  1864. 158 => 47,
  1865. 179 => 47,
  1866. 48 => 48,
  1867. 49 => 49,
  1868. 50 => 50,
  1869. 51 => 51,
  1870. 52 => 52,
  1871. 53 => 53,
  1872. 54 => 54,
  1873. 55 => 55,
  1874. 56 => 56,
  1875. 57 => 57,
  1876. 58 => 58,
  1877. 59 => 59,
  1878. 61 => 61,
  1879. 62 => 62,
  1880. 63 => 63,
  1881. 64 => 63,
  1882. 65 => 63,
  1883. 66 => 66,
  1884. 67 => 67,
  1885. 68 => 68,
  1886. 69 => 69,
  1887. 70 => 70,
  1888. 72 => 72,
  1889. 73 => 73,
  1890. 74 => 73,
  1891. 75 => 73,
  1892. 76 => 76,
  1893. 130 => 76,
  1894. 191 => 76,
  1895. 77 => 77,
  1896. 78 => 78,
  1897. 81 => 78,
  1898. 92 => 78,
  1899. 79 => 79,
  1900. 80 => 80,
  1901. 82 => 82,
  1902. 83 => 83,
  1903. 84 => 84,
  1904. 89 => 84,
  1905. 85 => 85,
  1906. 88 => 85,
  1907. 86 => 86,
  1908. 91 => 86,
  1909. 87 => 87,
  1910. 90 => 87,
  1911. 93 => 93,
  1912. 94 => 94,
  1913. 97 => 97,
  1914. 102 => 102,
  1915. 103 => 103,
  1916. 104 => 104,
  1917. 105 => 105,
  1918. 107 => 107,
  1919. 110 => 110,
  1920. 111 => 111,
  1921. 112 => 112,
  1922. 113 => 113,
  1923. 114 => 114,
  1924. 116 => 116,
  1925. 117 => 117,
  1926. 118 => 118,
  1927. 119 => 119,
  1928. 120 => 120,
  1929. 121 => 121,
  1930. 122 => 122,
  1931. 123 => 123,
  1932. 124 => 124,
  1933. 125 => 125,
  1934. 128 => 125,
  1935. 126 => 126,
  1936. 127 => 127,
  1937. 129 => 129,
  1938. 131 => 131,
  1939. 132 => 132,
  1940. 133 => 133,
  1941. 134 => 134,
  1942. 135 => 135,
  1943. 136 => 136,
  1944. 137 => 137,
  1945. 138 => 138,
  1946. 139 => 139,
  1947. 140 => 140,
  1948. 141 => 141,
  1949. 142 => 142,
  1950. 143 => 143,
  1951. 144 => 144,
  1952. 145 => 145,
  1953. 147 => 147,
  1954. 148 => 148,
  1955. 149 => 149,
  1956. 151 => 151,
  1957. 152 => 152,
  1958. 153 => 153,
  1959. 192 => 153,
  1960. 154 => 154,
  1961. 155 => 154,
  1962. 159 => 159,
  1963. 160 => 160,
  1964. 161 => 161,
  1965. 162 => 162,
  1966. 163 => 163,
  1967. 164 => 164,
  1968. 165 => 165,
  1969. 166 => 166,
  1970. 167 => 167,
  1971. 168 => 168,
  1972. 169 => 169,
  1973. 170 => 170,
  1974. 171 => 171,
  1975. 172 => 172,
  1976. 173 => 173,
  1977. 175 => 175,
  1978. 176 => 176,
  1979. 177 => 177,
  1980. 178 => 178,
  1981. 180 => 180,
  1982. 181 => 181,
  1983. 182 => 182,
  1984. 183 => 183,
  1985. 184 => 184,
  1986. 185 => 184,
  1987. 187 => 184,
  1988. 186 => 186,
  1989. 188 => 188,
  1990. 189 => 189,
  1991. 190 => 190,
  1992. );
  1993. #line 93 "smarty_internal_templateparser.y"
  1994. function yy_r0(){ $this->_retvalue = $this->root_buffer->to_smarty_php(); }
  1995. #line 2027 "smarty_internal_templateparser.php"
  1996. #line 99 "smarty_internal_templateparser.y"
  1997. function yy_r1(){ $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor); }
  1998. #line 2030 "smarty_internal_templateparser.php"
  1999. #line 111 "smarty_internal_templateparser.y"
  2000. function yy_r4(){
  2001. if ($this->compiler->has_code) {
  2002. $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
  2003. $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true));
  2004. } else {
  2005. $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
  2006. }
  2007. $this->compiler->has_variable_string = false;
  2008. $this->block_nesting_level = count($this->compiler->_tag_stack);
  2009. }
  2010. #line 2042 "smarty_internal_templateparser.php"
  2011. #line 123 "smarty_internal_templateparser.y"
  2012. function yy_r5(){ $this->_retvalue = new _smarty_tag($this, ''); }
  2013. #line 2045 "smarty_internal_templateparser.php"
  2014. #line 126 "smarty_internal_templateparser.y"
  2015. function yy_r6(){ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); }
  2016. #line 2048 "smarty_internal_templateparser.php"
  2017. #line 129 "smarty_internal_templateparser.y"
  2018. function yy_r7(){
  2019. if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU) {
  2020. $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
  2021. } elseif ($this->sec_obj->php_handling == SMARTY_PHP_QUOTE) {
  2022. $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
  2023. }elseif ($this->sec_obj->php_handling == SMARTY_PHP_ALLOW) {
  2024. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<?php', true));
  2025. }elseif ($this->sec_obj->php_handling == SMARTY_PHP_REMOVE) {
  2026. $this->_retvalue = new _smarty_text($this, '');
  2027. }
  2028. }
  2029. #line 2061 "smarty_internal_templateparser.php"
  2030. #line 141 "smarty_internal_templateparser.y"
  2031. function yy_r8(){if ($this->is_xml) {
  2032. $this->compiler->tag_nocache = true;
  2033. $this->is_xml = true;
  2034. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>", $this->compiler, true));
  2035. }elseif ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU) {
  2036. $this->_retvalue = new _smarty_text($this, '?<?php ?>>');
  2037. } elseif ($this->sec_obj->php_handling == SMARTY_PHP_QUOTE) {
  2038. $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
  2039. }elseif ($this->sec_obj->php_handling == SMARTY_PHP_ALLOW) {
  2040. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true));
  2041. }elseif ($this->sec_obj->php_handling == SMARTY_PHP_REMOVE) {
  2042. $this->_retvalue = new _smarty_text($this, '');
  2043. }
  2044. }
  2045. #line 2077 "smarty_internal_templateparser.php"
  2046. #line 157 "smarty_internal_templateparser.y"
  2047. function yy_r9(){
  2048. if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU) {
  2049. $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
  2050. } elseif ($this->sec_obj->php_handling == SMARTY_PHP_QUOTE) {
  2051. $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
  2052. }elseif ($this->sec_obj->php_handling == SMARTY_PHP_ALLOW) {
  2053. if ($this->asp_tags) {
  2054. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true));
  2055. } else {
  2056. $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
  2057. }
  2058. }elseif ($this->sec_obj->php_handling == SMARTY_PHP_REMOVE) {
  2059. if ($this->asp_tags) {
  2060. $this->_retvalue = new _smarty_text($this, '');
  2061. } else {
  2062. $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
  2063. }
  2064. }
  2065. }
  2066. #line 2098 "smarty_internal_templateparser.php"
  2067. #line 178 "smarty_internal_templateparser.y"
  2068. function yy_r10(){
  2069. if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU) {
  2070. $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
  2071. } elseif ($this->sec_obj->php_handling == SMARTY_PHP_QUOTE) {
  2072. $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
  2073. }elseif ($this->sec_obj->php_handling == SMARTY_PHP_ALLOW) {
  2074. if ($this->asp_tags) {
  2075. $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true));
  2076. } else {
  2077. $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
  2078. }
  2079. }elseif ($this->sec_obj->php_handling == SMARTY_PHP_REMOVE) {
  2080. if ($this->asp_tags) {
  2081. $this->_retvalue = new _smarty_text($this, '');
  2082. } else {
  2083. $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
  2084. }
  2085. }
  2086. }
  2087. #line 2119 "smarty_internal_templateparser.php"
  2088. #line 198 "smarty_internal_templateparser.y"
  2089. function yy_r11(){if ($this->lex->strip) {
  2090. $this->_retvalue = new _smarty_text($this, preg_replace('![\$this->yystack[$this->yyidx + 0]->minor ]*[\r\n]+[\$this->yystack[$this->yyidx + 0]->minor ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)));
  2091. } else {
  2092. $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
  2093. }
  2094. }
  2095. #line 2127 "smarty_internal_templateparser.php"
  2096. #line 206 "smarty_internal_templateparser.y"
  2097. function yy_r12(){ $this->compiler->tag_nocache = true; $this->is_xml = true; $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true)); }
  2098. #line 2130 "smarty_internal_templateparser.php"
  2099. #line 209 "smarty_internal_templateparser.y"
  2100. function yy_r13(){if ($this->lex->strip) {
  2101. $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
  2102. } else {
  2103. $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
  2104. }
  2105. }
  2106. #line 2138 "smarty_internal_templateparser.php"
  2107. #line 215 "smarty_internal_templateparser.y"
  2108. function yy_r14(){
  2109. $this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor);
  2110. }
  2111. #line 2143 "smarty_internal_templateparser.php"
  2112. #line 220 "smarty_internal_templateparser.y"
  2113. function yy_r15(){ $this->_retvalue = ''; }
  2114. #line 2146 "smarty_internal_templateparser.php"
  2115. #line 221 "smarty_internal_templateparser.y"
  2116. function yy_r16(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
  2117. #line 2149 "smarty_internal_templateparser.php"
  2118. #line 223 "smarty_internal_templateparser.y"
  2119. function yy_r17(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
  2120. #line 2152 "smarty_internal_templateparser.php"
  2121. #line 226 "smarty_internal_templateparser.y"
  2122. function yy_r19(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
  2123. #line 2155 "smarty_internal_templateparser.php"
  2124. #line 228 "smarty_internal_templateparser.y"
  2125. function yy_r21(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); }
  2126. #line 2158 "smarty_internal_templateparser.php"
  2127. #line 230 "smarty_internal_templateparser.y"
  2128. function yy_r23(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor); }
  2129. #line 2161 "smarty_internal_templateparser.php"
  2130. #line 231 "smarty_internal_templateparser.y"
  2131. function yy_r24(){ $this->_retvalue = '<<?php ?>%'; }
  2132. #line 2164 "smarty_internal_templateparser.php"
  2133. #line 232 "smarty_internal_templateparser.y"
  2134. function yy_r25(){ $this->_retvalue = '%<?php ?>>'; }
  2135. #line 2167 "smarty_internal_templateparser.php"
  2136. #line 240 "smarty_internal_templateparser.y"
  2137. function yy_r26(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array('value'=>$this->yystack[$this->yyidx + -1]->minor)); }
  2138. #line 2170 "smarty_internal_templateparser.php"
  2139. #line 241 "smarty_internal_templateparser.y"
  2140. function yy_r27(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); }
  2141. #line 2173 "smarty_internal_templateparser.php"
  2142. #line 243 "smarty_internal_templateparser.y"
  2143. function yy_r29(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); }
  2144. #line 2176 "smarty_internal_templateparser.php"
  2145. #line 253 "smarty_internal_templateparser.y"
  2146. function yy_r32(){ $this->_retvalue = $this->compiler->compileTag('assign',array('value'=>$this->yystack[$this->yyidx + -1]->minor,'var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'")); }
  2147. #line 2179 "smarty_internal_templateparser.php"
  2148. #line 255 "smarty_internal_templateparser.y"
  2149. function yy_r34(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor,'var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'"),$this->yystack[$this->yyidx + -1]->minor)); }
  2150. #line 2182 "smarty_internal_templateparser.php"
  2151. #line 257 "smarty_internal_templateparser.y"
  2152. function yy_r36(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor)); }
  2153. #line 2185 "smarty_internal_templateparser.php"
  2154. #line 260 "smarty_internal_templateparser.y"
  2155. function yy_r38(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); }
  2156. #line 2188 "smarty_internal_templateparser.php"
  2157. #line 261 "smarty_internal_templateparser.y"
  2158. function yy_r39(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); }
  2159. #line 2191 "smarty_internal_templateparser.php"
  2160. #line 263 "smarty_internal_templateparser.y"
  2161. function yy_r40(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); }
  2162. #line 2194 "smarty_internal_templateparser.php"
  2163. #line 265 "smarty_internal_templateparser.y"
  2164. function yy_r41(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
  2165. $this->_retvalue .= $this->compiler->compileTag('private_modifier',array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
  2166. }
  2167. #line 2199 "smarty_internal_templateparser.php"
  2168. #line 269 "smarty_internal_templateparser.y"
  2169. function yy_r42(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor),$this->yystack[$this->yyidx + -1]->minor)).'<?php echo ';
  2170. $this->_retvalue .= $this->compiler->compileTag('private_modifier',array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
  2171. }
  2172. #line 2204 "smarty_internal_templateparser.php"
  2173. #line 273 "smarty_internal_templateparser.y"
  2174. function yy_r43(){ $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); }
  2175. #line 2207 "smarty_internal_templateparser.php"
  2176. #line 276 "smarty_internal_templateparser.y"
  2177. function yy_r45(){
  2178. $this->_retvalue = $this->compiler->compileTag('for',array('start'=>$this->yystack[$this->yyidx + -9]->minor,'ifexp'=>$this->yystack[$this->yyidx + -6]->minor,'varloop'=>$this->yystack[$this->yyidx + -2]->minor,'loop'=>$this->yystack[$this->yyidx + -1]->minor)); }
  2179. #line 2211 "smarty_internal_templateparser.php"
  2180. #line 279 "smarty_internal_templateparser.y"
  2181. function yy_r46(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; }
  2182. #line 2214 "smarty_internal_templateparser.php"
  2183. #line 280 "smarty_internal_templateparser.y"
  2184. function yy_r47(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
  2185. #line 2217 "smarty_internal_templateparser.php"
  2186. #line 281 "smarty_internal_templateparser.y"
  2187. function yy_r48(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge(array('start'=>$this->yystack[$this->yyidx + -4]->minor,'to'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); }
  2188. #line 2220 "smarty_internal_templateparser.php"
  2189. #line 282 "smarty_internal_templateparser.y"
  2190. function yy_r49(){ $this->_retvalue = $this->compiler->compileTag('for',array('start'=>$this->yystack[$this->yyidx + -5]->minor,'to'=>$this->yystack[$this->yyidx + -3]->minor,'step'=>$this->yystack[$this->yyidx + -1]->minor)); }
  2191. #line 2223 "smarty_internal_templateparser.php"
  2192. #line 284 "smarty_internal_templateparser.y"
  2193. function yy_r50(){ $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor); }
  2194. #line 2226 "smarty_internal_templateparser.php"
  2195. #line 286 "smarty_internal_templateparser.y"
  2196. function yy_r51(){
  2197. $this->_retvalue = $this->compiler->compileTag('foreach',array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); }
  2198. #line 2230 "smarty_internal_templateparser.php"
  2199. #line 288 "smarty_internal_templateparser.y"
  2200. function yy_r52(){
  2201. $this->_retvalue = $this->compiler->compileTag('foreach',array('from'=>$this->yystack[$this->yyidx + -7]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor,'key'=>$this->yystack[$this->yyidx + -4]->minor)); }
  2202. #line 2234 "smarty_internal_templateparser.php"
  2203. #line 290 "smarty_internal_templateparser.y"
  2204. function yy_r53(){
  2205. $this->_retvalue = $this->compiler->compileTag('foreach',array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); }
  2206. #line 2238 "smarty_internal_templateparser.php"
  2207. #line 292 "smarty_internal_templateparser.y"
  2208. function yy_r54(){
  2209. $this->_retvalue = $this->compiler->compileTag('foreach',array('from'=>$this->yystack[$this->yyidx + -7]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor,'key'=>$this->yystack[$this->yyidx + -4]->minor)); }
  2210. #line 2242 "smarty_internal_templateparser.php"
  2211. #line 296 "smarty_internal_templateparser.y"
  2212. function yy_r55(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); }
  2213. #line 2245 "smarty_internal_templateparser.php"
  2214. #line 297 "smarty_internal_templateparser.y"
  2215. function yy_r56(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',$this->yystack[$this->yyidx + -1]->minor); }
  2216. #line 2248 "smarty_internal_templateparser.php"
  2217. #line 298 "smarty_internal_templateparser.y"
  2218. function yy_r57(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
  2219. $this->_retvalue .= $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -3]->minor,'params'=>'ob_get_clean()'.$this->yystack[$this->yyidx + -2]->minor)).'?>';
  2220. }
  2221. #line 2253 "smarty_internal_templateparser.php"
  2222. #line 302 "smarty_internal_templateparser.y"
  2223. function yy_r58(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); }
  2224. #line 2256 "smarty_internal_templateparser.php"
  2225. #line 308 "smarty_internal_templateparser.y"
  2226. function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; $this->_retvalue[key($this->yystack[$this->yyidx + 0]->minor)] = $this->yystack[$this->yyidx + 0]->minor[key($this->yystack[$this->yyidx + 0]->minor)]; }
  2227. #line 2259 "smarty_internal_templateparser.php"
  2228. #line 312 "smarty_internal_templateparser.y"
  2229. function yy_r61(){ $this->_retvalue = array(); }
  2230. #line 2262 "smarty_internal_templateparser.php"
  2231. #line 315 "smarty_internal_templateparser.y"
  2232. function yy_r62(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  2233. $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true');
  2234. } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  2235. $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false');
  2236. } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  2237. $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null');
  2238. } else
  2239. $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'"); }
  2240. #line 2272 "smarty_internal_templateparser.php"
  2241. #line 323 "smarty_internal_templateparser.y"
  2242. function yy_r63(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
  2243. #line 2275 "smarty_internal_templateparser.php"
  2244. #line 326 "smarty_internal_templateparser.y"
  2245. function yy_r66(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor=>'true'); }
  2246. #line 2278 "smarty_internal_templateparser.php"
  2247. #line 327 "smarty_internal_templateparser.y"
  2248. function yy_r67(){$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
  2249. #line 2281 "smarty_internal_templateparser.php"
  2250. #line 333 "smarty_internal_templateparser.y"
  2251. function yy_r68(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
  2252. #line 2284 "smarty_internal_templateparser.php"
  2253. #line 334 "smarty_internal_templateparser.y"
  2254. function yy_r69(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; }
  2255. #line 2287 "smarty_internal_templateparser.php"
  2256. #line 336 "smarty_internal_templateparser.y"
  2257. function yy_r70(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); }
  2258. #line 2290 "smarty_internal_templateparser.php"
  2259. #line 345 "smarty_internal_templateparser.y"
  2260. function yy_r72(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; }
  2261. #line 2293 "smarty_internal_templateparser.php"
  2262. #line 347 "smarty_internal_templateparser.y"
  2263. function yy_r73(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; }
  2264. #line 2296 "smarty_internal_templateparser.php"
  2265. #line 353 "smarty_internal_templateparser.y"
  2266. function yy_r76(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
  2267. #line 2299 "smarty_internal_templateparser.php"
  2268. #line 357 "smarty_internal_templateparser.y"
  2269. function yy_r77(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); }
  2270. #line 2302 "smarty_internal_templateparser.php"
  2271. #line 362 "smarty_internal_templateparser.y"
  2272. function yy_r78(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
  2273. #line 2305 "smarty_internal_templateparser.php"
  2274. #line 363 "smarty_internal_templateparser.y"
  2275. function yy_r79(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; }
  2276. #line 2308 "smarty_internal_templateparser.php"
  2277. #line 364 "smarty_internal_templateparser.y"
  2278. function yy_r80(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; }
  2279. #line 2311 "smarty_internal_templateparser.php"
  2280. #line 366 "smarty_internal_templateparser.y"
  2281. function yy_r82(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
  2282. #line 2314 "smarty_internal_templateparser.php"
  2283. #line 367 "smarty_internal_templateparser.y"
  2284. function yy_r83(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
  2285. #line 2317 "smarty_internal_templateparser.php"
  2286. #line 368 "smarty_internal_templateparser.y"
  2287. function yy_r84(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
  2288. #line 2320 "smarty_internal_templateparser.php"
  2289. #line 369 "smarty_internal_templateparser.y"
  2290. function yy_r85(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
  2291. #line 2323 "smarty_internal_templateparser.php"
  2292. #line 370 "smarty_internal_templateparser.y"
  2293. function yy_r86(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
  2294. #line 2326 "smarty_internal_templateparser.php"
  2295. #line 371 "smarty_internal_templateparser.y"
  2296. function yy_r87(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
  2297. #line 2329 "smarty_internal_templateparser.php"
  2298. #line 377 "smarty_internal_templateparser.y"
  2299. function yy_r93(){$this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number; }
  2300. #line 2332 "smarty_internal_templateparser.php"
  2301. #line 383 "smarty_internal_templateparser.y"
  2302. function yy_r94(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; }
  2303. #line 2335 "smarty_internal_templateparser.php"
  2304. #line 390 "smarty_internal_templateparser.y"
  2305. function yy_r97(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; }
  2306. #line 2338 "smarty_internal_templateparser.php"
  2307. #line 396 "smarty_internal_templateparser.y"
  2308. function yy_r102(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
  2309. #line 2341 "smarty_internal_templateparser.php"
  2310. #line 397 "smarty_internal_templateparser.y"
  2311. function yy_r103(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; }
  2312. #line 2344 "smarty_internal_templateparser.php"
  2313. #line 398 "smarty_internal_templateparser.y"
  2314. function yy_r104(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; }
  2315. #line 2347 "smarty_internal_templateparser.php"
  2316. #line 400 "smarty_internal_templateparser.y"
  2317. function yy_r105(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  2318. $this->_retvalue = 'true';
  2319. } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  2320. $this->_retvalue = 'false';
  2321. } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
  2322. $this->_retvalue = 'null';
  2323. } else
  2324. $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; }
  2325. #line 2357 "smarty_internal_templateparser.php"
  2326. #line 411 "smarty_internal_templateparser.y"
  2327. function yy_r107(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; }
  2328. #line 2360 "smarty_internal_templateparser.php"
  2329. #line 417 "smarty_internal_templateparser.y"
  2330. function yy_r110(){if ((!$this->template->security || $this->smarty->security_handler->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->minor, $this->compiler)) || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) {
  2331. if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) {
  2332. $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor;
  2333. } else {
  2334. $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;
  2335. }
  2336. } else {
  2337. $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting");
  2338. }
  2339. }
  2340. #line 2372 "smarty_internal_templateparser.php"
  2341. #line 427 "smarty_internal_templateparser.y"
  2342. function yy_r111(){ if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;} else {
  2343. $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].'::'.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor['var'],"'"), null, true, false)->nocache;} }
  2344. #line 2376 "smarty_internal_templateparser.php"
  2345. #line 430 "smarty_internal_templateparser.y"
  2346. function yy_r112(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; }
  2347. #line 2379 "smarty_internal_templateparser.php"
  2348. #line 439 "smarty_internal_templateparser.y"
  2349. function yy_r113(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
  2350. } else {
  2351. if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + 0]->minor['var']])) {
  2352. $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + 0]->minor['var'] .']->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
  2353. } else {
  2354. $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
  2355. }
  2356. $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"), null, true, false)->nocache;} }
  2357. #line 2389 "smarty_internal_templateparser.php"
  2358. #line 448 "smarty_internal_templateparser.y"
  2359. function yy_r114(){if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + -2]->minor])) {
  2360. $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor;
  2361. } else {
  2362. $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor;
  2363. }
  2364. $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; }
  2365. #line 2397 "smarty_internal_templateparser.php"
  2366. #line 457 "smarty_internal_templateparser.y"
  2367. function yy_r116(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; }
  2368. #line 2400 "smarty_internal_templateparser.php"
  2369. #line 458 "smarty_internal_templateparser.y"
  2370. function yy_r117(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; }
  2371. #line 2403 "smarty_internal_templateparser.php"
  2372. #line 461 "smarty_internal_templateparser.y"
  2373. function yy_r118(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); }
  2374. #line 2406 "smarty_internal_templateparser.php"
  2375. #line 467 "smarty_internal_templateparser.y"
  2376. function yy_r119(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
  2377. #line 2409 "smarty_internal_templateparser.php"
  2378. #line 469 "smarty_internal_templateparser.y"
  2379. function yy_r120(){return; }
  2380. #line 2412 "smarty_internal_templateparser.php"
  2381. #line 473 "smarty_internal_templateparser.y"
  2382. function yy_r121(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor .')->value]'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor', null, true, false)->nocache; }
  2383. #line 2415 "smarty_internal_templateparser.php"
  2384. #line 474 "smarty_internal_templateparser.y"
  2385. function yy_r122(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor.']'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; }
  2386. #line 2418 "smarty_internal_templateparser.php"
  2387. #line 475 "smarty_internal_templateparser.y"
  2388. function yy_r123(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; }
  2389. #line 2421 "smarty_internal_templateparser.php"
  2390. #line 476 "smarty_internal_templateparser.y"
  2391. function yy_r124(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; }
  2392. #line 2424 "smarty_internal_templateparser.php"
  2393. #line 477 "smarty_internal_templateparser.y"
  2394. function yy_r125(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; }
  2395. #line 2427 "smarty_internal_templateparser.php"
  2396. #line 479 "smarty_internal_templateparser.y"
  2397. function yy_r126(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; }
  2398. #line 2430 "smarty_internal_templateparser.php"
  2399. #line 480 "smarty_internal_templateparser.y"
  2400. function yy_r127(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable','[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; }
  2401. #line 2433 "smarty_internal_templateparser.php"
  2402. #line 484 "smarty_internal_templateparser.y"
  2403. function yy_r129(){$this->_retvalue = '[]'; }
  2404. #line 2436 "smarty_internal_templateparser.php"
  2405. #line 492 "smarty_internal_templateparser.y"
  2406. function yy_r131(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
  2407. #line 2439 "smarty_internal_templateparser.php"
  2408. #line 494 "smarty_internal_templateparser.y"
  2409. function yy_r132(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; }
  2410. #line 2442 "smarty_internal_templateparser.php"
  2411. #line 496 "smarty_internal_templateparser.y"
  2412. function yy_r133(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; }
  2413. #line 2445 "smarty_internal_templateparser.php"
  2414. #line 501 "smarty_internal_templateparser.y"
  2415. function yy_r134(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;} else {
  2416. $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"), null, true, false)->nocache;} }
  2417. #line 2449 "smarty_internal_templateparser.php"
  2418. #line 504 "smarty_internal_templateparser.y"
  2419. function yy_r135(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
  2420. #line 2452 "smarty_internal_templateparser.php"
  2421. #line 506 "smarty_internal_templateparser.y"
  2422. function yy_r136(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
  2423. #line 2455 "smarty_internal_templateparser.php"
  2424. #line 508 "smarty_internal_templateparser.y"
  2425. function yy_r137(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
  2426. #line 2458 "smarty_internal_templateparser.php"
  2427. #line 509 "smarty_internal_templateparser.y"
  2428. function yy_r138(){ $this->_retvalue = '->{$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor .')->value'.$this->yystack[$this->yyidx + 0]->minor.'}'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor,"'"), null, true, false)->nocache; }
  2429. #line 2461 "smarty_internal_templateparser.php"
  2430. #line 510 "smarty_internal_templateparser.y"
  2431. function yy_r139(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; }
  2432. #line 2464 "smarty_internal_templateparser.php"
  2433. #line 511 "smarty_internal_templateparser.y"
  2434. function yy_r140(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; }
  2435. #line 2467 "smarty_internal_templateparser.php"
  2436. #line 513 "smarty_internal_templateparser.y"
  2437. function yy_r141(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; }
  2438. #line 2470 "smarty_internal_templateparser.php"
  2439. #line 519 "smarty_internal_templateparser.y"
  2440. function yy_r142(){if (!$this->template->security || $this->smarty->security_handler->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) {
  2441. if ($this->yystack[$this->yyidx + -3]->minor == 'isset' || $this->yystack[$this->yyidx + -3]->minor == 'empty' || $this->yystack[$this->yyidx + -3]->minor == 'array' || is_callable($this->yystack[$this->yyidx + -3]->minor)) {
  2442. $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")";
  2443. } else {
  2444. $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\"");
  2445. }
  2446. } }
  2447. #line 2479 "smarty_internal_templateparser.php"
  2448. #line 530 "smarty_internal_templateparser.y"
  2449. function yy_r143(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; }
  2450. #line 2482 "smarty_internal_templateparser.php"
  2451. #line 531 "smarty_internal_templateparser.y"
  2452. function yy_r144(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = '$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -1]->minor .')'; }
  2453. #line 2485 "smarty_internal_templateparser.php"
  2454. #line 535 "smarty_internal_templateparser.y"
  2455. function yy_r145(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor; }
  2456. #line 2488 "smarty_internal_templateparser.php"
  2457. #line 539 "smarty_internal_templateparser.y"
  2458. function yy_r147(){ return; }
  2459. #line 2491 "smarty_internal_templateparser.php"
  2460. #line 544 "smarty_internal_templateparser.y"
  2461. function yy_r148(){$this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor)); }
  2462. #line 2494 "smarty_internal_templateparser.php"
  2463. #line 545 "smarty_internal_templateparser.y"
  2464. function yy_r149(){$this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor); }
  2465. #line 2497 "smarty_internal_templateparser.php"
  2466. #line 548 "smarty_internal_templateparser.y"
  2467. function yy_r151(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
  2468. #line 2500 "smarty_internal_templateparser.php"
  2469. #line 553 "smarty_internal_templateparser.y"
  2470. function yy_r152(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
  2471. #line 2503 "smarty_internal_templateparser.php"
  2472. #line 555 "smarty_internal_templateparser.y"
  2473. function yy_r153(){$this->_retvalue = ''; }
  2474. #line 2506 "smarty_internal_templateparser.php"
  2475. #line 557 "smarty_internal_templateparser.y"
  2476. function yy_r154(){$this->_retvalue = ':'.$this->yystack[$this->yyidx + 0]->minor; }
  2477. #line 2509 "smarty_internal_templateparser.php"
  2478. #line 567 "smarty_internal_templateparser.y"
  2479. function yy_r159(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
  2480. #line 2512 "smarty_internal_templateparser.php"
  2481. #line 569 "smarty_internal_templateparser.y"
  2482. function yy_r160(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
  2483. #line 2515 "smarty_internal_templateparser.php"
  2484. #line 578 "smarty_internal_templateparser.y"
  2485. function yy_r161(){$this->_retvalue = '=='; }
  2486. #line 2518 "smarty_internal_templateparser.php"
  2487. #line 579 "smarty_internal_templateparser.y"
  2488. function yy_r162(){$this->_retvalue = '!='; }
  2489. #line 2521 "smarty_internal_templateparser.php"
  2490. #line 580 "smarty_internal_templateparser.y"
  2491. function yy_r163(){$this->_retvalue = '>'; }
  2492. #line 2524 "smarty_internal_templateparser.php"
  2493. #line 581 "smarty_internal_templateparser.y"
  2494. function yy_r164(){$this->_retvalue = '<'; }
  2495. #line 2527 "smarty_internal_templateparser.php"
  2496. #line 582 "smarty_internal_templateparser.y"
  2497. function yy_r165(){$this->_retvalue = '>='; }
  2498. #line 2530 "smarty_internal_templateparser.php"
  2499. #line 583 "smarty_internal_templateparser.y"
  2500. function yy_r166(){$this->_retvalue = '<='; }
  2501. #line 2533 "smarty_internal_templateparser.php"
  2502. #line 584 "smarty_internal_templateparser.y"
  2503. function yy_r167(){$this->_retvalue = '==='; }
  2504. #line 2536 "smarty_internal_templateparser.php"
  2505. #line 585 "smarty_internal_templateparser.y"
  2506. function yy_r168(){$this->_retvalue = '!=='; }
  2507. #line 2539 "smarty_internal_templateparser.php"
  2508. #line 586 "smarty_internal_templateparser.y"
  2509. function yy_r169(){$this->_retvalue = '%'; }
  2510. #line 2542 "smarty_internal_templateparser.php"
  2511. #line 588 "smarty_internal_templateparser.y"
  2512. function yy_r170(){$this->_retvalue = '&&'; }
  2513. #line 2545 "smarty_internal_templateparser.php"
  2514. #line 589 "smarty_internal_templateparser.y"
  2515. function yy_r171(){$this->_retvalue = '||'; }
  2516. #line 2548 "smarty_internal_templateparser.php"
  2517. #line 590 "smarty_internal_templateparser.y"
  2518. function yy_r172(){$this->_retvalue = ' XOR '; }
  2519. #line 2551 "smarty_internal_templateparser.php"
  2520. #line 595 "smarty_internal_templateparser.y"
  2521. function yy_r173(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; }
  2522. #line 2554 "smarty_internal_templateparser.php"
  2523. #line 597 "smarty_internal_templateparser.y"
  2524. function yy_r175(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; }
  2525. #line 2557 "smarty_internal_templateparser.php"
  2526. #line 598 "smarty_internal_templateparser.y"
  2527. function yy_r176(){ return; }
  2528. #line 2560 "smarty_internal_templateparser.php"
  2529. #line 599 "smarty_internal_templateparser.y"
  2530. function yy_r177(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; }
  2531. #line 2563 "smarty_internal_templateparser.php"
  2532. #line 600 "smarty_internal_templateparser.y"
  2533. function yy_r178(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; }
  2534. #line 2566 "smarty_internal_templateparser.php"
  2535. #line 607 "smarty_internal_templateparser.y"
  2536. function yy_r180(){ $this->_retvalue = "''"; }
  2537. #line 2569 "smarty_internal_templateparser.php"
  2538. #line 608 "smarty_internal_templateparser.y"
  2539. function yy_r181(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); }
  2540. #line 2572 "smarty_internal_templateparser.php"
  2541. #line 610 "smarty_internal_templateparser.y"
  2542. function yy_r182(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
  2543. #line 2575 "smarty_internal_templateparser.php"
  2544. #line 611 "smarty_internal_templateparser.y"
  2545. function yy_r183(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); }
  2546. #line 2578 "smarty_internal_templateparser.php"
  2547. #line 613 "smarty_internal_templateparser.y"
  2548. function yy_r184(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); }
  2549. #line 2581 "smarty_internal_templateparser.php"
  2550. #line 615 "smarty_internal_templateparser.y"
  2551. function yy_r186(){if (isset($this->compiler->local_var["'".substr($this->yystack[$this->yyidx + 0]->minor,1)."'"])) {
  2552. $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value');
  2553. } else {
  2554. $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->getVariable(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')->value');
  2555. }
  2556. $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"), null, true, false)->nocache;
  2557. }
  2558. #line 2590 "smarty_internal_templateparser.php"
  2559. #line 623 "smarty_internal_templateparser.y"
  2560. function yy_r188(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); }
  2561. #line 2593 "smarty_internal_templateparser.php"
  2562. #line 624 "smarty_internal_templateparser.y"
  2563. function yy_r189(){
  2564. $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
  2565. }
  2566. #line 2598 "smarty_internal_templateparser.php"
  2567. #line 627 "smarty_internal_templateparser.y"
  2568. function yy_r190(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); }
  2569. #line 2601 "smarty_internal_templateparser.php"
  2570. private $_retvalue;
  2571. function yy_reduce($yyruleno)
  2572. {
  2573. $yymsp = $this->yystack[$this->yyidx];
  2574. if (self::$yyTraceFILE && $yyruleno >= 0
  2575. && $yyruleno < count(self::$yyRuleName)) {
  2576. fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
  2577. self::$yyTracePrompt, $yyruleno,
  2578. self::$yyRuleName[$yyruleno]);
  2579. }
  2580. $this->_retvalue = $yy_lefthand_side = null;
  2581. if (array_key_exists($yyruleno, self::$yyReduceMap)) {
  2582. // call the action
  2583. $this->_retvalue = null;
  2584. $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
  2585. $yy_lefthand_side = $this->_retvalue;
  2586. }
  2587. $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
  2588. $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
  2589. $this->yyidx -= $yysize;
  2590. for($i = $yysize; $i; $i--) {
  2591. // pop all of the right-hand side parameters
  2592. array_pop($this->yystack);
  2593. }
  2594. $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
  2595. if ($yyact < self::YYNSTATE) {
  2596. if (!self::$yyTraceFILE && $yysize) {
  2597. $this->yyidx++;
  2598. $x = new TP_yyStackEntry;
  2599. $x->stateno = $yyact;
  2600. $x->major = $yygoto;
  2601. $x->minor = $yy_lefthand_side;
  2602. $this->yystack[$this->yyidx] = $x;
  2603. } else {
  2604. $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
  2605. }
  2606. } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
  2607. $this->yy_accept();
  2608. }
  2609. }
  2610. function yy_parse_failed()
  2611. {
  2612. if (self::$yyTraceFILE) {
  2613. fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
  2614. }
  2615. while ($this->yyidx >= 0) {
  2616. $this->yy_pop_parser_stack();
  2617. }
  2618. }
  2619. function yy_syntax_error($yymajor, $TOKEN)
  2620. {
  2621. #line 75 "smarty_internal_templateparser.y"
  2622. $this->internalError = true;
  2623. $this->yymajor = $yymajor;
  2624. $this->compiler->trigger_template_error();
  2625. #line 2664 "smarty_internal_templateparser.php"
  2626. }
  2627. function yy_accept()
  2628. {
  2629. if (self::$yyTraceFILE) {
  2630. fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
  2631. }
  2632. while ($this->yyidx >= 0) {
  2633. $stack = $this->yy_pop_parser_stack();
  2634. }
  2635. #line 67 "smarty_internal_templateparser.y"
  2636. $this->successful = !$this->internalError;
  2637. $this->internalError = false;
  2638. $this->retvalue = $this->_retvalue;
  2639. //echo $this->retvalue."\n\n";
  2640. #line 2682 "smarty_internal_templateparser.php"
  2641. }
  2642. function doParse($yymajor, $yytokenvalue)
  2643. {
  2644. $yyerrorhit = 0; /* True if yymajor has invoked an error */
  2645. if ($this->yyidx === null || $this->yyidx < 0) {
  2646. $this->yyidx = 0;
  2647. $this->yyerrcnt = -1;
  2648. $x = new TP_yyStackEntry;
  2649. $x->stateno = 0;
  2650. $x->major = 0;
  2651. $this->yystack = array();
  2652. array_push($this->yystack, $x);
  2653. }
  2654. $yyendofinput = ($yymajor==0);
  2655. if (self::$yyTraceFILE) {
  2656. fprintf(self::$yyTraceFILE, "%sInput %s\n",
  2657. self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
  2658. }
  2659. do {
  2660. $yyact = $this->yy_find_shift_action($yymajor);
  2661. if ($yymajor < self::YYERRORSYMBOL &&
  2662. !$this->yy_is_expected_token($yymajor)) {
  2663. // force a syntax error
  2664. $yyact = self::YY_ERROR_ACTION;
  2665. }
  2666. if ($yyact < self::YYNSTATE) {
  2667. $this->yy_shift($yyact, $yymajor, $yytokenvalue);
  2668. $this->yyerrcnt--;
  2669. if ($yyendofinput && $this->yyidx >= 0) {
  2670. $yymajor = 0;
  2671. } else {
  2672. $yymajor = self::YYNOCODE;
  2673. }
  2674. } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
  2675. $this->yy_reduce($yyact - self::YYNSTATE);
  2676. } elseif ($yyact == self::YY_ERROR_ACTION) {
  2677. if (self::$yyTraceFILE) {
  2678. fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
  2679. self::$yyTracePrompt);
  2680. }
  2681. if (self::YYERRORSYMBOL) {
  2682. if ($this->yyerrcnt < 0) {
  2683. $this->yy_syntax_error($yymajor, $yytokenvalue);
  2684. }
  2685. $yymx = $this->yystack[$this->yyidx]->major;
  2686. if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
  2687. if (self::$yyTraceFILE) {
  2688. fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
  2689. self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
  2690. }
  2691. $this->yy_destructor($yymajor, $yytokenvalue);
  2692. $yymajor = self::YYNOCODE;
  2693. } else {
  2694. while ($this->yyidx >= 0 &&
  2695. $yymx != self::YYERRORSYMBOL &&
  2696. ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
  2697. ){
  2698. $this->yy_pop_parser_stack();
  2699. }
  2700. if ($this->yyidx < 0 || $yymajor==0) {
  2701. $this->yy_destructor($yymajor, $yytokenvalue);
  2702. $this->yy_parse_failed();
  2703. $yymajor = self::YYNOCODE;
  2704. } elseif ($yymx != self::YYERRORSYMBOL) {
  2705. $u2 = 0;
  2706. $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
  2707. }
  2708. }
  2709. $this->yyerrcnt = 3;
  2710. $yyerrorhit = 1;
  2711. } else {
  2712. if ($this->yyerrcnt <= 0) {
  2713. $this->yy_syntax_error($yymajor, $yytokenvalue);
  2714. }
  2715. $this->yyerrcnt = 3;
  2716. $this->yy_destructor($yymajor, $yytokenvalue);
  2717. if ($yyendofinput) {
  2718. $this->yy_parse_failed();
  2719. }
  2720. $yymajor = self::YYNOCODE;
  2721. }
  2722. } else {
  2723. $this->yy_accept();
  2724. $yymajor = self::YYNOCODE;
  2725. }
  2726. } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
  2727. }
  2728. }
  2729. ?>