
Comparing changes: https://github.com/smarty-php/smarty/compare/v4.3.1...v4.4.1 It is noticeable that Smarty 4.3.1 does not officially support PHP 8.3. Is only supported with 4.4.0. Remark: During tests with Smarty 4.5.1, it was noticed that the following warning occurs: Deprecated: Using the unregistered function "function_exists" in a template is deprecated and will be removed in a future version. Use Smarty::registerPlugin to explicitly register a custom modifier. As of Smarty 5.X.X, templates must be revised again. The Smarty release 5.0.2 is already officially available. However, integration into FlatPress is not entirely trivial.
2927 lines
126 KiB
PHP
2927 lines
126 KiB
PHP
<?php
|
|
|
|
class TP_yyStackEntry
|
|
{
|
|
public $stateno; /* The state-number */
|
|
public $major; /* The major token value. This is the code
|
|
** number for the token at this stack level */
|
|
public $minor; /* The user-supplied minor token value. This
|
|
** is the value of the token */
|
|
};
|
|
|
|
|
|
// line 11 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
|
|
/**
|
|
* Smarty Template Parser Class
|
|
*
|
|
* This is the template parser.
|
|
* It is generated from the smarty_internal_templateparser.y file
|
|
*
|
|
* @author Uwe Tews <uwe.tews@googlemail.com>
|
|
*/
|
|
class Smarty_Internal_Templateparser
|
|
{
|
|
// line 23 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
|
|
const ERR1 = 'Security error: Call to private object member not allowed';
|
|
const ERR2 = 'Security error: Call to dynamic object member not allowed';
|
|
|
|
/**
|
|
* result status
|
|
*
|
|
* @var bool
|
|
*/
|
|
public $successful = true;
|
|
|
|
/**
|
|
* return value
|
|
*
|
|
* @var mixed
|
|
*/
|
|
public $retvalue = 0;
|
|
|
|
/**
|
|
* @var
|
|
*/
|
|
public $yymajor;
|
|
|
|
/**
|
|
* last index of array variable
|
|
*
|
|
* @var mixed
|
|
*/
|
|
public $last_index;
|
|
|
|
/**
|
|
* last variable name
|
|
*
|
|
* @var string
|
|
*/
|
|
public $last_variable;
|
|
|
|
/**
|
|
* root parse tree buffer
|
|
*
|
|
* @var Smarty_Internal_ParseTree_Template
|
|
*/
|
|
public $root_buffer;
|
|
|
|
/**
|
|
* current parse tree object
|
|
*
|
|
* @var Smarty_Internal_ParseTree
|
|
*/
|
|
public $current_buffer;
|
|
|
|
/**
|
|
* lexer object
|
|
*
|
|
* @var Smarty_Internal_Templatelexer
|
|
*/
|
|
public $lex;
|
|
|
|
/**
|
|
* internal error flag
|
|
*
|
|
* @var bool
|
|
*/
|
|
private $internalError = false;
|
|
|
|
/**
|
|
* {strip} status
|
|
*
|
|
* @var bool
|
|
*/
|
|
public $strip = false;
|
|
/**
|
|
* compiler object
|
|
*
|
|
* @var Smarty_Internal_TemplateCompilerBase
|
|
*/
|
|
public $compiler = null;
|
|
|
|
/**
|
|
* smarty object
|
|
*
|
|
* @var Smarty
|
|
*/
|
|
public $smarty = null;
|
|
|
|
/**
|
|
* template object
|
|
*
|
|
* @var Smarty_Internal_Template
|
|
*/
|
|
public $template = null;
|
|
|
|
/**
|
|
* block nesting level
|
|
*
|
|
* @var int
|
|
*/
|
|
public $block_nesting_level = 0;
|
|
|
|
/**
|
|
* security object
|
|
*
|
|
* @var Smarty_Security
|
|
*/
|
|
public $security = null;
|
|
|
|
/**
|
|
* template prefix array
|
|
*
|
|
* @var \Smarty_Internal_ParseTree[]
|
|
*/
|
|
public $template_prefix = array();
|
|
|
|
/**
|
|
* template prefix array
|
|
*
|
|
* @var \Smarty_Internal_ParseTree[]
|
|
*/
|
|
public $template_postfix = array();
|
|
|
|
/**
|
|
* constructor
|
|
*
|
|
* @param Smarty_Internal_Templatelexer $lex
|
|
* @param Smarty_Internal_TemplateCompilerBase $compiler
|
|
*/
|
|
public function __construct(Smarty_Internal_Templatelexer $lex, Smarty_Internal_TemplateCompilerBase $compiler)
|
|
{
|
|
$this->lex = $lex;
|
|
$this->compiler = $compiler;
|
|
$this->template = $this->compiler->template;
|
|
$this->smarty = $this->template->smarty;
|
|
$this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy : false;
|
|
$this->current_buffer = $this->root_buffer = new Smarty_Internal_ParseTree_Template();
|
|
}
|
|
|
|
/**
|
|
* insert PHP code in current buffer
|
|
*
|
|
* @param string $code
|
|
*/
|
|
public function insertPhpCode($code)
|
|
{
|
|
$this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this, $code));
|
|
}
|
|
|
|
/**
|
|
* error rundown
|
|
*
|
|
*/
|
|
public function errorRunDown()
|
|
{
|
|
while ($this->yystack !== array()) {
|
|
$this->yy_pop_parser_stack();
|
|
}
|
|
if (is_resource($this->yyTraceFILE)) {
|
|
fclose($this->yyTraceFILE);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* merge PHP code with prefix code and return parse tree tag object
|
|
*
|
|
* @param string $code
|
|
*
|
|
* @return Smarty_Internal_ParseTree_Tag
|
|
*/
|
|
public function mergePrefixCode($code)
|
|
{
|
|
$tmp = '';
|
|
foreach ($this->compiler->prefix_code as $preCode) {
|
|
$tmp .= $preCode;
|
|
}
|
|
$this->compiler->prefix_code = array();
|
|
$tmp .= $code;
|
|
return new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true));
|
|
}
|
|
|
|
|
|
const TP_VERT = 1;
|
|
const TP_COLON = 2;
|
|
const TP_TEXT = 3;
|
|
const TP_STRIPON = 4;
|
|
const TP_STRIPOFF = 5;
|
|
const TP_LITERALSTART = 6;
|
|
const TP_LITERALEND = 7;
|
|
const TP_LITERAL = 8;
|
|
const TP_SIMPELOUTPUT = 9;
|
|
const TP_SIMPLETAG = 10;
|
|
const TP_SMARTYBLOCKCHILDPARENT = 11;
|
|
const TP_LDEL = 12;
|
|
const TP_RDEL = 13;
|
|
const TP_DOLLARID = 14;
|
|
const TP_EQUAL = 15;
|
|
const TP_ID = 16;
|
|
const TP_PTR = 17;
|
|
const TP_LDELMAKENOCACHE = 18;
|
|
const TP_LDELIF = 19;
|
|
const TP_LDELFOR = 20;
|
|
const TP_SEMICOLON = 21;
|
|
const TP_INCDEC = 22;
|
|
const TP_TO = 23;
|
|
const TP_STEP = 24;
|
|
const TP_LDELFOREACH = 25;
|
|
const TP_SPACE = 26;
|
|
const TP_AS = 27;
|
|
const TP_APTR = 28;
|
|
const TP_LDELSETFILTER = 29;
|
|
const TP_CLOSETAG = 30;
|
|
const TP_LDELSLASH = 31;
|
|
const TP_ATTR = 32;
|
|
const TP_INTEGER = 33;
|
|
const TP_COMMA = 34;
|
|
const TP_OPENP = 35;
|
|
const TP_CLOSEP = 36;
|
|
const TP_MATH = 37;
|
|
const TP_UNIMATH = 38;
|
|
const TP_ISIN = 39;
|
|
const TP_QMARK = 40;
|
|
const TP_NOT = 41;
|
|
const TP_TYPECAST = 42;
|
|
const TP_HEX = 43;
|
|
const TP_DOT = 44;
|
|
const TP_INSTANCEOF = 45;
|
|
const TP_SINGLEQUOTESTRING = 46;
|
|
const TP_DOUBLECOLON = 47;
|
|
const TP_NAMESPACE = 48;
|
|
const TP_AT = 49;
|
|
const TP_HATCH = 50;
|
|
const TP_OPENB = 51;
|
|
const TP_CLOSEB = 52;
|
|
const TP_DOLLAR = 53;
|
|
const TP_LOGOP = 54;
|
|
const TP_SLOGOP = 55;
|
|
const TP_TLOGOP = 56;
|
|
const TP_SINGLECOND = 57;
|
|
const TP_ARRAYOPEN = 58;
|
|
const TP_QUOTE = 59;
|
|
const TP_BACKTICK = 60;
|
|
const YY_NO_ACTION = 514;
|
|
const YY_ACCEPT_ACTION = 513;
|
|
const YY_ERROR_ACTION = 512;
|
|
|
|
const YY_SZ_ACTTAB = 1997;
|
|
public static $yy_action = array(
|
|
249, 250, 239, 1, 27, 127, 220, 184, 160, 213,
|
|
11, 54, 278, 10, 173, 34, 108, 387, 282, 279,
|
|
223, 321, 221, 8, 194, 387, 18, 387, 85, 41,
|
|
387, 285, 42, 44, 264, 222, 387, 209, 387, 198,
|
|
387, 52, 5, 307, 288, 288, 164, 283, 224, 4,
|
|
50, 249, 250, 239, 1, 232, 131, 381, 189, 205,
|
|
213, 11, 54, 39, 35, 243, 31, 108, 94, 17,
|
|
381, 223, 321, 221, 439, 226, 381, 33, 49, 426,
|
|
41, 439, 89, 42, 44, 264, 222, 9, 235, 163,
|
|
198, 426, 52, 5, 131, 288, 212, 284, 102, 106,
|
|
4, 50, 249, 250, 239, 1, 232, 129, 426, 189,
|
|
347, 213, 11, 54, 175, 324, 347, 208, 108, 22,
|
|
426, 301, 223, 321, 221, 302, 226, 135, 18, 49,
|
|
52, 41, 26, 288, 42, 44, 264, 222, 16, 235,
|
|
294, 198, 204, 52, 5, 170, 288, 32, 90, 267,
|
|
268, 4, 50, 249, 250, 239, 1, 20, 129, 185,
|
|
179, 255, 213, 11, 54, 455, 288, 192, 455, 108,
|
|
175, 167, 455, 223, 321, 221, 439, 226, 256, 18,
|
|
55, 292, 41, 439, 132, 42, 44, 264, 222, 427,
|
|
235, 12, 198, 165, 52, 5, 232, 288, 288, 347,
|
|
153, 427, 4, 50, 249, 250, 239, 1, 232, 129,
|
|
286, 181, 347, 213, 11, 54, 24, 13, 347, 49,
|
|
108, 232, 320, 426, 223, 321, 221, 195, 201, 173,
|
|
18, 49, 139, 41, 296, 426, 42, 44, 264, 222,
|
|
7, 235, 286, 198, 49, 52, 5, 147, 288, 117,
|
|
150, 317, 263, 4, 50, 249, 250, 239, 1, 95,
|
|
130, 173, 189, 155, 213, 11, 54, 22, 244, 271,
|
|
192, 108, 323, 286, 101, 223, 321, 221, 294, 226,
|
|
204, 18, 348, 257, 41, 166, 283, 42, 44, 264,
|
|
222, 28, 235, 300, 198, 348, 52, 5, 247, 288,
|
|
117, 348, 94, 206, 4, 50, 249, 250, 239, 1,
|
|
95, 129, 22, 189, 277, 213, 11, 54, 91, 274,
|
|
224, 426, 108, 323, 216, 156, 223, 321, 221, 132,
|
|
180, 262, 18, 426, 100, 41, 12, 288, 42, 44,
|
|
264, 222, 15, 235, 216, 198, 254, 52, 5, 233,
|
|
288, 210, 190, 192, 100, 4, 50, 249, 250, 239,
|
|
1, 3, 131, 94, 189, 192, 213, 11, 54, 269,
|
|
10, 204, 290, 108, 325, 216, 224, 223, 321, 221,
|
|
23, 226, 211, 33, 315, 100, 45, 513, 92, 42,
|
|
44, 264, 222, 102, 235, 178, 198, 268, 52, 5,
|
|
275, 288, 161, 192, 37, 25, 4, 50, 249, 250,
|
|
239, 1, 286, 129, 172, 187, 305, 213, 11, 54,
|
|
164, 283, 310, 141, 108, 281, 281, 236, 223, 321,
|
|
221, 169, 226, 230, 18, 122, 171, 41, 225, 175,
|
|
42, 44, 264, 222, 144, 235, 303, 198, 134, 52,
|
|
5, 265, 288, 151, 286, 192, 175, 4, 50, 249,
|
|
250, 239, 1, 286, 128, 94, 189, 143, 213, 11,
|
|
54, 219, 152, 207, 193, 108, 149, 281, 31, 223,
|
|
321, 221, 100, 226, 21, 6, 286, 288, 41, 158,
|
|
16, 42, 44, 264, 222, 102, 235, 238, 198, 286,
|
|
52, 5, 157, 288, 281, 122, 168, 283, 4, 50,
|
|
249, 250, 239, 1, 30, 93, 308, 51, 215, 213,
|
|
11, 54, 53, 251, 140, 248, 108, 245, 304, 116,
|
|
223, 321, 221, 111, 226, 176, 18, 270, 266, 41,
|
|
224, 322, 42, 44, 264, 222, 7, 235, 259, 198,
|
|
147, 52, 5, 257, 288, 43, 40, 38, 83, 4,
|
|
50, 241, 214, 204, 319, 280, 88, 107, 138, 182,
|
|
97, 64, 311, 312, 313, 316, 95, 281, 298, 258,
|
|
142, 234, 94, 105, 272, 197, 231, 482, 237, 323,
|
|
37, 133, 324, 241, 214, 204, 319, 314, 88, 107,
|
|
296, 183, 97, 82, 84, 43, 40, 38, 95, 296,
|
|
296, 258, 296, 296, 296, 159, 272, 197, 231, 296,
|
|
237, 323, 311, 312, 313, 316, 241, 296, 204, 296,
|
|
296, 103, 296, 296, 199, 104, 77, 296, 296, 110,
|
|
296, 95, 296, 296, 258, 278, 296, 296, 34, 272,
|
|
197, 231, 279, 237, 323, 43, 40, 38, 296, 296,
|
|
296, 241, 26, 204, 196, 276, 103, 296, 16, 199,
|
|
104, 77, 311, 312, 313, 316, 95, 192, 296, 258,
|
|
146, 296, 296, 296, 272, 197, 231, 296, 237, 323,
|
|
286, 393, 39, 35, 243, 296, 296, 296, 296, 191,
|
|
276, 296, 26, 318, 252, 253, 126, 296, 16, 249,
|
|
250, 239, 1, 296, 296, 131, 296, 261, 213, 11,
|
|
54, 296, 296, 296, 426, 108, 393, 393, 393, 223,
|
|
321, 221, 241, 296, 204, 299, 426, 103, 107, 296,
|
|
183, 97, 82, 393, 393, 393, 393, 95, 296, 260,
|
|
258, 52, 296, 296, 288, 272, 197, 231, 296, 237,
|
|
323, 293, 296, 296, 296, 296, 296, 249, 250, 239,
|
|
2, 296, 295, 296, 296, 296, 213, 11, 54, 296,
|
|
296, 177, 296, 108, 136, 296, 296, 223, 321, 221,
|
|
296, 296, 296, 293, 43, 40, 38, 296, 296, 249,
|
|
250, 239, 2, 296, 295, 43, 40, 38, 213, 11,
|
|
54, 311, 312, 313, 316, 108, 296, 291, 14, 223,
|
|
321, 221, 311, 312, 313, 316, 296, 296, 241, 296,
|
|
204, 296, 192, 103, 296, 296, 199, 104, 77, 296,
|
|
296, 296, 296, 95, 383, 296, 258, 296, 296, 297,
|
|
14, 272, 197, 231, 296, 237, 323, 383, 296, 296,
|
|
241, 296, 204, 383, 296, 99, 296, 287, 199, 120,
|
|
48, 241, 112, 204, 296, 95, 103, 296, 258, 199,
|
|
120, 74, 296, 272, 197, 231, 95, 237, 323, 258,
|
|
455, 296, 296, 455, 272, 197, 231, 455, 237, 323,
|
|
241, 296, 204, 296, 296, 103, 200, 296, 199, 120,
|
|
74, 296, 296, 296, 296, 95, 296, 296, 258, 278,
|
|
296, 296, 34, 272, 197, 231, 279, 237, 323, 241,
|
|
455, 204, 296, 296, 99, 202, 296, 199, 120, 56,
|
|
241, 211, 204, 296, 95, 103, 296, 258, 199, 120,
|
|
74, 296, 272, 197, 231, 95, 237, 323, 258, 227,
|
|
296, 296, 296, 272, 197, 231, 296, 237, 323, 241,
|
|
296, 204, 148, 296, 103, 203, 86, 199, 120, 73,
|
|
296, 296, 286, 296, 95, 296, 296, 258, 278, 296,
|
|
296, 34, 272, 197, 231, 279, 237, 323, 241, 296,
|
|
204, 175, 296, 103, 296, 296, 199, 120, 75, 241,
|
|
296, 204, 296, 95, 103, 296, 258, 199, 120, 63,
|
|
296, 272, 197, 231, 95, 237, 323, 258, 229, 192,
|
|
296, 296, 272, 197, 231, 296, 237, 323, 241, 296,
|
|
204, 380, 296, 103, 296, 296, 199, 120, 58, 296,
|
|
296, 296, 296, 95, 380, 296, 258, 296, 296, 296,
|
|
380, 272, 197, 231, 296, 237, 323, 241, 296, 204,
|
|
296, 296, 103, 296, 296, 199, 120, 71, 241, 296,
|
|
204, 296, 95, 103, 296, 258, 199, 120, 79, 296,
|
|
272, 197, 231, 95, 237, 323, 258, 296, 296, 296,
|
|
154, 272, 197, 231, 87, 237, 323, 241, 296, 204,
|
|
286, 296, 103, 296, 296, 199, 120, 70, 296, 296,
|
|
296, 296, 95, 296, 296, 258, 296, 296, 296, 175,
|
|
272, 197, 231, 296, 237, 323, 241, 296, 204, 296,
|
|
296, 103, 296, 296, 199, 120, 56, 241, 296, 204,
|
|
296, 95, 103, 296, 258, 199, 120, 46, 296, 272,
|
|
197, 231, 95, 237, 323, 258, 296, 296, 296, 296,
|
|
272, 197, 231, 296, 237, 323, 241, 296, 204, 296,
|
|
296, 103, 296, 296, 199, 120, 78, 296, 296, 296,
|
|
296, 95, 296, 296, 258, 296, 296, 296, 296, 272,
|
|
197, 231, 296, 237, 323, 241, 296, 204, 296, 296,
|
|
103, 296, 296, 199, 120, 66, 241, 296, 204, 296,
|
|
95, 103, 296, 258, 199, 120, 59, 296, 272, 197,
|
|
231, 95, 237, 323, 258, 296, 296, 296, 296, 272,
|
|
197, 231, 296, 237, 323, 241, 296, 204, 296, 296,
|
|
103, 296, 296, 186, 109, 57, 296, 296, 296, 296,
|
|
95, 296, 296, 258, 296, 296, 296, 296, 272, 197,
|
|
231, 296, 237, 323, 241, 296, 204, 296, 296, 103,
|
|
296, 296, 188, 120, 67, 241, 296, 204, 296, 95,
|
|
103, 296, 258, 199, 96, 62, 296, 272, 197, 231,
|
|
95, 237, 323, 258, 296, 296, 296, 296, 272, 197,
|
|
231, 296, 237, 323, 241, 296, 204, 296, 296, 103,
|
|
296, 296, 199, 120, 80, 296, 296, 296, 296, 95,
|
|
296, 296, 258, 296, 296, 296, 296, 272, 197, 231,
|
|
296, 237, 323, 241, 296, 204, 296, 296, 103, 296,
|
|
296, 199, 120, 76, 241, 296, 204, 296, 95, 103,
|
|
296, 258, 199, 120, 81, 296, 272, 197, 231, 95,
|
|
237, 323, 258, 296, 296, 296, 296, 272, 197, 231,
|
|
296, 237, 323, 241, 296, 204, 296, 296, 103, 296,
|
|
296, 199, 120, 65, 296, 296, 296, 296, 95, 296,
|
|
296, 258, 296, 296, 296, 296, 272, 197, 231, 296,
|
|
237, 323, 241, 296, 204, 296, 296, 103, 296, 296,
|
|
199, 96, 68, 241, 296, 204, 296, 95, 103, 296,
|
|
258, 199, 120, 61, 296, 272, 197, 231, 95, 237,
|
|
323, 258, 296, 296, 296, 296, 272, 197, 231, 296,
|
|
237, 323, 241, 296, 204, 296, 296, 103, 296, 296,
|
|
199, 98, 69, 296, 296, 296, 296, 95, 296, 296,
|
|
258, 296, 296, 296, 296, 272, 197, 231, 296, 237,
|
|
323, 241, 296, 204, 296, 296, 103, 296, 296, 199,
|
|
120, 72, 241, 296, 204, 296, 95, 103, 296, 258,
|
|
199, 120, 47, 296, 272, 197, 231, 95, 237, 323,
|
|
258, 296, 296, 296, 296, 272, 197, 231, 296, 237,
|
|
323, 241, 192, 204, 296, 296, 103, 296, 296, 199,
|
|
120, 60, 296, 296, 351, 296, 95, 296, 217, 258,
|
|
296, 296, 296, 296, 272, 197, 231, 26, 237, 323,
|
|
241, 296, 204, 16, 296, 103, 426, 296, 199, 125,
|
|
296, 241, 296, 204, 296, 95, 103, 296, 426, 199,
|
|
118, 296, 242, 272, 197, 231, 95, 237, 323, 296,
|
|
296, 296, 296, 246, 272, 197, 231, 296, 237, 323,
|
|
241, 296, 204, 278, 296, 103, 34, 296, 199, 121,
|
|
279, 296, 296, 296, 296, 95, 296, 296, 296, 296,
|
|
26, 296, 162, 272, 197, 231, 16, 237, 323, 241,
|
|
296, 204, 296, 296, 103, 296, 296, 199, 123, 296,
|
|
241, 296, 204, 296, 95, 103, 296, 296, 199, 114,
|
|
296, 296, 272, 197, 231, 95, 237, 323, 296, 296,
|
|
296, 296, 296, 272, 197, 231, 296, 237, 323, 241,
|
|
296, 204, 296, 145, 103, 296, 296, 199, 124, 296,
|
|
296, 296, 296, 286, 95, 39, 35, 243, 296, 296,
|
|
296, 296, 272, 197, 231, 296, 237, 323, 241, 296,
|
|
204, 296, 296, 103, 296, 296, 199, 115, 296, 241,
|
|
296, 204, 296, 95, 103, 296, 296, 199, 113, 296,
|
|
296, 272, 197, 231, 95, 237, 323, 296, 296, 296,
|
|
296, 296, 272, 197, 231, 228, 237, 323, 241, 296,
|
|
204, 296, 455, 103, 296, 455, 199, 119, 3, 455,
|
|
439, 296, 296, 95, 296, 296, 296, 296, 296, 296,
|
|
296, 272, 197, 231, 228, 237, 323, 296, 296, 296,
|
|
296, 455, 296, 296, 455, 296, 296, 439, 455, 439,
|
|
439, 228, 455, 296, 439, 296, 296, 137, 455, 296,
|
|
296, 455, 296, 296, 32, 455, 439, 286, 296, 39,
|
|
35, 243, 29, 296, 26, 296, 439, 296, 296, 439,
|
|
16, 455, 296, 439, 306, 43, 40, 38, 296, 296,
|
|
296, 296, 296, 439, 296, 296, 439, 296, 455, 296,
|
|
439, 26, 311, 312, 313, 316, 296, 16, 228, 296,
|
|
296, 296, 43, 40, 38, 455, 296, 296, 455, 296,
|
|
296, 296, 455, 439, 296, 296, 19, 296, 296, 311,
|
|
312, 313, 316, 455, 296, 296, 455, 296, 296, 296,
|
|
455, 439, 296, 296, 296, 43, 40, 38, 296, 296,
|
|
439, 296, 296, 439, 174, 455, 296, 439, 296, 240,
|
|
309, 296, 311, 312, 313, 316, 296, 289, 439, 296,
|
|
36, 439, 296, 455, 296, 439, 296, 296, 43, 40,
|
|
38, 296, 296, 43, 40, 38, 296, 296, 296, 296,
|
|
296, 43, 40, 38, 296, 311, 312, 313, 316, 296,
|
|
311, 312, 313, 316, 296, 43, 40, 38, 311, 312,
|
|
313, 316, 273, 43, 40, 38, 296, 296, 296, 296,
|
|
296, 296, 311, 312, 313, 316, 296, 296, 296, 296,
|
|
311, 312, 313, 316, 455, 296, 296, 455, 43, 40,
|
|
38, 455, 439, 218, 43, 40, 38, 296, 296, 296,
|
|
296, 296, 296, 296, 296, 311, 312, 313, 316, 296,
|
|
296, 311, 312, 313, 316, 296, 296, 296, 296, 439,
|
|
296, 296, 439, 296, 455, 296, 439,
|
|
);
|
|
public static $yy_lookahead = array(
|
|
9, 10, 11, 12, 12, 14, 14, 16, 16, 18,
|
|
19, 20, 9, 34, 102, 12, 25, 13, 70, 16,
|
|
29, 30, 31, 35, 33, 21, 35, 23, 95, 38,
|
|
26, 52, 41, 42, 43, 44, 32, 46, 34, 48,
|
|
36, 50, 51, 52, 53, 53, 98, 99, 44, 58,
|
|
59, 9, 10, 11, 12, 22, 14, 13, 16, 15,
|
|
18, 19, 20, 85, 86, 87, 15, 25, 17, 21,
|
|
26, 29, 30, 31, 44, 33, 32, 35, 45, 35,
|
|
38, 51, 34, 41, 42, 43, 44, 35, 46, 77,
|
|
48, 47, 50, 51, 14, 53, 16, 13, 47, 47,
|
|
58, 59, 9, 10, 11, 12, 22, 14, 35, 16,
|
|
26, 18, 19, 20, 102, 103, 32, 44, 25, 34,
|
|
47, 36, 29, 30, 31, 52, 33, 14, 35, 45,
|
|
50, 38, 26, 53, 41, 42, 43, 44, 32, 46,
|
|
66, 48, 68, 50, 51, 77, 53, 15, 35, 7,
|
|
8, 58, 59, 9, 10, 11, 12, 12, 14, 14,
|
|
16, 16, 18, 19, 20, 9, 53, 1, 12, 25,
|
|
102, 82, 16, 29, 30, 31, 44, 33, 33, 35,
|
|
106, 107, 38, 51, 44, 41, 42, 43, 44, 35,
|
|
46, 51, 48, 82, 50, 51, 22, 53, 53, 13,
|
|
73, 47, 58, 59, 9, 10, 11, 12, 22, 14,
|
|
83, 16, 26, 18, 19, 20, 28, 12, 32, 45,
|
|
25, 22, 70, 35, 29, 30, 31, 65, 33, 102,
|
|
35, 45, 73, 38, 60, 47, 41, 42, 43, 44,
|
|
35, 46, 83, 48, 45, 50, 51, 95, 53, 71,
|
|
95, 52, 74, 58, 59, 9, 10, 11, 12, 81,
|
|
14, 102, 16, 73, 18, 19, 20, 34, 90, 36,
|
|
1, 25, 94, 83, 81, 29, 30, 31, 66, 33,
|
|
68, 35, 13, 96, 38, 98, 99, 41, 42, 43,
|
|
44, 15, 46, 100, 48, 26, 50, 51, 14, 53,
|
|
71, 32, 17, 74, 58, 59, 9, 10, 11, 12,
|
|
81, 14, 34, 16, 36, 18, 19, 20, 82, 107,
|
|
44, 35, 25, 94, 71, 95, 29, 30, 31, 44,
|
|
33, 78, 35, 47, 81, 38, 51, 53, 41, 42,
|
|
43, 44, 15, 46, 71, 48, 16, 50, 51, 22,
|
|
53, 78, 79, 1, 81, 58, 59, 9, 10, 11,
|
|
12, 15, 14, 17, 16, 1, 18, 19, 20, 66,
|
|
34, 68, 36, 25, 16, 71, 44, 29, 30, 31,
|
|
28, 33, 78, 35, 52, 81, 38, 62, 63, 41,
|
|
42, 43, 44, 47, 46, 6, 48, 8, 50, 51,
|
|
16, 53, 73, 1, 2, 40, 58, 59, 9, 10,
|
|
11, 12, 83, 14, 77, 16, 52, 18, 19, 20,
|
|
98, 99, 52, 95, 25, 97, 97, 92, 29, 30,
|
|
31, 77, 33, 49, 35, 100, 14, 38, 16, 102,
|
|
41, 42, 43, 44, 73, 46, 14, 48, 14, 50,
|
|
51, 36, 53, 73, 83, 1, 102, 58, 59, 9,
|
|
10, 11, 12, 83, 14, 17, 16, 50, 18, 19,
|
|
20, 17, 71, 64, 65, 25, 73, 97, 15, 29,
|
|
30, 31, 81, 33, 26, 35, 83, 53, 38, 73,
|
|
32, 41, 42, 43, 44, 47, 46, 92, 48, 83,
|
|
50, 51, 95, 53, 97, 100, 98, 99, 58, 59,
|
|
9, 10, 11, 12, 23, 14, 52, 16, 16, 18,
|
|
19, 20, 16, 7, 50, 16, 25, 13, 13, 16,
|
|
29, 30, 31, 16, 33, 16, 35, 33, 33, 38,
|
|
44, 16, 41, 42, 43, 44, 35, 46, 16, 48,
|
|
95, 50, 51, 96, 53, 37, 38, 39, 81, 58,
|
|
59, 66, 67, 68, 69, 83, 71, 72, 95, 74,
|
|
75, 76, 54, 55, 56, 57, 81, 97, 60, 84,
|
|
95, 13, 17, 80, 89, 90, 91, 1, 93, 94,
|
|
2, 81, 103, 66, 67, 68, 69, 99, 71, 72,
|
|
108, 74, 75, 76, 81, 37, 38, 39, 81, 108,
|
|
108, 84, 108, 108, 108, 95, 89, 90, 91, 108,
|
|
93, 94, 54, 55, 56, 57, 66, 108, 68, 108,
|
|
108, 71, 108, 108, 74, 75, 76, 108, 108, 21,
|
|
108, 81, 108, 108, 84, 9, 108, 108, 12, 89,
|
|
90, 91, 16, 93, 94, 37, 38, 39, 108, 108,
|
|
108, 66, 26, 68, 104, 105, 71, 108, 32, 74,
|
|
75, 76, 54, 55, 56, 57, 81, 1, 108, 84,
|
|
73, 108, 108, 108, 89, 90, 91, 108, 93, 94,
|
|
83, 2, 85, 86, 87, 108, 108, 108, 108, 104,
|
|
105, 108, 26, 3, 4, 5, 6, 108, 32, 9,
|
|
10, 11, 12, 108, 108, 14, 108, 16, 18, 19,
|
|
20, 108, 108, 108, 35, 25, 37, 38, 39, 29,
|
|
30, 31, 66, 108, 68, 69, 47, 71, 72, 108,
|
|
74, 75, 76, 54, 55, 56, 57, 81, 108, 48,
|
|
84, 50, 108, 108, 53, 89, 90, 91, 108, 93,
|
|
94, 3, 108, 108, 108, 108, 108, 9, 10, 11,
|
|
12, 108, 14, 108, 108, 108, 18, 19, 20, 108,
|
|
108, 13, 108, 25, 27, 108, 108, 29, 30, 31,
|
|
108, 108, 108, 3, 37, 38, 39, 108, 108, 9,
|
|
10, 11, 12, 108, 14, 37, 38, 39, 18, 19,
|
|
20, 54, 55, 56, 57, 25, 108, 59, 60, 29,
|
|
30, 31, 54, 55, 56, 57, 108, 108, 66, 108,
|
|
68, 108, 1, 71, 108, 108, 74, 75, 76, 108,
|
|
108, 108, 108, 81, 13, 108, 84, 108, 108, 59,
|
|
60, 89, 90, 91, 108, 93, 94, 26, 108, 108,
|
|
66, 108, 68, 32, 108, 71, 108, 105, 74, 75,
|
|
76, 66, 78, 68, 108, 81, 71, 108, 84, 74,
|
|
75, 76, 108, 89, 90, 91, 81, 93, 94, 84,
|
|
9, 108, 108, 12, 89, 90, 91, 16, 93, 94,
|
|
66, 108, 68, 108, 108, 71, 101, 108, 74, 75,
|
|
76, 108, 108, 108, 108, 81, 108, 108, 84, 9,
|
|
108, 108, 12, 89, 90, 91, 16, 93, 94, 66,
|
|
49, 68, 108, 108, 71, 101, 108, 74, 75, 76,
|
|
66, 78, 68, 108, 81, 71, 108, 84, 74, 75,
|
|
76, 108, 89, 90, 91, 81, 93, 94, 84, 49,
|
|
108, 108, 108, 89, 90, 91, 108, 93, 94, 66,
|
|
108, 68, 73, 108, 71, 101, 77, 74, 75, 76,
|
|
108, 108, 83, 108, 81, 108, 108, 84, 9, 108,
|
|
108, 12, 89, 90, 91, 16, 93, 94, 66, 108,
|
|
68, 102, 108, 71, 108, 108, 74, 75, 76, 66,
|
|
108, 68, 108, 81, 71, 108, 84, 74, 75, 76,
|
|
108, 89, 90, 91, 81, 93, 94, 84, 49, 1,
|
|
108, 108, 89, 90, 91, 108, 93, 94, 66, 108,
|
|
68, 13, 108, 71, 108, 108, 74, 75, 76, 108,
|
|
108, 108, 108, 81, 26, 108, 84, 108, 108, 108,
|
|
32, 89, 90, 91, 108, 93, 94, 66, 108, 68,
|
|
108, 108, 71, 108, 108, 74, 75, 76, 66, 108,
|
|
68, 108, 81, 71, 108, 84, 74, 75, 76, 108,
|
|
89, 90, 91, 81, 93, 94, 84, 108, 108, 108,
|
|
73, 89, 90, 91, 77, 93, 94, 66, 108, 68,
|
|
83, 108, 71, 108, 108, 74, 75, 76, 108, 108,
|
|
108, 108, 81, 108, 108, 84, 108, 108, 108, 102,
|
|
89, 90, 91, 108, 93, 94, 66, 108, 68, 108,
|
|
108, 71, 108, 108, 74, 75, 76, 66, 108, 68,
|
|
108, 81, 71, 108, 84, 74, 75, 76, 108, 89,
|
|
90, 91, 81, 93, 94, 84, 108, 108, 108, 108,
|
|
89, 90, 91, 108, 93, 94, 66, 108, 68, 108,
|
|
108, 71, 108, 108, 74, 75, 76, 108, 108, 108,
|
|
108, 81, 108, 108, 84, 108, 108, 108, 108, 89,
|
|
90, 91, 108, 93, 94, 66, 108, 68, 108, 108,
|
|
71, 108, 108, 74, 75, 76, 66, 108, 68, 108,
|
|
81, 71, 108, 84, 74, 75, 76, 108, 89, 90,
|
|
91, 81, 93, 94, 84, 108, 108, 108, 108, 89,
|
|
90, 91, 108, 93, 94, 66, 108, 68, 108, 108,
|
|
71, 108, 108, 74, 75, 76, 108, 108, 108, 108,
|
|
81, 108, 108, 84, 108, 108, 108, 108, 89, 90,
|
|
91, 108, 93, 94, 66, 108, 68, 108, 108, 71,
|
|
108, 108, 74, 75, 76, 66, 108, 68, 108, 81,
|
|
71, 108, 84, 74, 75, 76, 108, 89, 90, 91,
|
|
81, 93, 94, 84, 108, 108, 108, 108, 89, 90,
|
|
91, 108, 93, 94, 66, 108, 68, 108, 108, 71,
|
|
108, 108, 74, 75, 76, 108, 108, 108, 108, 81,
|
|
108, 108, 84, 108, 108, 108, 108, 89, 90, 91,
|
|
108, 93, 94, 66, 108, 68, 108, 108, 71, 108,
|
|
108, 74, 75, 76, 66, 108, 68, 108, 81, 71,
|
|
108, 84, 74, 75, 76, 108, 89, 90, 91, 81,
|
|
93, 94, 84, 108, 108, 108, 108, 89, 90, 91,
|
|
108, 93, 94, 66, 108, 68, 108, 108, 71, 108,
|
|
108, 74, 75, 76, 108, 108, 108, 108, 81, 108,
|
|
108, 84, 108, 108, 108, 108, 89, 90, 91, 108,
|
|
93, 94, 66, 108, 68, 108, 108, 71, 108, 108,
|
|
74, 75, 76, 66, 108, 68, 108, 81, 71, 108,
|
|
84, 74, 75, 76, 108, 89, 90, 91, 81, 93,
|
|
94, 84, 108, 108, 108, 108, 89, 90, 91, 108,
|
|
93, 94, 66, 108, 68, 108, 108, 71, 108, 108,
|
|
74, 75, 76, 108, 108, 108, 108, 81, 108, 108,
|
|
84, 108, 108, 108, 108, 89, 90, 91, 108, 93,
|
|
94, 66, 108, 68, 108, 108, 71, 108, 108, 74,
|
|
75, 76, 66, 108, 68, 108, 81, 71, 108, 84,
|
|
74, 75, 76, 108, 89, 90, 91, 81, 93, 94,
|
|
84, 108, 108, 108, 108, 89, 90, 91, 108, 93,
|
|
94, 66, 1, 68, 108, 108, 71, 108, 108, 74,
|
|
75, 76, 108, 108, 13, 108, 81, 108, 17, 84,
|
|
108, 108, 108, 108, 89, 90, 91, 26, 93, 94,
|
|
66, 108, 68, 32, 108, 71, 35, 108, 74, 75,
|
|
108, 66, 108, 68, 108, 81, 71, 108, 47, 74,
|
|
75, 108, 88, 89, 90, 91, 81, 93, 94, 108,
|
|
108, 108, 108, 88, 89, 90, 91, 108, 93, 94,
|
|
66, 108, 68, 9, 108, 71, 12, 108, 74, 75,
|
|
16, 108, 108, 108, 108, 81, 108, 108, 108, 108,
|
|
26, 108, 28, 89, 90, 91, 32, 93, 94, 66,
|
|
108, 68, 108, 108, 71, 108, 108, 74, 75, 108,
|
|
66, 108, 68, 108, 81, 71, 108, 108, 74, 75,
|
|
108, 108, 89, 90, 91, 81, 93, 94, 108, 108,
|
|
108, 108, 108, 89, 90, 91, 108, 93, 94, 66,
|
|
108, 68, 108, 73, 71, 108, 108, 74, 75, 108,
|
|
108, 108, 108, 83, 81, 85, 86, 87, 108, 108,
|
|
108, 108, 89, 90, 91, 108, 93, 94, 66, 108,
|
|
68, 108, 108, 71, 108, 108, 74, 75, 108, 66,
|
|
108, 68, 108, 81, 71, 108, 108, 74, 75, 108,
|
|
108, 89, 90, 91, 81, 93, 94, 108, 108, 108,
|
|
108, 108, 89, 90, 91, 2, 93, 94, 66, 108,
|
|
68, 108, 9, 71, 108, 12, 74, 75, 15, 16,
|
|
17, 108, 108, 81, 108, 108, 108, 108, 108, 108,
|
|
108, 89, 90, 91, 2, 93, 94, 108, 108, 108,
|
|
108, 9, 108, 108, 12, 108, 108, 44, 16, 17,
|
|
47, 2, 49, 108, 51, 108, 108, 73, 9, 108,
|
|
108, 12, 108, 108, 15, 16, 17, 83, 108, 85,
|
|
86, 87, 24, 108, 26, 108, 44, 108, 108, 47,
|
|
32, 49, 108, 51, 52, 37, 38, 39, 108, 108,
|
|
108, 108, 108, 44, 108, 108, 47, 108, 49, 108,
|
|
51, 26, 54, 55, 56, 57, 108, 32, 2, 108,
|
|
108, 108, 37, 38, 39, 9, 108, 108, 12, 108,
|
|
108, 108, 16, 17, 108, 108, 2, 108, 108, 54,
|
|
55, 56, 57, 9, 108, 108, 12, 108, 108, 108,
|
|
16, 17, 108, 108, 108, 37, 38, 39, 108, 108,
|
|
44, 108, 108, 47, 13, 49, 108, 51, 108, 13,
|
|
52, 108, 54, 55, 56, 57, 108, 13, 44, 108,
|
|
2, 47, 108, 49, 108, 51, 108, 108, 37, 38,
|
|
39, 108, 108, 37, 38, 39, 108, 108, 108, 108,
|
|
108, 37, 38, 39, 108, 54, 55, 56, 57, 108,
|
|
54, 55, 56, 57, 108, 37, 38, 39, 54, 55,
|
|
56, 57, 36, 37, 38, 39, 108, 108, 108, 108,
|
|
108, 108, 54, 55, 56, 57, 108, 108, 108, 108,
|
|
54, 55, 56, 57, 9, 108, 108, 12, 37, 38,
|
|
39, 16, 17, 36, 37, 38, 39, 108, 108, 108,
|
|
108, 108, 108, 108, 108, 54, 55, 56, 57, 108,
|
|
108, 54, 55, 56, 57, 108, 108, 108, 108, 44,
|
|
108, 108, 47, 108, 49, 108, 51,
|
|
);
|
|
const YY_SHIFT_USE_DFLT = -22;
|
|
const YY_SHIFT_MAX = 230;
|
|
public static $yy_shift_ofst = array(
|
|
-22, 501, 501, 93, 399, 399, 450, 93, 93, 93,
|
|
399, 450, -9, 93, 93, 93, 93, 93, 93, 144,
|
|
93, 195, 93, 93, 93, 246, 195, 93, 93, 93,
|
|
93, 93, 297, 93, 93, 93, 93, 348, 42, 42,
|
|
42, 42, 42, 42, 42, 42, 1768, 1795, 1795, 701,
|
|
758, 1521, 80, 676, 113, 790, 1927, 1828, 1896, 568,
|
|
768, 1861, 757, 1866, 1874, 1888, 618, 518, 1921, 1921,
|
|
1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921,
|
|
1921, 1921, 1921, 1584, 636, 285, 676, 676, 346, 113,
|
|
113, 402, 700, 1723, -8, 910, 831, 269, 1028, 51,
|
|
3, 3, 422, 448, 352, 106, 422, 106, 458, 364,
|
|
434, 454, 106, 166, 166, 166, 166, 565, 166, 166,
|
|
166, 586, 565, 166, 166, -22, -22, 1752, 1769, 1826,
|
|
1844, 1945, 145, 979, 156, 132, 284, 106, 140, 106,
|
|
30, 140, 140, 30, 106, 106, 106, 140, 106, 106,
|
|
140, 106, 327, 106, 106, 106, 140, 140, 106, 140,
|
|
205, 106, 284, 166, 565, 588, 565, 588, 565, 166,
|
|
166, -12, 166, -22, -22, -22, -22, -22, -22, 689,
|
|
4, 44, 84, 186, 73, 881, 199, 188, 174, 286,
|
|
48, 336, 384, 389, 332, 142, -21, 52, 154, 33,
|
|
85, 276, 278, 233, 515, 509, 474, 516, 502, 464,
|
|
491, 415, 417, 432, 514, 370, 463, 506, 365, 513,
|
|
-12, 517, 504, 519, 505, 511, 496, 525, 532, 330,
|
|
358,
|
|
);
|
|
const YY_REDUCE_USE_DFLT = -89;
|
|
const YY_REDUCE_MAX = 178;
|
|
public static $yy_reduce_ofst = array(
|
|
325, 527, 495, 666, 595, 560, 863, 874, 834, 805,
|
|
762, 794, 1179, 1455, 1208, 1012, 1386, 1139, 1070, 1110,
|
|
1150, 1219, 1248, 1277, 1288, 1317, 1346, 1357, 1415, 1426,
|
|
1081, 1041, 1001, 972, 943, 932, 903, 1484, 1495, 1622,
|
|
1633, 1662, 1593, 1564, 1553, 1524, 1704, 607, 1590, 178,
|
|
74, 1027, 229, 899, 273, 212, -22, -22, -22, -22,
|
|
-22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
|
|
-22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
|
|
-22, -22, -22, 380, 329, 187, 159, 127, -52, 253,
|
|
304, 12, 303, 152, 193, 328, 68, 68, 68, 322,
|
|
328, 407, 405, 322, 68, 190, 335, 416, 403, 68,
|
|
401, 354, 371, 68, 68, 68, 337, 322, 68, 68,
|
|
68, 68, 408, 68, 68, 68, 409, 455, 455, 455,
|
|
455, 455, 510, 480, 455, 455, 477, 482, 457, 482,
|
|
473, 457, 457, 485, 482, 482, 482, 457, 482, 482,
|
|
457, 482, 503, 482, 482, 482, 457, 457, 482, 457,
|
|
520, 482, 523, -88, 498, 489, 498, 489, 498, -88,
|
|
-88, -67, -88, 111, 155, 89, 236, 230, 162,
|
|
);
|
|
public static $yyExpectedTokens = array(
|
|
array(),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 52, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 29, 30, 31, 33, 35, 38, 41, 42, 43, 44, 46, 48, 50, 51, 53, 58, 59, ),
|
|
array(24, 26, 32, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(26, 32, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(26, 32, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(14, 16, 48, 50, 53, ),
|
|
array(3, 9, 10, 11, 12, 14, 18, 19, 20, 25, 29, 30, 31, 59, 60, ),
|
|
array(1, 13, 17, 26, 32, 35, 47, ),
|
|
array(14, 16, 50, 53, ),
|
|
array(1, 26, 32, ),
|
|
array(14, 35, 53, ),
|
|
array(3, 9, 10, 11, 12, 14, 18, 19, 20, 25, 29, 30, 31, 59, 60, ),
|
|
array(36, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 52, 54, 55, 56, 57, ),
|
|
array(36, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(13, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(13, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(13, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(27, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(13, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(13, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(2, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(21, 37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, 60, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(37, 38, 39, 54, 55, 56, 57, ),
|
|
array(9, 12, 16, 26, 28, 32, ),
|
|
array(9, 12, 16, 26, 32, ),
|
|
array(17, 44, 51, ),
|
|
array(1, 26, 32, ),
|
|
array(1, 26, 32, ),
|
|
array(15, 17, 47, ),
|
|
array(14, 35, 53, ),
|
|
array(14, 35, 53, ),
|
|
array(1, 2, ),
|
|
array(3, 4, 5, 6, 9, 10, 11, 12, 18, 19, 20, 25, 29, 30, 31, ),
|
|
array(2, 9, 12, 15, 16, 17, 44, 47, 49, 51, ),
|
|
array(12, 14, 16, 53, ),
|
|
array(9, 12, 16, 49, ),
|
|
array(1, 13, 26, 32, ),
|
|
array(1, 13, 26, 32, ),
|
|
array(1, 13, 26, 32, ),
|
|
array(15, 17, 47, ),
|
|
array(9, 12, 16, ),
|
|
array(9, 12, 16, ),
|
|
array(14, 16, ),
|
|
array(17, 47, ),
|
|
array(1, 28, ),
|
|
array(26, 32, ),
|
|
array(14, 16, ),
|
|
array(26, 32, ),
|
|
array(26, 32, ),
|
|
array(1, 52, ),
|
|
array(14, 53, ),
|
|
array(1, 17, ),
|
|
array(26, 32, ),
|
|
array(1, ),
|
|
array(1, ),
|
|
array(1, ),
|
|
array(1, ),
|
|
array(17, ),
|
|
array(1, ),
|
|
array(1, ),
|
|
array(1, ),
|
|
array(1, ),
|
|
array(17, ),
|
|
array(1, ),
|
|
array(1, ),
|
|
array(),
|
|
array(),
|
|
array(2, 9, 12, 16, 17, 44, 47, 49, 51, 52, ),
|
|
array(2, 9, 12, 15, 16, 17, 44, 47, 49, 51, ),
|
|
array(2, 9, 12, 16, 17, 44, 47, 49, 51, ),
|
|
array(2, 9, 12, 16, 17, 44, 47, 49, 51, ),
|
|
array(9, 12, 16, 17, 44, 47, 49, 51, ),
|
|
array(12, 14, 16, 33, 53, ),
|
|
array(9, 12, 16, 49, ),
|
|
array(9, 12, 16, ),
|
|
array(15, 44, 51, ),
|
|
array(14, 53, ),
|
|
array(26, 32, ),
|
|
array(44, 51, ),
|
|
array(26, 32, ),
|
|
array(44, 51, ),
|
|
array(44, 51, ),
|
|
array(44, 51, ),
|
|
array(44, 51, ),
|
|
array(26, 32, ),
|
|
array(26, 32, ),
|
|
array(26, 32, ),
|
|
array(44, 51, ),
|
|
array(26, 32, ),
|
|
array(26, 32, ),
|
|
array(44, 51, ),
|
|
array(26, 32, ),
|
|
array(15, 22, ),
|
|
array(26, 32, ),
|
|
array(26, 32, ),
|
|
array(26, 32, ),
|
|
array(44, 51, ),
|
|
array(44, 51, ),
|
|
array(26, 32, ),
|
|
array(44, 51, ),
|
|
array(12, 35, ),
|
|
array(26, 32, ),
|
|
array(14, 53, ),
|
|
array(1, ),
|
|
array(17, ),
|
|
array(2, ),
|
|
array(17, ),
|
|
array(2, ),
|
|
array(17, ),
|
|
array(1, ),
|
|
array(1, ),
|
|
array(35, ),
|
|
array(1, ),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(2, 35, 37, 38, 39, 47, 54, 55, 56, 57, ),
|
|
array(13, 21, 23, 26, 32, 34, 36, 44, ),
|
|
array(13, 15, 26, 32, 35, 47, ),
|
|
array(13, 22, 26, 32, 45, ),
|
|
array(13, 22, 26, 32, 45, ),
|
|
array(35, 44, 47, 52, ),
|
|
array(9, 12, 16, 49, ),
|
|
array(22, 45, 52, ),
|
|
array(28, 35, 47, ),
|
|
array(22, 45, 60, ),
|
|
array(35, 47, ),
|
|
array(21, 34, ),
|
|
array(34, 36, ),
|
|
array(16, 49, ),
|
|
array(6, 8, ),
|
|
array(44, 52, ),
|
|
array(7, 8, ),
|
|
array(34, 52, ),
|
|
array(35, 47, ),
|
|
array(35, 47, ),
|
|
array(22, 45, ),
|
|
array(34, 36, ),
|
|
array(15, 44, ),
|
|
array(34, 36, ),
|
|
array(34, 36, ),
|
|
array(13, ),
|
|
array(16, ),
|
|
array(50, ),
|
|
array(7, ),
|
|
array(16, ),
|
|
array(52, ),
|
|
array(23, ),
|
|
array(36, ),
|
|
array(50, ),
|
|
array(14, ),
|
|
array(13, ),
|
|
array(52, ),
|
|
array(15, ),
|
|
array(16, ),
|
|
array(40, ),
|
|
array(16, ),
|
|
array(35, ),
|
|
array(16, ),
|
|
array(33, ),
|
|
array(16, ),
|
|
array(33, ),
|
|
array(35, ),
|
|
array(44, ),
|
|
array(16, ),
|
|
array(16, ),
|
|
array(16, ),
|
|
array(16, ),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
array(),
|
|
);
|
|
public static $yy_default = array(
|
|
336, 512, 512, 512, 497, 497, 512, 474, 474, 474,
|
|
512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
|
|
512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
|
|
512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
|
|
512, 512, 512, 512, 512, 512, 377, 377, 356, 512,
|
|
512, 413, 512, 377, 512, 512, 512, 512, 512, 512,
|
|
512, 512, 382, 512, 349, 512, 512, 512, 382, 379,
|
|
389, 388, 384, 402, 473, 397, 498, 500, 401, 361,
|
|
472, 499, 349, 377, 377, 487, 377, 377, 429, 512,
|
|
512, 368, 326, 428, 512, 439, 391, 391, 391, 429,
|
|
439, 439, 512, 429, 391, 377, 512, 377, 377, 391,
|
|
512, 371, 358, 395, 394, 396, 373, 429, 400, 404,
|
|
391, 404, 484, 406, 405, 481, 334, 428, 428, 428,
|
|
428, 428, 512, 441, 439, 455, 512, 363, 435, 354,
|
|
434, 437, 433, 432, 359, 357, 364, 436, 353, 367,
|
|
466, 365, 512, 352, 350, 360, 467, 465, 346, 464,
|
|
439, 366, 512, 369, 461, 475, 488, 476, 485, 372,
|
|
422, 439, 374, 480, 439, 480, 480, 439, 334, 413,
|
|
409, 413, 403, 403, 413, 440, 403, 413, 403, 413,
|
|
512, 512, 512, 332, 409, 512, 512, 512, 423, 403,
|
|
512, 409, 512, 512, 512, 512, 512, 512, 512, 418,
|
|
385, 512, 512, 512, 512, 512, 512, 512, 415, 512,
|
|
455, 512, 512, 512, 411, 486, 409, 512, 512, 512,
|
|
512, 419, 407, 362, 445, 418, 425, 424, 420, 339,
|
|
460, 421, 483, 398, 416, 340, 399, 455, 378, 337,
|
|
338, 330, 328, 329, 442, 443, 444, 438, 392, 393,
|
|
427, 426, 386, 417, 408, 390, 410, 331, 333, 335,
|
|
412, 470, 414, 415, 503, 478, 495, 471, 459, 458,
|
|
375, 457, 344, 462, 508, 493, 376, 496, 456, 509,
|
|
494, 501, 504, 511, 510, 507, 505, 502, 506, 345,
|
|
468, 469, 446, 355, 341, 452, 450, 454, 448, 453,
|
|
447, 489, 490, 491, 463, 449, 492, 451, 327, 342,
|
|
343, 370, 430, 431, 479, 477,
|
|
);
|
|
const YYNOCODE = 109;
|
|
const YYSTACKDEPTH = 500;
|
|
const YYNSTATE = 326;
|
|
const YYNRULE = 186;
|
|
const YYERRORSYMBOL = 61;
|
|
const YYERRSYMDT = 'yy0';
|
|
const YYFALLBACK = 0;
|
|
public static $yyFallback = array(
|
|
);
|
|
public function Trace($TraceFILE, $zTracePrompt)
|
|
{
|
|
if (!$TraceFILE) {
|
|
$zTracePrompt = 0;
|
|
} elseif (!$zTracePrompt) {
|
|
$TraceFILE = 0;
|
|
}
|
|
$this->yyTraceFILE = $TraceFILE;
|
|
$this->yyTracePrompt = $zTracePrompt;
|
|
}
|
|
|
|
public function PrintTrace()
|
|
{
|
|
$this->yyTraceFILE = fopen('php://output', 'w');
|
|
$this->yyTracePrompt = '<br>';
|
|
}
|
|
|
|
public $yyTraceFILE;
|
|
public $yyTracePrompt;
|
|
public $yyidx; /* Index of top element in stack */
|
|
public $yyerrcnt; /* Shifts left before out of the error */
|
|
public $yystack = array(); /* The parser's stack */
|
|
|
|
public $yyTokenName = array(
|
|
'$', 'VERT', 'COLON', 'TEXT',
|
|
'STRIPON', 'STRIPOFF', 'LITERALSTART', 'LITERALEND',
|
|
'LITERAL', 'SIMPELOUTPUT', 'SIMPLETAG', 'SMARTYBLOCKCHILDPARENT',
|
|
'LDEL', 'RDEL', 'DOLLARID', 'EQUAL',
|
|
'ID', 'PTR', 'LDELMAKENOCACHE', 'LDELIF',
|
|
'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO',
|
|
'STEP', 'LDELFOREACH', 'SPACE', 'AS',
|
|
'APTR', 'LDELSETFILTER', 'CLOSETAG', 'LDELSLASH',
|
|
'ATTR', 'INTEGER', 'COMMA', 'OPENP',
|
|
'CLOSEP', 'MATH', 'UNIMATH', 'ISIN',
|
|
'QMARK', 'NOT', 'TYPECAST', 'HEX',
|
|
'DOT', 'INSTANCEOF', 'SINGLEQUOTESTRING', 'DOUBLECOLON',
|
|
'NAMESPACE', 'AT', 'HATCH', 'OPENB',
|
|
'CLOSEB', 'DOLLAR', 'LOGOP', 'SLOGOP',
|
|
'TLOGOP', 'SINGLECOND', 'ARRAYOPEN', 'QUOTE',
|
|
'BACKTICK', 'error', 'start', 'template',
|
|
'literal_e2', 'literal_e1', 'smartytag', 'tagbody',
|
|
'tag', 'outattr', 'eqoutattr', 'varindexed',
|
|
'output', 'attributes', 'variable', 'value',
|
|
'expr', 'modifierlist', 'statement', 'statements',
|
|
'foraction', 'varvar', 'modparameters', 'attribute',
|
|
'ternary', 'tlop', 'lop', 'scond',
|
|
'array', 'function', 'ns1', 'doublequoted_with_quotes',
|
|
'static_class_access', 'arraydef', 'object', 'arrayindex',
|
|
'indexdef', 'varvarele', 'objectchain', 'objectelement',
|
|
'method', 'params', 'modifier', 'modparameter',
|
|
'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',
|
|
);
|
|
|
|
public static $yyRuleName = array(
|
|
'start ::= template',
|
|
'template ::= template TEXT',
|
|
'template ::= template STRIPON',
|
|
'template ::= template STRIPOFF',
|
|
'template ::= template LITERALSTART literal_e2 LITERALEND',
|
|
'literal_e2 ::= literal_e1 LITERALSTART literal_e1 LITERALEND',
|
|
'literal_e2 ::= literal_e1',
|
|
'literal_e1 ::= literal_e1 LITERAL',
|
|
'literal_e1 ::=',
|
|
'template ::= template smartytag',
|
|
'template ::=',
|
|
'smartytag ::= SIMPELOUTPUT',
|
|
'smartytag ::= SIMPLETAG',
|
|
'smartytag ::= SMARTYBLOCKCHILDPARENT',
|
|
'smartytag ::= LDEL tagbody RDEL',
|
|
'smartytag ::= tag RDEL',
|
|
'tagbody ::= outattr',
|
|
'tagbody ::= DOLLARID eqoutattr',
|
|
'tagbody ::= varindexed eqoutattr',
|
|
'eqoutattr ::= EQUAL outattr',
|
|
'outattr ::= output attributes',
|
|
'output ::= variable',
|
|
'output ::= value',
|
|
'output ::= expr',
|
|
'tag ::= LDEL ID attributes',
|
|
'tag ::= LDEL ID',
|
|
'tag ::= LDEL ID modifierlist attributes',
|
|
'tag ::= LDEL ID PTR ID attributes',
|
|
'tag ::= LDEL ID PTR ID modifierlist attributes',
|
|
'tag ::= LDELMAKENOCACHE DOLLARID',
|
|
'tag ::= LDELIF expr',
|
|
'tag ::= LDELIF expr attributes',
|
|
'tag ::= LDELIF statement',
|
|
'tag ::= LDELIF statement attributes',
|
|
'tag ::= LDELFOR statements SEMICOLON expr SEMICOLON varindexed foraction attributes',
|
|
'foraction ::= EQUAL expr',
|
|
'foraction ::= INCDEC',
|
|
'tag ::= LDELFOR statement TO expr attributes',
|
|
'tag ::= LDELFOR statement TO expr STEP expr attributes',
|
|
'tag ::= LDELFOREACH SPACE expr AS varvar attributes',
|
|
'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes',
|
|
'tag ::= LDELFOREACH attributes',
|
|
'tag ::= LDELSETFILTER ID modparameters',
|
|
'tag ::= LDELSETFILTER ID modparameters modifierlist',
|
|
'smartytag ::= CLOSETAG',
|
|
'tag ::= LDELSLASH ID',
|
|
'tag ::= LDELSLASH ID modifierlist',
|
|
'tag ::= LDELSLASH ID PTR ID',
|
|
'tag ::= LDELSLASH ID PTR ID modifierlist',
|
|
'attributes ::= attributes attribute',
|
|
'attributes ::= attribute',
|
|
'attributes ::=',
|
|
'attribute ::= SPACE ID EQUAL ID',
|
|
'attribute ::= ATTR expr',
|
|
'attribute ::= ATTR value',
|
|
'attribute ::= SPACE ID',
|
|
'attribute ::= SPACE expr',
|
|
'attribute ::= SPACE value',
|
|
'attribute ::= SPACE INTEGER EQUAL expr',
|
|
'statements ::= statement',
|
|
'statements ::= statements COMMA statement',
|
|
'statement ::= DOLLARID EQUAL INTEGER',
|
|
'statement ::= DOLLARID EQUAL expr',
|
|
'statement ::= varindexed EQUAL expr',
|
|
'statement ::= OPENP statement CLOSEP',
|
|
'expr ::= value',
|
|
'expr ::= ternary',
|
|
'expr ::= DOLLARID COLON ID',
|
|
'expr ::= expr MATH value',
|
|
'expr ::= expr UNIMATH value',
|
|
'expr ::= expr tlop value',
|
|
'expr ::= expr lop expr',
|
|
'expr ::= expr scond',
|
|
'expr ::= expr ISIN array',
|
|
'expr ::= expr ISIN value',
|
|
'ternary ::= OPENP expr CLOSEP QMARK DOLLARID COLON expr',
|
|
'ternary ::= OPENP expr CLOSEP QMARK expr COLON expr',
|
|
'value ::= variable',
|
|
'value ::= UNIMATH value',
|
|
'value ::= NOT value',
|
|
'value ::= TYPECAST value',
|
|
'value ::= variable INCDEC',
|
|
'value ::= HEX',
|
|
'value ::= INTEGER',
|
|
'value ::= INTEGER DOT INTEGER',
|
|
'value ::= INTEGER DOT',
|
|
'value ::= DOT INTEGER',
|
|
'value ::= ID',
|
|
'value ::= function',
|
|
'value ::= OPENP expr CLOSEP',
|
|
'value ::= variable INSTANCEOF ns1',
|
|
'value ::= variable INSTANCEOF variable',
|
|
'value ::= SINGLEQUOTESTRING',
|
|
'value ::= doublequoted_with_quotes',
|
|
'value ::= varindexed DOUBLECOLON static_class_access',
|
|
'value ::= smartytag',
|
|
'value ::= value modifierlist',
|
|
'value ::= NAMESPACE',
|
|
'value ::= arraydef',
|
|
'value ::= ns1 DOUBLECOLON static_class_access',
|
|
'ns1 ::= ID',
|
|
'ns1 ::= NAMESPACE',
|
|
'variable ::= DOLLARID',
|
|
'variable ::= varindexed',
|
|
'variable ::= varvar AT ID',
|
|
'variable ::= object',
|
|
'variable ::= HATCH ID HATCH',
|
|
'variable ::= HATCH ID HATCH arrayindex',
|
|
'variable ::= HATCH variable HATCH',
|
|
'variable ::= HATCH variable HATCH arrayindex',
|
|
'varindexed ::= DOLLARID arrayindex',
|
|
'varindexed ::= varvar arrayindex',
|
|
'arrayindex ::= arrayindex indexdef',
|
|
'arrayindex ::=',
|
|
'indexdef ::= DOT DOLLARID',
|
|
'indexdef ::= DOT varvar',
|
|
'indexdef ::= DOT varvar AT ID',
|
|
'indexdef ::= DOT ID',
|
|
'indexdef ::= DOT INTEGER',
|
|
'indexdef ::= DOT LDEL expr RDEL',
|
|
'indexdef ::= OPENB ID CLOSEB',
|
|
'indexdef ::= OPENB ID DOT ID CLOSEB',
|
|
'indexdef ::= OPENB SINGLEQUOTESTRING CLOSEB',
|
|
'indexdef ::= OPENB INTEGER CLOSEB',
|
|
'indexdef ::= OPENB DOLLARID CLOSEB',
|
|
'indexdef ::= OPENB variable CLOSEB',
|
|
'indexdef ::= OPENB value CLOSEB',
|
|
'indexdef ::= OPENB expr CLOSEB',
|
|
'indexdef ::= OPENB CLOSEB',
|
|
'varvar ::= DOLLARID',
|
|
'varvar ::= DOLLAR',
|
|
'varvar ::= varvar varvarele',
|
|
'varvarele ::= ID',
|
|
'varvarele ::= SIMPELOUTPUT',
|
|
'varvarele ::= LDEL expr RDEL',
|
|
'object ::= varindexed objectchain',
|
|
'objectchain ::= objectelement',
|
|
'objectchain ::= objectchain objectelement',
|
|
'objectelement ::= PTR ID arrayindex',
|
|
'objectelement ::= PTR varvar arrayindex',
|
|
'objectelement ::= PTR LDEL expr RDEL arrayindex',
|
|
'objectelement ::= PTR ID LDEL expr RDEL arrayindex',
|
|
'objectelement ::= PTR method',
|
|
'function ::= ns1 OPENP params CLOSEP',
|
|
'method ::= ID OPENP params CLOSEP',
|
|
'method ::= DOLLARID OPENP params CLOSEP',
|
|
'params ::= params COMMA expr',
|
|
'params ::= expr',
|
|
'params ::=',
|
|
'modifierlist ::= modifierlist modifier modparameters',
|
|
'modifierlist ::= modifier modparameters',
|
|
'modifier ::= VERT AT ID',
|
|
'modifier ::= VERT ID',
|
|
'modparameters ::= modparameters modparameter',
|
|
'modparameters ::=',
|
|
'modparameter ::= COLON value',
|
|
'modparameter ::= COLON UNIMATH value',
|
|
'modparameter ::= COLON array',
|
|
'static_class_access ::= method',
|
|
'static_class_access ::= method objectchain',
|
|
'static_class_access ::= ID',
|
|
'static_class_access ::= DOLLARID arrayindex',
|
|
'static_class_access ::= DOLLARID arrayindex objectchain',
|
|
'lop ::= LOGOP',
|
|
'lop ::= SLOGOP',
|
|
'tlop ::= TLOGOP',
|
|
'scond ::= SINGLECOND',
|
|
'arraydef ::= OPENB arrayelements CLOSEB',
|
|
'arraydef ::= ARRAYOPEN arrayelements CLOSEP',
|
|
'arrayelements ::= arrayelement',
|
|
'arrayelements ::= arrayelements COMMA arrayelement',
|
|
'arrayelements ::=',
|
|
'arrayelement ::= value APTR expr',
|
|
'arrayelement ::= ID APTR expr',
|
|
'arrayelement ::= expr',
|
|
'doublequoted_with_quotes ::= QUOTE QUOTE',
|
|
'doublequoted_with_quotes ::= QUOTE doublequoted QUOTE',
|
|
'doublequoted ::= doublequoted doublequotedcontent',
|
|
'doublequoted ::= doublequotedcontent',
|
|
'doublequotedcontent ::= BACKTICK variable BACKTICK',
|
|
'doublequotedcontent ::= BACKTICK expr BACKTICK',
|
|
'doublequotedcontent ::= DOLLARID',
|
|
'doublequotedcontent ::= LDEL variable RDEL',
|
|
'doublequotedcontent ::= LDEL expr RDEL',
|
|
'doublequotedcontent ::= smartytag',
|
|
'doublequotedcontent ::= TEXT',
|
|
);
|
|
|
|
public function tokenName($tokenType)
|
|
{
|
|
if ($tokenType === 0) {
|
|
return 'End of Input';
|
|
}
|
|
if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
|
|
return $this->yyTokenName[$tokenType];
|
|
} else {
|
|
return 'Unknown';
|
|
}
|
|
}
|
|
|
|
public static function yy_destructor($yymajor, $yypminor)
|
|
{
|
|
switch ($yymajor) {
|
|
default: break; /* If no destructor action specified: do nothing */
|
|
}
|
|
}
|
|
|
|
public function yy_pop_parser_stack()
|
|
{
|
|
if (empty($this->yystack)) {
|
|
return;
|
|
}
|
|
$yytos = array_pop($this->yystack);
|
|
if ($this->yyTraceFILE && $this->yyidx >= 0) {
|
|
fwrite($this->yyTraceFILE,
|
|
$this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
|
|
"\n");
|
|
}
|
|
$yymajor = $yytos->major;
|
|
self::yy_destructor($yymajor, $yytos->minor);
|
|
$this->yyidx--;
|
|
|
|
return $yymajor;
|
|
}
|
|
|
|
public function __destruct()
|
|
{
|
|
while ($this->yystack !== Array()) {
|
|
$this->yy_pop_parser_stack();
|
|
}
|
|
if (is_resource($this->yyTraceFILE)) {
|
|
fclose($this->yyTraceFILE);
|
|
}
|
|
}
|
|
|
|
public function yy_get_expected_tokens($token)
|
|
{
|
|
static $res3 = array();
|
|
static $res4 = array();
|
|
$state = $this->yystack[$this->yyidx]->stateno;
|
|
$expected = self::$yyExpectedTokens[$state];
|
|
if (isset($res3[$state][$token])) {
|
|
if ($res3[$state][$token]) {
|
|
return $expected;
|
|
}
|
|
} else {
|
|
if ($res3[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) {
|
|
return $expected;
|
|
}
|
|
}
|
|
$stack = $this->yystack;
|
|
$yyidx = $this->yyidx;
|
|
do {
|
|
$yyact = $this->yy_find_shift_action($token);
|
|
if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
|
|
// reduce action
|
|
$done = 0;
|
|
do {
|
|
if ($done++ === 100) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
// too much recursion prevents proper detection
|
|
// so give up
|
|
return array_unique($expected);
|
|
}
|
|
$yyruleno = $yyact - self::YYNSTATE;
|
|
$this->yyidx -= self::$yyRuleInfo[$yyruleno][1];
|
|
$nextstate = $this->yy_find_reduce_action(
|
|
$this->yystack[$this->yyidx]->stateno,
|
|
self::$yyRuleInfo[$yyruleno][0]);
|
|
if (isset(self::$yyExpectedTokens[$nextstate])) {
|
|
$expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
|
|
if (isset($res4[$nextstate][$token])) {
|
|
if ($res4[$nextstate][$token]) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
return array_unique($expected);
|
|
}
|
|
} else {
|
|
if ($res4[$nextstate][$token] = in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
return array_unique($expected);
|
|
}
|
|
}
|
|
}
|
|
if ($nextstate < self::YYNSTATE) {
|
|
// we need to shift a non-terminal
|
|
$this->yyidx++;
|
|
$x = new TP_yyStackEntry;
|
|
$x->stateno = $nextstate;
|
|
$x->major = self::$yyRuleInfo[$yyruleno][0];
|
|
$this->yystack[$this->yyidx] = $x;
|
|
continue 2;
|
|
} elseif ($nextstate === self::YYNSTATE + self::YYNRULE + 1) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
// the last token was just ignored, we can't accept
|
|
// by ignoring input, this is in essence ignoring a
|
|
// syntax error!
|
|
return array_unique($expected);
|
|
} elseif ($nextstate === self::YY_NO_ACTION) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
// input accepted, but not shifted (I guess)
|
|
return $expected;
|
|
} else {
|
|
$yyact = $nextstate;
|
|
}
|
|
} while (true);
|
|
}
|
|
break;
|
|
} while (true);
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
|
|
return array_unique($expected);
|
|
}
|
|
|
|
public function yy_is_expected_token($token)
|
|
{
|
|
static $res = array();
|
|
static $res2 = array();
|
|
if ($token === 0) {
|
|
return true; // 0 is not part of this
|
|
}
|
|
$state = $this->yystack[$this->yyidx]->stateno;
|
|
if (isset($res[$state][$token])) {
|
|
if ($res[$state][$token]) {
|
|
return true;
|
|
}
|
|
} else {
|
|
if ($res[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) {
|
|
return true;
|
|
}
|
|
}
|
|
$stack = $this->yystack;
|
|
$yyidx = $this->yyidx;
|
|
do {
|
|
$yyact = $this->yy_find_shift_action($token);
|
|
if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
|
|
// reduce action
|
|
$done = 0;
|
|
do {
|
|
if ($done++ === 100) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
// too much recursion prevents proper detection
|
|
// so give up
|
|
return true;
|
|
}
|
|
$yyruleno = $yyact - self::YYNSTATE;
|
|
$this->yyidx -= self::$yyRuleInfo[$yyruleno][1];
|
|
$nextstate = $this->yy_find_reduce_action(
|
|
$this->yystack[$this->yyidx]->stateno,
|
|
self::$yyRuleInfo[$yyruleno][0]);
|
|
if (isset($res2[$nextstate][$token])) {
|
|
if ($res2[$nextstate][$token]) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
return true;
|
|
}
|
|
} else {
|
|
if ($res2[$nextstate][$token] = (isset(self::$yyExpectedTokens[$nextstate]) && in_array($token, self::$yyExpectedTokens[$nextstate], true))) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
return true;
|
|
}
|
|
}
|
|
if ($nextstate < self::YYNSTATE) {
|
|
// we need to shift a non-terminal
|
|
$this->yyidx++;
|
|
$x = new TP_yyStackEntry;
|
|
$x->stateno = $nextstate;
|
|
$x->major = self::$yyRuleInfo[$yyruleno][0];
|
|
$this->yystack[$this->yyidx] = $x;
|
|
continue 2;
|
|
} elseif ($nextstate === self::YYNSTATE + self::YYNRULE + 1) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
if (!$token) {
|
|
// end of input: this is valid
|
|
return true;
|
|
}
|
|
// the last token was just ignored, we can't accept
|
|
// by ignoring input, this is in essence ignoring a
|
|
// syntax error!
|
|
return false;
|
|
} elseif ($nextstate === self::YY_NO_ACTION) {
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
// input accepted, but not shifted (I guess)
|
|
return true;
|
|
} else {
|
|
$yyact = $nextstate;
|
|
}
|
|
} while (true);
|
|
}
|
|
break;
|
|
} while (true);
|
|
$this->yyidx = $yyidx;
|
|
$this->yystack = $stack;
|
|
|
|
return true;
|
|
}
|
|
|
|
public function yy_find_shift_action($iLookAhead)
|
|
{
|
|
$stateno = $this->yystack[$this->yyidx]->stateno;
|
|
|
|
/* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
|
|
if (!isset(self::$yy_shift_ofst[$stateno])) {
|
|
// no shift actions
|
|
return self::$yy_default[$stateno];
|
|
}
|
|
$i = self::$yy_shift_ofst[$stateno];
|
|
if ($i === self::YY_SHIFT_USE_DFLT) {
|
|
return self::$yy_default[$stateno];
|
|
}
|
|
if ($iLookAhead === self::YYNOCODE) {
|
|
return self::YY_NO_ACTION;
|
|
}
|
|
$i += $iLookAhead;
|
|
if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
|
|
self::$yy_lookahead[$i] != $iLookAhead) {
|
|
if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
|
|
&& ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
|
|
if ($this->yyTraceFILE) {
|
|
fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'FALLBACK ' .
|
|
$this->yyTokenName[$iLookAhead] . ' => ' .
|
|
$this->yyTokenName[$iFallback] . "\n");
|
|
}
|
|
|
|
return $this->yy_find_shift_action($iFallback);
|
|
}
|
|
|
|
return self::$yy_default[$stateno];
|
|
} else {
|
|
return self::$yy_action[$i];
|
|
}
|
|
}
|
|
|
|
public function yy_find_reduce_action($stateno, $iLookAhead)
|
|
{
|
|
/* $stateno = $this->yystack[$this->yyidx]->stateno; */
|
|
|
|
if (!isset(self::$yy_reduce_ofst[$stateno])) {
|
|
return self::$yy_default[$stateno];
|
|
}
|
|
$i = self::$yy_reduce_ofst[$stateno];
|
|
if ($i === self::YY_REDUCE_USE_DFLT) {
|
|
return self::$yy_default[$stateno];
|
|
}
|
|
if ($iLookAhead === self::YYNOCODE) {
|
|
return self::YY_NO_ACTION;
|
|
}
|
|
$i += $iLookAhead;
|
|
if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
|
|
self::$yy_lookahead[$i] != $iLookAhead) {
|
|
return self::$yy_default[$stateno];
|
|
} else {
|
|
return self::$yy_action[$i];
|
|
}
|
|
}
|
|
|
|
public function yy_shift($yyNewState, $yyMajor, $yypMinor)
|
|
{
|
|
$this->yyidx++;
|
|
if ($this->yyidx >= self::YYSTACKDEPTH) {
|
|
$this->yyidx--;
|
|
if ($this->yyTraceFILE) {
|
|
fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
|
|
}
|
|
while ($this->yyidx >= 0) {
|
|
$this->yy_pop_parser_stack();
|
|
}
|
|
// line 220 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
|
|
$this->internalError = true;
|
|
$this->compiler->trigger_template_error('Stack overflow in template parser');
|
|
|
|
return;
|
|
}
|
|
$yytos = new TP_yyStackEntry;
|
|
$yytos->stateno = $yyNewState;
|
|
$yytos->major = $yyMajor;
|
|
$yytos->minor = $yypMinor;
|
|
$this->yystack[] = $yytos;
|
|
if ($this->yyTraceFILE && $this->yyidx > 0) {
|
|
fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt,
|
|
$yyNewState);
|
|
fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
|
|
for ($i = 1; $i <= $this->yyidx; $i++) {
|
|
fprintf($this->yyTraceFILE, " %s",
|
|
$this->yyTokenName[$this->yystack[$i]->major]);
|
|
}
|
|
fwrite($this->yyTraceFILE,"\n");
|
|
}
|
|
}
|
|
|
|
public static $yyRuleInfo = array(
|
|
array( 0 => 62, 1 => 1 ),
|
|
array( 0 => 63, 1 => 2 ),
|
|
array( 0 => 63, 1 => 2 ),
|
|
array( 0 => 63, 1 => 2 ),
|
|
array( 0 => 63, 1 => 4 ),
|
|
array( 0 => 64, 1 => 4 ),
|
|
array( 0 => 64, 1 => 1 ),
|
|
array( 0 => 65, 1 => 2 ),
|
|
array( 0 => 65, 1 => 0 ),
|
|
array( 0 => 63, 1 => 2 ),
|
|
array( 0 => 63, 1 => 0 ),
|
|
array( 0 => 66, 1 => 1 ),
|
|
array( 0 => 66, 1 => 1 ),
|
|
array( 0 => 66, 1 => 1 ),
|
|
array( 0 => 66, 1 => 3 ),
|
|
array( 0 => 66, 1 => 2 ),
|
|
array( 0 => 67, 1 => 1 ),
|
|
array( 0 => 67, 1 => 2 ),
|
|
array( 0 => 67, 1 => 2 ),
|
|
array( 0 => 70, 1 => 2 ),
|
|
array( 0 => 69, 1 => 2 ),
|
|
array( 0 => 72, 1 => 1 ),
|
|
array( 0 => 72, 1 => 1 ),
|
|
array( 0 => 72, 1 => 1 ),
|
|
array( 0 => 68, 1 => 3 ),
|
|
array( 0 => 68, 1 => 2 ),
|
|
array( 0 => 68, 1 => 4 ),
|
|
array( 0 => 68, 1 => 5 ),
|
|
array( 0 => 68, 1 => 6 ),
|
|
array( 0 => 68, 1 => 2 ),
|
|
array( 0 => 68, 1 => 2 ),
|
|
array( 0 => 68, 1 => 3 ),
|
|
array( 0 => 68, 1 => 2 ),
|
|
array( 0 => 68, 1 => 3 ),
|
|
array( 0 => 68, 1 => 8 ),
|
|
array( 0 => 80, 1 => 2 ),
|
|
array( 0 => 80, 1 => 1 ),
|
|
array( 0 => 68, 1 => 5 ),
|
|
array( 0 => 68, 1 => 7 ),
|
|
array( 0 => 68, 1 => 6 ),
|
|
array( 0 => 68, 1 => 8 ),
|
|
array( 0 => 68, 1 => 2 ),
|
|
array( 0 => 68, 1 => 3 ),
|
|
array( 0 => 68, 1 => 4 ),
|
|
array( 0 => 66, 1 => 1 ),
|
|
array( 0 => 68, 1 => 2 ),
|
|
array( 0 => 68, 1 => 3 ),
|
|
array( 0 => 68, 1 => 4 ),
|
|
array( 0 => 68, 1 => 5 ),
|
|
array( 0 => 73, 1 => 2 ),
|
|
array( 0 => 73, 1 => 1 ),
|
|
array( 0 => 73, 1 => 0 ),
|
|
array( 0 => 83, 1 => 4 ),
|
|
array( 0 => 83, 1 => 2 ),
|
|
array( 0 => 83, 1 => 2 ),
|
|
array( 0 => 83, 1 => 2 ),
|
|
array( 0 => 83, 1 => 2 ),
|
|
array( 0 => 83, 1 => 2 ),
|
|
array( 0 => 83, 1 => 4 ),
|
|
array( 0 => 79, 1 => 1 ),
|
|
array( 0 => 79, 1 => 3 ),
|
|
array( 0 => 78, 1 => 3 ),
|
|
array( 0 => 78, 1 => 3 ),
|
|
array( 0 => 78, 1 => 3 ),
|
|
array( 0 => 78, 1 => 3 ),
|
|
array( 0 => 76, 1 => 1 ),
|
|
array( 0 => 76, 1 => 1 ),
|
|
array( 0 => 76, 1 => 3 ),
|
|
array( 0 => 76, 1 => 3 ),
|
|
array( 0 => 76, 1 => 3 ),
|
|
array( 0 => 76, 1 => 3 ),
|
|
array( 0 => 76, 1 => 3 ),
|
|
array( 0 => 76, 1 => 2 ),
|
|
array( 0 => 76, 1 => 3 ),
|
|
array( 0 => 76, 1 => 3 ),
|
|
array( 0 => 84, 1 => 7 ),
|
|
array( 0 => 84, 1 => 7 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 2 ),
|
|
array( 0 => 75, 1 => 2 ),
|
|
array( 0 => 75, 1 => 2 ),
|
|
array( 0 => 75, 1 => 2 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 3 ),
|
|
array( 0 => 75, 1 => 2 ),
|
|
array( 0 => 75, 1 => 2 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 3 ),
|
|
array( 0 => 75, 1 => 3 ),
|
|
array( 0 => 75, 1 => 3 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 3 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 2 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 1 ),
|
|
array( 0 => 75, 1 => 3 ),
|
|
array( 0 => 90, 1 => 1 ),
|
|
array( 0 => 90, 1 => 1 ),
|
|
array( 0 => 74, 1 => 1 ),
|
|
array( 0 => 74, 1 => 1 ),
|
|
array( 0 => 74, 1 => 3 ),
|
|
array( 0 => 74, 1 => 1 ),
|
|
array( 0 => 74, 1 => 3 ),
|
|
array( 0 => 74, 1 => 4 ),
|
|
array( 0 => 74, 1 => 3 ),
|
|
array( 0 => 74, 1 => 4 ),
|
|
array( 0 => 71, 1 => 2 ),
|
|
array( 0 => 71, 1 => 2 ),
|
|
array( 0 => 95, 1 => 2 ),
|
|
array( 0 => 95, 1 => 0 ),
|
|
array( 0 => 96, 1 => 2 ),
|
|
array( 0 => 96, 1 => 2 ),
|
|
array( 0 => 96, 1 => 4 ),
|
|
array( 0 => 96, 1 => 2 ),
|
|
array( 0 => 96, 1 => 2 ),
|
|
array( 0 => 96, 1 => 4 ),
|
|
array( 0 => 96, 1 => 3 ),
|
|
array( 0 => 96, 1 => 5 ),
|
|
array( 0 => 96, 1 => 3 ),
|
|
array( 0 => 96, 1 => 3 ),
|
|
array( 0 => 96, 1 => 3 ),
|
|
array( 0 => 96, 1 => 3 ),
|
|
array( 0 => 96, 1 => 3 ),
|
|
array( 0 => 96, 1 => 3 ),
|
|
array( 0 => 96, 1 => 2 ),
|
|
array( 0 => 81, 1 => 1 ),
|
|
array( 0 => 81, 1 => 1 ),
|
|
array( 0 => 81, 1 => 2 ),
|
|
array( 0 => 97, 1 => 1 ),
|
|
array( 0 => 97, 1 => 1 ),
|
|
array( 0 => 97, 1 => 3 ),
|
|
array( 0 => 94, 1 => 2 ),
|
|
array( 0 => 98, 1 => 1 ),
|
|
array( 0 => 98, 1 => 2 ),
|
|
array( 0 => 99, 1 => 3 ),
|
|
array( 0 => 99, 1 => 3 ),
|
|
array( 0 => 99, 1 => 5 ),
|
|
array( 0 => 99, 1 => 6 ),
|
|
array( 0 => 99, 1 => 2 ),
|
|
array( 0 => 89, 1 => 4 ),
|
|
array( 0 => 100, 1 => 4 ),
|
|
array( 0 => 100, 1 => 4 ),
|
|
array( 0 => 101, 1 => 3 ),
|
|
array( 0 => 101, 1 => 1 ),
|
|
array( 0 => 101, 1 => 0 ),
|
|
array( 0 => 77, 1 => 3 ),
|
|
array( 0 => 77, 1 => 2 ),
|
|
array( 0 => 102, 1 => 3 ),
|
|
array( 0 => 102, 1 => 2 ),
|
|
array( 0 => 82, 1 => 2 ),
|
|
array( 0 => 82, 1 => 0 ),
|
|
array( 0 => 103, 1 => 2 ),
|
|
array( 0 => 103, 1 => 3 ),
|
|
array( 0 => 103, 1 => 2 ),
|
|
array( 0 => 92, 1 => 1 ),
|
|
array( 0 => 92, 1 => 2 ),
|
|
array( 0 => 92, 1 => 1 ),
|
|
array( 0 => 92, 1 => 2 ),
|
|
array( 0 => 92, 1 => 3 ),
|
|
array( 0 => 86, 1 => 1 ),
|
|
array( 0 => 86, 1 => 1 ),
|
|
array( 0 => 85, 1 => 1 ),
|
|
array( 0 => 87, 1 => 1 ),
|
|
array( 0 => 93, 1 => 3 ),
|
|
array( 0 => 93, 1 => 3 ),
|
|
array( 0 => 104, 1 => 1 ),
|
|
array( 0 => 104, 1 => 3 ),
|
|
array( 0 => 104, 1 => 0 ),
|
|
array( 0 => 105, 1 => 3 ),
|
|
array( 0 => 105, 1 => 3 ),
|
|
array( 0 => 105, 1 => 1 ),
|
|
array( 0 => 91, 1 => 2 ),
|
|
array( 0 => 91, 1 => 3 ),
|
|
array( 0 => 106, 1 => 2 ),
|
|
array( 0 => 106, 1 => 1 ),
|
|
array( 0 => 107, 1 => 3 ),
|
|
array( 0 => 107, 1 => 3 ),
|
|
array( 0 => 107, 1 => 1 ),
|
|
array( 0 => 107, 1 => 3 ),
|
|
array( 0 => 107, 1 => 3 ),
|
|
array( 0 => 107, 1 => 1 ),
|
|
array( 0 => 107, 1 => 1 ),
|
|
);
|
|
|
|
public static $yyReduceMap = array(
|
|
0 => 0,
|
|
1 => 1,
|
|
2 => 2,
|
|
3 => 3,
|
|
4 => 4,
|
|
5 => 5,
|
|
6 => 6,
|
|
21 => 6,
|
|
22 => 6,
|
|
23 => 6,
|
|
36 => 6,
|
|
56 => 6,
|
|
57 => 6,
|
|
65 => 6,
|
|
66 => 6,
|
|
77 => 6,
|
|
82 => 6,
|
|
83 => 6,
|
|
88 => 6,
|
|
92 => 6,
|
|
93 => 6,
|
|
97 => 6,
|
|
98 => 6,
|
|
100 => 6,
|
|
105 => 6,
|
|
169 => 6,
|
|
174 => 6,
|
|
7 => 7,
|
|
8 => 8,
|
|
9 => 9,
|
|
11 => 11,
|
|
12 => 12,
|
|
13 => 13,
|
|
14 => 14,
|
|
15 => 15,
|
|
16 => 16,
|
|
17 => 17,
|
|
18 => 18,
|
|
19 => 19,
|
|
20 => 20,
|
|
24 => 24,
|
|
25 => 25,
|
|
26 => 26,
|
|
27 => 27,
|
|
28 => 28,
|
|
29 => 29,
|
|
30 => 30,
|
|
31 => 31,
|
|
33 => 31,
|
|
32 => 32,
|
|
34 => 34,
|
|
35 => 35,
|
|
37 => 37,
|
|
38 => 38,
|
|
39 => 39,
|
|
40 => 40,
|
|
41 => 41,
|
|
42 => 42,
|
|
43 => 43,
|
|
44 => 44,
|
|
45 => 45,
|
|
46 => 46,
|
|
47 => 47,
|
|
48 => 48,
|
|
49 => 49,
|
|
50 => 50,
|
|
59 => 50,
|
|
147 => 50,
|
|
151 => 50,
|
|
155 => 50,
|
|
157 => 50,
|
|
51 => 51,
|
|
148 => 51,
|
|
154 => 51,
|
|
52 => 52,
|
|
53 => 53,
|
|
54 => 53,
|
|
55 => 55,
|
|
132 => 55,
|
|
58 => 58,
|
|
60 => 60,
|
|
61 => 61,
|
|
62 => 61,
|
|
63 => 63,
|
|
64 => 64,
|
|
67 => 67,
|
|
68 => 68,
|
|
69 => 68,
|
|
70 => 70,
|
|
71 => 71,
|
|
72 => 72,
|
|
73 => 73,
|
|
74 => 74,
|
|
75 => 75,
|
|
76 => 76,
|
|
78 => 78,
|
|
80 => 78,
|
|
81 => 78,
|
|
112 => 78,
|
|
79 => 79,
|
|
84 => 84,
|
|
85 => 85,
|
|
86 => 86,
|
|
87 => 87,
|
|
89 => 89,
|
|
90 => 90,
|
|
91 => 90,
|
|
94 => 94,
|
|
95 => 95,
|
|
96 => 96,
|
|
99 => 99,
|
|
101 => 101,
|
|
102 => 102,
|
|
103 => 103,
|
|
104 => 104,
|
|
106 => 106,
|
|
107 => 107,
|
|
108 => 108,
|
|
109 => 109,
|
|
110 => 110,
|
|
111 => 111,
|
|
113 => 113,
|
|
171 => 113,
|
|
114 => 114,
|
|
115 => 115,
|
|
116 => 116,
|
|
117 => 117,
|
|
118 => 118,
|
|
119 => 119,
|
|
127 => 119,
|
|
120 => 120,
|
|
121 => 121,
|
|
122 => 122,
|
|
123 => 122,
|
|
125 => 122,
|
|
126 => 122,
|
|
124 => 124,
|
|
128 => 128,
|
|
129 => 129,
|
|
130 => 130,
|
|
175 => 130,
|
|
131 => 131,
|
|
133 => 133,
|
|
134 => 134,
|
|
135 => 135,
|
|
136 => 136,
|
|
137 => 137,
|
|
138 => 138,
|
|
139 => 139,
|
|
140 => 140,
|
|
141 => 141,
|
|
142 => 142,
|
|
143 => 143,
|
|
144 => 144,
|
|
145 => 145,
|
|
146 => 146,
|
|
149 => 149,
|
|
150 => 150,
|
|
152 => 152,
|
|
153 => 153,
|
|
156 => 156,
|
|
158 => 158,
|
|
159 => 159,
|
|
160 => 160,
|
|
161 => 161,
|
|
162 => 162,
|
|
163 => 163,
|
|
164 => 164,
|
|
165 => 165,
|
|
166 => 166,
|
|
167 => 167,
|
|
168 => 167,
|
|
170 => 170,
|
|
172 => 172,
|
|
173 => 173,
|
|
176 => 176,
|
|
177 => 177,
|
|
178 => 178,
|
|
179 => 179,
|
|
182 => 179,
|
|
180 => 180,
|
|
183 => 180,
|
|
181 => 181,
|
|
184 => 184,
|
|
185 => 185,
|
|
);
|
|
// line 233 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r0(){
|
|
$this->root_buffer->prepend_array($this, $this->template_prefix);
|
|
$this->root_buffer->append_array($this, $this->template_postfix);
|
|
$this->_retvalue = $this->root_buffer->to_smarty_php($this);
|
|
}
|
|
// line 240 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r1(){
|
|
$text = $this->yystack[ $this->yyidx + 0 ]->minor;
|
|
|
|
if ((string)$text == '') {
|
|
$this->current_buffer->append_subtree($this, null);
|
|
}
|
|
|
|
$this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Text($text, $this->strip));
|
|
}
|
|
// line 250 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r2(){
|
|
$this->strip = true;
|
|
}
|
|
// line 254 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r3(){
|
|
$this->strip = false;
|
|
}
|
|
// line 259 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r4(){
|
|
$this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Text($this->yystack[$this->yyidx + -1]->minor));
|
|
}
|
|
// line 264 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r5(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.$this->yystack[$this->yyidx + -1]->minor;
|
|
}
|
|
// line 267 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r6(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 271 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r7(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
|
|
|
|
}
|
|
// line 276 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r8(){
|
|
$this->_retvalue = '';
|
|
}
|
|
// line 280 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r9(){
|
|
if ($this->compiler->has_code) {
|
|
$this->current_buffer->append_subtree($this, $this->mergePrefixCode($this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
$this->compiler->has_variable_string = false;
|
|
$this->block_nesting_level = count($this->compiler->_tag_stack);
|
|
}
|
|
// line 292 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r11(){
|
|
$var = trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()), ' $');
|
|
if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) {
|
|
$this->_retvalue = $this->compiler->compileTag('private_print_expression',array('nocache'),array('value'=>$this->compiler->compileVariable('\''.$match[1].'\'')));
|
|
} else {
|
|
$this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->compiler->compileVariable('\''.$var.'\'')));
|
|
}
|
|
}
|
|
// line 302 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r12(){
|
|
$tag = trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()));
|
|
if ($tag == 'strip') {
|
|
$this->strip = true;
|
|
$this->_retvalue = null;
|
|
} else {
|
|
if (defined($tag)) {
|
|
if ($this->security) {
|
|
$this->security->isTrustedConstant($tag, $this->compiler);
|
|
}
|
|
$this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$tag));
|
|
} else {
|
|
if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) {
|
|
$this->_retvalue = $this->compiler->compileTag($match[1],array('\'nocache\''));
|
|
} else {
|
|
$this->_retvalue = $this->compiler->compileTag($tag,array());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// line 323 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r13(){
|
|
$j = strrpos($this->yystack[$this->yyidx + 0]->minor,'.');
|
|
if ($this->yystack[$this->yyidx + 0]->minor[$j+1] == 'c') {
|
|
// {$smarty.block.child}
|
|
$this->_retvalue = $this->compiler->compileTag('child',array(),array($this->yystack[$this->yyidx + 0]->minor));
|
|
} else {
|
|
// {$smarty.block.parent}
|
|
$this->_retvalue = $this->compiler->compileTag('parent',array(),array($this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
}
|
|
// line 334 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r14(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
|
|
}
|
|
// line 338 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r15(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
|
|
}
|
|
// line 342 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r16(){
|
|
$this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + 0]->minor[1],array('value'=>$this->yystack[$this->yyidx + 0]->minor[0]));
|
|
}
|
|
// line 351 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r17(){
|
|
$this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + 0]->minor[0]),array('var'=>'\''.substr($this->yystack[$this->yyidx + -1]->minor,1).'\'')),$this->yystack[$this->yyidx + 0]->minor[1]));
|
|
}
|
|
// line 355 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r18(){
|
|
$this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + 0]->minor[0]),array('var'=>$this->yystack[$this->yyidx + -1]->minor['var'])),$this->yystack[$this->yyidx + 0]->minor[1]),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']));
|
|
}
|
|
// line 359 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r19(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 363 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r20(){
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 378 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r24(){
|
|
if (defined($this->yystack[$this->yyidx + -1]->minor)) {
|
|
if ($this->security) {
|
|
$this->security->isTrustedConstant($this->yystack[$this->yyidx + -1]->minor, $this->compiler);
|
|
}
|
|
$this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + 0]->minor,array('value'=>$this->yystack[$this->yyidx + -1]->minor));
|
|
} else {
|
|
$this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
}
|
|
// line 388 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r25(){
|
|
if (defined($this->yystack[$this->yyidx + 0]->minor)) {
|
|
if ($this->security) {
|
|
$this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler);
|
|
}
|
|
$this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + 0]->minor));
|
|
} else {
|
|
$this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor,array());
|
|
}
|
|
}
|
|
// line 401 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r26(){
|
|
if (defined($this->yystack[$this->yyidx + -2]->minor)) {
|
|
if ($this->security) {
|
|
$this->security->isTrustedConstant($this->yystack[$this->yyidx + -2]->minor, $this->compiler);
|
|
}
|
|
$this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + 0]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor, 'modifierlist'=>$this->yystack[$this->yyidx + -1]->minor));
|
|
} else {
|
|
$this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + 0]->minor, array('modifierlist'=>$this->yystack[$this->yyidx + -1]->minor));
|
|
}
|
|
}
|
|
// line 413 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r27(){
|
|
$this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + 0]->minor,array('object_method'=>$this->yystack[$this->yyidx + -1]->minor));
|
|
}
|
|
// line 418 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r28(){
|
|
$this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + 0]->minor,array('modifierlist'=>$this->yystack[$this->yyidx + -1]->minor, 'object_method'=>$this->yystack[$this->yyidx + -2]->minor));
|
|
}
|
|
// line 423 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r29(){
|
|
$this->_retvalue = $this->compiler->compileTag('make_nocache',array(array('var'=>'\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\'')));
|
|
}
|
|
// line 428 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r30(){
|
|
$tag = trim(substr($this->yystack[$this->yyidx + -1]->minor,$this->compiler->getLdelLength()));
|
|
$this->_retvalue = $this->compiler->compileTag(($tag === 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
// line 433 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r31(){
|
|
$tag = trim(substr($this->yystack[$this->yyidx + -2]->minor,$this->compiler->getLdelLength()));
|
|
$this->_retvalue = $this->compiler->compileTag(($tag === 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + 0]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor));
|
|
}
|
|
// line 438 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r32(){
|
|
$tag = trim(substr($this->yystack[$this->yyidx + -1]->minor,$this->compiler->getLdelLength()));
|
|
$this->_retvalue = $this->compiler->compileTag(($tag === 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
// line 449 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r34(){
|
|
$this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + 0]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('ifexp'=>$this->yystack[$this->yyidx + -4]->minor),array('var'=>$this->yystack[$this->yyidx + -2]->minor),array('step'=>$this->yystack[$this->yyidx + -1]->minor))),1);
|
|
}
|
|
// line 453 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r35(){
|
|
$this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 461 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r37(){
|
|
$this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + 0]->minor,array(array('start'=>$this->yystack[$this->yyidx + -3]->minor),array('to'=>$this->yystack[$this->yyidx + -1]->minor))),0);
|
|
}
|
|
// line 465 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r38(){
|
|
$this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + 0]->minor,array(array('start'=>$this->yystack[$this->yyidx + -5]->minor),array('to'=>$this->yystack[$this->yyidx + -3]->minor),array('step'=>$this->yystack[$this->yyidx + -1]->minor))),0);
|
|
}
|
|
// line 470 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r39(){
|
|
$this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + 0]->minor,array(array('from'=>$this->yystack[$this->yyidx + -3]->minor),array('item'=>$this->yystack[$this->yyidx + -1]->minor))));
|
|
}
|
|
// line 474 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r40(){
|
|
$this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + 0]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -1]->minor),array('key'=>$this->yystack[$this->yyidx + -3]->minor))));
|
|
}
|
|
// line 477 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r41(){
|
|
$this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 482 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r42(){
|
|
$this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array(array_merge(array($this->yystack[$this->yyidx + -1]->minor),$this->yystack[$this->yyidx + 0]->minor))));
|
|
}
|
|
// line 486 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r43(){
|
|
$this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array_merge(array(array_merge(array($this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)),$this->yystack[$this->yyidx + 0]->minor)));
|
|
}
|
|
// line 492 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r44(){
|
|
$tag = trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()), ' /');
|
|
if ($tag === 'strip') {
|
|
$this->strip = false;
|
|
$this->_retvalue = null;
|
|
} else {
|
|
$this->_retvalue = $this->compiler->compileTag($tag.'close',array());
|
|
}
|
|
}
|
|
// line 501 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r45(){
|
|
$this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor.'close',array());
|
|
}
|
|
// line 505 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r46(){
|
|
$this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
// line 510 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r47(){
|
|
$this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('object_method'=>$this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
// line 514 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r48(){
|
|
$this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_method'=>$this->yystack[$this->yyidx + -1]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
// line 522 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r49(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
|
|
$this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 528 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r50(){
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 533 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r51(){
|
|
$this->_retvalue = array();
|
|
}
|
|
// line 538 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r52(){
|
|
if (defined($this->yystack[$this->yyidx + 0]->minor)) {
|
|
if ($this->security) {
|
|
$this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler);
|
|
}
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor);
|
|
} else {
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'\''.$this->yystack[$this->yyidx + 0]->minor.'\'');
|
|
}
|
|
}
|
|
// line 549 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r53(){
|
|
$this->_retvalue = array(trim($this->yystack[$this->yyidx + -1]->minor," =\n\r\t")=>$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 557 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r55(){
|
|
$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\'';
|
|
}
|
|
// line 569 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r58(){
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 582 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r60(){
|
|
$this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor;
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor;
|
|
}
|
|
// line 587 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r61(){
|
|
$this->_retvalue = array('var' => '\''.substr($this->yystack[$this->yyidx + -2]->minor,1).'\'', 'value'=>$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 594 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r63(){
|
|
$this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 598 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r64(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
|
|
}
|
|
// line 618 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r67(){
|
|
$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''.substr($this->yystack[$this->yyidx + -2]->minor,1).'://' . $this->yystack[$this->yyidx + 0]->minor . '\')';
|
|
}
|
|
// line 623 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r68(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 633 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r70(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor['pre']. $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor['op'].$this->yystack[$this->yyidx + 0]->minor .')';
|
|
}
|
|
// line 637 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r71(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 641 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r72(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor . $this->yystack[$this->yyidx + -1]->minor . ')';
|
|
}
|
|
// line 645 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r73(){
|
|
$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')';
|
|
}
|
|
// line 649 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r74(){
|
|
$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')';
|
|
}
|
|
// line 657 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r75(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '. $this->compiler->compileVariable('\''.substr($this->yystack[$this->yyidx + -2]->minor,1).'\'') . ' : '.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 661 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r76(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 671 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r78(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 676 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r79(){
|
|
$this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 697 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r84(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 701 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r85(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.';
|
|
}
|
|
// line 705 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r86(){
|
|
$this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 710 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r87(){
|
|
if (defined($this->yystack[$this->yyidx + 0]->minor)) {
|
|
if ($this->security) {
|
|
$this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler);
|
|
}
|
|
$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
|
|
} else {
|
|
$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\'';
|
|
}
|
|
}
|
|
// line 727 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r89(){
|
|
$this->_retvalue = '('. $this->yystack[$this->yyidx + -1]->minor .')';
|
|
}
|
|
// line 731 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r90(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 749 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r94(){
|
|
if ($this->security && $this->security->static_classes !== array()) {
|
|
$this->compiler->trigger_template_error('dynamic static class not allowed by security setting');
|
|
}
|
|
$prefixVar = $this->compiler->getNewPrefixVariable();
|
|
if ($this->yystack[$this->yyidx + -2]->minor['var'] === '\'smarty\'') {
|
|
$this->compiler->appendPrefixCode("<?php {$prefixVar} = ". $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).';?>');
|
|
} else {
|
|
$this->compiler->appendPrefixCode("<?php {$prefixVar} = ". $this->compiler->compileVariable($this->yystack[$this->yyidx + -2]->minor['var']).$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].';?>');
|
|
}
|
|
$this->_retvalue = $prefixVar .'::'.$this->yystack[$this->yyidx + 0]->minor[0].$this->yystack[$this->yyidx + 0]->minor[1];
|
|
}
|
|
// line 760 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r95(){
|
|
$prefixVar = $this->compiler->getNewPrefixVariable();
|
|
$tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[$this->yyidx + 0]->minor);
|
|
$this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php {$prefixVar} = ob_get_clean();?>"));
|
|
$this->_retvalue = $prefixVar;
|
|
}
|
|
// line 767 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r96(){
|
|
$this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
// line 780 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r99(){
|
|
if (!in_array(strtolower($this->yystack[$this->yyidx + -2]->minor), array('self', 'parent')) && (!$this->security || $this->security->isTrustedStaticClassAccess($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor, $this->compiler))) {
|
|
if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) {
|
|
$this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor[0].$this->yystack[$this->yyidx + 0]->minor[1];
|
|
} else {
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor[0].$this->yystack[$this->yyidx + 0]->minor[1];
|
|
}
|
|
} else {
|
|
$this->compiler->trigger_template_error ('static class \''.$this->yystack[$this->yyidx + -2]->minor.'\' is undefined or not allowed by security setting');
|
|
}
|
|
}
|
|
// line 799 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r101(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 810 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r102(){
|
|
$this->_retvalue = $this->compiler->compileVariable('\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\'');
|
|
}
|
|
// line 813 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r103(){
|
|
if ($this->yystack[$this->yyidx + 0]->minor['var'] === '\'smarty\'') {
|
|
$smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
|
|
$this->_retvalue = $smarty_var;
|
|
} else {
|
|
// used for array reset,next,prev,end,current
|
|
$this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
|
|
$this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
|
|
$this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']).$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
|
|
}
|
|
}
|
|
// line 826 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r104(){
|
|
$this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 836 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r106(){
|
|
$this->_retvalue = $this->compiler->compileConfigVariable('\'' . $this->yystack[$this->yyidx + -1]->minor . '\'');
|
|
}
|
|
// line 840 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r107(){
|
|
$this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable('\'' . $this->yystack[$this->yyidx + -2]->minor . '\'') . ') ? $tmp'.$this->yystack[$this->yyidx + 0]->minor.' :null)';
|
|
}
|
|
// line 844 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r108(){
|
|
$this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + -1]->minor);
|
|
}
|
|
// line 848 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r109(){
|
|
$this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + -2]->minor) . ') ? $tmp'.$this->yystack[$this->yyidx + 0]->minor.' : null)';
|
|
}
|
|
// line 852 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r110(){
|
|
$this->_retvalue = array('var'=>'\''.substr($this->yystack[$this->yyidx + -1]->minor,1).'\'', 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 855 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r111(){
|
|
$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 868 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r113(){
|
|
return;
|
|
}
|
|
// line 874 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r114(){
|
|
$this->_retvalue = '['.$this->compiler->compileVariable('\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\'').']';
|
|
}
|
|
// line 877 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r115(){
|
|
$this->_retvalue = '['.$this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor).']';
|
|
}
|
|
// line 881 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r116(){
|
|
$this->_retvalue = '['.$this->compiler->compileVariable($this->yystack[$this->yyidx + -2]->minor).'->'.$this->yystack[$this->yyidx + 0]->minor.']';
|
|
}
|
|
// line 885 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r117(){
|
|
$this->_retvalue = '[\''. $this->yystack[$this->yyidx + 0]->minor .'\']';
|
|
}
|
|
// line 889 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r118(){
|
|
$this->_retvalue = '['. $this->yystack[$this->yyidx + 0]->minor .']';
|
|
}
|
|
// line 894 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r119(){
|
|
$this->_retvalue = '['. $this->yystack[$this->yyidx + -1]->minor .']';
|
|
}
|
|
// line 899 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r120(){
|
|
$this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']';
|
|
}
|
|
// line 903 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r121(){
|
|
$this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']';
|
|
}
|
|
// line 906 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r122(){
|
|
$this->_retvalue = '['.$this->yystack[$this->yyidx + -1]->minor.']';
|
|
}
|
|
// line 912 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r124(){
|
|
$this->_retvalue = '['.$this->compiler->compileVariable('\''.substr($this->yystack[$this->yyidx + -1]->minor,1).'\'').']';
|
|
}
|
|
// line 928 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r128(){
|
|
$this->_retvalue = '[]';
|
|
}
|
|
// line 938 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r129(){
|
|
$this->_retvalue = '\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\'';
|
|
}
|
|
// line 942 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r130(){
|
|
$this->_retvalue = '\'\'';
|
|
}
|
|
// line 947 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r131(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 955 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r133(){
|
|
$var = trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()), ' $');
|
|
$this->_retvalue = $this->compiler->compileVariable('\''.$var.'\'');
|
|
}
|
|
// line 961 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r134(){
|
|
$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')';
|
|
}
|
|
// line 968 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r135(){
|
|
if ($this->yystack[$this->yyidx + -1]->minor['var'] === '\'smarty\'') {
|
|
$this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;
|
|
} else {
|
|
$this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + -1]->minor['var']).$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
}
|
|
// line 977 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r136(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 982 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r137(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 987 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r138(){
|
|
if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) === '_') {
|
|
$this->compiler->trigger_template_error (self::ERR1);
|
|
}
|
|
$this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 994 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r139(){
|
|
if ($this->security) {
|
|
$this->compiler->trigger_template_error (self::ERR2);
|
|
}
|
|
$this->_retvalue = '->{'.$this->compiler->compileVariable($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor.'}';
|
|
}
|
|
// line 1001 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r140(){
|
|
if ($this->security) {
|
|
$this->compiler->trigger_template_error (self::ERR2);
|
|
}
|
|
$this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
|
|
}
|
|
// line 1008 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r141(){
|
|
if ($this->security) {
|
|
$this->compiler->trigger_template_error (self::ERR2);
|
|
}
|
|
$this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
|
|
}
|
|
// line 1016 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r142(){
|
|
$this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 1024 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r143(){
|
|
$this->_retvalue = $this->compiler->compilePHPFunctionCall($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -1]->minor);
|
|
}
|
|
// line 1032 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r144(){
|
|
if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) === '_') {
|
|
$this->compiler->trigger_template_error (self::ERR1);
|
|
}
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . '('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')';
|
|
}
|
|
// line 1039 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r145(){
|
|
if ($this->security) {
|
|
$this->compiler->trigger_template_error (self::ERR2);
|
|
}
|
|
$prefixVar = $this->compiler->getNewPrefixVariable();
|
|
$this->compiler->appendPrefixCode("<?php {$prefixVar} = ".$this->compiler->compileVariable('\''.substr($this->yystack[$this->yyidx + -3]->minor,1).'\'').';?>');
|
|
$this->_retvalue = $prefixVar .'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')';
|
|
}
|
|
// line 1050 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r146(){
|
|
$this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
// line 1067 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r149(){
|
|
$this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)));
|
|
}
|
|
// line 1071 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r150(){
|
|
$this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor));
|
|
}
|
|
// line 1079 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r152(){
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 1087 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r153(){
|
|
$this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 1100 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r156(){
|
|
$this->_retvalue = array(trim($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 1109 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r158(){
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '', 'method');
|
|
}
|
|
// line 1114 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r159(){
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'method');
|
|
}
|
|
// line 1119 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r160(){
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '');
|
|
}
|
|
// line 1124 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r161(){
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'property');
|
|
}
|
|
// line 1129 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r162(){
|
|
$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor, 'property');
|
|
}
|
|
// line 1135 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r163(){
|
|
$this->_retvalue = ' '. trim($this->yystack[$this->yyidx + 0]->minor) . ' ';
|
|
}
|
|
// line 1139 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r164(){
|
|
static $lops = array(
|
|
'eq' => ' == ',
|
|
'ne' => ' != ',
|
|
'neq' => ' != ',
|
|
'gt' => ' > ',
|
|
'ge' => ' >= ',
|
|
'gte' => ' >= ',
|
|
'lt' => ' < ',
|
|
'le' => ' <= ',
|
|
'lte' => ' <= ',
|
|
'mod' => ' % ',
|
|
'and' => ' && ',
|
|
'or' => ' || ',
|
|
'xor' => ' xor ',
|
|
);
|
|
$op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor));
|
|
$this->_retvalue = $lops[$op];
|
|
}
|
|
// line 1158 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r165(){
|
|
static $tlops = array(
|
|
'isdivby' => array('op' => ' % ', 'pre' => '!('),
|
|
'isnotdivby' => array('op' => ' % ', 'pre' => '('),
|
|
'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '),
|
|
'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
|
|
'isoddby' => array('op' => ' / ', 'pre' => '(1 & '),
|
|
'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),
|
|
);
|
|
$op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor));
|
|
$this->_retvalue = $tlops[$op];
|
|
}
|
|
// line 1171 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r166(){
|
|
static $scond = array (
|
|
'iseven' => '!(1 & ',
|
|
'isnoteven' => '(1 & ',
|
|
'isodd' => '(1 & ',
|
|
'isnotodd' => '!(1 & ',
|
|
);
|
|
$op = strtolower(str_replace(' ', '', $this->yystack[$this->yyidx + 0]->minor));
|
|
$this->_retvalue = $scond[$op];
|
|
}
|
|
// line 1185 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r167(){
|
|
$this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')';
|
|
}
|
|
// line 1196 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r170(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 1204 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r172(){
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 1208 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r173(){
|
|
$this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor;
|
|
}
|
|
// line 1224 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r176(){
|
|
$this->compiler->leaveDoubleQuote();
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php($this);
|
|
}
|
|
// line 1230 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r177(){
|
|
$this->yystack[$this->yyidx + -1]->minor->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor);
|
|
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
|
|
}
|
|
// line 1235 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r178(){
|
|
$this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 1239 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r179(){
|
|
$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)'.$this->yystack[$this->yyidx + -1]->minor);
|
|
}
|
|
// line 1243 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r180(){
|
|
$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)('.$this->yystack[$this->yyidx + -1]->minor.')');
|
|
}
|
|
// line 1247 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r181(){
|
|
$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value');
|
|
}
|
|
// line 1259 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r184(){
|
|
$this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
// line 1263 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
public function yy_r185(){
|
|
$this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[$this->yyidx + 0]->minor);
|
|
}
|
|
|
|
private $_retvalue;
|
|
|
|
public function yy_reduce($yyruleno)
|
|
{
|
|
if ($this->yyTraceFILE && $yyruleno >= 0
|
|
&& $yyruleno < count(self::$yyRuleName)) {
|
|
fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n",
|
|
$this->yyTracePrompt, $yyruleno,
|
|
self::$yyRuleName[$yyruleno]);
|
|
}
|
|
|
|
$this->_retvalue = $yy_lefthand_side = null;
|
|
if (isset(self::$yyReduceMap[$yyruleno])) {
|
|
// call the action
|
|
$this->_retvalue = null;
|
|
$this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
|
|
$yy_lefthand_side = $this->_retvalue;
|
|
}
|
|
$yygoto = self::$yyRuleInfo[$yyruleno][0];
|
|
$yysize = self::$yyRuleInfo[$yyruleno][1];
|
|
$this->yyidx -= $yysize;
|
|
for ($i = $yysize; $i; $i--) {
|
|
// pop all of the right-hand side parameters
|
|
array_pop($this->yystack);
|
|
}
|
|
$yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
|
|
if ($yyact < self::YYNSTATE) {
|
|
if (!$this->yyTraceFILE && $yysize) {
|
|
$this->yyidx++;
|
|
$x = new TP_yyStackEntry;
|
|
$x->stateno = $yyact;
|
|
$x->major = $yygoto;
|
|
$x->minor = $yy_lefthand_side;
|
|
$this->yystack[$this->yyidx] = $x;
|
|
} else {
|
|
$this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
|
|
}
|
|
} elseif ($yyact === self::YYNSTATE + self::YYNRULE + 1) {
|
|
$this->yy_accept();
|
|
}
|
|
}
|
|
|
|
public function yy_parse_failed()
|
|
{
|
|
if ($this->yyTraceFILE) {
|
|
fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
|
|
} while ($this->yyidx >= 0) {
|
|
$this->yy_pop_parser_stack();
|
|
}
|
|
}
|
|
|
|
public function yy_syntax_error($yymajor, $TOKEN)
|
|
{
|
|
// line 213 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
|
|
$this->internalError = true;
|
|
$this->yymajor = $yymajor;
|
|
$this->compiler->trigger_template_error();
|
|
}
|
|
|
|
public function yy_accept()
|
|
{
|
|
if ($this->yyTraceFILE) {
|
|
fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
|
|
} while ($this->yyidx >= 0) {
|
|
$this->yy_pop_parser_stack();
|
|
}
|
|
// line 206 "../smarty/lexer/smarty_internal_templateparser.y"
|
|
|
|
$this->successful = !$this->internalError;
|
|
$this->internalError = false;
|
|
$this->retvalue = $this->_retvalue;
|
|
}
|
|
|
|
public function doParse($yymajor, $yytokenvalue)
|
|
{
|
|
$yyerrorhit = 0; /* True if yymajor has invoked an error */
|
|
|
|
if ($this->yyidx === null || $this->yyidx < 0) {
|
|
$this->yyidx = 0;
|
|
$this->yyerrcnt = -1;
|
|
$x = new TP_yyStackEntry;
|
|
$x->stateno = 0;
|
|
$x->major = 0;
|
|
$this->yystack = array();
|
|
$this->yystack[] = $x;
|
|
}
|
|
$yyendofinput = ($yymajor==0);
|
|
|
|
if ($this->yyTraceFILE) {
|
|
fprintf($this->yyTraceFILE, "%sInput %s\n",
|
|
$this->yyTracePrompt, $this->yyTokenName[$yymajor]);
|
|
}
|
|
|
|
do {
|
|
$yyact = $this->yy_find_shift_action($yymajor);
|
|
if ($yymajor < self::YYERRORSYMBOL &&
|
|
!$this->yy_is_expected_token($yymajor)) {
|
|
// force a syntax error
|
|
$yyact = self::YY_ERROR_ACTION;
|
|
}
|
|
if ($yyact < self::YYNSTATE) {
|
|
$this->yy_shift($yyact, $yymajor, $yytokenvalue);
|
|
$this->yyerrcnt--;
|
|
if ($yyendofinput && $this->yyidx >= 0) {
|
|
$yymajor = 0;
|
|
} else {
|
|
$yymajor = self::YYNOCODE;
|
|
}
|
|
} elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
|
|
$this->yy_reduce($yyact - self::YYNSTATE);
|
|
} elseif ($yyact === self::YY_ERROR_ACTION) {
|
|
if ($this->yyTraceFILE) {
|
|
fprintf($this->yyTraceFILE, "%sSyntax Error!\n",
|
|
$this->yyTracePrompt);
|
|
}
|
|
if (self::YYERRORSYMBOL) {
|
|
if ($this->yyerrcnt < 0) {
|
|
$this->yy_syntax_error($yymajor, $yytokenvalue);
|
|
}
|
|
$yymx = $this->yystack[$this->yyidx]->major;
|
|
if ($yymx === self::YYERRORSYMBOL || $yyerrorhit) {
|
|
if ($this->yyTraceFILE) {
|
|
fprintf($this->yyTraceFILE, "%sDiscard input token %s\n",
|
|
$this->yyTracePrompt, $this->yyTokenName[$yymajor]);
|
|
}
|
|
$this->yy_destructor($yymajor, $yytokenvalue);
|
|
$yymajor = self::YYNOCODE;
|
|
} else {
|
|
while ($this->yyidx >= 0 &&
|
|
$yymx !== self::YYERRORSYMBOL &&
|
|
($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
|
|
){
|
|
$this->yy_pop_parser_stack();
|
|
}
|
|
if ($this->yyidx < 0 || $yymajor==0) {
|
|
$this->yy_destructor($yymajor, $yytokenvalue);
|
|
$this->yy_parse_failed();
|
|
$yymajor = self::YYNOCODE;
|
|
} elseif ($yymx !== self::YYERRORSYMBOL) {
|
|
$u2 = 0;
|
|
$this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
|
|
}
|
|
}
|
|
$this->yyerrcnt = 3;
|
|
$yyerrorhit = 1;
|
|
} else {
|
|
if ($this->yyerrcnt <= 0) {
|
|
$this->yy_syntax_error($yymajor, $yytokenvalue);
|
|
}
|
|
$this->yyerrcnt = 3;
|
|
$this->yy_destructor($yymajor, $yytokenvalue);
|
|
if ($yyendofinput) {
|
|
$this->yy_parse_failed();
|
|
}
|
|
$yymajor = self::YYNOCODE;
|
|
}
|
|
} else {
|
|
$this->yy_accept();
|
|
$yymajor = self::YYNOCODE;
|
|
}
|
|
} while ($yymajor !== self::YYNOCODE && $this->yyidx >= 0);
|
|
}
|
|
}
|
|
|