From 5be5d4cf282c492c74a7739419eb15de054e66aa Mon Sep 17 00:00:00 2001 From: "Uwe.Tews" Date: Tue, 13 Oct 2009 19:44:38 +0000 Subject: [PATCH] - do not recompile evaluated templates if reused just with other data - recompile config files when config properties did change - some lexer/parser otimizations --- change_log.txt | 5 + libs/Smarty.class.php | 40 +- libs/sysplugins/internal.compile_include.php | 9 +- libs/sysplugins/internal.config.php | 4 +- libs/sysplugins/internal.template.php | 2 +- libs/sysplugins/internal.templatelexer.php | 3 + libs/sysplugins/internal.templateparser.php | 2243 +++++++++--------- 7 files changed, 1151 insertions(+), 1155 deletions(-) diff --git a/change_log.txt b/change_log.txt index 50572aa9..bbc465de 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,3 +1,8 @@ +10/13/2009 +- do not recompile evaluated templates if reused just with other data +- recompile config files when config properties did change +- some lexer/parser otimizations + 10/11/2009 - allow {block} tags inside included templates - bugfix for resource plugins in Smarty2 format diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index 13240348..eb6171ae 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -122,6 +122,8 @@ class Smarty extends Smarty_Internal_TemplateBase { public $compile_error = false; // caching enabled public $caching = false; + // merge compiled includea + public $merge_compiled_includes = true; // cache lifetime public $cache_lifetime = 0; // force cache file creation @@ -151,7 +153,7 @@ class Smarty extends Smarty_Internal_TemplateBase { // config var settings public $config_overwrite = true; //Controls whether variables with the same name overwrite each other. public $config_booleanize = true; //Controls whether config values of on/true/yes and off/false/no get converted to boolean - public $config_read_hidden = true; //Controls whether hidden config sections/vars are read from the file. + public $config_read_hidden = true; //Controls whether hidden config sections/vars are read from the file. // config vars public $config_vars = array(); // assigned tpl vars @@ -179,7 +181,7 @@ class Smarty extends Smarty_Internal_TemplateBase { // check If-Modified-Since headers public $cache_modified_check = false; // cached objects - public $resource_objects = array(); + public $resource_objects = array(); // registered plugins public $registered_plugins = array(); // plugin search order @@ -286,6 +288,7 @@ class Smarty extends Smarty_Internal_TemplateBase { */ public function fetch($template, $cache_id = null, $compile_id = null, $parent = null) { + $this->checkDebugging(); if (is_object($cache_id)) { $parent = $cache_id; $cache_id = null; @@ -315,18 +318,15 @@ class Smarty extends Smarty_Internal_TemplateBase { * @param object $parent next higher level of Smarty variables */ public function display($template, $cache_id = null, $compile_id = null, $parent = null) - { + { if (is_object($cache_id)) { $parent = $cache_id; $cache_id = null; } // display template echo $this->fetch ($template, $cache_id, $compile_id, $parent); - // debug output? - if ($this->debugging) { - $this->loadPlugin('Smarty_Internal_Debug'); - Smarty_Internal_Debug::display_debug($this); - } + // debug output + $this->displayDebugInfo(); return true; } @@ -340,6 +340,7 @@ class Smarty extends Smarty_Internal_TemplateBase { */ public function is_cached($template, $cache_id = null, $compile_id = null) { + $this->checkDebugging(); if (!($template instanceof $this->template_class)) { $template = $this->createTemplate ($template, $cache_id, $compile_id, $this); } @@ -492,6 +493,26 @@ class Smarty extends Smarty_Internal_TemplateBase { return set_exception_handler($handler); } + /** + * Check if debugging handler must be loaded + */ + public function checkDebugging() + { + if ($this->debugging && !class_exists('Smarty_Internal_Debug', false)) { + $this->loadPlugin('Smarty_Internal_Debug'); + } + } + + /** + * Display debug info + */ + public function displayDebugInfo() + { + if ($this->debugging) { + Smarty_Internal_Debug::display_debug($this); + } + } + /** * trigger Smarty error * @@ -499,8 +520,7 @@ class Smarty extends Smarty_Internal_TemplateBase { * @param integer $error_type */ public function trigger_error($error_msg, $error_type = E_USER_WARNING) - { - // trigger_error("Smarty error: $error_msg", $error_type); + { throw new Exception("Smarty error: $error_msg"); } diff --git a/libs/sysplugins/internal.compile_include.php b/libs/sysplugins/internal.compile_include.php index eceedc7d..af3f3dcb 100644 --- a/libs/sysplugins/internal.compile_include.php +++ b/libs/sysplugins/internal.compile_include.php @@ -30,7 +30,7 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase { // save posible attributes $include_file = $_attr['file']; $has_compiled_template = false; - if (true) { + if ($compiler->smarty->merge_compiled_includes) { // check if compiled code can be merged if (strpos($include_file, '$_smarty_tpl') === false) { eval("\$tmp = $include_file;"); @@ -134,20 +134,21 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase { $_output .= "\$_template->caching = $_caching;"; // was there an assign attribute if (isset($_assign)) { - $_output .= "\$_smarty_tpl->assign($_assign,\$_smarty_tpl->smarty->fetch(\$_template)); ?>"; + $_output .= "\$_smarty_tpl->assign($_assign,\$_template->fetch()); ?>"; } else { if ($has_compiled_template) { $_output .= " \$_tpl_stack[] = \$_smarty_tpl; \$_smarty_tpl = \$_template;?>\n"; $_output .= $compiled_tpl . "getTemplateFilepath() . "\" */ ?>";; $_output .= ""; } else { - $_output .= " echo \$_smarty_tpl->smarty->fetch(\$_template); ?>"; + $_output .= " echo \$_template->fetch(); ?>"; } } if ($_parent_scope != SMARTY_LOCAL_SCOPE) { $_output .= "updateParentVariables($_parent_scope); ?>"; } - return $_output; + $_output .= ""; + return $_output; } } diff --git a/libs/sysplugins/internal.config.php b/libs/sysplugins/internal.config.php index 0e14673b..ee3dea1f 100644 --- a/libs/sysplugins/internal.config.php +++ b/libs/sysplugins/internal.config.php @@ -131,7 +131,9 @@ class Smarty_Internal_Config { } public function buildCompiledFilepath() { - $_filepath = (string)abs(crc32($this->config_resource_name)); + $_flag = (int)$this->smarty->config_read_hidden + (int)$this->smarty->config_booleanize * 2 + + (int)$this->smarty->config_overwrite * 4; + $_filepath = (string)abs(crc32($this->config_resource_name . $_flag)); // if use_sub_dirs, break file into directories if ($this->smarty->use_sub_dirs) { $_filepath = substr($_filepath, 0, 3) . DS diff --git a/libs/sysplugins/internal.template.php b/libs/sysplugins/internal.template.php index 17606c40..73771be4 100644 --- a/libs/sysplugins/internal.template.php +++ b/libs/sysplugins/internal.template.php @@ -415,7 +415,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { public function renderTemplate () { if ($this->usesCompiler()) { - if ($this->mustCompile()) { + if ($this->mustCompile() && $this->compiled_template === null) { $this->compileTemplateSource(); } $_smarty_tpl = $this; diff --git a/libs/sysplugins/internal.templatelexer.php b/libs/sysplugins/internal.templatelexer.php index 1ef5af04..3a8abe77 100644 --- a/libs/sysplugins/internal.templatelexer.php +++ b/libs/sysplugins/internal.templatelexer.php @@ -82,6 +82,7 @@ class Smarty_Internal_Templatelexer $this->rdel = preg_quote($this->smarty->right_delimiter); $this->smarty_token_names['LDEL'] = $this->smarty->left_delimiter; $this->smarty_token_names['RDEL'] = $this->smarty->right_delimiter; + $this->tag = false; } public static function &instance($new_instance = null) { @@ -462,11 +463,13 @@ class Smarty_Internal_Templatelexer { $this->token = Smarty_Internal_Templateparser::TP_LDEL; + $this->tag = true; } function yy_r1_19($yy_subpatterns) { $this->token = Smarty_Internal_Templateparser::TP_RDEL; + $this->tag = false; } function yy_r1_20($yy_subpatterns) { diff --git a/libs/sysplugins/internal.templateparser.php b/libs/sysplugins/internal.templateparser.php index 342abc7b..f73a80ae 100644 --- a/libs/sysplugins/internal.templateparser.php +++ b/libs/sysplugins/internal.templateparser.php @@ -275,363 +275,318 @@ class Smarty_Internal_Templateparser#line 109 "internal.templateparser.php" ** shifting non-terminals after a reduce. ** self::$yy_default Default action for each state. */ - const YY_SZ_ACTTAB = 1162; + const YY_SZ_ACTTAB = 933; static public $yy_action = array( - /* 0 */ 56, 27, 193, 56, 281, 153, 25, 39, 153, 25, - /* 10 */ 210, 206, 276, 210, 206, 242, 244, 60, 158, 245, - /* 20 */ 4, 62, 72, 67, 165, 69, 46, 230, 236, 153, - /* 30 */ 25, 19, 275, 167, 5, 130, 12, 23, 200, 12, - /* 40 */ 192, 161, 222, 35, 161, 66, 35, 186, 62, 231, - /* 50 */ 46, 40, 203, 46, 40, 157, 235, 137, 139, 14, - /* 60 */ 134, 153, 18, 157, 227, 30, 262, 259, 260, 10, - /* 70 */ 2, 266, 263, 11, 7, 264, 265, 3, 6, 139, - /* 80 */ 196, 447, 51, 185, 234, 31, 56, 39, 57, 56, - /* 90 */ 27, 153, 25, 148, 153, 25, 210, 206, 277, 210, - /* 100 */ 206, 142, 93, 42, 269, 34, 4, 197, 43, 249, - /* 110 */ 250, 254, 255, 252, 248, 256, 253, 108, 269, 129, - /* 120 */ 5, 208, 12, 23, 29, 12, 204, 161, 226, 35, - /* 130 */ 161, 58, 35, 231, 66, 91, 46, 40, 282, 46, - /* 140 */ 40, 203, 270, 133, 229, 139, 41, 16, 227, 157, - /* 150 */ 139, 269, 262, 259, 260, 10, 2, 266, 263, 11, - /* 160 */ 7, 264, 265, 3, 6, 257, 262, 259, 260, 10, - /* 170 */ 2, 266, 263, 11, 7, 264, 265, 3, 6, 56, - /* 180 */ 261, 320, 184, 139, 153, 25, 27, 201, 139, 210, - /* 190 */ 206, 262, 259, 260, 10, 2, 266, 263, 11, 7, - /* 200 */ 264, 265, 3, 6, 110, 31, 56, 199, 13, 27, - /* 210 */ 106, 153, 25, 23, 22, 12, 210, 206, 284, 283, - /* 220 */ 161, 112, 35, 42, 66, 178, 205, 118, 56, 46, - /* 230 */ 40, 36, 320, 153, 25, 231, 137, 203, 210, 206, - /* 240 */ 23, 272, 12, 20, 219, 72, 48, 161, 114, 35, - /* 250 */ 227, 62, 171, 267, 268, 27, 46, 40, 214, 207, - /* 260 */ 203, 198, 23, 140, 12, 222, 231, 284, 283, 161, - /* 270 */ 237, 35, 272, 62, 129, 14, 72, 157, 46, 40, - /* 280 */ 36, 227, 56, 151, 274, 141, 183, 153, 25, 214, - /* 290 */ 207, 195, 210, 206, 8, 272, 222, 123, 171, 72, - /* 300 */ 216, 119, 209, 157, 56, 53, 203, 218, 278, 153, - /* 310 */ 25, 129, 214, 207, 210, 206, 23, 272, 12, 222, - /* 320 */ 179, 72, 139, 161, 13, 35, 15, 66, 177, 213, - /* 330 */ 223, 27, 46, 40, 214, 207, 21, 112, 23, 41, - /* 340 */ 12, 222, 186, 139, 180, 161, 128, 35, 1, 66, - /* 350 */ 224, 182, 233, 234, 46, 40, 153, 18, 284, 283, - /* 360 */ 272, 135, 52, 13, 72, 20, 189, 74, 145, 136, - /* 370 */ 96, 36, 144, 175, 13, 89, 112, 214, 207, 28, - /* 380 */ 56, 226, 203, 166, 222, 153, 25, 112, 56, 258, - /* 390 */ 210, 206, 139, 153, 25, 225, 142, 32, 210, 206, - /* 400 */ 162, 56, 181, 43, 132, 62, 153, 25, 33, 147, - /* 410 */ 46, 210, 206, 100, 23, 131, 12, 168, 247, 231, - /* 420 */ 157, 161, 23, 280, 226, 62, 187, 72, 246, 161, - /* 430 */ 46, 40, 220, 62, 227, 23, 62, 140, 46, 40, - /* 440 */ 217, 46, 161, 287, 27, 140, 62, 222, 221, 172, - /* 450 */ 139, 46, 40, 215, 241, 24, 34, 239, 138, 38, - /* 460 */ 249, 250, 254, 255, 252, 248, 256, 253, 152, 272, - /* 470 */ 211, 52, 72, 72, 157, 27, 77, 102, 13, 129, - /* 480 */ 149, 146, 271, 257, 89, 170, 214, 207, 226, 9, - /* 490 */ 72, 112, 222, 222, 62, 203, 231, 94, 258, 46, - /* 500 */ 272, 139, 52, 169, 72, 157, 103, 78, 157, 183, - /* 510 */ 222, 227, 146, 271, 139, 89, 71, 214, 207, 157, - /* 520 */ 92, 272, 174, 52, 222, 72, 164, 126, 76, 258, - /* 530 */ 88, 228, 209, 146, 271, 64, 89, 107, 214, 207, - /* 540 */ 272, 273, 52, 202, 72, 222, 269, 82, 226, 55, - /* 550 */ 258, 95, 146, 271, 228, 89, 101, 214, 207, 272, - /* 560 */ 39, 52, 26, 72, 222, 269, 83, 226, 125, 258, - /* 570 */ 194, 146, 271, 209, 89, 90, 214, 207, 160, 190, - /* 580 */ 54, 176, 272, 222, 50, 228, 72, 124, 258, 75, - /* 590 */ 70, 155, 209, 199, 146, 271, 269, 89, 121, 214, - /* 600 */ 207, 65, 38, 272, 68, 52, 222, 72, 59, 228, - /* 610 */ 80, 258, 22, 188, 156, 146, 271, 154, 89, 159, - /* 620 */ 214, 207, 272, 240, 52, 243, 72, 222, 37, 84, - /* 630 */ 288, 109, 258, 105, 146, 271, 216, 89, 33, 214, - /* 640 */ 207, 272, 238, 52, 232, 72, 222, 61, 79, 17, - /* 650 */ 191, 258, 199, 146, 271, 225, 89, 44, 214, 207, - /* 660 */ 73, 157, 269, 269, 272, 222, 52, 269, 72, 269, - /* 670 */ 258, 81, 269, 269, 269, 269, 146, 271, 269, 89, - /* 680 */ 269, 214, 207, 269, 269, 272, 269, 99, 222, 72, - /* 690 */ 269, 269, 269, 258, 269, 269, 269, 212, 271, 269, - /* 700 */ 89, 269, 214, 207, 269, 269, 269, 269, 269, 222, - /* 710 */ 272, 269, 99, 269, 72, 269, 269, 143, 285, 269, - /* 720 */ 269, 269, 212, 271, 269, 89, 269, 214, 207, 272, - /* 730 */ 269, 98, 269, 72, 222, 269, 269, 269, 269, 269, - /* 740 */ 269, 212, 271, 279, 89, 269, 214, 207, 269, 269, - /* 750 */ 173, 269, 272, 222, 98, 269, 72, 269, 269, 269, - /* 760 */ 269, 269, 269, 269, 212, 271, 269, 89, 269, 214, - /* 770 */ 207, 269, 269, 150, 269, 272, 222, 98, 269, 72, - /* 780 */ 269, 269, 269, 269, 269, 269, 269, 212, 271, 269, - /* 790 */ 89, 269, 214, 207, 269, 269, 286, 269, 272, 222, - /* 800 */ 98, 269, 72, 269, 269, 269, 269, 269, 269, 269, - /* 810 */ 212, 271, 269, 89, 269, 214, 207, 269, 269, 163, - /* 820 */ 269, 272, 222, 115, 269, 72, 269, 269, 269, 269, - /* 830 */ 269, 269, 269, 212, 271, 269, 89, 269, 214, 207, - /* 840 */ 272, 269, 47, 269, 63, 222, 269, 269, 269, 269, - /* 850 */ 269, 269, 212, 271, 269, 89, 269, 214, 207, 269, - /* 860 */ 269, 269, 269, 272, 222, 49, 269, 72, 269, 269, - /* 870 */ 269, 269, 269, 269, 269, 212, 271, 269, 89, 269, - /* 880 */ 214, 207, 269, 269, 269, 269, 272, 222, 111, 269, - /* 890 */ 72, 269, 269, 269, 269, 269, 269, 269, 212, 271, - /* 900 */ 269, 89, 269, 214, 207, 269, 269, 269, 269, 272, - /* 910 */ 222, 104, 269, 72, 269, 269, 269, 269, 269, 269, - /* 920 */ 269, 212, 271, 269, 89, 269, 214, 207, 272, 269, - /* 930 */ 113, 269, 72, 222, 269, 269, 269, 269, 269, 269, - /* 940 */ 212, 271, 269, 89, 269, 214, 207, 269, 269, 269, - /* 950 */ 269, 272, 222, 117, 269, 72, 269, 269, 269, 269, - /* 960 */ 269, 269, 269, 212, 271, 269, 89, 269, 214, 207, - /* 970 */ 269, 269, 269, 269, 272, 222, 127, 269, 72, 269, - /* 980 */ 269, 269, 269, 269, 269, 269, 212, 271, 269, 89, - /* 990 */ 269, 214, 207, 269, 269, 269, 269, 272, 222, 116, - /* 1000 */ 269, 72, 269, 269, 269, 269, 269, 269, 269, 212, - /* 1010 */ 271, 269, 89, 269, 214, 207, 272, 269, 45, 269, - /* 1020 */ 63, 222, 269, 269, 269, 269, 269, 269, 212, 271, - /* 1030 */ 269, 89, 269, 214, 207, 269, 269, 269, 269, 272, - /* 1040 */ 222, 97, 269, 72, 269, 269, 269, 269, 269, 269, - /* 1050 */ 269, 212, 271, 269, 89, 269, 214, 207, 269, 269, - /* 1060 */ 269, 269, 272, 222, 122, 269, 72, 269, 269, 269, - /* 1070 */ 269, 269, 269, 269, 212, 271, 269, 89, 269, 214, - /* 1080 */ 207, 269, 269, 269, 269, 272, 222, 120, 269, 72, - /* 1090 */ 269, 269, 269, 269, 269, 272, 269, 212, 271, 72, - /* 1100 */ 89, 269, 214, 207, 269, 269, 269, 212, 271, 222, - /* 1110 */ 86, 269, 214, 207, 272, 269, 272, 269, 72, 222, - /* 1120 */ 72, 269, 269, 269, 269, 269, 212, 271, 251, 85, - /* 1130 */ 269, 214, 207, 214, 207, 269, 269, 272, 222, 269, - /* 1140 */ 222, 72, 269, 269, 269, 269, 269, 269, 269, 212, - /* 1150 */ 271, 269, 87, 269, 214, 207, 269, 269, 269, 269, - /* 1160 */ 269, 222, + /* 0 */ 252, 258, 259, 3, 4, 250, 251, 5, 2, 254, + /* 10 */ 253, 11, 10, 27, 252, 258, 259, 3, 4, 250, + /* 20 */ 251, 5, 2, 254, 253, 11, 10, 165, 265, 56, + /* 30 */ 261, 218, 56, 27, 71, 20, 55, 27, 20, 239, + /* 40 */ 240, 171, 239, 240, 189, 185, 57, 155, 187, 6, + /* 50 */ 58, 272, 66, 242, 59, 44, 200, 201, 113, 19, + /* 60 */ 32, 181, 176, 8, 260, 12, 24, 21, 12, 199, + /* 70 */ 164, 21, 37, 164, 61, 37, 178, 58, 42, 44, + /* 80 */ 52, 56, 44, 52, 260, 153, 144, 20, 260, 139, + /* 90 */ 182, 239, 240, 71, 135, 252, 258, 259, 3, 4, + /* 100 */ 250, 251, 5, 2, 254, 253, 11, 10, 202, 447, + /* 110 */ 85, 186, 242, 67, 56, 24, 15, 56, 27, 28, + /* 120 */ 20, 30, 164, 20, 239, 240, 58, 239, 240, 105, + /* 130 */ 212, 44, 52, 147, 6, 36, 56, 193, 145, 274, + /* 140 */ 147, 194, 20, 184, 210, 213, 239, 240, 8, 238, + /* 150 */ 12, 24, 29, 12, 264, 164, 38, 37, 164, 63, + /* 160 */ 37, 225, 61, 111, 44, 52, 136, 44, 52, 260, + /* 170 */ 24, 138, 12, 169, 41, 224, 71, 164, 56, 37, + /* 180 */ 232, 61, 103, 71, 20, 147, 44, 52, 239, 240, + /* 190 */ 181, 234, 270, 144, 93, 242, 246, 56, 269, 175, + /* 200 */ 56, 212, 242, 20, 256, 206, 20, 239, 240, 212, + /* 210 */ 239, 240, 24, 15, 12, 58, 213, 159, 216, 164, + /* 220 */ 44, 37, 147, 61, 213, 181, 105, 183, 44, 52, + /* 230 */ 207, 24, 147, 12, 24, 41, 12, 1, 164, 15, + /* 240 */ 37, 164, 58, 37, 147, 58, 212, 44, 52, 56, + /* 250 */ 44, 52, 105, 319, 148, 20, 9, 146, 26, 239, + /* 260 */ 240, 213, 232, 128, 51, 71, 184, 210, 79, 166, + /* 270 */ 143, 56, 317, 142, 167, 152, 93, 20, 246, 38, + /* 280 */ 15, 239, 240, 24, 242, 12, 25, 168, 15, 257, + /* 290 */ 164, 191, 37, 105, 61, 134, 212, 58, 71, 44, + /* 300 */ 52, 105, 44, 190, 319, 24, 140, 12, 174, 102, + /* 310 */ 31, 213, 164, 197, 27, 131, 58, 242, 136, 271, + /* 320 */ 133, 44, 52, 181, 372, 35, 223, 224, 148, 211, + /* 330 */ 267, 282, 281, 280, 268, 278, 279, 14, 17, 32, + /* 340 */ 35, 40, 184, 210, 211, 267, 282, 281, 280, 268, + /* 350 */ 278, 279, 256, 117, 118, 38, 244, 42, 241, 241, + /* 360 */ 232, 151, 97, 71, 266, 137, 147, 372, 33, 249, + /* 370 */ 147, 234, 270, 147, 93, 372, 246, 232, 263, 147, + /* 380 */ 71, 16, 242, 125, 104, 147, 132, 205, 284, 283, + /* 390 */ 150, 277, 222, 246, 232, 224, 51, 71, 65, 242, + /* 400 */ 81, 123, 13, 217, 108, 170, 270, 58, 93, 27, + /* 410 */ 246, 232, 44, 51, 71, 92, 242, 84, 98, 229, + /* 420 */ 121, 257, 170, 270, 56, 93, 106, 246, 232, 263, + /* 430 */ 20, 71, 224, 242, 239, 240, 48, 136, 257, 275, + /* 440 */ 232, 149, 51, 71, 246, 27, 76, 209, 43, 220, + /* 450 */ 242, 170, 270, 136, 93, 230, 246, 101, 24, 147, + /* 460 */ 141, 86, 242, 36, 181, 164, 127, 257, 232, 58, + /* 470 */ 103, 71, 272, 226, 44, 52, 208, 22, 224, 234, + /* 480 */ 270, 148, 93, 232, 246, 51, 71, 285, 178, 77, + /* 490 */ 242, 235, 212, 91, 170, 270, 260, 93, 96, 246, + /* 500 */ 232, 214, 51, 71, 53, 242, 83, 213, 272, 94, + /* 510 */ 257, 170, 270, 272, 93, 40, 246, 23, 232, 272, + /* 520 */ 51, 71, 242, 119, 80, 126, 90, 257, 241, 170, + /* 530 */ 270, 196, 93, 156, 246, 177, 232, 224, 50, 71, + /* 540 */ 242, 17, 75, 220, 95, 257, 232, 170, 270, 71, + /* 550 */ 93, 54, 246, 232, 192, 51, 71, 231, 242, 78, + /* 560 */ 220, 34, 246, 257, 170, 270, 272, 93, 242, 246, + /* 570 */ 120, 262, 116, 181, 62, 242, 188, 241, 220, 180, + /* 580 */ 257, 232, 224, 51, 71, 245, 198, 74, 232, 195, + /* 590 */ 51, 71, 170, 270, 82, 93, 307, 246, 68, 170, + /* 600 */ 270, 162, 93, 242, 246, 25, 73, 233, 257, 243, + /* 610 */ 242, 160, 248, 237, 64, 257, 46, 60, 122, 273, + /* 620 */ 72, 157, 204, 215, 228, 234, 270, 203, 93, 263, + /* 630 */ 246, 39, 161, 244, 163, 70, 242, 64, 7, 47, + /* 640 */ 60, 232, 100, 40, 71, 227, 236, 18, 234, 270, + /* 650 */ 247, 93, 255, 246, 34, 173, 45, 246, 232, 242, + /* 660 */ 97, 71, 235, 242, 69, 232, 273, 103, 71, 234, + /* 670 */ 270, 273, 93, 273, 246, 273, 234, 270, 273, 93, + /* 680 */ 242, 246, 273, 273, 179, 172, 372, 242, 64, 276, + /* 690 */ 47, 60, 273, 273, 273, 232, 273, 103, 71, 234, + /* 700 */ 270, 273, 93, 273, 246, 273, 234, 270, 205, 93, + /* 710 */ 242, 246, 273, 273, 154, 273, 372, 242, 372, 232, + /* 720 */ 372, 273, 71, 13, 273, 273, 158, 273, 273, 372, + /* 730 */ 219, 273, 273, 273, 372, 246, 232, 372, 129, 71, + /* 740 */ 273, 242, 273, 232, 273, 130, 71, 234, 270, 273, + /* 750 */ 93, 273, 246, 273, 234, 270, 273, 93, 242, 246, + /* 760 */ 273, 273, 149, 273, 232, 242, 49, 71, 221, 43, + /* 770 */ 273, 273, 273, 273, 273, 234, 270, 273, 93, 273, + /* 780 */ 246, 273, 232, 273, 112, 71, 242, 273, 273, 232, + /* 790 */ 273, 114, 71, 234, 270, 273, 93, 273, 246, 273, + /* 800 */ 234, 270, 273, 93, 242, 246, 273, 232, 273, 99, + /* 810 */ 71, 242, 273, 273, 232, 273, 124, 71, 234, 270, + /* 820 */ 273, 93, 273, 246, 273, 234, 270, 273, 93, 242, + /* 830 */ 246, 273, 232, 273, 115, 71, 242, 273, 273, 273, + /* 840 */ 273, 273, 273, 234, 270, 273, 93, 273, 246, 273, + /* 850 */ 273, 273, 273, 232, 242, 109, 71, 273, 273, 273, + /* 860 */ 232, 273, 110, 71, 234, 270, 273, 93, 273, 246, + /* 870 */ 273, 234, 270, 273, 93, 242, 246, 273, 232, 273, + /* 880 */ 107, 71, 242, 273, 273, 232, 273, 273, 71, 234, + /* 890 */ 270, 273, 93, 273, 246, 273, 234, 270, 273, 87, + /* 900 */ 242, 246, 273, 232, 273, 273, 71, 242, 273, 273, + /* 910 */ 232, 273, 273, 71, 234, 270, 273, 88, 273, 246, + /* 920 */ 273, 234, 270, 273, 89, 242, 246, 273, 273, 273, + /* 930 */ 273, 273, 242, ); static public $yy_lookahead = array( - /* 0 */ 10, 16, 17, 10, 17, 15, 16, 48, 15, 16, - /* 10 */ 20, 21, 17, 20, 21, 1, 2, 3, 4, 5, - /* 20 */ 30, 55, 78, 9, 59, 11, 60, 13, 14, 15, - /* 30 */ 16, 16, 67, 67, 44, 91, 46, 44, 94, 46, - /* 40 */ 47, 51, 98, 53, 51, 55, 53, 1, 55, 1, - /* 50 */ 60, 61, 67, 60, 61, 68, 8, 67, 63, 44, - /* 60 */ 67, 15, 16, 68, 16, 49, 31, 32, 33, 34, - /* 70 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 63, - /* 80 */ 1, 71, 72, 73, 74, 46, 10, 48, 84, 10, - /* 90 */ 16, 15, 16, 58, 15, 16, 20, 21, 17, 20, - /* 100 */ 21, 55, 84, 64, 100, 18, 30, 61, 62, 22, - /* 110 */ 23, 24, 25, 26, 27, 28, 29, 77, 100, 79, - /* 120 */ 44, 101, 46, 44, 50, 46, 52, 51, 88, 53, - /* 130 */ 51, 55, 53, 1, 55, 84, 60, 61, 17, 60, - /* 140 */ 61, 67, 17, 67, 12, 63, 67, 65, 16, 68, - /* 150 */ 63, 100, 31, 32, 33, 34, 35, 36, 37, 38, - /* 160 */ 39, 40, 41, 42, 43, 45, 31, 32, 33, 34, - /* 170 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 10, - /* 180 */ 45, 17, 17, 63, 15, 16, 16, 17, 63, 20, - /* 190 */ 21, 31, 32, 33, 34, 35, 36, 37, 38, 39, - /* 200 */ 40, 41, 42, 43, 97, 46, 10, 100, 44, 16, - /* 210 */ 97, 15, 16, 44, 50, 46, 20, 21, 53, 54, - /* 220 */ 51, 57, 53, 64, 55, 1, 17, 80, 10, 60, - /* 230 */ 61, 66, 68, 15, 16, 1, 67, 67, 20, 21, - /* 240 */ 44, 74, 46, 50, 10, 78, 80, 51, 97, 53, - /* 250 */ 16, 55, 59, 86, 87, 16, 60, 61, 91, 92, - /* 260 */ 67, 47, 44, 67, 46, 98, 1, 53, 54, 51, - /* 270 */ 5, 53, 74, 55, 79, 44, 78, 68, 60, 61, - /* 280 */ 66, 16, 10, 48, 86, 67, 74, 15, 16, 91, - /* 290 */ 92, 67, 20, 21, 58, 74, 98, 96, 59, 78, - /* 300 */ 99, 65, 101, 68, 10, 93, 67, 86, 47, 15, - /* 310 */ 16, 79, 91, 92, 20, 21, 44, 74, 46, 98, - /* 320 */ 108, 78, 63, 51, 44, 53, 65, 55, 48, 86, - /* 330 */ 60, 16, 60, 61, 91, 92, 104, 57, 44, 67, - /* 340 */ 46, 98, 1, 63, 62, 51, 17, 53, 68, 55, - /* 350 */ 60, 1, 73, 74, 60, 61, 15, 16, 53, 54, - /* 360 */ 74, 67, 76, 44, 78, 50, 47, 81, 82, 83, - /* 370 */ 77, 66, 86, 87, 44, 89, 57, 91, 92, 49, - /* 380 */ 10, 88, 67, 64, 98, 15, 16, 57, 10, 103, - /* 390 */ 20, 21, 63, 15, 16, 102, 55, 16, 20, 21, - /* 400 */ 67, 10, 61, 62, 17, 55, 15, 16, 56, 19, - /* 410 */ 60, 20, 21, 77, 44, 79, 46, 67, 67, 1, - /* 420 */ 68, 51, 44, 17, 88, 55, 62, 78, 10, 51, - /* 430 */ 60, 61, 51, 55, 16, 44, 55, 67, 60, 61, - /* 440 */ 91, 60, 51, 45, 16, 67, 55, 98, 67, 56, - /* 450 */ 63, 60, 61, 67, 17, 16, 18, 17, 67, 69, - /* 460 */ 22, 23, 24, 25, 26, 27, 28, 29, 55, 74, - /* 470 */ 51, 76, 78, 78, 68, 16, 81, 77, 44, 79, - /* 480 */ 67, 86, 87, 45, 89, 91, 91, 92, 88, 105, - /* 490 */ 78, 57, 98, 98, 55, 67, 1, 75, 103, 60, - /* 500 */ 74, 63, 76, 91, 78, 68, 67, 81, 68, 74, - /* 510 */ 98, 16, 86, 87, 63, 89, 67, 91, 92, 68, - /* 520 */ 75, 74, 19, 76, 98, 78, 67, 96, 81, 103, - /* 530 */ 84, 109, 101, 86, 87, 55, 89, 77, 91, 92, - /* 540 */ 74, 67, 76, 108, 78, 98, 100, 81, 88, 84, - /* 550 */ 103, 75, 86, 87, 109, 89, 77, 91, 92, 74, - /* 560 */ 48, 76, 50, 78, 98, 100, 81, 88, 96, 103, - /* 570 */ 45, 86, 87, 101, 89, 75, 91, 92, 85, 47, - /* 580 */ 84, 64, 74, 98, 76, 109, 78, 96, 103, 81, - /* 590 */ 45, 67, 101, 100, 86, 87, 100, 89, 67, 91, - /* 600 */ 92, 55, 69, 74, 55, 76, 98, 78, 67, 109, - /* 610 */ 81, 103, 50, 17, 67, 86, 87, 67, 89, 55, - /* 620 */ 91, 92, 74, 17, 76, 5, 78, 98, 90, 81, - /* 630 */ 17, 97, 103, 97, 86, 87, 99, 89, 56, 91, - /* 640 */ 92, 74, 88, 76, 109, 78, 98, 55, 81, 44, - /* 650 */ 82, 103, 100, 86, 87, 102, 89, 97, 91, 92, - /* 660 */ 94, 68, 110, 110, 74, 98, 76, 110, 78, 110, - /* 670 */ 103, 81, 110, 110, 110, 110, 86, 87, 110, 89, - /* 680 */ 110, 91, 92, 110, 110, 74, 110, 76, 98, 78, - /* 690 */ 110, 110, 110, 103, 110, 110, 110, 86, 87, 110, - /* 700 */ 89, 110, 91, 92, 110, 110, 110, 110, 110, 98, - /* 710 */ 74, 110, 76, 110, 78, 110, 110, 106, 107, 110, - /* 720 */ 110, 110, 86, 87, 110, 89, 110, 91, 92, 74, - /* 730 */ 110, 76, 110, 78, 98, 110, 110, 110, 110, 110, - /* 740 */ 110, 86, 87, 107, 89, 110, 91, 92, 110, 110, - /* 750 */ 95, 110, 74, 98, 76, 110, 78, 110, 110, 110, - /* 760 */ 110, 110, 110, 110, 86, 87, 110, 89, 110, 91, - /* 770 */ 92, 110, 110, 95, 110, 74, 98, 76, 110, 78, - /* 780 */ 110, 110, 110, 110, 110, 110, 110, 86, 87, 110, - /* 790 */ 89, 110, 91, 92, 110, 110, 95, 110, 74, 98, - /* 800 */ 76, 110, 78, 110, 110, 110, 110, 110, 110, 110, - /* 810 */ 86, 87, 110, 89, 110, 91, 92, 110, 110, 95, - /* 820 */ 110, 74, 98, 76, 110, 78, 110, 110, 110, 110, - /* 830 */ 110, 110, 110, 86, 87, 110, 89, 110, 91, 92, - /* 840 */ 74, 110, 76, 110, 78, 98, 110, 110, 110, 110, - /* 850 */ 110, 110, 86, 87, 110, 89, 110, 91, 92, 110, - /* 860 */ 110, 110, 110, 74, 98, 76, 110, 78, 110, 110, - /* 870 */ 110, 110, 110, 110, 110, 86, 87, 110, 89, 110, - /* 880 */ 91, 92, 110, 110, 110, 110, 74, 98, 76, 110, - /* 890 */ 78, 110, 110, 110, 110, 110, 110, 110, 86, 87, - /* 900 */ 110, 89, 110, 91, 92, 110, 110, 110, 110, 74, - /* 910 */ 98, 76, 110, 78, 110, 110, 110, 110, 110, 110, - /* 920 */ 110, 86, 87, 110, 89, 110, 91, 92, 74, 110, - /* 930 */ 76, 110, 78, 98, 110, 110, 110, 110, 110, 110, - /* 940 */ 86, 87, 110, 89, 110, 91, 92, 110, 110, 110, - /* 950 */ 110, 74, 98, 76, 110, 78, 110, 110, 110, 110, - /* 960 */ 110, 110, 110, 86, 87, 110, 89, 110, 91, 92, - /* 970 */ 110, 110, 110, 110, 74, 98, 76, 110, 78, 110, - /* 980 */ 110, 110, 110, 110, 110, 110, 86, 87, 110, 89, - /* 990 */ 110, 91, 92, 110, 110, 110, 110, 74, 98, 76, - /* 1000 */ 110, 78, 110, 110, 110, 110, 110, 110, 110, 86, - /* 1010 */ 87, 110, 89, 110, 91, 92, 74, 110, 76, 110, - /* 1020 */ 78, 98, 110, 110, 110, 110, 110, 110, 86, 87, - /* 1030 */ 110, 89, 110, 91, 92, 110, 110, 110, 110, 74, - /* 1040 */ 98, 76, 110, 78, 110, 110, 110, 110, 110, 110, - /* 1050 */ 110, 86, 87, 110, 89, 110, 91, 92, 110, 110, - /* 1060 */ 110, 110, 74, 98, 76, 110, 78, 110, 110, 110, - /* 1070 */ 110, 110, 110, 110, 86, 87, 110, 89, 110, 91, - /* 1080 */ 92, 110, 110, 110, 110, 74, 98, 76, 110, 78, - /* 1090 */ 110, 110, 110, 110, 110, 74, 110, 86, 87, 78, - /* 1100 */ 89, 110, 91, 92, 110, 110, 110, 86, 87, 98, - /* 1110 */ 89, 110, 91, 92, 74, 110, 74, 110, 78, 98, - /* 1120 */ 78, 110, 110, 110, 110, 110, 86, 87, 86, 89, - /* 1130 */ 110, 91, 92, 91, 92, 110, 110, 74, 98, 110, - /* 1140 */ 98, 78, 110, 110, 110, 110, 110, 110, 110, 86, - /* 1150 */ 87, 110, 89, 110, 91, 92, 110, 110, 110, 110, - /* 1160 */ 110, 98, + /* 0 */ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + /* 10 */ 41, 42, 43, 16, 31, 32, 33, 34, 35, 36, + /* 20 */ 37, 38, 39, 40, 41, 42, 43, 58, 45, 10, + /* 30 */ 84, 77, 10, 16, 80, 16, 86, 16, 16, 20, + /* 40 */ 21, 48, 20, 21, 1, 2, 3, 4, 5, 30, + /* 50 */ 55, 101, 9, 99, 11, 60, 13, 14, 15, 16, + /* 60 */ 46, 68, 67, 44, 67, 46, 44, 50, 46, 47, + /* 70 */ 51, 50, 53, 51, 55, 53, 59, 55, 64, 60, + /* 80 */ 61, 10, 60, 61, 67, 19, 67, 16, 67, 67, + /* 90 */ 77, 20, 21, 80, 17, 31, 32, 33, 34, 35, + /* 100 */ 36, 37, 38, 39, 40, 41, 42, 43, 1, 71, + /* 110 */ 72, 73, 99, 55, 10, 44, 44, 10, 16, 49, + /* 120 */ 16, 49, 51, 16, 20, 21, 55, 20, 21, 57, + /* 130 */ 1, 60, 61, 63, 30, 69, 10, 47, 67, 17, + /* 140 */ 63, 12, 16, 53, 54, 16, 20, 21, 44, 90, + /* 150 */ 46, 44, 50, 46, 52, 51, 66, 53, 51, 55, + /* 160 */ 53, 1, 55, 78, 60, 61, 81, 60, 61, 67, + /* 170 */ 44, 67, 46, 77, 67, 90, 80, 51, 10, 53, + /* 180 */ 77, 55, 79, 80, 16, 63, 60, 61, 20, 21, + /* 190 */ 68, 88, 89, 67, 91, 99, 93, 10, 17, 96, + /* 200 */ 10, 1, 99, 16, 45, 5, 16, 20, 21, 1, + /* 210 */ 20, 21, 44, 44, 46, 55, 16, 48, 10, 51, + /* 220 */ 60, 53, 63, 55, 16, 68, 57, 67, 60, 61, + /* 230 */ 17, 44, 63, 46, 44, 67, 46, 68, 51, 44, + /* 240 */ 53, 51, 55, 53, 63, 55, 1, 60, 61, 10, + /* 250 */ 60, 61, 57, 17, 67, 16, 58, 67, 16, 20, + /* 260 */ 21, 16, 77, 65, 79, 80, 53, 54, 83, 84, + /* 270 */ 85, 10, 17, 88, 89, 55, 91, 16, 93, 66, + /* 280 */ 44, 20, 21, 44, 99, 46, 50, 67, 44, 104, + /* 290 */ 51, 47, 53, 57, 55, 77, 1, 55, 80, 60, + /* 300 */ 61, 57, 60, 8, 68, 44, 67, 46, 64, 67, + /* 310 */ 16, 16, 51, 95, 16, 78, 55, 99, 81, 47, + /* 320 */ 17, 60, 61, 68, 16, 18, 1, 90, 67, 22, + /* 330 */ 23, 24, 25, 26, 27, 28, 29, 65, 44, 46, + /* 340 */ 18, 48, 53, 54, 22, 23, 24, 25, 26, 27, + /* 350 */ 28, 29, 45, 97, 97, 66, 100, 64, 102, 102, + /* 360 */ 77, 59, 79, 80, 87, 67, 63, 59, 16, 67, + /* 370 */ 63, 88, 89, 63, 91, 67, 93, 77, 101, 63, + /* 380 */ 80, 65, 99, 78, 98, 63, 81, 1, 88, 89, + /* 390 */ 107, 108, 67, 93, 77, 90, 79, 80, 55, 99, + /* 400 */ 83, 82, 16, 51, 98, 88, 89, 55, 91, 16, + /* 410 */ 93, 77, 60, 79, 80, 76, 99, 83, 98, 67, + /* 420 */ 78, 104, 88, 89, 10, 91, 98, 93, 77, 101, + /* 430 */ 16, 80, 90, 99, 20, 21, 82, 81, 104, 88, + /* 440 */ 77, 55, 79, 80, 93, 16, 83, 61, 62, 110, + /* 450 */ 99, 88, 89, 81, 91, 60, 93, 86, 44, 63, + /* 460 */ 67, 94, 99, 69, 68, 51, 78, 104, 77, 55, + /* 470 */ 79, 80, 101, 62, 60, 61, 109, 105, 90, 88, + /* 480 */ 89, 67, 91, 77, 93, 79, 80, 96, 59, 83, + /* 490 */ 99, 103, 1, 86, 88, 89, 67, 91, 86, 93, + /* 500 */ 77, 10, 79, 80, 86, 99, 83, 16, 101, 76, + /* 510 */ 104, 88, 89, 101, 91, 48, 93, 50, 77, 101, + /* 520 */ 79, 80, 99, 97, 83, 78, 76, 104, 102, 88, + /* 530 */ 89, 47, 91, 67, 93, 19, 77, 90, 79, 80, + /* 540 */ 99, 44, 83, 110, 76, 104, 77, 88, 89, 80, + /* 550 */ 91, 86, 93, 77, 67, 79, 80, 88, 99, 83, + /* 560 */ 110, 56, 93, 104, 88, 89, 101, 91, 99, 93, + /* 570 */ 78, 17, 97, 68, 55, 99, 45, 102, 110, 67, + /* 580 */ 104, 77, 90, 79, 80, 67, 45, 83, 77, 17, + /* 590 */ 79, 80, 88, 89, 83, 91, 17, 93, 55, 88, + /* 600 */ 89, 55, 91, 99, 93, 50, 45, 51, 104, 60, + /* 610 */ 99, 74, 67, 17, 77, 104, 79, 80, 67, 67, + /* 620 */ 67, 64, 17, 110, 62, 88, 89, 5, 91, 101, + /* 630 */ 93, 92, 67, 100, 74, 95, 99, 77, 106, 79, + /* 640 */ 80, 77, 98, 48, 80, 109, 73, 44, 88, 89, + /* 650 */ 102, 91, 88, 93, 56, 75, 98, 93, 77, 99, + /* 660 */ 79, 80, 103, 99, 67, 77, 111, 79, 80, 88, + /* 670 */ 89, 111, 91, 111, 93, 111, 88, 89, 111, 91, + /* 680 */ 99, 93, 111, 111, 96, 74, 16, 99, 77, 108, + /* 690 */ 79, 80, 111, 111, 111, 77, 111, 79, 80, 88, + /* 700 */ 89, 111, 91, 111, 93, 111, 88, 89, 1, 91, + /* 710 */ 99, 93, 111, 111, 96, 111, 46, 99, 48, 77, + /* 720 */ 50, 111, 80, 16, 111, 111, 56, 111, 111, 59, + /* 730 */ 88, 111, 111, 111, 64, 93, 77, 67, 79, 80, + /* 740 */ 111, 99, 111, 77, 111, 79, 80, 88, 89, 111, + /* 750 */ 91, 111, 93, 111, 88, 89, 111, 91, 99, 93, + /* 760 */ 111, 111, 55, 111, 77, 99, 79, 80, 61, 62, + /* 770 */ 111, 111, 111, 111, 111, 88, 89, 111, 91, 111, + /* 780 */ 93, 111, 77, 111, 79, 80, 99, 111, 111, 77, + /* 790 */ 111, 79, 80, 88, 89, 111, 91, 111, 93, 111, + /* 800 */ 88, 89, 111, 91, 99, 93, 111, 77, 111, 79, + /* 810 */ 80, 99, 111, 111, 77, 111, 79, 80, 88, 89, + /* 820 */ 111, 91, 111, 93, 111, 88, 89, 111, 91, 99, + /* 830 */ 93, 111, 77, 111, 79, 80, 99, 111, 111, 111, + /* 840 */ 111, 111, 111, 88, 89, 111, 91, 111, 93, 111, + /* 850 */ 111, 111, 111, 77, 99, 79, 80, 111, 111, 111, + /* 860 */ 77, 111, 79, 80, 88, 89, 111, 91, 111, 93, + /* 870 */ 111, 88, 89, 111, 91, 99, 93, 111, 77, 111, + /* 880 */ 79, 80, 99, 111, 111, 77, 111, 111, 80, 88, + /* 890 */ 89, 111, 91, 111, 93, 111, 88, 89, 111, 91, + /* 900 */ 99, 93, 111, 77, 111, 111, 80, 99, 111, 111, + /* 910 */ 77, 111, 111, 80, 88, 89, 111, 91, 111, 93, + /* 920 */ 111, 88, 89, 111, 91, 99, 93, 111, 111, 111, + /* 930 */ 111, 111, 99, ); - const YY_SHIFT_USE_DFLT = -42; - const YY_SHIFT_MAX = 177; + const YY_SHIFT_USE_DFLT = -32; + const YY_SHIFT_MAX = 183; static public $yy_shift_ofst = array( - /* 0 */ 14, 76, -10, -10, -10, -10, -10, -10, -10, -10, - /* 10 */ -10, -10, 294, 169, 169, 294, 169, 169, 79, 169, - /* 20 */ 169, 169, 169, 169, 169, 272, 169, 169, 169, 169, - /* 30 */ 169, -7, 196, 218, 370, 378, 378, 378, 391, 439, - /* 40 */ 341, 280, 381, 350, 39, -5, -34, 451, 352, 451, - /* 50 */ 438, 14, 87, 46, 193, 74, 418, 239, 459, 235, - /* 60 */ 495, 428, 428, 512, 428, 428, 459, 495, 428, 495, - /* 70 */ -41, 593, -41, -41, 121, 135, 35, 160, 160, 160, - /* 80 */ 160, 160, 160, 160, 160, 165, 214, 305, 315, 305, - /* 90 */ 234, -15, 265, 170, 48, 132, -13, 125, 82, 16, - /* 100 */ 406, 209, 81, 15, 387, 159, 159, 440, 437, 159, - /* 110 */ 159, 329, 413, 120, 159, 259, 259, 259, 582, 592, - /* 120 */ 259, 605, 259, -41, -41, -41, -41, 259, -42, -42, - /* 130 */ -42, -42, -42, 164, 319, 330, 236, 434, 434, -35, - /* 140 */ 434, 434, 224, 261, 390, 613, 533, 549, 546, 231, - /* 150 */ 545, 524, 531, 541, 562, 606, 620, 550, 564, 547, - /* 160 */ 596, 517, 532, 398, 393, 351, 333, 270, 282, 290, - /* 170 */ 364, 386, 474, 525, 480, 503, 419, 449, + /* 0 */ 43, 104, 19, 19, 19, 19, 19, 19, 19, 19, + /* 10 */ 19, 19, 239, 107, 239, 126, 126, 126, 126, 168, + /* 20 */ 168, 126, 126, 126, 126, 126, 126, 126, 126, 126, + /* 30 */ 126, 126, 22, 187, 190, 261, 71, 414, 414, 414, + /* 40 */ 242, 169, 352, 160, -5, 293, 122, 396, 505, 396, + /* 50 */ 307, 322, 386, 17, 102, 429, 491, 245, 393, 245, + /* 60 */ 467, 298, -3, 298, 255, -3, 245, -3, -3, -7, + /* 70 */ 595, 595, 157, 595, -31, -17, 64, 64, 64, 64, + /* 80 */ 64, 64, 64, 64, 64, 43, 707, 90, 213, 289, + /* 90 */ 208, 21, 295, 289, 129, 200, -3, 70, 14, 303, + /* 100 */ 14, -3, 294, 316, 14, 220, 14, 159, 14, 77, + /* 110 */ 181, 157, 310, 597, 310, 310, 595, 595, 595, 595, + /* 120 */ 157, 157, 603, 598, 310, 157, 157, 157, 58, 310, + /* 130 */ 310, 157, -32, -32, -32, -32, -32, 670, 236, 244, + /* 140 */ 72, 308, 66, 198, 195, 195, 195, 302, 195, 325, + /* 150 */ 272, 545, 551, 343, 561, 546, 555, 556, 552, 553, + /* 160 */ 605, 622, 565, 596, 557, 543, 579, 516, 497, 395, + /* 170 */ 394, 487, 554, 572, 512, 531, 549, 519, 518, 541, + /* 180 */ 484, 466, 411, 562, ); - const YY_REDUCE_USE_DFLT = -57; - const YY_REDUCE_MAX = 132; + const YY_REDUCE_USE_DFLT = -55; + const YY_REDUCE_MAX = 136; static public $yy_reduce_ofst = array( - /* 0 */ 10, 286, 395, 485, 466, 508, 529, 548, 447, 426, - /* 10 */ 590, 567, 611, 724, 655, 636, 701, 678, 942, 812, - /* 20 */ 1011, 923, 877, 854, 835, 766, 789, 965, 988, 900, - /* 30 */ 747, 1021, 1040, 1063, 167, 243, 198, 221, 1042, -56, - /* 40 */ 212, 336, 349, 394, 201, 40, 412, 40, 293, 400, - /* 50 */ 232, 279, 232, 435, 107, 493, 500, 107, 496, 460, - /* 60 */ 445, 446, 4, 431, 51, 465, 4, 422, 18, 476, - /* 70 */ 491, 479, 431, 472, 384, 384, 384, 384, 384, 384, - /* 80 */ 384, 384, 384, 384, 384, 538, 538, 538, 552, 538, - /* 90 */ 535, 552, 535, 552, 535, 535, 554, 195, 195, 195, - /* 100 */ 554, 554, 554, 536, 195, 537, 537, 554, 554, 537, - /* 110 */ 537, 195, 566, 195, 537, 195, 195, 195, 553, 568, - /* 120 */ 195, 560, 195, 20, 20, 20, 20, 195, 151, 147, - /* 130 */ 113, 166, 534, + /* 0 */ 38, 185, 334, 363, 476, 441, 423, 406, 459, 504, + /* 10 */ 511, 317, 283, 537, 581, 103, 391, 588, 618, 560, + /* 20 */ 611, 659, 666, 687, 801, 705, 776, 783, 755, 737, + /* 30 */ 712, 730, 808, 826, 833, 300, 564, 469, 351, 642, + /* 40 */ 218, 305, -46, 13, 96, 256, 85, 85, 388, 237, + /* 50 */ 372, 372, 367, 328, 277, 328, 450, 468, -50, 433, + /* 60 */ 257, -50, 412, 418, 342, 371, 339, 407, 465, 492, + /* 70 */ 475, 257, 447, 426, 532, 532, 532, 532, 532, 532, + /* 80 */ 532, 532, 532, 532, 532, 573, 536, 539, 539, 539, + /* 90 */ 513, 528, 513, 539, 513, 513, 528, 356, 533, 356, + /* 100 */ 533, 528, 544, 356, 533, 540, 533, 356, 533, 356, + /* 110 */ 356, 59, 356, 580, 356, 356, 548, 548, 548, 548, + /* 120 */ 59, 59, 558, 559, 356, 59, 59, 59, -54, 356, + /* 130 */ 356, 59, 354, 320, 286, 306, 319, ); static public $yyExpectedTokens = array( /* 0 */ array(1, 2, 3, 4, 5, 9, 11, 13, 14, 15, 16, ), - /* 1 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 2 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 3 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 4 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 5 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 6 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 7 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 8 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 9 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 10 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 11 */ array(10, 15, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 12 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 13 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 14 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 15 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 16 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 17 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 18 */ array(1, 10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 19 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 20 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 21 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 22 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 23 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 24 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 25 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 26 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 27 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 28 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 29 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 30 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 31 */ array(10, 15, 16, 20, 21, 44, 46, 47, 51, 53, 55, 60, 61, 67, ), - /* 32 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 33 */ array(10, 15, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), - /* 34 */ array(10, 15, 16, 20, 21, 44, 46, 51, 55, 60, 61, 67, ), - /* 35 */ array(10, 15, 16, 20, 21, 44, 51, 55, 60, 61, 67, ), - /* 36 */ array(10, 15, 16, 20, 21, 44, 51, 55, 60, 61, 67, ), - /* 37 */ array(10, 15, 16, 20, 21, 44, 51, 55, 60, 61, 67, ), - /* 38 */ array(10, 15, 16, 20, 21, 44, 51, 55, 60, 61, 67, ), - /* 39 */ array(16, 55, 60, 67, ), - /* 40 */ array(1, 15, 16, 55, 61, 62, ), + /* 1 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 2 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 3 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 4 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 5 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 6 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 7 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 8 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 9 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 10 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 11 */ array(10, 16, 20, 21, 30, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 12 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 13 */ array(1, 10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 14 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 15 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 16 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 17 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 18 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 19 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 20 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 21 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 22 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 23 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 24 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 25 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 26 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 27 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 28 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 29 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 30 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 31 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 32 */ array(10, 16, 20, 21, 44, 46, 47, 51, 53, 55, 60, 61, 67, ), + /* 33 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 34 */ array(10, 16, 20, 21, 44, 46, 51, 53, 55, 60, 61, 67, ), + /* 35 */ array(10, 16, 20, 21, 44, 46, 51, 55, 60, 61, 67, ), + /* 36 */ array(10, 16, 20, 21, 44, 51, 55, 60, 61, 67, ), + /* 37 */ array(10, 16, 20, 21, 44, 51, 55, 60, 61, 67, ), + /* 38 */ array(10, 16, 20, 21, 44, 51, 55, 60, 61, 67, ), + /* 39 */ array(10, 16, 20, 21, 44, 51, 55, 60, 61, 67, ), + /* 40 */ array(16, 55, 60, 67, ), /* 41 */ array(44, 48, 57, 63, 68, ), /* 42 */ array(16, 51, 55, 60, 67, ), /* 43 */ array(1, 55, 60, 67, ), - /* 44 */ array(46, 48, 64, ), - /* 45 */ array(17, 63, 68, ), - /* 46 */ array(55, 60, 67, ), + /* 44 */ array(55, 60, 67, ), + /* 45 */ array(46, 48, 64, ), + /* 46 */ array(17, 63, 68, ), /* 47 */ array(63, 68, ), /* 48 */ array(56, 68, ), /* 49 */ array(63, 68, ), /* 50 */ array(18, 22, 23, 24, 25, 26, 27, 28, 29, 45, 63, ), - /* 51 */ array(1, 2, 3, 4, 5, 9, 11, 13, 14, 15, 16, ), - /* 52 */ array(18, 22, 23, 24, 25, 26, 27, 28, 29, 63, ), - /* 53 */ array(1, 15, 16, 55, 61, 62, ), - /* 54 */ array(16, 50, 59, 67, ), - /* 55 */ array(16, 50, 52, 67, ), + /* 51 */ array(18, 22, 23, 24, 25, 26, 27, 28, 29, 63, ), + /* 52 */ array(1, 16, 55, 61, 62, ), + /* 53 */ array(16, 50, 59, 67, ), + /* 54 */ array(16, 50, 52, 67, ), + /* 55 */ array(16, 59, 67, ), /* 56 */ array(1, 10, 16, ), - /* 57 */ array(16, 59, 67, ), + /* 57 */ array(1, 16, ), /* 58 */ array(16, 67, ), - /* 59 */ array(48, 68, ), - /* 60 */ array(1, 16, ), + /* 59 */ array(1, 16, ), + /* 60 */ array(48, 50, ), /* 61 */ array(16, 67, ), /* 62 */ array(16, 67, ), - /* 63 */ array(48, 50, ), - /* 64 */ array(16, 67, ), + /* 63 */ array(16, 67, ), + /* 64 */ array(17, 68, ), /* 65 */ array(16, 67, ), - /* 66 */ array(16, 67, ), - /* 67 */ array(1, 16, ), + /* 66 */ array(1, 16, ), + /* 67 */ array(16, 67, ), /* 68 */ array(16, 67, ), - /* 69 */ array(1, 16, ), + /* 69 */ array(48, 68, ), /* 70 */ array(48, ), - /* 71 */ array(68, ), - /* 72 */ array(48, ), + /* 71 */ array(48, ), + /* 72 */ array(68, ), /* 73 */ array(48, ), - /* 74 */ array(17, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), + /* 74 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 58, ), /* 75 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, ), - /* 76 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 58, ), + /* 76 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), /* 77 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), /* 78 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), /* 79 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), @@ -640,105 +595,105 @@ static public $yy_action = array( /* 82 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), /* 83 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), /* 84 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), - /* 85 */ array(17, 53, 54, 66, ), - /* 86 */ array(47, 53, 54, 66, ), - /* 87 */ array(53, 54, 66, ), - /* 88 */ array(16, 50, 67, ), + /* 85 */ array(1, 2, 3, 4, 5, 9, 11, 13, 14, 15, 16, ), + /* 86 */ array(1, 16, 55, 61, 62, ), + /* 87 */ array(47, 53, 54, 66, ), + /* 88 */ array(17, 53, 54, 66, ), /* 89 */ array(53, 54, 66, ), /* 90 */ array(1, 10, 16, ), - /* 91 */ array(16, 17, 67, ), - /* 92 */ array(1, 5, 16, ), - /* 93 */ array(16, 17, 67, ), - /* 94 */ array(1, 8, 16, ), - /* 95 */ array(1, 12, 16, ), - /* 96 */ array(17, 68, ), - /* 97 */ array(17, 63, ), - /* 98 */ array(63, 65, ), - /* 99 */ array(49, 63, ), - /* 100 */ array(17, 68, ), - /* 101 */ array(17, 68, ), - /* 102 */ array(17, 68, ), - /* 103 */ array(16, 44, ), - /* 104 */ array(17, 63, ), - /* 105 */ array(46, 64, ), + /* 91 */ array(16, 50, 67, ), + /* 92 */ array(1, 8, 16, ), + /* 93 */ array(53, 54, 66, ), + /* 94 */ array(1, 12, 16, ), + /* 95 */ array(1, 5, 16, ), + /* 96 */ array(16, 67, ), + /* 97 */ array(49, 63, ), + /* 98 */ array(46, 64, ), + /* 99 */ array(17, 63, ), + /* 100 */ array(46, 64, ), + /* 101 */ array(16, 67, ), + /* 102 */ array(16, 44, ), + /* 103 */ array(63, 65, ), + /* 104 */ array(46, 64, ), + /* 105 */ array(55, 67, ), /* 106 */ array(46, 64, ), - /* 107 */ array(17, 68, ), - /* 108 */ array(17, 68, ), - /* 109 */ array(46, 64, ), - /* 110 */ array(46, 64, ), - /* 111 */ array(17, 63, ), - /* 112 */ array(55, 67, ), - /* 113 */ array(45, 63, ), - /* 114 */ array(46, 64, ), + /* 107 */ array(45, 63, ), + /* 108 */ array(46, 64, ), + /* 109 */ array(17, 63, ), + /* 110 */ array(17, 63, ), + /* 111 */ array(68, ), + /* 112 */ array(63, ), + /* 113 */ array(67, ), + /* 114 */ array(63, ), /* 115 */ array(63, ), - /* 116 */ array(63, ), - /* 117 */ array(63, ), - /* 118 */ array(56, ), - /* 119 */ array(55, ), - /* 120 */ array(63, ), - /* 121 */ array(44, ), - /* 122 */ array(63, ), - /* 123 */ array(48, ), - /* 124 */ array(48, ), - /* 125 */ array(48, ), - /* 126 */ array(48, ), - /* 127 */ array(63, ), - /* 128 */ array(), - /* 129 */ array(), - /* 130 */ array(), - /* 131 */ array(), + /* 116 */ array(48, ), + /* 117 */ array(48, ), + /* 118 */ array(48, ), + /* 119 */ array(48, ), + /* 120 */ array(68, ), + /* 121 */ array(68, ), + /* 122 */ array(44, ), + /* 123 */ array(56, ), + /* 124 */ array(63, ), + /* 125 */ array(68, ), + /* 126 */ array(68, ), + /* 127 */ array(68, ), + /* 128 */ array(55, ), + /* 129 */ array(63, ), + /* 130 */ array(63, ), + /* 131 */ array(68, ), /* 132 */ array(), - /* 133 */ array(17, 44, 50, 57, 68, ), - /* 134 */ array(44, 47, 57, 64, ), - /* 135 */ array(44, 49, 57, ), - /* 136 */ array(58, 65, ), - /* 137 */ array(44, 57, ), - /* 138 */ array(44, 57, ), - /* 139 */ array(59, 67, ), - /* 140 */ array(44, 57, ), - /* 141 */ array(44, 57, ), - /* 142 */ array(1, 67, ), - /* 143 */ array(47, 65, ), - /* 144 */ array(19, 69, ), - /* 145 */ array(17, ), - /* 146 */ array(69, ), - /* 147 */ array(55, ), - /* 148 */ array(55, ), - /* 149 */ array(44, ), - /* 150 */ array(45, ), + /* 133 */ array(), + /* 134 */ array(), + /* 135 */ array(), + /* 136 */ array(), + /* 137 */ array(16, 46, 48, 50, 56, 59, 64, 67, ), + /* 138 */ array(17, 44, 50, 57, 68, ), + /* 139 */ array(44, 47, 57, 64, ), + /* 140 */ array(44, 49, 57, ), + /* 141 */ array(16, 59, 67, ), + /* 142 */ array(19, 69, ), + /* 143 */ array(58, 65, ), + /* 144 */ array(44, 57, ), + /* 145 */ array(44, 57, ), + /* 146 */ array(44, 57, ), + /* 147 */ array(59, 67, ), + /* 148 */ array(44, 57, ), + /* 149 */ array(1, 67, ), + /* 150 */ array(47, 65, ), /* 151 */ array(67, ), /* 152 */ array(67, ), - /* 153 */ array(67, ), - /* 154 */ array(50, ), - /* 155 */ array(17, ), - /* 156 */ array(5, ), - /* 157 */ array(67, ), - /* 158 */ array(55, ), + /* 153 */ array(55, ), + /* 154 */ array(45, ), + /* 155 */ array(55, ), + /* 156 */ array(50, ), + /* 157 */ array(51, ), + /* 158 */ array(67, ), /* 159 */ array(67, ), /* 160 */ array(17, ), - /* 161 */ array(64, ), - /* 162 */ array(47, ), - /* 163 */ array(45, ), - /* 164 */ array(56, ), - /* 165 */ array(67, ), - /* 166 */ array(67, ), - /* 167 */ array(60, ), - /* 168 */ array(62, ), + /* 161 */ array(5, ), + /* 162 */ array(67, ), + /* 163 */ array(17, ), + /* 164 */ array(64, ), + /* 165 */ array(55, ), + /* 166 */ array(17, ), + /* 167 */ array(19, ), + /* 168 */ array(44, ), /* 169 */ array(60, ), - /* 170 */ array(62, ), + /* 170 */ array(69, ), /* 171 */ array(67, ), - /* 172 */ array(67, ), - /* 173 */ array(45, ), - /* 174 */ array(55, ), - /* 175 */ array(19, ), - /* 176 */ array(51, ), - /* 177 */ array(67, ), - /* 178 */ array(), - /* 179 */ array(), - /* 180 */ array(), - /* 181 */ array(), - /* 182 */ array(), - /* 183 */ array(), + /* 172 */ array(17, ), + /* 173 */ array(17, ), + /* 174 */ array(67, ), + /* 175 */ array(45, ), + /* 176 */ array(60, ), + /* 177 */ array(55, ), + /* 178 */ array(67, ), + /* 179 */ array(45, ), + /* 180 */ array(47, ), + /* 181 */ array(67, ), + /* 182 */ array(62, ), + /* 183 */ array(62, ), /* 184 */ array(), /* 185 */ array(), /* 186 */ array(), @@ -841,40 +796,37 @@ static public $yy_action = array( /* 283 */ array(), /* 284 */ array(), /* 285 */ array(), - /* 286 */ array(), - /* 287 */ array(), - /* 288 */ array(), ); static public $yy_default = array( /* 0 */ 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, - /* 10 */ 446, 446, 427, 386, 386, 446, 386, 386, 446, 446, + /* 10 */ 446, 446, 427, 446, 446, 386, 386, 386, 386, 446, /* 20 */ 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, /* 30 */ 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, - /* 40 */ 446, 318, 446, 446, 351, 446, 446, 318, 318, 318, - /* 50 */ 396, 289, 396, 446, 361, 446, 446, 361, 446, 318, - /* 60 */ 446, 446, 446, 354, 446, 446, 446, 446, 446, 446, - /* 70 */ 347, 318, 354, 346, 446, 446, 446, 410, 400, 405, - /* 80 */ 402, 409, 394, 401, 406, 446, 446, 391, 446, 325, - /* 90 */ 446, 446, 446, 446, 446, 446, 446, 446, 385, 430, - /* 100 */ 446, 446, 446, 361, 446, 377, 378, 446, 446, 379, - /* 110 */ 359, 446, 446, 446, 380, 428, 397, 319, 327, 446, - /* 120 */ 323, 361, 429, 352, 349, 348, 374, 310, 361, 390, - /* 130 */ 361, 390, 361, 324, 446, 324, 446, 324, 411, 446, - /* 140 */ 446, 392, 446, 446, 328, 321, 328, 446, 446, 350, - /* 150 */ 446, 446, 446, 446, 320, 446, 446, 446, 446, 446, - /* 160 */ 446, 336, 446, 446, 372, 446, 446, 446, 446, 446, - /* 170 */ 446, 446, 446, 446, 446, 332, 446, 446, 438, 432, - /* 180 */ 433, 345, 440, 437, 365, 290, 441, 434, 309, 366, - /* 190 */ 367, 322, 369, 313, 383, 435, 439, 344, 368, 371, - /* 200 */ 381, 312, 431, 372, 311, 305, 339, 340, 376, 375, - /* 210 */ 338, 337, 328, 329, 335, 355, 360, 364, 330, 342, - /* 220 */ 363, 362, 356, 357, 358, 389, 317, 445, 443, 294, - /* 230 */ 295, 444, 442, 291, 292, 293, 296, 297, 316, 314, - /* 240 */ 315, 302, 301, 298, 299, 300, 343, 387, 418, 419, - /* 250 */ 420, 412, 417, 416, 413, 414, 415, 341, 393, 422, - /* 260 */ 423, 395, 421, 408, 403, 404, 407, 399, 398, 370, - /* 270 */ 373, 332, 353, 326, 331, 388, 436, 303, 424, 426, - /* 280 */ 304, 306, 307, 334, 333, 425, 384, 382, 308, + /* 40 */ 446, 317, 446, 446, 446, 350, 446, 317, 317, 317, + /* 50 */ 396, 396, 446, 361, 446, 361, 446, 446, 446, 446, + /* 60 */ 354, 446, 446, 446, 334, 446, 446, 446, 446, 317, + /* 70 */ 345, 354, 317, 346, 446, 446, 409, 400, 410, 306, + /* 80 */ 405, 401, 402, 394, 406, 286, 446, 446, 446, 391, + /* 90 */ 446, 446, 446, 324, 446, 446, 312, 430, 380, 446, + /* 100 */ 377, 311, 361, 385, 378, 446, 359, 446, 379, 446, + /* 110 */ 446, 301, 318, 446, 429, 428, 347, 351, 374, 348, + /* 120 */ 313, 300, 361, 326, 309, 303, 304, 305, 446, 322, + /* 130 */ 397, 302, 390, 361, 361, 361, 390, 353, 323, 446, + /* 140 */ 323, 353, 327, 446, 323, 411, 392, 446, 446, 446, + /* 150 */ 446, 446, 446, 446, 446, 446, 319, 446, 446, 446, + /* 160 */ 446, 446, 446, 446, 335, 446, 320, 331, 349, 446, + /* 170 */ 327, 446, 446, 446, 446, 446, 446, 446, 446, 446, + /* 180 */ 446, 446, 446, 446, 332, 297, 287, 298, 382, 299, + /* 190 */ 291, 366, 314, 368, 292, 290, 367, 381, 383, 369, + /* 200 */ 293, 294, 439, 296, 437, 441, 295, 365, 432, 344, + /* 210 */ 333, 419, 444, 445, 342, 442, 341, 363, 364, 329, + /* 220 */ 443, 343, 435, 438, 316, 440, 434, 431, 433, 362, + /* 230 */ 358, 328, 334, 336, 327, 389, 288, 289, 315, 337, + /* 240 */ 338, 375, 356, 357, 360, 355, 339, 376, 387, 388, + /* 250 */ 407, 408, 421, 404, 403, 412, 340, 393, 422, 423, + /* 260 */ 372, 321, 352, 371, 310, 395, 308, 420, 418, 373, + /* 270 */ 331, 424, 370, 325, 436, 330, 426, 425, 415, 416, + /* 280 */ 417, 414, 413, 398, 399, 384, ); /* The next thing included is series of defines which control ** various aspects of the generated parser. @@ -891,10 +843,10 @@ static public $yy_action = array( ** self::YYERRORSYMBOL is the code number of the error symbol. If not ** defined, then do no error processing. */ - const YYNOCODE = 111; + const YYNOCODE = 112; const YYSTACKDEPTH = 100; - const YYNSTATE = 289; - const YYNRULE = 157; + const YYNSTATE = 286; + const YYNRULE = 160; const YYERRORSYMBOL = 70; const YYERRSYMDT = 'yy0'; const YYFALLBACK = 1; @@ -1065,16 +1017,16 @@ static public $yy_action = array( 'HATCH', 'QUOTE', 'BACKTICK', 'VERT', 'DOT', 'COMMA', 'ANDSYM', 'ID', 'SPACE', 'INSTANCEOF', 'error', 'start', - 'template', 'template_element', 'smartytag', 'text', - 'expr', 'attributes', 'varindexed', 'modifier', - 'modparameters', 'ifexprs', 'statement', 'statements', - 'varvar', 'foraction', 'value', 'array', - 'attribute', 'exprs', 'math', 'variable', - 'function', 'doublequoted', 'method', 'params', - 'objectchain', 'arrayindex', 'object', 'indexdef', - 'varvarele', 'objectelement', 'modparameter', 'ifexpr', - 'ifcond', 'lop', 'arrayelements', 'arrayelement', - 'doublequotedcontent', 'textelement', + 'template', 'template_element', 'smartytag', 'smartyclosetag', + 'text', 'variable', 'attributes', 'expr', + 'varindexed', 'modifier', 'modparameters', 'ifexprs', + 'statement', 'statements', 'varvar', 'foraction', + 'value', 'array', 'attribute', 'exprs', + 'math', 'function', 'doublequoted', 'method', + 'params', 'objectchain', 'arrayindex', 'object', + 'indexdef', 'varvarele', 'objectelement', 'modparameter', + 'ifexpr', 'ifcond', 'lop', 'arrayelements', + 'arrayelement', 'doublequotedcontent', 'textelement', ); /** @@ -1085,160 +1037,163 @@ static public $yy_action = array( /* 0 */ "start ::= template", /* 1 */ "template ::= template_element", /* 2 */ "template ::= template template_element", - /* 3 */ "template_element ::= smartytag", - /* 4 */ "template_element ::= COMMENTSTART text COMMENTEND", - /* 5 */ "template_element ::= LITERALSTART text LITERALEND", - /* 6 */ "template_element ::= LDELIMTAG", - /* 7 */ "template_element ::= RDELIMTAG", - /* 8 */ "template_element ::= PHP text SHORTTAGEND", - /* 9 */ "template_element ::= SHORTTAGSTART DOLLAR ID SHORTTAGEND", - /* 10 */ "template_element ::= XML", - /* 11 */ "template_element ::= SHORTTAGEND", - /* 12 */ "template_element ::= OTHER", - /* 13 */ "smartytag ::= LDEL expr attributes RDEL", - /* 14 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL", - /* 15 */ "smartytag ::= LDEL ID attributes RDEL", - /* 16 */ "smartytag ::= LDEL ID PTR ID attributes RDEL", - /* 17 */ "smartytag ::= LDEL ID modifier modparameters attributes RDEL", - /* 18 */ "smartytag ::= LDEL ID SPACE ifexprs RDEL", - /* 19 */ "smartytag ::= LDEL ID SPACE statement RDEL", - /* 20 */ "smartytag ::= LDEL ID SPACE statements SEMICOLON ifexprs SEMICOLON DOLLAR varvar foraction RDEL", - /* 21 */ "foraction ::= EQUAL expr", - /* 22 */ "foraction ::= INCDEC", - /* 23 */ "smartytag ::= LDEL ID SPACE value AS DOLLAR varvar RDEL", - /* 24 */ "smartytag ::= LDEL ID SPACE array AS DOLLAR varvar RDEL", - /* 25 */ "smartytag ::= LDELSLASH ID attributes RDEL", - /* 26 */ "smartytag ::= LDELSLASH ID PTR ID RDEL", - /* 27 */ "attributes ::= attributes attribute", - /* 28 */ "attributes ::= attribute", - /* 29 */ "attributes ::=", - /* 30 */ "attribute ::= SPACE ID EQUAL expr", - /* 31 */ "attribute ::= SPACE ID", - /* 32 */ "statements ::= statement", - /* 33 */ "statements ::= statements COMMA statement", - /* 34 */ "statement ::= DOLLAR varvar EQUAL expr", - /* 35 */ "expr ::= ID", - /* 36 */ "expr ::= exprs", - /* 37 */ "expr ::= DOLLAR ID COLON ID", - /* 38 */ "expr ::= expr modifier modparameters", - /* 39 */ "exprs ::= value", - /* 40 */ "exprs ::= UNIMATH value", - /* 41 */ "exprs ::= exprs math value", - /* 42 */ "exprs ::= exprs ANDSYM value", - /* 43 */ "exprs ::= array", - /* 44 */ "math ::= UNIMATH", - /* 45 */ "math ::= MATH", - /* 46 */ "value ::= variable", - /* 47 */ "value ::= INTEGER", - /* 48 */ "value ::= INTEGER DOT INTEGER", - /* 49 */ "value ::= BOOLEAN", - /* 50 */ "value ::= NULL", - /* 51 */ "value ::= function", - /* 52 */ "value ::= OPENP expr CLOSEP", - /* 53 */ "value ::= SINGLEQUOTE text SINGLEQUOTE", - /* 54 */ "value ::= SINGLEQUOTE SINGLEQUOTE", - /* 55 */ "value ::= QUOTE doublequoted QUOTE", - /* 56 */ "value ::= QUOTE QUOTE", - /* 57 */ "value ::= ID DOUBLECOLON method", - /* 58 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP", - /* 59 */ "value ::= ID DOUBLECOLON method objectchain", - /* 60 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP objectchain", - /* 61 */ "value ::= ID DOUBLECOLON ID", - /* 62 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex", - /* 63 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex objectchain", - /* 64 */ "value ::= smartytag", - /* 65 */ "variable ::= varindexed", - /* 66 */ "variable ::= DOLLAR varvar AT ID", - /* 67 */ "variable ::= object", - /* 68 */ "variable ::= HATCH ID HATCH", - /* 69 */ "variable ::= HATCH variable HATCH", - /* 70 */ "varindexed ::= DOLLAR varvar arrayindex", - /* 71 */ "arrayindex ::= arrayindex indexdef", - /* 72 */ "arrayindex ::=", - /* 73 */ "indexdef ::= DOT ID", - /* 74 */ "indexdef ::= DOT INTEGER", - /* 75 */ "indexdef ::= DOT variable", - /* 76 */ "indexdef ::= DOT LDEL exprs RDEL", - /* 77 */ "indexdef ::= OPENB ID CLOSEB", - /* 78 */ "indexdef ::= OPENB ID DOT ID CLOSEB", - /* 79 */ "indexdef ::= OPENB exprs CLOSEB", - /* 80 */ "indexdef ::= OPENB CLOSEB", - /* 81 */ "varvar ::= varvarele", - /* 82 */ "varvar ::= varvar varvarele", - /* 83 */ "varvarele ::= ID", - /* 84 */ "varvarele ::= LDEL expr RDEL", - /* 85 */ "object ::= varindexed objectchain", - /* 86 */ "objectchain ::= objectelement", - /* 87 */ "objectchain ::= objectchain objectelement", - /* 88 */ "objectelement ::= PTR ID arrayindex", - /* 89 */ "objectelement ::= PTR variable arrayindex", - /* 90 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", - /* 91 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", - /* 92 */ "objectelement ::= PTR method", - /* 93 */ "function ::= ID OPENP params CLOSEP", - /* 94 */ "method ::= ID OPENP params CLOSEP", - /* 95 */ "params ::= expr COMMA params", - /* 96 */ "params ::= expr", - /* 97 */ "params ::=", - /* 98 */ "modifier ::= VERT AT ID", - /* 99 */ "modifier ::= VERT ID", - /* 100 */ "modparameters ::= modparameters modparameter", - /* 101 */ "modparameters ::=", - /* 102 */ "modparameter ::= COLON exprs", - /* 103 */ "modparameter ::= COLON ID", - /* 104 */ "ifexprs ::= ifexpr", - /* 105 */ "ifexprs ::= NOT ifexprs", - /* 106 */ "ifexprs ::= OPENP ifexprs CLOSEP", - /* 107 */ "ifexpr ::= expr", - /* 108 */ "ifexpr ::= expr ifcond expr", - /* 109 */ "ifexpr ::= expr ISIN array", - /* 110 */ "ifexpr ::= expr ISIN value", - /* 111 */ "ifexpr ::= ifexprs lop ifexprs", - /* 112 */ "ifexpr ::= ifexprs ISDIVBY ifexprs", - /* 113 */ "ifexpr ::= ifexprs ISNOTDIVBY ifexprs", - /* 114 */ "ifexpr ::= ifexprs ISEVEN", - /* 115 */ "ifexpr ::= ifexprs ISNOTEVEN", - /* 116 */ "ifexpr ::= ifexprs ISEVENBY ifexprs", - /* 117 */ "ifexpr ::= ifexprs ISNOTEVENBY ifexprs", - /* 118 */ "ifexpr ::= ifexprs ISODD", - /* 119 */ "ifexpr ::= ifexprs ISNOTODD", - /* 120 */ "ifexpr ::= ifexprs ISODDBY ifexprs", - /* 121 */ "ifexpr ::= ifexprs ISNOTODDBY ifexprs", - /* 122 */ "ifexpr ::= value INSTANCEOF ID", - /* 123 */ "ifexpr ::= value INSTANCEOF value", - /* 124 */ "ifcond ::= EQUALS", - /* 125 */ "ifcond ::= NOTEQUALS", - /* 126 */ "ifcond ::= GREATERTHAN", - /* 127 */ "ifcond ::= LESSTHAN", - /* 128 */ "ifcond ::= GREATEREQUAL", - /* 129 */ "ifcond ::= LESSEQUAL", - /* 130 */ "ifcond ::= IDENTITY", - /* 131 */ "ifcond ::= NONEIDENTITY", - /* 132 */ "lop ::= LAND", - /* 133 */ "lop ::= LOR", - /* 134 */ "lop ::= LXOR", - /* 135 */ "array ::= OPENB arrayelements CLOSEB", - /* 136 */ "arrayelements ::= arrayelement", - /* 137 */ "arrayelements ::= arrayelements COMMA arrayelement", - /* 138 */ "arrayelements ::=", - /* 139 */ "arrayelement ::= expr APTR expr", - /* 140 */ "arrayelement ::= ID APTR expr", - /* 141 */ "arrayelement ::= expr", - /* 142 */ "doublequoted ::= doublequoted doublequotedcontent", - /* 143 */ "doublequoted ::= doublequotedcontent", - /* 144 */ "doublequotedcontent ::= BACKTICK ID BACKTICK", - /* 145 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", - /* 146 */ "doublequotedcontent ::= DOLLAR ID", - /* 147 */ "doublequotedcontent ::= LDEL expr RDEL", - /* 148 */ "doublequotedcontent ::= smartytag", - /* 149 */ "doublequotedcontent ::= DOLLAR OTHER", - /* 150 */ "doublequotedcontent ::= LDEL OTHER", - /* 151 */ "doublequotedcontent ::= BACKTICK OTHER", - /* 152 */ "doublequotedcontent ::= OTHER", - /* 153 */ "text ::= text textelement", - /* 154 */ "text ::= textelement", - /* 155 */ "textelement ::= OTHER", - /* 156 */ "textelement ::= LDEL", + /* 3 */ "template_element ::= LDEL smartytag RDEL", + /* 4 */ "template_element ::= LDELSLASH smartyclosetag RDEL", + /* 5 */ "template_element ::= COMMENTSTART text COMMENTEND", + /* 6 */ "template_element ::= LITERALSTART text LITERALEND", + /* 7 */ "template_element ::= LDELIMTAG", + /* 8 */ "template_element ::= RDELIMTAG", + /* 9 */ "template_element ::= PHP text SHORTTAGEND", + /* 10 */ "template_element ::= SHORTTAGSTART DOLLAR ID SHORTTAGEND", + /* 11 */ "template_element ::= XML", + /* 12 */ "template_element ::= SHORTTAGEND", + /* 13 */ "template_element ::= OTHER", + /* 14 */ "smartytag ::= variable attributes", + /* 15 */ "smartytag ::= expr attributes", + /* 16 */ "smartytag ::= varindexed EQUAL expr attributes", + /* 17 */ "smartytag ::= ID attributes", + /* 18 */ "smartytag ::= ID PTR ID attributes", + /* 19 */ "smartytag ::= ID modifier modparameters attributes", + /* 20 */ "smartytag ::= ID SPACE ifexprs", + /* 21 */ "smartytag ::= ID SPACE statement", + /* 22 */ "smartytag ::= ID SPACE statements SEMICOLON ifexprs SEMICOLON DOLLAR varvar foraction", + /* 23 */ "foraction ::= EQUAL expr", + /* 24 */ "foraction ::= INCDEC", + /* 25 */ "smartytag ::= ID SPACE value AS DOLLAR varvar", + /* 26 */ "smartytag ::= ID SPACE array AS DOLLAR varvar", + /* 27 */ "smartyclosetag ::= ID attributes", + /* 28 */ "smartyclosetag ::= ID PTR ID", + /* 29 */ "attributes ::= attributes attribute", + /* 30 */ "attributes ::= attribute", + /* 31 */ "attributes ::=", + /* 32 */ "attribute ::= SPACE ID EQUAL expr", + /* 33 */ "attribute ::= SPACE ID", + /* 34 */ "statements ::= statement", + /* 35 */ "statements ::= statements COMMA statement", + /* 36 */ "statement ::= DOLLAR varvar EQUAL expr", + /* 37 */ "expr ::= ID", + /* 38 */ "expr ::= exprs", + /* 39 */ "expr ::= DOLLAR ID COLON ID", + /* 40 */ "expr ::= expr modifier modparameters", + /* 41 */ "exprs ::= value", + /* 42 */ "exprs ::= UNIMATH value", + /* 43 */ "exprs ::= exprs math value", + /* 44 */ "exprs ::= exprs ANDSYM value", + /* 45 */ "exprs ::= array", + /* 46 */ "math ::= UNIMATH", + /* 47 */ "math ::= MATH", + /* 48 */ "value ::= variable", + /* 49 */ "value ::= INTEGER", + /* 50 */ "value ::= INTEGER DOT INTEGER", + /* 51 */ "value ::= BOOLEAN", + /* 52 */ "value ::= NULL", + /* 53 */ "value ::= function", + /* 54 */ "value ::= OPENP expr CLOSEP", + /* 55 */ "value ::= SINGLEQUOTE text SINGLEQUOTE", + /* 56 */ "value ::= SINGLEQUOTE SINGLEQUOTE", + /* 57 */ "value ::= QUOTE doublequoted QUOTE", + /* 58 */ "value ::= QUOTE QUOTE", + /* 59 */ "value ::= ID DOUBLECOLON method", + /* 60 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP", + /* 61 */ "value ::= ID DOUBLECOLON method objectchain", + /* 62 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP objectchain", + /* 63 */ "value ::= ID DOUBLECOLON ID", + /* 64 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex", + /* 65 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex objectchain", + /* 66 */ "value ::= LDEL smartytag RDEL", + /* 67 */ "variable ::= DOLLAR ID", + /* 68 */ "variable ::= varindexed", + /* 69 */ "variable ::= DOLLAR varvar AT ID", + /* 70 */ "variable ::= object", + /* 71 */ "variable ::= HATCH ID HATCH", + /* 72 */ "variable ::= HATCH variable HATCH", + /* 73 */ "varindexed ::= DOLLAR varvar arrayindex", + /* 74 */ "arrayindex ::= arrayindex indexdef", + /* 75 */ "arrayindex ::=", + /* 76 */ "indexdef ::= DOT ID", + /* 77 */ "indexdef ::= DOT INTEGER", + /* 78 */ "indexdef ::= DOT variable", + /* 79 */ "indexdef ::= DOT LDEL exprs RDEL", + /* 80 */ "indexdef ::= OPENB ID CLOSEB", + /* 81 */ "indexdef ::= OPENB ID DOT ID CLOSEB", + /* 82 */ "indexdef ::= OPENB exprs CLOSEB", + /* 83 */ "indexdef ::= OPENB CLOSEB", + /* 84 */ "varvar ::= varvarele", + /* 85 */ "varvar ::= varvar varvarele", + /* 86 */ "varvarele ::= ID", + /* 87 */ "varvarele ::= LDEL expr RDEL", + /* 88 */ "object ::= varindexed objectchain", + /* 89 */ "objectchain ::= objectelement", + /* 90 */ "objectchain ::= objectchain objectelement", + /* 91 */ "objectelement ::= PTR ID arrayindex", + /* 92 */ "objectelement ::= PTR variable arrayindex", + /* 93 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", + /* 94 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", + /* 95 */ "objectelement ::= PTR method", + /* 96 */ "function ::= ID OPENP params CLOSEP", + /* 97 */ "method ::= ID OPENP params CLOSEP", + /* 98 */ "params ::= expr COMMA params", + /* 99 */ "params ::= expr", + /* 100 */ "params ::=", + /* 101 */ "modifier ::= VERT AT ID", + /* 102 */ "modifier ::= VERT ID", + /* 103 */ "modparameters ::= modparameters modparameter", + /* 104 */ "modparameters ::=", + /* 105 */ "modparameter ::= COLON exprs", + /* 106 */ "modparameter ::= COLON ID", + /* 107 */ "ifexprs ::= ifexpr", + /* 108 */ "ifexprs ::= NOT ifexprs", + /* 109 */ "ifexprs ::= OPENP ifexprs CLOSEP", + /* 110 */ "ifexpr ::= expr", + /* 111 */ "ifexpr ::= expr ifcond expr", + /* 112 */ "ifexpr ::= expr ISIN array", + /* 113 */ "ifexpr ::= expr ISIN value", + /* 114 */ "ifexpr ::= ifexprs lop ifexprs", + /* 115 */ "ifexpr ::= ifexprs ISDIVBY ifexprs", + /* 116 */ "ifexpr ::= ifexprs ISNOTDIVBY ifexprs", + /* 117 */ "ifexpr ::= ifexprs ISEVEN", + /* 118 */ "ifexpr ::= ifexprs ISNOTEVEN", + /* 119 */ "ifexpr ::= ifexprs ISEVENBY ifexprs", + /* 120 */ "ifexpr ::= ifexprs ISNOTEVENBY ifexprs", + /* 121 */ "ifexpr ::= ifexprs ISODD", + /* 122 */ "ifexpr ::= ifexprs ISNOTODD", + /* 123 */ "ifexpr ::= ifexprs ISODDBY ifexprs", + /* 124 */ "ifexpr ::= ifexprs ISNOTODDBY ifexprs", + /* 125 */ "ifexpr ::= value INSTANCEOF ID", + /* 126 */ "ifexpr ::= value INSTANCEOF value", + /* 127 */ "ifcond ::= EQUALS", + /* 128 */ "ifcond ::= NOTEQUALS", + /* 129 */ "ifcond ::= GREATERTHAN", + /* 130 */ "ifcond ::= LESSTHAN", + /* 131 */ "ifcond ::= GREATEREQUAL", + /* 132 */ "ifcond ::= LESSEQUAL", + /* 133 */ "ifcond ::= IDENTITY", + /* 134 */ "ifcond ::= NONEIDENTITY", + /* 135 */ "lop ::= LAND", + /* 136 */ "lop ::= LOR", + /* 137 */ "lop ::= LXOR", + /* 138 */ "array ::= OPENB arrayelements CLOSEB", + /* 139 */ "arrayelements ::= arrayelement", + /* 140 */ "arrayelements ::= arrayelements COMMA arrayelement", + /* 141 */ "arrayelements ::=", + /* 142 */ "arrayelement ::= expr APTR expr", + /* 143 */ "arrayelement ::= ID APTR expr", + /* 144 */ "arrayelement ::= expr", + /* 145 */ "doublequoted ::= doublequoted doublequotedcontent", + /* 146 */ "doublequoted ::= doublequotedcontent", + /* 147 */ "doublequotedcontent ::= BACKTICK ID BACKTICK", + /* 148 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", + /* 149 */ "doublequotedcontent ::= DOLLAR ID", + /* 150 */ "doublequotedcontent ::= LDEL expr RDEL", + /* 151 */ "doublequotedcontent ::= LDEL smartytag RDEL", + /* 152 */ "doublequotedcontent ::= DOLLAR OTHER", + /* 153 */ "doublequotedcontent ::= LDEL OTHER", + /* 154 */ "doublequotedcontent ::= BACKTICK OTHER", + /* 155 */ "doublequotedcontent ::= OTHER", + /* 156 */ "text ::= text textelement", + /* 157 */ "text ::= textelement", + /* 158 */ "textelement ::= OTHER", + /* 159 */ "textelement ::= LDEL", ); /** @@ -1606,7 +1561,8 @@ static public $yy_action = array( array( 'lhs' => 71, 'rhs' => 1 ), array( 'lhs' => 72, 'rhs' => 1 ), array( 'lhs' => 72, 'rhs' => 2 ), - array( 'lhs' => 73, 'rhs' => 1 ), + array( 'lhs' => 73, 'rhs' => 3 ), + array( 'lhs' => 73, 'rhs' => 3 ), array( 'lhs' => 73, 'rhs' => 3 ), array( 'lhs' => 73, 'rhs' => 3 ), array( 'lhs' => 73, 'rhs' => 1 ), @@ -1616,150 +1572,152 @@ static public $yy_action = array( array( 'lhs' => 73, 'rhs' => 1 ), array( 'lhs' => 73, 'rhs' => 1 ), array( 'lhs' => 73, 'rhs' => 1 ), + array( 'lhs' => 74, 'rhs' => 2 ), + array( 'lhs' => 74, 'rhs' => 2 ), array( 'lhs' => 74, 'rhs' => 4 ), - array( 'lhs' => 74, 'rhs' => 6 ), + array( 'lhs' => 74, 'rhs' => 2 ), array( 'lhs' => 74, 'rhs' => 4 ), + array( 'lhs' => 74, 'rhs' => 4 ), + array( 'lhs' => 74, 'rhs' => 3 ), + array( 'lhs' => 74, 'rhs' => 3 ), + array( 'lhs' => 74, 'rhs' => 9 ), + array( 'lhs' => 87, 'rhs' => 2 ), + array( 'lhs' => 87, 'rhs' => 1 ), array( 'lhs' => 74, 'rhs' => 6 ), array( 'lhs' => 74, 'rhs' => 6 ), - array( 'lhs' => 74, 'rhs' => 5 ), - array( 'lhs' => 74, 'rhs' => 5 ), - array( 'lhs' => 74, 'rhs' => 11 ), - array( 'lhs' => 85, 'rhs' => 2 ), + array( 'lhs' => 75, 'rhs' => 2 ), + array( 'lhs' => 75, 'rhs' => 3 ), + array( 'lhs' => 78, 'rhs' => 2 ), + array( 'lhs' => 78, 'rhs' => 1 ), + array( 'lhs' => 78, 'rhs' => 0 ), + array( 'lhs' => 90, 'rhs' => 4 ), + array( 'lhs' => 90, 'rhs' => 2 ), array( 'lhs' => 85, 'rhs' => 1 ), - array( 'lhs' => 74, 'rhs' => 8 ), - array( 'lhs' => 74, 'rhs' => 8 ), - array( 'lhs' => 74, 'rhs' => 4 ), - array( 'lhs' => 74, 'rhs' => 5 ), + array( 'lhs' => 85, 'rhs' => 3 ), + array( 'lhs' => 84, 'rhs' => 4 ), + array( 'lhs' => 79, 'rhs' => 1 ), + array( 'lhs' => 79, 'rhs' => 1 ), + array( 'lhs' => 79, 'rhs' => 4 ), + array( 'lhs' => 79, 'rhs' => 3 ), + array( 'lhs' => 91, 'rhs' => 1 ), + array( 'lhs' => 91, 'rhs' => 2 ), + array( 'lhs' => 91, 'rhs' => 3 ), + array( 'lhs' => 91, 'rhs' => 3 ), + array( 'lhs' => 91, 'rhs' => 1 ), + array( 'lhs' => 92, 'rhs' => 1 ), + array( 'lhs' => 92, 'rhs' => 1 ), + array( 'lhs' => 88, 'rhs' => 1 ), + array( 'lhs' => 88, 'rhs' => 1 ), + array( 'lhs' => 88, 'rhs' => 3 ), + array( 'lhs' => 88, 'rhs' => 1 ), + array( 'lhs' => 88, 'rhs' => 1 ), + array( 'lhs' => 88, 'rhs' => 1 ), + array( 'lhs' => 88, 'rhs' => 3 ), + array( 'lhs' => 88, 'rhs' => 3 ), + array( 'lhs' => 88, 'rhs' => 2 ), + array( 'lhs' => 88, 'rhs' => 3 ), + array( 'lhs' => 88, 'rhs' => 2 ), + array( 'lhs' => 88, 'rhs' => 3 ), + array( 'lhs' => 88, 'rhs' => 7 ), + array( 'lhs' => 88, 'rhs' => 4 ), + array( 'lhs' => 88, 'rhs' => 8 ), + array( 'lhs' => 88, 'rhs' => 3 ), + array( 'lhs' => 88, 'rhs' => 5 ), + array( 'lhs' => 88, 'rhs' => 6 ), + array( 'lhs' => 88, 'rhs' => 3 ), array( 'lhs' => 77, 'rhs' => 2 ), array( 'lhs' => 77, 'rhs' => 1 ), - array( 'lhs' => 77, 'rhs' => 0 ), - array( 'lhs' => 88, 'rhs' => 4 ), - array( 'lhs' => 88, 'rhs' => 2 ), - array( 'lhs' => 83, 'rhs' => 1 ), - array( 'lhs' => 83, 'rhs' => 3 ), - array( 'lhs' => 82, 'rhs' => 4 ), - array( 'lhs' => 76, 'rhs' => 1 ), - array( 'lhs' => 76, 'rhs' => 1 ), - array( 'lhs' => 76, 'rhs' => 4 ), - array( 'lhs' => 76, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 1 ), - array( 'lhs' => 89, 'rhs' => 2 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 1 ), - array( 'lhs' => 90, 'rhs' => 1 ), - array( 'lhs' => 90, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 2 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 2 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 7 ), - array( 'lhs' => 86, 'rhs' => 4 ), - array( 'lhs' => 86, 'rhs' => 8 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 5 ), - array( 'lhs' => 86, 'rhs' => 6 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 91, 'rhs' => 1 ), - array( 'lhs' => 91, 'rhs' => 4 ), - array( 'lhs' => 91, 'rhs' => 1 ), - array( 'lhs' => 91, 'rhs' => 3 ), - array( 'lhs' => 91, 'rhs' => 3 ), - array( 'lhs' => 78, 'rhs' => 3 ), - array( 'lhs' => 97, 'rhs' => 2 ), - array( 'lhs' => 97, 'rhs' => 0 ), - array( 'lhs' => 99, 'rhs' => 2 ), - array( 'lhs' => 99, 'rhs' => 2 ), - array( 'lhs' => 99, 'rhs' => 2 ), - array( 'lhs' => 99, 'rhs' => 4 ), - array( 'lhs' => 99, 'rhs' => 3 ), - array( 'lhs' => 99, 'rhs' => 5 ), - array( 'lhs' => 99, 'rhs' => 3 ), - array( 'lhs' => 99, 'rhs' => 2 ), - array( 'lhs' => 84, 'rhs' => 1 ), - array( 'lhs' => 84, 'rhs' => 2 ), - array( 'lhs' => 100, 'rhs' => 1 ), - array( 'lhs' => 100, 'rhs' => 3 ), + array( 'lhs' => 77, 'rhs' => 4 ), + array( 'lhs' => 77, 'rhs' => 1 ), + array( 'lhs' => 77, 'rhs' => 3 ), + array( 'lhs' => 77, 'rhs' => 3 ), + array( 'lhs' => 80, 'rhs' => 3 ), array( 'lhs' => 98, 'rhs' => 2 ), + array( 'lhs' => 98, 'rhs' => 0 ), + array( 'lhs' => 100, 'rhs' => 2 ), + array( 'lhs' => 100, 'rhs' => 2 ), + array( 'lhs' => 100, 'rhs' => 2 ), + array( 'lhs' => 100, 'rhs' => 4 ), + array( 'lhs' => 100, 'rhs' => 3 ), + array( 'lhs' => 100, 'rhs' => 5 ), + array( 'lhs' => 100, 'rhs' => 3 ), + array( 'lhs' => 100, 'rhs' => 2 ), + array( 'lhs' => 86, 'rhs' => 1 ), + array( 'lhs' => 86, 'rhs' => 2 ), + array( 'lhs' => 101, 'rhs' => 1 ), + array( 'lhs' => 101, 'rhs' => 3 ), + array( 'lhs' => 99, 'rhs' => 2 ), + array( 'lhs' => 97, 'rhs' => 1 ), + array( 'lhs' => 97, 'rhs' => 2 ), + array( 'lhs' => 102, 'rhs' => 3 ), + array( 'lhs' => 102, 'rhs' => 3 ), + array( 'lhs' => 102, 'rhs' => 5 ), + array( 'lhs' => 102, 'rhs' => 6 ), + array( 'lhs' => 102, 'rhs' => 2 ), + array( 'lhs' => 93, 'rhs' => 4 ), + array( 'lhs' => 95, 'rhs' => 4 ), + array( 'lhs' => 96, 'rhs' => 3 ), array( 'lhs' => 96, 'rhs' => 1 ), - array( 'lhs' => 96, 'rhs' => 2 ), - array( 'lhs' => 101, 'rhs' => 3 ), - array( 'lhs' => 101, 'rhs' => 3 ), - array( 'lhs' => 101, 'rhs' => 5 ), - array( 'lhs' => 101, 'rhs' => 6 ), - array( 'lhs' => 101, 'rhs' => 2 ), - array( 'lhs' => 92, 'rhs' => 4 ), - array( 'lhs' => 94, 'rhs' => 4 ), - array( 'lhs' => 95, 'rhs' => 3 ), - array( 'lhs' => 95, 'rhs' => 1 ), - array( 'lhs' => 95, 'rhs' => 0 ), - array( 'lhs' => 79, 'rhs' => 3 ), - array( 'lhs' => 79, 'rhs' => 2 ), - array( 'lhs' => 80, 'rhs' => 2 ), - array( 'lhs' => 80, 'rhs' => 0 ), - array( 'lhs' => 102, 'rhs' => 2 ), - array( 'lhs' => 102, 'rhs' => 2 ), - array( 'lhs' => 81, 'rhs' => 1 ), - array( 'lhs' => 81, 'rhs' => 2 ), + array( 'lhs' => 96, 'rhs' => 0 ), array( 'lhs' => 81, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 1 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 3 ), + array( 'lhs' => 81, 'rhs' => 2 ), + array( 'lhs' => 82, 'rhs' => 2 ), + array( 'lhs' => 82, 'rhs' => 0 ), array( 'lhs' => 103, 'rhs' => 2 ), array( 'lhs' => 103, 'rhs' => 2 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 2 ), - array( 'lhs' => 103, 'rhs' => 2 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 103, 'rhs' => 3 ), - array( 'lhs' => 104, 'rhs' => 1 ), - array( 'lhs' => 104, 'rhs' => 1 ), - array( 'lhs' => 104, 'rhs' => 1 ), - array( 'lhs' => 104, 'rhs' => 1 ), - array( 'lhs' => 104, 'rhs' => 1 ), - array( 'lhs' => 104, 'rhs' => 1 ), - array( 'lhs' => 104, 'rhs' => 1 ), + array( 'lhs' => 83, 'rhs' => 1 ), + array( 'lhs' => 83, 'rhs' => 2 ), + array( 'lhs' => 83, 'rhs' => 3 ), array( 'lhs' => 104, 'rhs' => 1 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 2 ), + array( 'lhs' => 104, 'rhs' => 2 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 2 ), + array( 'lhs' => 104, 'rhs' => 2 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 104, 'rhs' => 3 ), + array( 'lhs' => 105, 'rhs' => 1 ), + array( 'lhs' => 105, 'rhs' => 1 ), + array( 'lhs' => 105, 'rhs' => 1 ), + array( 'lhs' => 105, 'rhs' => 1 ), + array( 'lhs' => 105, 'rhs' => 1 ), array( 'lhs' => 105, 'rhs' => 1 ), array( 'lhs' => 105, 'rhs' => 1 ), array( 'lhs' => 105, 'rhs' => 1 ), - array( 'lhs' => 87, 'rhs' => 3 ), array( 'lhs' => 106, 'rhs' => 1 ), - array( 'lhs' => 106, 'rhs' => 3 ), - array( 'lhs' => 106, 'rhs' => 0 ), - array( 'lhs' => 107, 'rhs' => 3 ), - array( 'lhs' => 107, 'rhs' => 3 ), + array( 'lhs' => 106, 'rhs' => 1 ), + array( 'lhs' => 106, 'rhs' => 1 ), + array( 'lhs' => 89, 'rhs' => 3 ), array( 'lhs' => 107, 'rhs' => 1 ), - array( 'lhs' => 93, 'rhs' => 2 ), - array( 'lhs' => 93, 'rhs' => 1 ), + array( 'lhs' => 107, 'rhs' => 3 ), + array( 'lhs' => 107, 'rhs' => 0 ), array( 'lhs' => 108, 'rhs' => 3 ), array( 'lhs' => 108, 'rhs' => 3 ), - array( 'lhs' => 108, 'rhs' => 2 ), - array( 'lhs' => 108, 'rhs' => 3 ), array( 'lhs' => 108, 'rhs' => 1 ), - array( 'lhs' => 108, 'rhs' => 2 ), - array( 'lhs' => 108, 'rhs' => 2 ), - array( 'lhs' => 108, 'rhs' => 2 ), - array( 'lhs' => 108, 'rhs' => 1 ), - array( 'lhs' => 75, 'rhs' => 2 ), - array( 'lhs' => 75, 'rhs' => 1 ), - array( 'lhs' => 109, 'rhs' => 1 ), + array( 'lhs' => 94, 'rhs' => 2 ), + array( 'lhs' => 94, 'rhs' => 1 ), + array( 'lhs' => 109, 'rhs' => 3 ), + array( 'lhs' => 109, 'rhs' => 3 ), + array( 'lhs' => 109, 'rhs' => 2 ), + array( 'lhs' => 109, 'rhs' => 3 ), + array( 'lhs' => 109, 'rhs' => 3 ), + array( 'lhs' => 109, 'rhs' => 2 ), + array( 'lhs' => 109, 'rhs' => 2 ), + array( 'lhs' => 109, 'rhs' => 2 ), array( 'lhs' => 109, 'rhs' => 1 ), + array( 'lhs' => 76, 'rhs' => 2 ), + array( 'lhs' => 76, 'rhs' => 1 ), + array( 'lhs' => 110, 'rhs' => 1 ), + array( 'lhs' => 110, 'rhs' => 1 ), ); /** @@ -1770,33 +1728,33 @@ static public $yy_action = array( */ static public $yyReduceMap = array( 0 => 0, - 39 => 0, - 46 => 0, - 47 => 0, + 41 => 0, + 48 => 0, 49 => 0, - 50 => 0, 51 => 0, - 67 => 0, - 136 => 0, + 52 => 0, + 53 => 0, + 70 => 0, + 139 => 0, 1 => 1, - 36 => 1, - 43 => 1, - 44 => 1, + 38 => 1, 45 => 1, - 81 => 1, - 104 => 1, - 143 => 1, - 152 => 1, - 154 => 1, + 46 => 1, + 47 => 1, + 84 => 1, + 107 => 1, + 146 => 1, 155 => 1, - 156 => 1, + 157 => 1, + 158 => 1, + 159 => 1, 2 => 2, - 71 => 2, - 142 => 2, - 150 => 2, + 74 => 2, + 145 => 2, 153 => 2, + 156 => 2, 3 => 3, - 4 => 4, + 4 => 3, 5 => 5, 6 => 6, 7 => 7, @@ -1807,7 +1765,7 @@ static public $yy_action = array( 12 => 12, 13 => 13, 14 => 14, - 15 => 15, + 15 => 14, 16 => 16, 17 => 17, 18 => 18, @@ -1815,34 +1773,34 @@ static public $yy_action = array( 20 => 20, 21 => 21, 22 => 22, - 28 => 22, - 96 => 22, - 141 => 22, 23 => 23, 24 => 24, + 30 => 24, + 99 => 24, + 144 => 24, 25 => 25, 26 => 26, 27 => 27, + 28 => 28, 29 => 29, - 30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, + 36 => 36, 37 => 37, - 38 => 38, + 39 => 39, 40 => 40, - 41 => 41, 42 => 42, - 48 => 48, - 52 => 52, - 53 => 53, + 43 => 43, + 44 => 44, + 50 => 50, 54 => 54, - 56 => 54, 55 => 55, + 56 => 56, + 58 => 56, 57 => 57, - 58 => 58, 59 => 59, 60 => 60, 61 => 61, @@ -1851,26 +1809,26 @@ static public $yy_action = array( 64 => 64, 65 => 65, 66 => 66, + 67 => 67, 68 => 68, 69 => 69, - 70 => 70, + 71 => 71, 72 => 72, - 101 => 72, 73 => 73, - 74 => 74, 75 => 75, + 104 => 75, 76 => 76, - 79 => 76, 77 => 77, 78 => 78, + 79 => 79, + 82 => 79, 80 => 80, - 82 => 82, + 81 => 81, 83 => 83, - 84 => 84, - 106 => 84, 85 => 85, 86 => 86, 87 => 87, + 109 => 87, 88 => 88, 89 => 89, 90 => 90, @@ -1879,32 +1837,32 @@ static public $yy_action = array( 93 => 93, 94 => 94, 95 => 95, + 96 => 96, 97 => 97, 98 => 98, - 99 => 99, 100 => 100, + 101 => 101, 102 => 102, 103 => 103, 105 => 105, - 107 => 107, + 106 => 106, 108 => 108, - 111 => 108, - 122 => 108, - 109 => 109, 110 => 110, + 111 => 111, + 114 => 111, + 125 => 111, 112 => 112, 113 => 113, - 114 => 114, - 119 => 114, 115 => 115, - 118 => 115, 116 => 116, - 121 => 116, 117 => 117, - 120 => 117, - 123 => 123, - 124 => 124, - 125 => 125, + 122 => 117, + 118 => 118, + 121 => 118, + 119 => 119, + 124 => 119, + 120 => 120, + 123 => 120, 126 => 126, 127 => 127, 128 => 128, @@ -1915,17 +1873,20 @@ static public $yy_action = array( 133 => 133, 134 => 134, 135 => 135, + 136 => 136, 137 => 137, 138 => 138, - 139 => 139, 140 => 140, - 144 => 144, - 145 => 145, - 146 => 146, + 141 => 141, + 142 => 142, + 143 => 143, 147 => 147, 148 => 148, 149 => 149, + 150 => 150, 151 => 151, + 152 => 152, + 154 => 154, ); /* Beginning here are the reduction cases. A typical example ** follows: @@ -1935,33 +1896,34 @@ static public $yy_action = array( */ #line 79 "internal.templateparser.y" function yy_r0(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1943 "internal.templateparser.php" +#line 1904 "internal.templateparser.php" #line 85 "internal.templateparser.y" function yy_r1(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1946 "internal.templateparser.php" +#line 1907 "internal.templateparser.php" #line 87 "internal.templateparser.y" function yy_r2(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 1949 "internal.templateparser.php" +#line 1910 "internal.templateparser.php" #line 93 "internal.templateparser.y" - function yy_r3(){if ($this->compiler->has_code) { + function yy_r3(){preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); + if ($this->compiler->has_code) { $tmp =''; foreach ($this->prefix_code as $code) {$tmp.=$code;} $this->prefix_code=array(); - $this->_retvalue = $this->cacher->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor, $this->compiler,$this->nocache,true); - } else { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;} $this->nocache=false; } -#line 1955 "internal.templateparser.php" -#line 98 "internal.templateparser.y" - function yy_r4(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); $this->_retvalue = $s[0]; } -#line 1958 "internal.templateparser.php" -#line 101 "internal.templateparser.y" - function yy_r5(){preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s2); $this->_retvalue = $s[0].$this->cacher->processNocacheCode($this->yystack[$this->yyidx + -1]->minor.$s2[0], $this->compiler,false,false); } -#line 1961 "internal.templateparser.php" -#line 103 "internal.templateparser.y" - function yy_r6(){preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s); $this->_retvalue = $s[0].$this->cacher->processNocacheCode($this->smarty->left_delimiter, $this->compiler,false,false); } -#line 1964 "internal.templateparser.php" + $this->_retvalue = $this->cacher->processNocacheCode($tmp.$s[0].$this->yystack[$this->yyidx + -1]->minor, $this->compiler,$this->nocache,true); + } else { $this->_retvalue = $s[0].$this->yystack[$this->yyidx + -1]->minor;} $this->nocache=false; } +#line 1917 "internal.templateparser.php" #line 105 "internal.templateparser.y" - function yy_r7(){preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s); $this->_retvalue = $s[0].$this->cacher->processNocacheCode($this->smarty->right_delimiter, $this->compiler,false,false); } -#line 1967 "internal.templateparser.php" -#line 107 "internal.templateparser.y" - function yy_r8(){if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU) { + function yy_r5(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); $this->_retvalue = $s[0]; } +#line 1920 "internal.templateparser.php" +#line 108 "internal.templateparser.y" + function yy_r6(){preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s2); $this->_retvalue = $s[0].$this->cacher->processNocacheCode($this->yystack[$this->yyidx + -1]->minor.$s2[0], $this->compiler,false,false); } +#line 1923 "internal.templateparser.php" +#line 110 "internal.templateparser.y" + function yy_r7(){preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s); $this->_retvalue = $s[0].$this->cacher->processNocacheCode($this->smarty->left_delimiter, $this->compiler,false,false); } +#line 1926 "internal.templateparser.php" +#line 112 "internal.templateparser.y" + function yy_r8(){preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s); $this->_retvalue = $s[0].$this->cacher->processNocacheCode($this->smarty->right_delimiter, $this->compiler,false,false); } +#line 1929 "internal.templateparser.php" +#line 114 "internal.templateparser.y" + function yy_r9(){if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU) { $this->_retvalue = $this->cacher->processNocacheCode("yystack[$this->yyidx + -1]->minor)."?>';?>\n", $this->compiler, false, false); } elseif ($this->sec_obj->php_handling == SMARTY_PHP_QUOTE) { $this->_retvalue = $this->cacher->processNocacheCode(htmlspecialchars('yystack[$this->yyidx + -1]->minor.'?>', ENT_QUOTES), $this->compiler, false, false); @@ -1971,9 +1933,9 @@ static public $yy_action = array( $this->_retvalue = ''; } } -#line 1979 "internal.templateparser.php" -#line 118 "internal.templateparser.y" - function yy_r9(){preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0]; +#line 1941 "internal.templateparser.php" +#line 125 "internal.templateparser.y" + function yy_r10(){preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0]; if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU || $this->sec_obj->php_handling == SMARTY_PHP_ALLOW) { $this->_retvalue .= $this->cacher->processNocacheCode("yystack[$this->yyidx + -1]->minor."?>'?>\n", $this->compiler, false, false); } elseif ($this->sec_obj->php_handling == SMARTY_PHP_QUOTE) { @@ -1982,117 +1944,117 @@ static public $yy_action = array( $this->_retvalue .= ''; } } -#line 1990 "internal.templateparser.php" -#line 129 "internal.templateparser.y" - function yy_r10(){preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s); $this->_retvalue = $s[0].$this->cacher->processNocacheCode("", $this->compiler, true, true); } -#line 1993 "internal.templateparser.php" -#line 130 "internal.templateparser.y" - function yy_r11(){$this->_retvalue = $this->cacher->processNocacheCode("';?>\n", $this->compiler, true, true); } -#line 1996 "internal.templateparser.php" -#line 132 "internal.templateparser.y" - function yy_r12(){$this->_retvalue = $this->cacher->processNocacheCode($this->yystack[$this->yyidx + 0]->minor, $this->compiler,false,false); } -#line 1999 "internal.templateparser.php" +#line 1952 "internal.templateparser.php" +#line 136 "internal.templateparser.y" + function yy_r11(){preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s); $this->_retvalue = $s[0].$this->cacher->processNocacheCode("", $this->compiler, true, true); } +#line 1955 "internal.templateparser.php" +#line 137 "internal.templateparser.y" + function yy_r12(){$this->_retvalue = $this->cacher->processNocacheCode("';?>\n", $this->compiler, true, true); } +#line 1958 "internal.templateparser.php" #line 139 "internal.templateparser.y" - function yy_r13(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag('print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } -#line 2002 "internal.templateparser.php" -#line 141 "internal.templateparser.y" - function yy_r14(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -5]->minor,$s); $this->_retvalue = $s[0].$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)); } -#line 2005 "internal.templateparser.php" -#line 143 "internal.templateparser.y" - function yy_r15(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); } -#line 2008 "internal.templateparser.php" -#line 145 "internal.templateparser.y" - function yy_r16(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -5]->minor,$s); $this->_retvalue = $s[0].$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)); } -#line 2011 "internal.templateparser.php" -#line 147 "internal.templateparser.y" - function yy_r17(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -5]->minor,$s); $this->_retvalue = $s[0].''.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor).'smarty->plugin_handler->loadSmartyPlugin($this->yystack[$this->yyidx + -3]->minor[0],'modifier')) { - $this->_retvalue .= "\$_smarty_tpl->smarty->plugin_handler->executeModifier('".$this->yystack[$this->yyidx + -3]->minor[0] . "',array(ob_get_clean()" . $this->yystack[$this->yyidx + -2]->minor. "),".$this->yystack[$this->yyidx + -3]->minor[1].");?>"; + function yy_r13(){$this->_retvalue = $this->cacher->processNocacheCode($this->yystack[$this->yyidx + 0]->minor, $this->compiler,false,false); } +#line 1961 "internal.templateparser.php" +#line 146 "internal.templateparser.y" + function yy_r14(){ $this->_retvalue = $this->compiler->compileTag('print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -1]->minor),$this->yystack[$this->yyidx + 0]->minor)); } +#line 1964 "internal.templateparser.php" +#line 150 "internal.templateparser.y" + function yy_r16(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -1]->minor),$this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + 0]->minor)); } +#line 1967 "internal.templateparser.php" +#line 152 "internal.templateparser.y" + function yy_r17(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } +#line 1970 "internal.templateparser.php" +#line 154 "internal.templateparser.y" + function yy_r18(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor),$this->yystack[$this->yyidx + 0]->minor)); } +#line 1973 "internal.templateparser.php" +#line 156 "internal.templateparser.y" + function yy_r19(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + 0]->minor).'smarty->plugin_handler->loadSmartyPlugin($this->yystack[$this->yyidx + -2]->minor[0],'modifier')) { + $this->_retvalue .= "\$_smarty_tpl->smarty->plugin_handler->executeModifier('".$this->yystack[$this->yyidx + -2]->minor[0] . "',array(ob_get_clean()" . $this->yystack[$this->yyidx + -1]->minor. "),".$this->yystack[$this->yyidx + -2]->minor[1].");?>"; } else { - if (is_callable($this->yystack[$this->yyidx + -3]->minor[0])) { - if (!$this->template->security || $this->smarty->security_handler->isTrustedModifier($this->yystack[$this->yyidx + -3]->minor[0], $this->compiler)) { - $this->_retvalue .= "\$_smarty_tpl->smarty->plugin_handler->executeModifier('".$this->yystack[$this->yyidx + -3]->minor[0] . "',array(ob_get_clean()" . $this->yystack[$this->yyidx + -2]->minor. "),".$this->yystack[$this->yyidx + -3]->minor[1].");?>"; + if (is_callable($this->yystack[$this->yyidx + -2]->minor[0])) { + if (!$this->template->security || $this->smarty->security_handler->isTrustedModifier($this->yystack[$this->yyidx + -2]->minor[0], $this->compiler)) { + $this->_retvalue .= "\$_smarty_tpl->smarty->plugin_handler->executeModifier('".$this->yystack[$this->yyidx + -2]->minor[0] . "',array(ob_get_clean()" . $this->yystack[$this->yyidx + -1]->minor. "),".$this->yystack[$this->yyidx + -2]->minor[1].");?>"; } } else { - $this->compiler->trigger_template_error ("unknown modifier \"" . $this->yystack[$this->yyidx + -3]->minor[0] . "\""); + $this->compiler->trigger_template_error ("unknown modifier \"" . $this->yystack[$this->yyidx + -2]->minor[0] . "\""); } } } -#line 2026 "internal.templateparser.php" -#line 161 "internal.templateparser.y" - function yy_r18(){if (!in_array($this->yystack[$this->yyidx + -3]->minor,array('if','elseif','while'))) { - $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); - } - preg_match('/\s*/',$this->yystack[$this->yyidx + -4]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2032 "internal.templateparser.php" -#line 165 "internal.templateparser.y" - function yy_r19(){ if (!in_array($this->yystack[$this->yyidx + -3]->minor,array('if','elseif','while'))) { - $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); - } - preg_match('/\s*/',$this->yystack[$this->yyidx + -4]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2038 "internal.templateparser.php" +#line 1988 "internal.templateparser.php" #line 170 "internal.templateparser.y" - function yy_r20(){ - if ($this->yystack[$this->yyidx + -9]->minor != 'for') { - $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -9]->minor . "\""); + function yy_r20(){if (!in_array($this->yystack[$this->yyidx + -2]->minor,array('if','elseif','while'))) { + $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -2]->minor . "\""); } - preg_match('/\s*/',$this->yystack[$this->yyidx + -10]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -9]->minor,array('start'=>$this->yystack[$this->yyidx + -7]->minor,'ifexp'=>$this->yystack[$this->yyidx + -5]->minor,'varloop'=>$this->yystack[$this->yyidx + -2]->minor,'loop'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2045 "internal.templateparser.php" -#line 175 "internal.templateparser.y" - function yy_r21(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } -#line 2048 "internal.templateparser.php" -#line 176 "internal.templateparser.y" - function yy_r22(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2051 "internal.templateparser.php" -#line 178 "internal.templateparser.y" - function yy_r23(){ - if ($this->yystack[$this->yyidx + -6]->minor != 'foreach') { - $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -6]->minor . "\""); + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,array('if condition'=>$this->yystack[$this->yyidx + 0]->minor)); } +#line 1994 "internal.templateparser.php" +#line 174 "internal.templateparser.y" + function yy_r21(){ if (!in_array($this->yystack[$this->yyidx + -2]->minor,array('if','elseif','while'))) { + $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -2]->minor . "\""); } - preg_match('/\s*/',$this->yystack[$this->yyidx + -7]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2058 "internal.templateparser.php" -#line 183 "internal.templateparser.y" - function yy_r24(){ - if ($this->yystack[$this->yyidx + -6]->minor != 'foreach') { - $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -6]->minor . "\""); + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,array('if condition'=>$this->yystack[$this->yyidx + 0]->minor)); } +#line 2000 "internal.templateparser.php" +#line 179 "internal.templateparser.y" + function yy_r22(){ + if ($this->yystack[$this->yyidx + -8]->minor != 'for') { + $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -8]->minor . "\""); } - preg_match('/\s*/',$this->yystack[$this->yyidx + -7]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2065 "internal.templateparser.php" -#line 190 "internal.templateparser.y" - function yy_r25(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',$this->yystack[$this->yyidx + -1]->minor); } -#line 2068 "internal.templateparser.php" + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -8]->minor,array('start'=>$this->yystack[$this->yyidx + -6]->minor,'ifexp'=>$this->yystack[$this->yyidx + -4]->minor,'varloop'=>$this->yystack[$this->yyidx + -1]->minor,'loop'=>$this->yystack[$this->yyidx + 0]->minor)); } +#line 2007 "internal.templateparser.php" +#line 184 "internal.templateparser.y" + function yy_r23(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } +#line 2010 "internal.templateparser.php" +#line 185 "internal.templateparser.y" + function yy_r24(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2013 "internal.templateparser.php" +#line 187 "internal.templateparser.y" + function yy_r25(){ + if ($this->yystack[$this->yyidx + -5]->minor != 'foreach') { + $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -5]->minor . "\""); + } + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,array('from'=>$this->yystack[$this->yyidx + -3]->minor,'item'=>$this->yystack[$this->yyidx + 0]->minor)); } +#line 2020 "internal.templateparser.php" #line 192 "internal.templateparser.y" - function yy_r26(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -4]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2071 "internal.templateparser.php" + function yy_r26(){ + if ($this->yystack[$this->yyidx + -5]->minor != 'foreach') { + $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -5]->minor . "\""); + } + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,array('from'=>$this->yystack[$this->yyidx + -3]->minor,'item'=>$this->yystack[$this->yyidx + 0]->minor)); } +#line 2027 "internal.templateparser.php" #line 199 "internal.templateparser.y" - function yy_r27(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } -#line 2074 "internal.templateparser.php" -#line 203 "internal.templateparser.y" - function yy_r29(){ $this->_retvalue = array(); } -#line 2077 "internal.templateparser.php" -#line 206 "internal.templateparser.y" - function yy_r30(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2080 "internal.templateparser.php" -#line 207 "internal.templateparser.y" - function yy_r31(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor=>'true'); } -#line 2083 "internal.templateparser.php" + function yy_r27(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',$this->yystack[$this->yyidx + 0]->minor); } +#line 2030 "internal.templateparser.php" +#line 201 "internal.templateparser.y" + function yy_r28(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + 0]->minor)); } +#line 2033 "internal.templateparser.php" +#line 208 "internal.templateparser.y" + function yy_r29(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } +#line 2036 "internal.templateparser.php" #line 212 "internal.templateparser.y" - function yy_r32(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 2086 "internal.templateparser.php" -#line 213 "internal.templateparser.y" - function yy_r33(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } -#line 2089 "internal.templateparser.php" + function yy_r31(){ $this->_retvalue = array(); } +#line 2039 "internal.templateparser.php" #line 215 "internal.templateparser.y" - function yy_r34(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2092 "internal.templateparser.php" + function yy_r32(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } +#line 2042 "internal.templateparser.php" +#line 216 "internal.templateparser.y" + function yy_r33(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor=>'true'); } +#line 2045 "internal.templateparser.php" #line 221 "internal.templateparser.y" - function yy_r35(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2095 "internal.templateparser.php" -#line 225 "internal.templateparser.y" - function yy_r37(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; } -#line 2098 "internal.templateparser.php" -#line 226 "internal.templateparser.y" - function yy_r38(){ + function yy_r34(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } +#line 2048 "internal.templateparser.php" +#line 222 "internal.templateparser.y" + function yy_r35(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } +#line 2051 "internal.templateparser.php" +#line 224 "internal.templateparser.y" + function yy_r36(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } +#line 2054 "internal.templateparser.php" +#line 230 "internal.templateparser.y" + function yy_r37(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 2057 "internal.templateparser.php" +#line 234 "internal.templateparser.y" + function yy_r39(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; } +#line 2060 "internal.templateparser.php" +#line 235 "internal.templateparser.y" + function yy_r40(){ if ($this->smarty->plugin_handler->loadSmartyPlugin($this->yystack[$this->yyidx + -1]->minor[0],'modifier')) { $this->_retvalue = "\$_smarty_tpl->smarty->plugin_handler->executeModifier('".$this->yystack[$this->yyidx + -1]->minor[0] . "',array(". $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + 0]->minor. "),".$this->yystack[$this->yyidx + -1]->minor[1].")"; } else { @@ -2105,267 +2067,270 @@ static public $yy_action = array( } } } -#line 2113 "internal.templateparser.php" -#line 243 "internal.templateparser.y" - function yy_r40(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2116 "internal.templateparser.php" -#line 245 "internal.templateparser.y" - function yy_r41(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + -1]->minor . $this->yystack[$this->yyidx + 0]->minor; } -#line 2119 "internal.templateparser.php" -#line 247 "internal.templateparser.y" - function yy_r42(){ $this->_retvalue = '('. $this->yystack[$this->yyidx + -2]->minor . ').(' . $this->yystack[$this->yyidx + 0]->minor. ')'; } -#line 2122 "internal.templateparser.php" -#line 267 "internal.templateparser.y" - function yy_r48(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2125 "internal.templateparser.php" -#line 275 "internal.templateparser.y" - function yy_r52(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 2128 "internal.templateparser.php" -#line 277 "internal.templateparser.y" - function yy_r53(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + -1]->minor."'"; } -#line 2131 "internal.templateparser.php" -#line 278 "internal.templateparser.y" - function yy_r54(){ $this->_retvalue = "''"; } -#line 2134 "internal.templateparser.php" -#line 280 "internal.templateparser.y" - function yy_r55(){ $this->_retvalue = '"'.$this->yystack[$this->yyidx + -1]->minor.'"'; } -#line 2137 "internal.templateparser.php" -#line 283 "internal.templateparser.y" - function yy_r57(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2140 "internal.templateparser.php" +#line 2075 "internal.templateparser.php" +#line 252 "internal.templateparser.y" + function yy_r42(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2078 "internal.templateparser.php" +#line 254 "internal.templateparser.y" + function yy_r43(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + -1]->minor . $this->yystack[$this->yyidx + 0]->minor; } +#line 2081 "internal.templateparser.php" +#line 256 "internal.templateparser.y" + function yy_r44(){ $this->_retvalue = '('. $this->yystack[$this->yyidx + -2]->minor . ').(' . $this->yystack[$this->yyidx + 0]->minor. ')'; } +#line 2084 "internal.templateparser.php" +#line 276 "internal.templateparser.y" + function yy_r50(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2087 "internal.templateparser.php" #line 284 "internal.templateparser.y" - function yy_r58(){ $this->prefix_number++; $this->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -1]->minor .')'; } -#line 2143 "internal.templateparser.php" + function yy_r54(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } +#line 2090 "internal.templateparser.php" #line 286 "internal.templateparser.y" - function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2146 "internal.templateparser.php" + function yy_r55(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + -1]->minor."'"; } +#line 2093 "internal.templateparser.php" #line 287 "internal.templateparser.y" - function yy_r60(){ $this->prefix_number++; $this->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -4]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -7]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -2]->minor .')'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2149 "internal.templateparser.php" + function yy_r56(){ $this->_retvalue = "''"; } +#line 2096 "internal.templateparser.php" #line 289 "internal.templateparser.y" - function yy_r61(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2152 "internal.templateparser.php" -#line 291 "internal.templateparser.y" - function yy_r62(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2155 "internal.templateparser.php" + function yy_r57(){ $this->_retvalue = '"'.$this->yystack[$this->yyidx + -1]->minor.'"'; } +#line 2099 "internal.templateparser.php" +#line 292 "internal.templateparser.y" + function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2102 "internal.templateparser.php" #line 293 "internal.templateparser.y" - function yy_r63(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.'::$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2158 "internal.templateparser.php" + function yy_r60(){ $this->prefix_number++; $this->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -1]->minor .')'; } +#line 2105 "internal.templateparser.php" #line 295 "internal.templateparser.y" - function yy_r64(){ $this->prefix_number++; $this->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; } -#line 2161 "internal.templateparser.php" -#line 301 "internal.templateparser.y" - function yy_r65(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('internal_smarty_var',$this->yystack[$this->yyidx + 0]->minor['index']);} else { - $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['index']; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"))->nocache;} } -#line 2165 "internal.templateparser.php" + function yy_r61(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2108 "internal.templateparser.php" +#line 296 "internal.templateparser.y" + function yy_r62(){ $this->prefix_number++; $this->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -4]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -7]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -2]->minor .')'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2111 "internal.templateparser.php" +#line 298 "internal.templateparser.y" + function yy_r63(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2114 "internal.templateparser.php" +#line 300 "internal.templateparser.y" + function yy_r64(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2117 "internal.templateparser.php" +#line 302 "internal.templateparser.y" + function yy_r65(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.'::$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2120 "internal.templateparser.php" #line 304 "internal.templateparser.y" - function yy_r66(){ $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"))->nocache; } -#line 2168 "internal.templateparser.php" -#line 308 "internal.templateparser.y" - function yy_r68(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } -#line 2171 "internal.templateparser.php" -#line 309 "internal.templateparser.y" - function yy_r69(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; } -#line 2174 "internal.templateparser.php" + function yy_r66(){ $this->prefix_number++; $this->prefix_code[] = ''.$this->yystack[$this->yyidx + -1]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; } +#line 2123 "internal.templateparser.php" +#line 310 "internal.templateparser.y" + function yy_r67(){ $this->_retvalue = '$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + 0]->minor .'\')->value'; $this->nocache=$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor')->nocache; } +#line 2126 "internal.templateparser.php" #line 312 "internal.templateparser.y" - function yy_r70(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'index'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2177 "internal.templateparser.php" + function yy_r68(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('internal_smarty_var',$this->yystack[$this->yyidx + 0]->minor['index']);} else { + $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['index']; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"))->nocache;} } +#line 2130 "internal.templateparser.php" +#line 315 "internal.templateparser.y" + function yy_r69(){ $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"))->nocache; } +#line 2133 "internal.templateparser.php" +#line 319 "internal.templateparser.y" + function yy_r71(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } +#line 2136 "internal.templateparser.php" #line 320 "internal.templateparser.y" - function yy_r72(){return; } -#line 2180 "internal.templateparser.php" -#line 324 "internal.templateparser.y" - function yy_r73(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } -#line 2183 "internal.templateparser.php" -#line 325 "internal.templateparser.y" - function yy_r74(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } -#line 2186 "internal.templateparser.php" -#line 326 "internal.templateparser.y" - function yy_r75(){ $this->_retvalue = "[".$this->yystack[$this->yyidx + 0]->minor."]"; } -#line 2189 "internal.templateparser.php" -#line 327 "internal.templateparser.y" - function yy_r76(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } -#line 2192 "internal.templateparser.php" -#line 329 "internal.templateparser.y" - function yy_r77(){ $this->_retvalue = '['.$this->compiler->compileTag('internal_smarty_var','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } -#line 2195 "internal.templateparser.php" -#line 330 "internal.templateparser.y" - function yy_r78(){ $this->_retvalue = '['.$this->compiler->compileTag('internal_smarty_var','[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } -#line 2198 "internal.templateparser.php" -#line 334 "internal.templateparser.y" - function yy_r80(){$this->_retvalue = ''; } -#line 2201 "internal.templateparser.php" -#line 342 "internal.templateparser.y" - function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2204 "internal.templateparser.php" -#line 344 "internal.templateparser.y" - function yy_r83(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2207 "internal.templateparser.php" -#line 346 "internal.templateparser.y" - function yy_r84(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2210 "internal.templateparser.php" -#line 351 "internal.templateparser.y" - function yy_r85(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('internal_smarty_var',$this->yystack[$this->yyidx + -1]->minor['index']).$this->yystack[$this->yyidx + 0]->minor;} else { + function yy_r72(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; } +#line 2139 "internal.templateparser.php" +#line 323 "internal.templateparser.y" + function yy_r73(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'index'=>$this->yystack[$this->yyidx + 0]->minor); } +#line 2142 "internal.templateparser.php" +#line 331 "internal.templateparser.y" + function yy_r75(){return; } +#line 2145 "internal.templateparser.php" +#line 335 "internal.templateparser.y" + function yy_r76(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } +#line 2148 "internal.templateparser.php" +#line 336 "internal.templateparser.y" + function yy_r77(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } +#line 2151 "internal.templateparser.php" +#line 337 "internal.templateparser.y" + function yy_r78(){ $this->_retvalue = "[".$this->yystack[$this->yyidx + 0]->minor."]"; } +#line 2154 "internal.templateparser.php" +#line 338 "internal.templateparser.y" + function yy_r79(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } +#line 2157 "internal.templateparser.php" +#line 340 "internal.templateparser.y" + function yy_r80(){ $this->_retvalue = '['.$this->compiler->compileTag('internal_smarty_var','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } +#line 2160 "internal.templateparser.php" +#line 341 "internal.templateparser.y" + function yy_r81(){ $this->_retvalue = '['.$this->compiler->compileTag('internal_smarty_var','[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } +#line 2163 "internal.templateparser.php" +#line 345 "internal.templateparser.y" + function yy_r83(){$this->_retvalue = ''; } +#line 2166 "internal.templateparser.php" +#line 353 "internal.templateparser.y" + function yy_r85(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2169 "internal.templateparser.php" +#line 355 "internal.templateparser.y" + function yy_r86(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 2172 "internal.templateparser.php" +#line 357 "internal.templateparser.y" + function yy_r87(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2175 "internal.templateparser.php" +#line 362 "internal.templateparser.y" + function yy_r88(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('internal_smarty_var',$this->yystack[$this->yyidx + -1]->minor['index']).$this->yystack[$this->yyidx + 0]->minor;} else { $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['index'].$this->yystack[$this->yyidx + 0]->minor; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"))->nocache;} } -#line 2214 "internal.templateparser.php" -#line 354 "internal.templateparser.y" - function yy_r86(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2217 "internal.templateparser.php" -#line 356 "internal.templateparser.y" - function yy_r87(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2220 "internal.templateparser.php" -#line 358 "internal.templateparser.y" - function yy_r88(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2223 "internal.templateparser.php" -#line 359 "internal.templateparser.y" - function yy_r89(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2226 "internal.templateparser.php" -#line 360 "internal.templateparser.y" - function yy_r90(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2229 "internal.templateparser.php" -#line 361 "internal.templateparser.y" - function yy_r91(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2232 "internal.templateparser.php" -#line 363 "internal.templateparser.y" - function yy_r92(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2235 "internal.templateparser.php" +#line 2179 "internal.templateparser.php" +#line 365 "internal.templateparser.y" + function yy_r89(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2182 "internal.templateparser.php" +#line 367 "internal.templateparser.y" + function yy_r90(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2185 "internal.templateparser.php" #line 369 "internal.templateparser.y" - function yy_r93(){if (!$this->template->security || $this->smarty->security_handler->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { + function yy_r91(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2188 "internal.templateparser.php" +#line 370 "internal.templateparser.y" + function yy_r92(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2191 "internal.templateparser.php" +#line 371 "internal.templateparser.y" + function yy_r93(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2194 "internal.templateparser.php" +#line 372 "internal.templateparser.y" + function yy_r94(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2197 "internal.templateparser.php" +#line 374 "internal.templateparser.y" + function yy_r95(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2200 "internal.templateparser.php" +#line 380 "internal.templateparser.y" + function yy_r96(){if (!$this->template->security || $this->smarty->security_handler->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { 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)) { $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } else { $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); } } } -#line 2244 "internal.templateparser.php" -#line 380 "internal.templateparser.y" - function yy_r94(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 2247 "internal.templateparser.php" -#line 384 "internal.templateparser.y" - function yy_r95(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor; } -#line 2250 "internal.templateparser.php" -#line 388 "internal.templateparser.y" - function yy_r97(){ return; } -#line 2253 "internal.templateparser.php" -#line 393 "internal.templateparser.y" - function yy_r98(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,'false'); } -#line 2256 "internal.templateparser.php" -#line 394 "internal.templateparser.y" - function yy_r99(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,'true'); } -#line 2259 "internal.templateparser.php" -#line 401 "internal.templateparser.y" - function yy_r100(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2262 "internal.templateparser.php" +#line 2209 "internal.templateparser.php" +#line 391 "internal.templateparser.y" + function yy_r97(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } +#line 2212 "internal.templateparser.php" +#line 395 "internal.templateparser.y" + function yy_r98(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor; } +#line 2215 "internal.templateparser.php" +#line 399 "internal.templateparser.y" + function yy_r100(){ return; } +#line 2218 "internal.templateparser.php" +#line 404 "internal.templateparser.y" + function yy_r101(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,'false'); } +#line 2221 "internal.templateparser.php" #line 405 "internal.templateparser.y" - function yy_r102(){$this->_retvalue = ','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2265 "internal.templateparser.php" -#line 406 "internal.templateparser.y" - function yy_r103(){$this->_retvalue = ',\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2268 "internal.templateparser.php" -#line 413 "internal.templateparser.y" - function yy_r105(){$this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2271 "internal.templateparser.php" -#line 418 "internal.templateparser.y" - function yy_r107(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } -#line 2274 "internal.templateparser.php" -#line 419 "internal.templateparser.y" - function yy_r108(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2277 "internal.templateparser.php" -#line 420 "internal.templateparser.y" - function yy_r109(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2280 "internal.templateparser.php" + function yy_r102(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,'true'); } +#line 2224 "internal.templateparser.php" +#line 417 "internal.templateparser.y" + function yy_r103(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2227 "internal.templateparser.php" #line 421 "internal.templateparser.y" - function yy_r110(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2283 "internal.templateparser.php" -#line 423 "internal.templateparser.y" - function yy_r112(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2286 "internal.templateparser.php" -#line 424 "internal.templateparser.y" - function yy_r113(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2289 "internal.templateparser.php" -#line 425 "internal.templateparser.y" - function yy_r114(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2292 "internal.templateparser.php" -#line 426 "internal.templateparser.y" - function yy_r115(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2295 "internal.templateparser.php" -#line 427 "internal.templateparser.y" - function yy_r116(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2298 "internal.templateparser.php" -#line 428 "internal.templateparser.y" - function yy_r117(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2301 "internal.templateparser.php" + function yy_r105(){$this->_retvalue = ','.$this->yystack[$this->yyidx + 0]->minor; } +#line 2230 "internal.templateparser.php" +#line 422 "internal.templateparser.y" + function yy_r106(){$this->_retvalue = ',\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 2233 "internal.templateparser.php" +#line 429 "internal.templateparser.y" + function yy_r108(){$this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2236 "internal.templateparser.php" #line 434 "internal.templateparser.y" - function yy_r123(){$this->prefix_number++; $this->prefix_code[] = '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; } -#line 2304 "internal.templateparser.php" + function yy_r110(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } +#line 2239 "internal.templateparser.php" +#line 435 "internal.templateparser.y" + function yy_r111(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2242 "internal.templateparser.php" #line 436 "internal.templateparser.y" - function yy_r124(){$this->_retvalue = '=='; } -#line 2307 "internal.templateparser.php" + function yy_r112(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2245 "internal.templateparser.php" #line 437 "internal.templateparser.y" - function yy_r125(){$this->_retvalue = '!='; } -#line 2310 "internal.templateparser.php" -#line 438 "internal.templateparser.y" - function yy_r126(){$this->_retvalue = '>'; } -#line 2313 "internal.templateparser.php" + function yy_r113(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2248 "internal.templateparser.php" #line 439 "internal.templateparser.y" - function yy_r127(){$this->_retvalue = '<'; } -#line 2316 "internal.templateparser.php" + function yy_r115(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2251 "internal.templateparser.php" #line 440 "internal.templateparser.y" - function yy_r128(){$this->_retvalue = '>='; } -#line 2319 "internal.templateparser.php" + function yy_r116(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2254 "internal.templateparser.php" #line 441 "internal.templateparser.y" - function yy_r129(){$this->_retvalue = '<='; } -#line 2322 "internal.templateparser.php" + function yy_r117(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2257 "internal.templateparser.php" #line 442 "internal.templateparser.y" - function yy_r130(){$this->_retvalue = '==='; } -#line 2325 "internal.templateparser.php" + function yy_r118(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2260 "internal.templateparser.php" #line 443 "internal.templateparser.y" - function yy_r131(){$this->_retvalue = '!=='; } -#line 2328 "internal.templateparser.php" -#line 445 "internal.templateparser.y" - function yy_r132(){$this->_retvalue = '&&'; } -#line 2331 "internal.templateparser.php" -#line 446 "internal.templateparser.y" - function yy_r133(){$this->_retvalue = '||'; } -#line 2334 "internal.templateparser.php" -#line 447 "internal.templateparser.y" - function yy_r134(){$this->_retvalue = ' XOR '; } -#line 2337 "internal.templateparser.php" + function yy_r119(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2263 "internal.templateparser.php" +#line 444 "internal.templateparser.y" + function yy_r120(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2266 "internal.templateparser.php" +#line 450 "internal.templateparser.y" + function yy_r126(){$this->prefix_number++; $this->prefix_code[] = '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; } +#line 2269 "internal.templateparser.php" #line 452 "internal.templateparser.y" - function yy_r135(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2340 "internal.templateparser.php" + function yy_r127(){$this->_retvalue = '=='; } +#line 2272 "internal.templateparser.php" +#line 453 "internal.templateparser.y" + function yy_r128(){$this->_retvalue = '!='; } +#line 2275 "internal.templateparser.php" #line 454 "internal.templateparser.y" - function yy_r137(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2343 "internal.templateparser.php" + function yy_r129(){$this->_retvalue = '>'; } +#line 2278 "internal.templateparser.php" #line 455 "internal.templateparser.y" - function yy_r138(){ return; } -#line 2346 "internal.templateparser.php" + function yy_r130(){$this->_retvalue = '<'; } +#line 2281 "internal.templateparser.php" #line 456 "internal.templateparser.y" - function yy_r139(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2349 "internal.templateparser.php" + function yy_r131(){$this->_retvalue = '>='; } +#line 2284 "internal.templateparser.php" #line 457 "internal.templateparser.y" - function yy_r140(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2352 "internal.templateparser.php" -#line 465 "internal.templateparser.y" - function yy_r144(){$this->_retvalue = "`".$this->yystack[$this->yyidx + -1]->minor."`"; } -#line 2355 "internal.templateparser.php" -#line 466 "internal.templateparser.y" - function yy_r145(){$this->_retvalue = '".'.$this->yystack[$this->yyidx + -1]->minor.'."'; } -#line 2358 "internal.templateparser.php" -#line 467 "internal.templateparser.y" - function yy_r146(){$this->_retvalue = '".'.'$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + 0]->minor .'\')->value'.'."'; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"))->nocache; } -#line 2361 "internal.templateparser.php" + function yy_r132(){$this->_retvalue = '<='; } +#line 2287 "internal.templateparser.php" +#line 458 "internal.templateparser.y" + function yy_r133(){$this->_retvalue = '==='; } +#line 2290 "internal.templateparser.php" +#line 459 "internal.templateparser.y" + function yy_r134(){$this->_retvalue = '!=='; } +#line 2293 "internal.templateparser.php" +#line 461 "internal.templateparser.y" + function yy_r135(){$this->_retvalue = '&&'; } +#line 2296 "internal.templateparser.php" +#line 462 "internal.templateparser.y" + function yy_r136(){$this->_retvalue = '||'; } +#line 2299 "internal.templateparser.php" +#line 463 "internal.templateparser.y" + function yy_r137(){$this->_retvalue = ' XOR '; } +#line 2302 "internal.templateparser.php" #line 468 "internal.templateparser.y" - function yy_r147(){preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); $this->_retvalue = $s[0].'".('.$this->yystack[$this->yyidx + -1]->minor.')."'; } -#line 2364 "internal.templateparser.php" -#line 469 "internal.templateparser.y" - function yy_r148(){ $this->prefix_number++; $this->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '".$_tmp'.$this->prefix_number.'."'; } -#line 2367 "internal.templateparser.php" + function yy_r138(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2305 "internal.templateparser.php" #line 470 "internal.templateparser.y" - function yy_r149(){$this->_retvalue = '$'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2370 "internal.templateparser.php" + function yy_r140(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } +#line 2308 "internal.templateparser.php" +#line 471 "internal.templateparser.y" + function yy_r141(){ return; } +#line 2311 "internal.templateparser.php" #line 472 "internal.templateparser.y" - function yy_r151(){$this->_retvalue = '`'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2373 "internal.templateparser.php" + function yy_r142(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2314 "internal.templateparser.php" +#line 473 "internal.templateparser.y" + function yy_r143(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2317 "internal.templateparser.php" +#line 481 "internal.templateparser.y" + function yy_r147(){$this->_retvalue = "`".$this->yystack[$this->yyidx + -1]->minor."`"; } +#line 2320 "internal.templateparser.php" +#line 482 "internal.templateparser.y" + function yy_r148(){$this->_retvalue = '".'.$this->yystack[$this->yyidx + -1]->minor.'."'; } +#line 2323 "internal.templateparser.php" +#line 483 "internal.templateparser.y" + function yy_r149(){$this->_retvalue = '".'.'$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + 0]->minor .'\')->value'.'."'; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"))->nocache; } +#line 2326 "internal.templateparser.php" +#line 484 "internal.templateparser.y" + function yy_r150(){preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); $this->_retvalue = $s[0].'".('.$this->yystack[$this->yyidx + -1]->minor.')."'; } +#line 2329 "internal.templateparser.php" +#line 485 "internal.templateparser.y" + function yy_r151(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); $this->prefix_number++; $this->prefix_code[] = ''.$this->yystack[$this->yyidx + -1]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = $s[0].'".$_tmp'.$this->prefix_number.'."'; } +#line 2332 "internal.templateparser.php" +#line 486 "internal.templateparser.y" + function yy_r152(){$this->_retvalue = '$'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2335 "internal.templateparser.php" +#line 488 "internal.templateparser.y" + function yy_r154(){$this->_retvalue = '`'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2338 "internal.templateparser.php" /** * placeholder for the left hand side in a reduce operation. @@ -2482,7 +2447,7 @@ static public $yy_action = array( $this->internalError = true; $this->yymajor = $yymajor; $this->compiler->trigger_template_error(); -#line 2491 "internal.templateparser.php" +#line 2456 "internal.templateparser.php" } /** @@ -2506,7 +2471,7 @@ static public $yy_action = array( $this->internalError = false; $this->retvalue = $this->_retvalue; //echo $this->retvalue."\n\n"; -#line 2516 "internal.templateparser.php" +#line 2481 "internal.templateparser.php" } /**