Вход Регистрация
Файл: app/lib/smarty/sysplugins/smarty_internal_templateparser.php
Строк: 2003
<?php

class TP_yyToken implements ArrayAccess
{
    public 
$string '';

    public 
$metadata = array();

    public function 
__construct($s$m = array())
    {
        if (
$s instanceof TP_yyToken) {
            
$this->string $s->string;
            
$this->metadata $s->metadata;
        } else {
            
$this->string = (string) $s;
            if (
$m instanceof TP_yyToken) {
                
$this->metadata $m->metadata;
            } elseif (
is_array($m)) {
                
$this->metadata $m;
            }
        }
    }

    public function 
__toString()
    {
        return 
$this->string;
    }

    public function 
offsetExists($offset)
    {
        return isset(
$this->metadata$offset ]);
    }

    public function 
offsetGet($offset)
    {
        return 
$this->metadata$offset ];
    }

    public function 
offsetSet($offset$value)
    {
        if (
$offset === null) {
            if (isset(
$value])) {
                
$x = ($value instanceof TP_yyToken) ? $value->metadata $value;
                
$this->metadata array_merge($this->metadata$x);

                return;
            }
            
$offset count($this->metadata);
        }
        if (
$value === null) {
            return;
        }
        if (
$value instanceof TP_yyToken) {
            if (
$value->metadata) {
                
$this->metadata$offset ] = $value->metadata;
            }
        } elseif (
$value) {
            
$this->metadata$offset ] = $value;
        }
    }

    public function 
offsetUnset($offset)
    {
        unset(
$this->metadata$offset ]);
    }
}

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";

    const 
Err3 "PHP in template not allowed. Use SmartyBC to enable it";

    
/**
     * 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
     */
    
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();

    
/**
     * security object
     *
     * @var Smarty_Internal_ParseTree[]
     */
    
public $template_postfix = array();

    
/**
     * constructor
     *
     * @param Smarty_Internal_Templatelexer        $lex
     * @param Smarty_Internal_TemplateCompilerBase $compiler
     */
    
function __construct(Smarty_Internal_Templatelexer $lexSmarty_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));
    }

    
/**
     *  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($tmptrue));
    }

    const 
TP_VERT 1;

    const 
TP_COLON 2;

    const 
TP_PHP 3;

    const 
TP_NOCACHE 4;

    const 
TP_TEXT 5;

    const 
TP_STRIPON 6;

    const 
TP_STRIPOFF 7;

    const 
TP_LITERALSTART 8;

    const 
TP_LITERALEND 9;

    const 
TP_LITERAL 10;

    const 
TP_RDEL 11;

    const 
TP_SIMPELOUTPUT 12;

    const 
TP_LDEL 13;

    const 
TP_DOLLARID 14;

    const 
TP_EQUAL 15;

    const 
TP_SIMPLETAG 16;

    const 
TP_ID 17;

    const 
TP_PTR 18;

    const 
TP_LDELMAKENOCACHE 19;

    const 
TP_LDELIF 20;

    const 
TP_LDELFOR 21;

    const 
TP_SEMICOLON 22;

    const 
TP_INCDEC 23;

    const 
TP_TO 24;

    const 
TP_STEP 25;

    const 
TP_LDELFOREACH 26;

    const 
TP_SPACE 27;

    const 
TP_AS 28;

    const 
TP_APTR 29;

    const 
TP_LDELSETFILTER 30;

    const 
TP_SMARTYBLOCKCHILDPARENT 31;

    const 
TP_CLOSETAG 32;

    const 
TP_LDELSLASH 33;

    const 
TP_ATTR 34;

    const 
TP_INTEGER 35;

    const 
TP_COMMA 36;

    const 
TP_OPENP 37;

    const 
TP_CLOSEP 38;

    const 
TP_MATH 39;

    const 
TP_UNIMATH 40;

    const 
TP_ISIN 41;

    const 
TP_QMARK 42;

    const 
TP_NOT 43;

    const 
TP_TYPECAST 44;

    const 
TP_HEX 45;

    const 
TP_DOT 46;

    const 
TP_INSTANCEOF 47;

    const 
TP_SINGLEQUOTESTRING 48;

    const 
TP_DOUBLECOLON 49;

    const 
TP_NAMESPACE 50;

    const 
TP_AT 51;

    const 
TP_HATCH 52;

    const 
TP_OPENB 53;

    const 
TP_CLOSEB 54;

    const 
TP_DOLLAR 55;

    const 
TP_LOGOP 56;

    const 
TP_SLOGOP 57;

    const 
TP_TLOGOP 58;

    const 
TP_SINGLECOND 59;

    const 
TP_QUOTE 60;

    const 
TP_BACKTICK 61;

    const 
YY_NO_ACTION 534;

    const 
YY_ACCEPT_ACTION 533;

    const 
YY_ERROR_ACTION 532;

    const 
YY_SZ_ACTTAB 2017;

    static public 
$yy_action = array(2698133295335802822197841281782552761131021383,
                                     
2272863052203622328321322974114904044260213231,
                                     
2502352101288112982961022698132793351961842197,
                                     
8426297461101113392427822746130522017120622221,
                                     
23020141104192404426021318236241210251811316296,
                                     
11426981357933520530221978411610747747711333197,
                                     
47722726630522032622331212921541311784044260213,
                                     
2962502562101908113296307269813479335205302219,
                                     
78423218296294113334853232271363052203282232921,
                                     
1831014123478404426021313725031421013981110296,
                                     
10126981357933519515421978432223281114113296329,
                                     
9422731530522032621212021168215412811144044260,
                                     
213296250222210265811104296211269813579335193302,
                                     
21978424223924921711311215289227136305220228223,
                                     
22221238149411047840442602134612503292106811,
                                     
461296226981367933520515821978419021181101113,
                                     
29632993227123052201822324434268448412814494044,
                                     
2602131912503621044881144929614269813579335205,
                                     
1521978418629315214113162145227165305220329194,
                                     
2021140101411154484044260213281250303210264811,
                                     
44829616926981317933520517621978413728296310113,
                                     
185293102272753052202962231754281143411441924044,
                                     
26021335250329210329811270296308269813579335198,
                                     
12121978419029217232113166284281227141305220211,
                                     
22331921299211413292114044260213258250363210221,
                                     
811281296626981367933520517721978416721115922,
                                     
1131042111562273003052203292232743435932941172192,
                                     
40442602139525031821032981273362962572921718179,
                                     
1428430927725426226325917821125362698187331335,
                                     
2611421978419230321138113237321180227267305220,
                                     
15312131217919227210821520921111869112434237248,
                                     
10286189252279182293150271204317176297288287285280,
                                     
3292813121748720233021520917011869112434237138,
                                     
1021924022522793821688271204317211297288287285280,
                                     
3104021052534041643323124022118944821520930512961,
                                     
106163238404142102448305252279404305305271204317,
                                     
30529731215530530530521520921112973112211434237,
                                     
10230540425227930529217271204317284297305288287285,
                                     
28040420330547747731230540447730521520930512973112,
                                     
434237305102305305252279305305224271204317324297,
                                     
28828728528030530520831230547730530521520921112950,
                                     
10630511730530510214840125227992325448271204317329,
                                     
2972699327218335401448219784305320401305113325,
                                     
192305227305305220269932730533530530521978430543,
                                     
423711330530530522730530522030530530530529127288,
                                     
28728528030530530531230530530530521520930512973112,
                                     
21130529027102305305252279305369305271204317305297,
                                     
225305312305211305207215209361295411230518830514,
                                     
1021454482522799130530527120431732929731244829217,
                                     
30521520928412965112305434237102192305252279305,
                                     
3053052712043173052973122882872852802152093059967,
                                     
112305305229305102305305252279305305305271204317,
                                     
31229721130530521520930512945112305246305305102162,
                                     
3052522791843053052712043173292973123924278305215,
                                     
20930512956112305434237102192305252279305305305,
                                     
2712043173052973122882872852802152093059655112305,
                                     
305305305102305305252279305305305271204317312297,
                                     
211305305215973058247103305247305305102151305252,
                                     
2791843053052712043173292973123924278305215209305,
                                     
12971112305434237102192305252279305305305271204,
                                     
31730529731228828728528021520930512959112305305305,
                                     
305102305305252279305305305271204317312297211305,
                                     
30521520930512958112305305305305102160305252279184,
                                     
305305271204317329297312392427830521520930512953,
                                     
112226434237102192305252279305305305271204317305,
                                     
29731228828728528021520930512960112305305305305102,
                                     
305305252279305305305271204317312297211305305215,
                                     
20930510064112305305305305102146305252279184305305,
                                     
271204317329297312392427830521520930512961112245,
                                     
434237102192305252279305305305271204317305297312,
                                     
28828728528021520030512963112305305305305102305305,
                                     
252279305305305271204317312297211305305215209305,
                                     
11151112305305305305102147305252279184305305271204,
                                     
317329297312392427830521520930512949112305434237,
                                     
102192305252279305305305271204317305297312288287,
                                     
28528021520930512975112305305305305102305305252279,
                                     
30530530527120431731229730530530521520930512976112,
                                     
305305305305102161305252279184305305271204317329,
                                     
2973123924278305215983058246103305305305305102,
                                     
192305252279305305305271204317305297312305305305,
                                     
30521520930512970112305305305305102305305252279305,
                                     
30530527120431731229730530530521520930512957112305,
                                     
305305305102305305252279305305305271204317305297,
                                     
31230530530530521519930510962112305305305305102305,
                                     
305252279305305305271204317305297312305305305305,
                                     
21520930512972112305305305305102305305252279305305,
                                     
30527120431731229730530530521520930512977112305305,
                                     
305305102305305252279305305305271204317305297312,
                                     
30530530530521520930512968112305305305305102305305,
                                     
252279305305305271204317305297312305305305305215,
                                     
20930512974112305305305305102305305252279305305305,
                                     
27120431731229730530530521520930512948112305305305,
                                     
305102305305252279414414305271204317305297312305,
                                     
30530530521520930512966112305305305305102305305252,
                                     
27921130530527120431730529744830541441441453352243,
                                     
2392492173054482153053053030536414414414414305233,
                                     
1430530530530543423730547747731223305477461215,
                                     
20921112730511228828728528010230530135731330529217,
                                     
271204317284297305305302305461363646136477157461,
                                     
14143051430543423730530530531230521178305215209,
                                     
30513030511228828728528010230530530524030529217271,
                                     
20431728429736305305305305305305143630517331243,
                                     
423714215209305122305112305305305305102304305288,
                                     
28728528030527120431730529730230531230536305305215,
                                     
2093051231411231230530530510221520930512430511278,
                                     
271204317102297305305305305305305271204317312297,
                                     
305305305215209305119305112305305305305102305305,
                                     
23330530530530527120431730529747747731232305477461,
                                     
215209305126305112305305305305102305305233305305,
                                     
305305271204317305297477477305305461477461461312,
                                     
47719461211215209305125305112305477477305102305477,
                                     
461305305305305271204317461297305461305477305461,
                                     
333305211305305305305305434237305461305305461305,
                                     
477305461305305233110305288287285280305306305477,
                                     
477305305305477461305434237477477305305305477461,
                                     
305305305305305305305288287285280305305305305305,
                                     
461305305461408477305461305305305461305305461408,
                                     
477408461305408305305305305305305408305408305408,
                                     
305305305305305305305232,);

    static public 
$yy_lookahead = array(12131417161772192021768910268122173031,
                                        
3233273590371593403436434445467248515076,
                                        
5253985581121314601617771920211593461826,
                                        
86878830533233943576377879408110143444546,
                                        
3648385014525354554912131460161723192021,
                                        
1781121326131417301732336635153715714099,
                                        
47434445465548355010152533655611213146016,
                                        
1723192021463655382654105106301432331735,
                                        
1537141840174743444546464854501452535355,
                                        
1812131460161773192021504652492655833730,
                                        
5432336635173794714096494344454655487650,
                                        
785253815511213146016172319202165666768,
                                        
26137110630143233173576377873408147434445,
                                        
4646488350375253535537121314601617731920,
                                        
2110115218265583943029323336353837173740,
                                        
9637434445461748275049525349553412131460,
                                        
1617271920219798733426131437301732338335,
                                        
42371418404937434445469648102503552534955,
                                        
5212131460161777192021461555952697985330,
                                        
23323355359437967340731014344454624488350,
                                        
83525317559212131460161799192021101121346,
                                        
269417963073323313554371714083143444546,
                                        
3848115018525396553712131460161777192021,
                                        
76173292681173301732338335353711834073,
                                        
10143444546824854508352672755701213776034,
                                        
171434567812271213775416534192021101,
                                        
1021226179282301132335299668210117807172,
                                        
174757639404183818111848597987389909177,
                                        
9356575859839666948110310471729474757639,
                                        
404181811011184852158189909119356575859,
                                        
9527699119410466341813771721077475769478,
                                        
27288149107848534107107899091107936628107,
                                        
1071077172174757613940418110711848510712,
                                        
138990911793107565758592710010712136610734,
                                        
171077172107747576394041107811071078485107,
                                        
107518990915493565758591071071006610751107,
                                        
1077172174757610778107107817311848577537,
                                        
8990918393121314461627491920211075434107,
                                        
26510110730107323312131410716107107192021,
                                        
107394041261071071073010732331071071071076061,
                                        
56575859107107107661071071071077172107747576,
                                        
11076061811071078485107111078990911079318,
                                        
1076610711071007172277475761071110734817337,
                                        
84857710710789909183936649121310771721774,
                                        
7576107394041811011078485107107107899091107,
                                        
93665657585971721077475761071075110781107,
                                        
107848510710710789909166931107107717210774,
                                        
757610711107107817310784857710710789909183,
                                        
9366868788107717210774757610739404181101107,
                                        
8485107107107899091107936656575859717210774,
                                        
757610710710710781107107848510710710789909166,
                                        
931107107717210774757610711107107817310784,
                                        
857710710789909183936686878810771721077475,
                                        
7610739404181101107848510710710789909110793,
                                        
6656575859717210774757610710710710781107107,
                                        
8485107107107899091669311071077172107747576,
                                        
1071071071078173107848577107107899091839366,
                                        
868788107717210774757638394041811011078485,
                                        
1071071078990911079366565758597172107747576,
                                        
10710710710781107107848510710710789909166931,
                                        
10710771721077475761071071071078173107848577,
                                        
107107899091839366868788107717210774757638,
                                        
394041811011078485107107107899091107936656,
                                        
5758597172107747576107107107107811071078485,
                                        
107107107899091669311071077172107747576107,
                                        
107107107817310784857710710789909183936686,
                                        
87881077172107747576107394041811011078485,
                                        
1071071078990911079366565758597172107747576,
                                        
1071071071078110710784851071071078990916693,
                                        
107107107717210774757610710710710781731078485,
                                        
771071078990918393668687881077172107747576,
                                        
10710710710781101107848510710710789909110793,
                                        
66107107107107717210774757610710710710781107,
                                        
10784851071071078990916693107107107717210774,
                                        
7576107107107107811071078485107107107899091,
                                        
10793661071071071077172107747576107107107107,
                                        
8110710784851071071078990911079366107107107,
                                        
1077172107747576107107107107811071078485107,
                                        
10710789909166931071071077172107747576107107,
                                        
1071078110710784851071071078990911079366107,
                                        
10710710771721077475761071071071078110710784,
                                        
851071071078990911079366107107107107717210774,
                                        
757610710710710781107107848510710710789909166,
                                        
93107107107717210774757610710710710781107107,
                                        
8485121078990911079366107107107107717210774,
                                        
75761071071071078110710784851107107899091107,
                                        
9337107394041636465666768107497110710725107,
                                        
2756575859107234107107107107394041107121366,
                                        
1510717187172174107765657585981107111185,
                                        
107121389909117931071072310746272749275129,
                                        
533434107341073940411071071076610714710771,
                                        
721077410776565758598110710710785107121389,
                                        
9091179327107107107107107107342710729663940,
                                        
4134717210774107761071071071078111107565758,
                                        
5910789909110793231076610727107107717210774,
                                        
3476661071071078171721077410776478990918193,
                                        
10710710710710710789909166931071071077172107,
                                        
74107761071071071078110710721071071071078990,
                                        
911079312136615107171871721077410776107107,
                                        
107107811071072107107107107899091107931213107,
                                        
1074617184966512531717210774107761071213,
                                        
10781107171810710710710789909146931074910751,
                                        
107535410711071071071071073940411074610710749,
                                        
107511075310710722210756575859107611071213,
                                        
107107107171810739404112131071071071718107107,
                                        
1071071071071075657585910710710710710746107107,
                                        
4911511075310710710746107107492251245310727,
                                        
107107107107107107341073610738107107107107107,
                                        
10710746,);

    const 
YY_SHIFT_USE_DFLT = - 15;

    const 
YY_SHIFT_MAX 238;

    static public 
$yy_shift_ofst = array(499393783933487878348, - 12, - 12337878787816878,
                                         
78782131237878787878787878787878303787878,
                                         
16825825843843843843843843816091660170617061706,
                                         
170617064991912115360954150798990782510716461880,
                                         
123512351235123512351235123512351235123512351235731,
                                         
73114072580423046528016074717141663483483160280,
                                         
28032416052259416611749642715317842404043144404,
                                         - 
5460327431161294147147426, - 5434223223265223223,
                                         
223223223223265223, - 1518271857164018771931194292,
                                         
6451190, - 570, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5214,
                                         - 
570, - 570, - 5, - 5, - 5, - 5, - 5124124227124356124214,
                                         
124124, - 570124124223223595587587223265232223265,
                                         
265223, - 15, - 15, - 15, - 15, - 1515811970575694660260118,
                                         
73, - 69625629530814544110208263, - 1499439232519,
                                         
521511509487831871013722790297288481452371307,
                                         
319385412414433375402,);

    const 
YY_REDUCE_USE_DFLT = - 67;

    const 
YY_REDUCE_MAX 192;

    static public 
$yy_reduce_ofst = array(15604696085035425707286439221278136010609501032,
                                          
1086896868100478614141332111415241168122412501196,
                                          
114213061470149613881442978758840814158816391745,
                                          
171916781708177518111259931931101310958491177170,
                                          - 
26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26,
                                          - 
26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 66,
                                          
46652, - 37484767, - 7136351113203254141314179278,
                                          
17342028939439428928920290228290424228326406289,
                                          
384289228316312435379389289289436458289289289,
                                          
289289289228289289476476476476476476502472476,
                                          
476466470466466466466466466466466466466482466,
                                          
490466510466466466466466506506512506459506525,
                                          
506506466530506506282853425025028, - 5619328, - 56,
                                          - 
5628112, - 27454403446,);

    static public 
$yyExpectedTokens = array(array(34567812131619202126303233,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263031323335374043,
                                                  
444546485052535560,),
                                            array(
1213141617192021263031323335374043,
                                                  
444546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
454648505253545560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
4546485052535560,),
                                            array(
1213141617192021263032333537404344,
                                                  
45464850525560,),
                                            array(
1213141617192021263032333537404344,
                                                  
45464850525560,),
                                            array(
1213141617192021263032333537404344,
                                                  
45464850525560,),
                                            array(
1213141617192021263032333537404344,
                                                  
45464850525560,),
                                            array(
1213141617192021263032333537404344,
                                                  
45464850525560,),
                                            array(
1213141617192021263032333537404344,
                                                  
45464850525560,),
                                            array(
125273439404156575859,),
                                            array(
111273439404156575859,),
                                            array(
1273439404156575859,),
                                            array(
1273439404156575859,),
                                            array(
1273439404156575859,),
                                            array(
1273439404156575859,),
                                            array(
1273439404156575859,),
                                            array(
34567812131619202126303233,),
                                            array(
12239404156575859,),
                                            array(
13839404156575859,),
                                            array(
12839404156575859,),
                                            array(
11139404156575859,),
                                            array(
1239404156575859,),
                                            array(
11139404156575859,),
                                            array(
11139404156575859,),
                                            array(
11139404156575859,),
                                            array(
13839404156575859,),
                                            array(
13940415456575859,),
                                            array(
13940415657585961,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,),
                                            array(
139404156575859,), array(39404156575859,),
                                            array(
39404156575859,), array(1417505255,),
                                            array(
512131416192021263032336061,),
                                            array(
1111827343749,), array(14175255,),
                                            array(
1112734,), array(12734,), array(143755,),
                                            array(
512131416192021263032336061,),
                                            array(
121317272934,), array(121317272934,),
                                            array(
1213172734,), array(1213172734,), array(143755,),
                                            array(
12734,), array(12734,), array(184653,),
                                            array(
143755,), array(12,), array(111272834,),
                                            array(
1123273447,), array(1123273447,),
                                            array(
1112734,), array(1112734,), array(13141755,),
                                            array(
12131751,), array(151849,), array(121317,),
                                            array(
8910,), array(151849,), array(121317,), array(2734,),
                                            array(
154,), array(1455,), array(111,), array(1849,),
                                            array(
2734,), array(1417,), array(1417,), array(118,),
                                            array(
2734,), array(129,), array(1,), array(1,), array(18,), array(1,),
                                            array(
1,), array(1,), array(1,), array(1,), array(1,), array(18,),
                                            array(
1,), array(), array(2121315171846495153,),
                                            array(
2121317184649515354,),
                                            array(
2121315171846495153,),
                                            array(
21213171846495153,),
                                            array(
21213171846495153,),
                                            array(
1213171846495153,), array(1314173555,),
                                            array(
12131751,), array(154653,), array(121317,),
                                            array(
2734,), array(1455,), array(2734,), array(2734,),
                                            array(
2734,), array(2734,), array(2734,), array(2734,),
                                            array(
2734,), array(2734,), array(2734,), array(2734,),
                                            array(
4653,), array(2734,), array(1455,), array(2734,),
                                            array(
1455,), array(2734,), array(2734,), array(2734,),
                                            array(
2734,), array(2734,), array(4653,), array(4653,),
                                            array(
1337,), array(4653,), array(1523,), array(4653,),
                                            array(
4653,), array(4653,), array(4653,), array(2734,),
                                            array(
1455,), array(4653,), array(4653,), array(1,), array(1,),
                                            array(
9,), array(2,), array(2,), array(1,), array(18,), array(37,),
                                            array(
1,), array(18,), array(18,), array(1,), array(), array(), array(),
                                            array(), array(), array(
12373940414956575859,),
                                            array(
1122242734363846,), array(111527343749,),
                                            array(
37464954,), array(12131751,), array(293749,),
                                            array(
234754,), array(234761,), array(2236,), array(3654,),
                                            array(
3638,), array(3749,), array(3749,), array(4654,),
                                            array(
3638,), array(3638,), array(2347,), array(3749,),
                                            array(
1751,), array(1546,), array(35,), array(37,), array(11,),
                                            array(
17,), array(5,), array(17,), array(14,), array(17,), array(17,),
                                            array(
15,), array(46,), array(17,), array(17,), array(42,), array(17,),
                                            array(
52,), array(17,), array(24,), array(52,), array(35,), array(17,),
                                            array(
37,), array(17,), array(54,), array(54,), array(38,), 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(), array(), array(),);

    static public 
$yy_default = array(339517496532532496496532532532532532532532532532,
                                      
532532532532532532532532532532532532532532532532,
                                      
532532532532532532532532532532532532532398532361,
                                      
398398374364336532532403532532532532532532532532,
                                      
400494518403409520379519405495410420425424532532,
                                      
436532412398532532398398398398532398398508532388,
                                      
412426426412412532461451461532451461398412532412,
                                      
451398532532392376412419394505427416428429415423,
                                      
451412503450450450450450450532463477461384532372,
                                      
383371366365368370360362385454386532358532387377,
                                      
382381375457486461487532489456455488378532458459,
                                      
445393352497498389506461418509483395461461502502,
                                      
502436432436436462436426426532532532532436432532,
                                      
532426446532432532477532532344532532532532532432,
                                      
532532438532532532406532434532507532441532532340,
                                      
504492338337491438467482396341441477413349343350,
                                      
466351411348431346345347433407465355464356414437,
                                      
399353435380354342421417513479440439480512390511,
                                      
510523522521481484493500478453485499452529430501,
                                      
528391526525443373460490444422473471476442470469,
                                      
468447449524475531530527448397515474516472514367,);

    const 
YYNOCODE 108;

    const 
YYSTACKDEPTH 500;

    const 
YYNSTATE 336;

    const 
YYNRULE 196;

    const 
YYERRORSYMBOL 62;

    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''PHP''NOCACHE''TEXT''STRIPON''STRIPOFF''LITERALSTART',
                                
'LITERALEND''LITERAL''RDEL''SIMPELOUTPUT''LDEL''DOLLARID''EQUAL',
                                
'SIMPLETAG''ID''PTR''LDELMAKENOCACHE''LDELIF''LDELFOR''SEMICOLON''INCDEC',
                                
'TO''STEP''LDELFOREACH''SPACE''AS''APTR''LDELSETFILTER',
                                
'SMARTYBLOCKCHILDPARENT''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''QUOTE''BACKTICK',
                                
'error''start''template''template_element''smartytag''literal',
                                
'text_content''literal_elements''literal_element''tag''variable''attributes',
                                
'value''expr''varindexed''modifierlist''statement''statements''foraction',
                                
'varvar''modparameters''attribute''ternary''array''tlop''lop''scond',
                                
'function''ns1''doublequoted_with_quotes''static_class_access''object',
                                
'arrayindex''indexdef''varvarele''objectchain''objectelement''method',
                                
'params''modifier''modparameter''arrayelements''arrayelement''doublequoted',
                                
'doublequotedcontent',);

    public static 
$yyRuleName = array('start ::= template''template ::= template_element',
                                      
'template ::= template template_element''template ::=',
                                      
'template_element ::= smartytag''template_element ::= literal',
                                      
'template_element ::= PHP''template_element ::= NOCACHE',
                                      
'template_element ::= text_content''text_content ::= TEXT',
                                      
'text_content ::= text_content TEXT''template_element ::= STRIPON',
                                      
'template_element ::= STRIPOFF''literal ::= LITERALSTART LITERALEND',
                                      
'literal ::= LITERALSTART literal_elements LITERALEND',
                                      
'literal_elements ::= literal_elements literal_element''literal_elements ::=',
                                      
'literal_element ::= literal''literal_element ::= LITERAL',
                                      
'smartytag ::= tag RDEL''smartytag ::= SIMPELOUTPUT''tag ::= LDEL variable',
                                      
'tag ::= LDEL variable attributes''tag ::= LDEL value',
                                      
'tag ::= LDEL value attributes''tag ::= LDEL expr',
                                      
'tag ::= LDEL expr attributes''tag ::= LDEL DOLLARID EQUAL value',
                                      
'tag ::= LDEL DOLLARID EQUAL expr''tag ::= LDEL DOLLARID EQUAL expr attributes',
                                      
'tag ::= LDEL varindexed EQUAL expr attributes''smartytag ::= SIMPLETAG',
                                      
'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 attributes',
                                      
'tag ::= LDELFOREACH SPACE value AS varvar attributes',
                                      
'tag ::= LDELFOREACH SPACE value AS varvar APTR varvar attributes',
                                      
'tag ::= LDELFOREACH SPACE expr AS varvar attributes',
                                      
'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes',
                                      
'tag ::= LDELSETFILTER ID modparameters',
                                      
'tag ::= LDELSETFILTER ID modparameters modifierlist',
                                      
'tag ::= LDEL SMARTYBLOCKCHILDPARENT''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 ::= array',
                                      
'expr ::= expr modifierlist''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 ::= 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 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',
                                      
'array ::= OPENB arrayelements CLOSEB''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 && $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($tokenself::$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 ][ ];
                    
$nextstate $this->yy_find_reduce_action($this->yystack$this->yyidx ]->stateno,
                                                              
self::$yyRuleInfo$yyruleno ][ ]);
                    if (isset(
self::$yyExpectedTokens$nextstate ])) {
                        
$expected array_merge($expectedself::$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($tokenself::$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 ][ ];
                        
$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($tokenself::$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 ][ ];
                    
$nextstate $this->yy_find_reduce_action($this->yystack$this->yyidx ]->stateno,
                                                              
self::$yyRuleInfo$yyruleno ][ ]);
                    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($tokenself::$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 ][ ];
                        
$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 || $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 || $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 207 "../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 %dn"$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(=> 63=> 1), array(=> 64=> 1), array(=> 64=> 2),
                                      array(
=> 64=> 0), array(=> 65=> 1), array(=> 65=> 1),
                                      array(
=> 65=> 1), array(=> 65=> 1), array(=> 65=> 1),
                                      array(
=> 68=> 1), array(=> 68=> 2), array(=> 65=> 1),
                                      array(
=> 65=> 1), array(=> 67=> 2), array(=> 67=> 3),
                                      array(
=> 69=> 2), array(=> 69=> 0), array(=> 70=> 1),
                                      array(
=> 70=> 1), array(=> 66=> 2), array(=> 66=> 1),
                                      array(
=> 71=> 2), array(=> 71=> 3), array(=> 71=> 2),
                                      array(
=> 71=> 3), array(=> 71=> 2), array(=> 71=> 3),
                                      array(
=> 71=> 4), array(=> 71=> 4), array(=> 71=> 5),
                                      array(
=> 71=> 5), array(=> 66=> 1), array(=> 71=> 3),
                                      array(
=> 71=> 2), array(=> 71=> 4), array(=> 71=> 5),
                                      array(
=> 71=> 6), array(=> 71=> 2), array(=> 71=> 2),
                                      array(
=> 71=> 3), array(=> 71=> 2), array(=> 71=> 3),
                                      array(
=> 71=> 8), array(=> 80=> 2), array(=> 80=> 1),
                                      array(
=> 71=> 5), array(=> 71=> 7), array(=> 71=> 2),
                                      array(
=> 71=> 6), array(=> 71=> 8), array(=> 71=> 6),
                                      array(
=> 71=> 8), array(=> 71=> 3), array(=> 71=> 4),
                                      array(
=> 71=> 2), array(=> 66=> 1), array(=> 71=> 2),
                                      array(
=> 71=> 3), array(=> 71=> 4), array(=> 71=> 5),
                                      array(
=> 73=> 2), array(=> 73=> 1), array(=> 73=> 0),
                                      array(
=> 83=> 4), array(=> 83=> 2), array(=> 83=> 2),
                                      array(
=> 83=> 2), array(=> 83=> 2), array(=> 83=> 2),
                                      array(
=> 83=> 4), array(=> 79=> 1), array(=> 79=> 3),
                                      array(
=> 78=> 3), array(=> 78=> 3), array(=> 78=> 3),
                                      array(
=> 78=> 3), array(=> 75=> 1), array(=> 75=> 1),
                                      array(
=> 75=> 3), array(=> 75=> 3), array(=> 75=> 3),
                                      array(
=> 75=> 1), array(=> 75=> 2), array(=> 75=> 3),
                                      array(
=> 75=> 3), array(=> 75=> 2), array(=> 75=> 3),
                                      array(
=> 75=> 3), array(=> 84=> 7), array(=> 84=> 7),
                                      array(
=> 74=> 1), array(=> 74=> 2), array(=> 74=> 2),
                                      array(
=> 74=> 2), array(=> 74=> 2), array(=> 74=> 1),
                                      array(
=> 74=> 1), array(=> 74=> 3), array(=> 74=> 2),
                                      array(
=> 74=> 2), array(=> 74=> 1), array(=> 74=> 1),
                                      array(
=> 74=> 3), array(=> 74=> 3), array(=> 74=> 3),
                                      array(
=> 74=> 1), array(=> 74=> 1), array(=> 74=> 3),
                                      array(
=> 74=> 1), array(=> 74=> 2), array(=> 74=> 1),
                                      array(
=> 74=> 3), array(=> 90=> 1), array(=> 90=> 1),
                                      array(
=> 72=> 1), array(=> 72=> 1), array(=> 72=> 3),
                                      array(
=> 72=> 1), array(=> 72=> 3), array(=> 72=> 4),
                                      array(
=> 72=> 3), array(=> 72=> 4), array(=> 76=> 2),
                                      array(
=> 76=> 2), array(=> 94=> 2), array(=> 94=> 0),
                                      array(
=> 95=> 2), array(=> 95=> 2), array(=> 95=> 4),
                                      array(
=> 95=> 2), array(=> 95=> 2), array(=> 95=> 4),
                                      array(
=> 95=> 3), array(=> 95=> 5), array(=> 95=> 3),
                                      array(
=> 95=> 3), array(=> 95=> 3), array(=> 95=> 3),
                                      array(
=> 95=> 3), array(=> 95=> 3), array(=> 95=> 2),
                                      array(
=> 81=> 1), array(=> 81=> 1), array(=> 81=> 2),
                                      array(
=> 96=> 1), array(=> 96=> 1), array(=> 96=> 3),
                                      array(
=> 93=> 2), array(=> 97=> 1), array(=> 97=> 2),
                                      array(
=> 98=> 3), array(=> 98=> 3), array(=> 98=> 5),
                                      array(
=> 98=> 6), array(=> 98=> 2), array(=> 89=> 4),
                                      array(
=> 99=> 4), array(=> 99=> 4), array(=> 100=> 3),
                                      array(
=> 100=> 1), array(=> 100=> 0), array(=> 77=> 3),
                                      array(
=> 77=> 2), array(=> 101=> 3), array(=> 101=> 2),
                                      array(
=> 82=> 2), array(=> 82=> 0), array(=> 102=> 2),
                                      array(
=> 102=> 2), array(=> 92=> 1), array(=> 92=> 2),
                                      array(
=> 92=> 1), array(=> 92=> 2), array(=> 92=> 3),
                                      array(
=> 87=> 1), array(=> 87=> 1), array(=> 86=> 1),
                                      array(
=> 88=> 1), array(=> 85=> 3), array(=> 103=> 1),
                                      array(
=> 103=> 3), array(=> 103=> 0), array(=> 104=> 3),
                                      array(
=> 104=> 3), array(=> 104=> 1), array(=> 91=> 2),
                                      array(
=> 91=> 3), array(=> 105=> 2), array(=> 105=> 1),
                                      array(
=> 106=> 3), array(=> 106=> 3), array(=> 106=> 1),
                                      array(
=> 106=> 3), array(=> 106=> 3), array(=> 106=> 1),
                                      array(
=> 106=> 1),);

    public static 
$yyReduceMap = array(=> 0=> 1=> 2=> 4=> 5=> 6=> 7=> 8=> 917 => 9,
                                       
18 => 944 => 967 => 968 => 976 => 977 => 981 => 990 => 995 => 9,
                                       
96 => 9101 => 9105 => 9106 => 9110 => 9112 => 9117 => 9179 => 9,
                                       
184 => 910 => 1011 => 1112 => 1213 => 1316 => 1314 => 1475 => 14,
                                       
15 => 1591 => 1593 => 1594 => 15124 => 1519 => 1920 => 2021 => 21,
                                       
23 => 2125 => 2122 => 2224 => 2226 => 2227 => 2728 => 2729 => 29,
                                       
30 => 3031 => 3132 => 3233 => 3334 => 3435 => 3536 => 3637 => 37,
                                       
38 => 3839 => 3941 => 3940 => 4042 => 4243 => 4345 => 4546 => 46,
                                       
47 => 4748 => 4850 => 4849 => 4951 => 4952 => 5253 => 5354 => 54,
                                       
55 => 5556 => 5657 => 5758 => 5859 => 5960 => 6061 => 6170 => 61,
                                       
159 => 61163 => 61167 => 61168 => 6162 => 62160 => 62166 => 62,
                                       
63 => 6364 => 6465 => 6466 => 66144 => 6669 => 6971 => 7172 => 72,
                                       
73 => 7274 => 7478 => 7879 => 7980 => 7982 => 82109 => 8283 => 83,
                                       
84 => 8485 => 8586 => 8687 => 8788 => 8889 => 8992 => 9297 => 97,
                                       
98 => 9899 => 99100 => 100102 => 102103 => 103104 => 103107 => 107,
                                       
108 => 108111 => 111113 => 113114 => 114115 => 115116 => 116,
                                       
118 => 118119 => 119120 => 120121 => 121122 => 122123 => 123,
                                       
125 => 125181 => 125126 => 126127 => 127128 => 128129 => 129,
                                       
130 => 130131 => 131139 => 131132 => 132133 => 133134 => 134,
                                       
135 => 134137 => 134138 => 134136 => 136140 => 140141 => 141,
                                       
142 => 142185 => 142143 => 143145 => 145146 => 146147 => 147,
                                       
148 => 148149 => 149150 => 150151 => 151152 => 152153 => 153,
                                       
154 => 154155 => 155156 => 156157 => 157158 => 158161 => 161,
                                       
162 => 162164 => 164165 => 165169 => 169170 => 170171 => 171,
                                       
172 => 172173 => 173174 => 174175 => 175176 => 176177 => 177,
                                       
178 => 178180 => 180182 => 182183 => 183186 => 186187 => 187,
                                       
188 => 188189 => 189190 => 189192 => 189191 => 191193 => 193,
                                       
194 => 194195 => 195,);

    
#line 218 "../smarty/lexer/smarty_internal_templateparser.y"
    
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 228 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r1()
    {
        if (
$this->yystack$this->yyidx ]->minor != null) {
            
$this->current_buffer->append_subtree($this$this->yystack$this->yyidx ]->minor);
        }
    }

    
#line 235 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r2()
    {
        if (
$this->yystack$this->yyidx ]->minor != null) {
            
// because of possible code injection
            
$this->current_buffer->append_subtree($this$this->yystack$this->yyidx ]->minor);
        }
    }

    
#line 249 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r4()
    {
        if (
$this->compiler->has_code) {
            
$this->_retvalue $this->mergePrefixCode($this->yystack$this->yyidx ]->minor);
        } else {
            
$this->_retvalue null;
        }
        
$this->compiler->has_variable_string false;
        
$this->block_nesting_level count($this->compiler->_tag_stack);
    }

    
#line 260 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r5()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack$this->yyidx ]->minor);
    }

    
#line 264 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r6()
    {
        
$code $this->compiler->compileTag('private_php',
                                            array(array(
'code' => $this->yystack$this->yyidx ]->minor),
                                                  array(
'type' => $this->lex->phpType)), array());
        if (
$this->compiler->has_code && !empty($code)) {
            
$tmp '';
            foreach (
$this->compiler->prefix_code as $code) {
                
$tmp .= $code;
            }
            
$this->compiler->prefix_code = array();
            
$this->_retvalue =
                new 
Smarty_Internal_ParseTree_Tag($this$this->compiler->processNocacheCode($tmp $codetrue));
        } else {
            
$this->_retvalue null;
        }
    }

    
#line 275 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r7()
    {
        
$this->compiler->tag_nocache true;
        
$save $this->template->compiled->has_nocache_code;
        
$this->_retvalue = new Smarty_Internal_ParseTree_Tag($this,
                                                             
$this->compiler->processNocacheCode("<?php echo '{$this->yystack[$this->yyidx 0]->minor}';?>n",
                                                                                                 
true));
        
$this->template->compiled->has_nocache_code $save;
    }

    
#line 282 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r8()
    {
        
$this->_retvalue $this->compiler->processText($this->yystack$this->yyidx ]->minor);
    }

    
#line 286 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r9()
    {
        
$this->_retvalue $this->yystack$this->yyidx ]->minor;
    }

    
#line 290 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r10()
    {
        
$this->_retvalue $this->yystack$this->yyidx + - ]->minor $this->yystack$this->yyidx ]->minor;
    }

    
#line 295 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r11()
    {
        
$this->strip true;
    }

    
#line 299 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r12()
    {
        
$this->strip false;
    }

    
#line 304 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r13()
    {
        
$this->_retvalue '';
    }

    
#line 308 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r14()
    {
        
$this->_retvalue $this->yystack$this->yyidx + - ]->minor;
    }

    
#line 312 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r15()
    {
        
$this->_retvalue $this->yystack$this->yyidx + - ]->minor $this->yystack$this->yyidx ]->minor;
    }

    
#line 328 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r19()
    {
        
$this->_retvalue $this->yystack$this->yyidx + - ]->minor;
    }

    
#line 334 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r20()
    {
        
$var =
            
trim(substr($this->yystack$this->yyidx ]->minor$this->lex->ldel_length, - $this->lex->rdel_length),
                 
' $');
        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 344 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r21()
    {
        
$this->_retvalue $this->compiler->compileTag('private_print_expression', array(),
                                                       array(
'value' => $this->yystack$this->yyidx ]->minor));
    }

    
#line 348 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r22()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('private_print_expression'$this->yystack$this->yyidx ]->minor,
                                        array(
'value' => $this->yystack$this->yyidx + - ]->minor));
    }

    
#line 371 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r27()
    {
        
$this->_retvalue $this->compiler->compileTag('assign', array(array('value' => $this->yystack$this->yyidx +
                                                                                                        
]->minor),
                                                                       array(
'var' => ''' .
                                                                                      substr($this->yystack[ $this->yyidx +
                                                                                                             - 2 ]->minor,
                                                                                             1) . '''
)));
    }

    
#line 379 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r29()
    {
        
$this->_retvalue $this->compiler->compileTag('assign',
                                                       
array_merge(array(array('value' => $this->yystack$this->yyidx +
                                                                                                          - 
]->minor),
                                                                         array(
'var' => ''' .
                                                                                        substr($this->yystack[ $this->yyidx +
                                                                                                               - 3 ]->minor,
                                                                                               1) . '''
)),
                                                                   
$this->yystack$this->yyidx ]->minor));
    }

    
#line 383 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r30()
    {
        
$this->_retvalue $this->compiler->compileTag('assign',
                                                       
array_merge(array(array('value' => $this->yystack$this->yyidx +
                                                                                                          - 
]->minor),
                                                                         array(
'var' => $this->yystack$this->yyidx +
                                                                                                        - 
]->minor'var' ])),
                                                                   
$this->yystack$this->yyidx ]->minor),
                                                       array(
'smarty_internal_index' => $this->yystack$this->yyidx +
                                                                                                        - 
]->minor'smarty_internal_index' ]));
    }

    
#line 388 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r31()
    {
        
$tag =
            
trim(substr($this->yystack$this->yyidx ]->minor$this->lex->ldel_length, - $this->lex->rdel_length));
        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], array("'nocache'"));
                } else {
                    
$this->_retvalue $this->compiler->compileTag($tag, array());
                }
            }
        }
    }

    
#line 410 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r32()
    {
        if (
defined($this->yystack$this->yyidx + - ]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx + - ]->minor$this->compiler);
            }
            
$this->_retvalue =
                
$this->compiler->compileTag('private_print_expression'$this->yystack$this->yyidx ]->minor,
                                            array(
'value' => $this->yystack$this->yyidx + - ]->minor));
        } else {
            
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + - ]->minor,
                                                           
$this->yystack$this->yyidx ]->minor);
        }
    }

    
#line 420 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r33()
    {
        if (
defined($this->yystack$this->yyidx ]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx ]->minor$this->compiler);
            }
            
$this->_retvalue $this->compiler->compileTag('private_print_expression', array(),
                                                           array(
'value' => $this->yystack$this->yyidx ]->minor));
        } else {
            
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx ]->minor, array());
        }
    }

    
#line 433 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r34()
    {
        if (
defined($this->yystack$this->yyidx + - ]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx + - ]->minor$this->compiler);
            }
            
$this->_retvalue =
                
$this->compiler->compileTag('private_print_expression'$this->yystack$this->yyidx ]->minor,
                                            array(
'value' => $this->yystack$this->yyidx + - ]->minor,
                                                  
'modifierlist' => $this->yystack$this->yyidx + - ]->minor));
        } else {
            
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + - ]->minor,
                                                           
$this->yystack$this->yyidx ]->minor,
                                                           array(
'modifierlist' => $this->yystack$this->yyidx +
                                                                                                   - 
]->minor));
        }
    }

    
#line 445 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r35()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + - ]->minor,
                                                       
$this->yystack$this->yyidx ]->minor,
                                                       array(
'object_method' => $this->yystack$this->yyidx +
                                                                                                - 
]->minor));
    }

    
#line 450 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r36()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + - ]->minor,
                                                       
$this->yystack$this->yyidx ]->minor,
                                                       array(
'modifierlist' => $this->yystack$this->yyidx +
                                                                                               - 
]->minor,
                                                             
'object_method' => $this->yystack$this->yyidx +
                                                                                                - 
]->minor));
    }

    
#line 455 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r37()
    {
        
$this->_retvalue $this->compiler->compileTag('make_nocache', array(array('var' => ''' .
                                                                                            substr($this->yystack[ $this->yyidx +
                                                                                                                   0 ]->minor,
                                                                                                   1) . '''
)));
    }

    
#line 460 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r38()
    {
        
$tag trim(substr($this->yystack$this->yyidx + - ]->minor$this->lex->ldel_length));
        
$this->_retvalue $this->compiler->compileTag(($tag == 'else if') ? 'elseif' $tag, array(),
                                                       array(
'if condition' => $this->yystack$this->yyidx +
                                                                                               
]->minor));
    }

    
#line 465 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r39()
    {
        
$tag trim(substr($this->yystack$this->yyidx + - ]->minor$this->lex->ldel_length));
        
$this->_retvalue $this->compiler->compileTag(($tag == 'else if') ? 'elseif' $tag,
                                                       
$this->yystack$this->yyidx ]->minor,
                                                       array(
'if condition' => $this->yystack$this->yyidx +
                                                                                               - 
]->minor));
    }

    
#line 470 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r40()
    {
        
$tag trim(substr($this->yystack$this->yyidx + - ]->minor$this->lex->ldel_length));
        
$this->_retvalue $this->compiler->compileTag(($tag == 'else if') ? 'elseif' $tag, array(),
                                                       array(
'if condition' => $this->yystack$this->yyidx +
                                                                                               
]->minor));
    }

    
#line 481 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r42()
    {
        
$this->_retvalue $this->compiler->compileTag('for'array_merge($this->yystack$this->yyidx ]->minor,
                                                                          array(array(
'start' => $this->yystack$this->yyidx +
                                                                                                                 - 
]->minor),
                                                                                array(
'ifexp' => $this->yystack$this->yyidx +
                                                                                                                 - 
]->minor),
                                                                                array(
'var' => $this->yystack$this->yyidx +
                                                                                                               - 
]->minor),
                                                                                array(
'step' => $this->yystack$this->yyidx +
                                                                                                                - 
]->minor))),
                                                       
1);
    }

    
#line 485 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r43()
    {
        
$this->_retvalue '=' $this->yystack$this->yyidx ]->minor;
    }

    
#line 493 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r45()
    {
        
$this->_retvalue $this->compiler->compileTag('for'array_merge($this->yystack$this->yyidx ]->minor,
                                                                          array(array(
'start' => $this->yystack$this->yyidx +
                                                                                                                 - 
]->minor),
                                                                                array(
'to' => $this->yystack$this->yyidx +
                                                                                                              - 
]->minor))),
                                                       
0);
    }

    
#line 497 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r46()
    {
        
$this->_retvalue $this->compiler->compileTag('for'array_merge($this->yystack$this->yyidx ]->minor,
                                                                          array(array(
'start' => $this->yystack$this->yyidx +
                                                                                                                 - 
]->minor),
                                                                                array(
'to' => $this->yystack$this->yyidx +
                                                                                                              - 
]->minor),
                                                                                array(
'step' => $this->yystack$this->yyidx +
                                                                                                                - 
]->minor))),
                                                       
0);
    }

    
#line 502 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r47()
    {
        
$this->_retvalue $this->compiler->compileTag('foreach'$this->yystack$this->yyidx ]->minor);
    }

    
#line 507 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r48()
    {
        
$this->_retvalue $this->compiler->compileTag('foreach'array_merge($this->yystack$this->yyidx ]->minor,
                                                                              array(array(
'from' => $this->yystack$this->yyidx +
                                                                                                                    - 
]->minor),
                                                                                    array(
'item' => $this->yystack$this->yyidx +
                                                                                                                    - 
]->minor))));
    }

    
#line 511 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r49()
    {
        
$this->_retvalue $this->compiler->compileTag('foreach'array_merge($this->yystack$this->yyidx ]->minor,
                                                                              array(array(
'from' => $this->yystack$this->yyidx +
                                                                                                                    - 
]->minor),
                                                                                    array(
'item' => $this->yystack$this->yyidx +
                                                                                                                    - 
]->minor),
                                                                                    array(
'key' => $this->yystack$this->yyidx +
                                                                                                                   - 
]->minor))));
    }

    
#line 524 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r52()
    {
        
$this->_retvalue $this->compiler->compileTag('setfilter', array(),
                                                       array(
'modifier_list' => array(array_merge(array($this->yystack$this->yyidx +
                                                                                                                        - 
]->minor),
                                                                                                  
$this->yystack$this->yyidx +
                                                                                                                  
]->minor))));
    }

    
#line 528 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r53()
    {
        
$this->_retvalue $this->compiler->compileTag('setfilter', array(),
                                                       array(
'modifier_list' => array_merge(array(array_merge(array($this->yystack$this->yyidx +
                                                                                                                                    - 
]->minor),
                                                                                                              
$this->yystack$this->yyidx +
                                                                                                                              - 
]->minor)),
                                                                                            
$this->yystack$this->yyidx +
                                                                                                            
]->minor)));
    }

    
#line 533 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r54()
    {
        
$j strrpos($this->yystack$this->yyidx ]->minor'.');
        if (
$this->yystack$this->yyidx ]->minor$j ] == 'c') {
            
// {$smarty.block.child}
            
$this->_retvalue SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
        } else {
            
// {$smarty.block.parent}
            
$this->_retvalue SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler);
        }
    }

    
#line 546 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r55()
    {
        
$tag =
            
trim(substr($this->yystack$this->yyidx ]->minor$this->lex->ldel_length, - $this->lex->rdel_length),
                 
' /');
        if (
$tag == 'strip') {
            
$this->strip false;
            
$this->_retvalue null;
        } else {
            
$this->_retvalue $this->compiler->compileTag($tag 'close', array());
        }
    }

    
#line 555 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r56()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx ]->minor 'close', array());
    }

    
#line 559 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r57()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + - ]->minor 'close', array(),
                                                       array(
'modifier_list' => $this->yystack$this->yyidx +
                                                                                                
]->minor));
    }

    
#line 564 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r58()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + - ]->minor 'close', array(),
                                                       array(
'object_method' => $this->yystack$this->yyidx +
                                                                                                
]->minor));
    }

    
#line 568 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r59()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + - ]->minor 'close', array(),
                                                       array(
'object_method' => $this->yystack$this->yyidx +
                                                                                                - 
]->minor,
                                                             
'modifier_list' => $this->yystack$this->yyidx +
                                                                                                
]->minor));
    }

    
#line 576 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r60()
    {
        
$this->_retvalue $this->yystack$this->yyidx + - ]->minor;
        
$this->_retvalue[] = $this->yystack$this->yyidx ]->minor;
    }

    
#line 582 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r61()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx ]->minor);
    }

    
#line 587 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r62()
    {
        
$this->_retvalue = array();
    }

    
#line 592 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r63()
    {
        if (
defined($this->yystack$this->yyidx ]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx ]->minor$this->compiler);
            }
            
$this->_retvalue =
                array(
$this->yystack$this->yyidx + - ]->minor => $this->yystack$this->yyidx ]->minor);
        } else {
            
$this->_retvalue =
                array(
$this->yystack$this->yyidx + - ]->minor => ''' . $this->yystack[ $this->yyidx + 0 ]->minor .
                                                                     '''
);
        }
    }

    
#line 603 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r64()
    {
        
$this->_retvalue =
            array(
trim($this->yystack$this->yyidx + - ]->minor" =nrt") => $this->yystack$this->yyidx +
                                                                                                   
]->minor);
    }

    
#line 611 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r66()
    {
        
$this->_retvalue ''' . $this->yystack[ $this->yyidx + 0 ]->minor . ''';
    }

    
#line 623 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r69()
    {
        
$this->_retvalue =
            array(
$this->yystack$this->yyidx + - ]->minor => $this->yystack$this->yyidx ]->minor);
    }

    
#line 636 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r71()
    {
        
$this->yystack$this->yyidx + - ]->minor[] = $this->yystack$this->yyidx ]->minor;
        
$this->_retvalue $this->yystack$this->yyidx + - ]->minor;
    }

    
#line 641 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r72()
    {
        
$this->_retvalue = array('var' => ''' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . ''',
                                 
'value' => $this->yystack$this->yyidx ]->minor);
    }

    
#line 648 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r74()
    {
        
$this->_retvalue = array('var' => $this->yystack$this->yyidx + - ]->minor,
                                 
'value' => $this->yystack$this->yyidx ]->minor);
    }

    
#line 672 "../smarty/lexer/smarty_internal_templateparser.y"
    
function yy_r78()
    {
        
$this->_retvalue =
            
'$_smarty_tpl->getStreamVariable('' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '://' .
            
$this->yystack$this->yyidx ]->minor '')';
    }

    #line 677 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r79()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + - 2 ]->minor . trim($this->yystack[ $this->yyidx + - 1 ]->minor) .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 691 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r82()
    {
        $this->_retvalue = $this->compiler->compileTag('
private_modifier', array(),
                                                       array('
value' => $this->yystack[ $this->yyidx + - 1 ]->minor,
                                                             '
modifierlist' => $this->yystack[ $this->yyidx +
                                                                                               0 ]->minor));
    }

    #line 697 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r83()
    {
        $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 701 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r84()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
                           $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 705 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r85()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . '
)';
    }

    #line 709 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r86()
    {
        $this->_retvalue = '
in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',' .
                           $this->yystack[ $this->yyidx + 0 ]->minor . '
)';
    }

    #line 713 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r87()
    {
        $this->_retvalue = '
in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',(array)' .
                           $this->yystack[ $this->yyidx + 0 ]->minor . '
)';
    }

    #line 721 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r88()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + - 5 ]->minor . ' 
' . $this->compiler->compileVariable(''' .
                                                                                                                  
substr($this->yystack$this->yyidx +
                                                                                                                                         - 
]->minor,
                                                                                                                         
1) .
                                                                                                                  
''') .
                           ' 
' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 725 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r89()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + - 5 ]->minor . ' 
' . $this->yystack[ $this->yyidx + - 2 ]->minor . ' ' .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 740 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r92()
    {
        $this->_retvalue = '
!' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 761 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r97()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + - 2 ]->minor . '
.' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 765 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r98()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . '
.';
    }

    #line 769 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r99()
    {
        $this->_retvalue = '
.' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 774 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r100()
    {
        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 ]->minor ''';
        }
    }

    #line 791 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r102()
    {
        $this->_retvalue = "(" . $this->yystack[ $this->yyidx + - 1 ]->minor . ")";
    }

    #line 795 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r103()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
                           $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 813 "../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r107()
    {
        $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 824 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r108()
    {
        
$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 841 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r111()
    {
        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 860 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r113()
    {
        
$this->_retvalue = $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 871 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r114()
    {
        
$this->_retvalue =
            
$this->compiler->compileVariable(''' . substr($this->yystack$this->yyidx + 0 ]->minor, 1) . ''');
    }

    #line 874 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r115()
    {
        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 887 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r116()
    {
        
$this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack$this->yyidx + - 2 ]->minor . ']->' .
                           
$this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 897 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r118()
    {
        
$this->_retvalue =
            
$this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 1 ]->minor . "'");
    }

    #line 901 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r119()
    {
        
$this->_retvalue = '(is_array($tmp = ' .
                           
$this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 2 ]->minor .
                                                                  "'") . ') ? 
$tmp' .
                           
$this->yystack$this->yyidx + 0 ]->minor . ' :null)';
    }

    #line 905 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r120()
    {
        
$this->_retvalue = $this->compiler->compileConfigVariable($this->yystack$this->yyidx + - 1 ]->minor);
    }

    #line 909 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r121()
    {
        
$this->_retvalue =
            '(is_array(
$tmp = ' . $this->compiler->compileConfigVariable($this->yystack$this->yyidx + - 2 ]->minor) .
            ') ? 
$tmp' . $this->yystack$this->yyidx + 0 ]->minor . ' : null)';
    }

    #line 913 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r122()
    {
        
$this->_retvalue = array('var' => ''' . substr($this->yystack$this->yyidx + - 1 ]->minor, 1) . ''',
                                 'smarty_internal_index' => 
$this->yystack$this->yyidx + 0 ]->minor);
    }

    #line 916 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r123()
    {
        
$this->_retvalue = array('var' => $this->yystack$this->yyidx + - 1 ]->minor,
                                 'smarty_internal_index' => 
$this->yystack$this->yyidx + 0 ]->minor);
    }

    #line 929 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r125()
    {
        return;
    }

    #line 935 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r126()
    {
        
$this->_retvalue =
            '[' . 
$this->compiler->compileVariable(''' . substr($this->yystack$this->yyidx + 0 ]->minor, 1) . ''') .
            ']';
    }

    #line 938 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r127()
    {
        
$this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack$this->yyidx + 0 ]->minor) . ']';
    }

    #line 942 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r128()
    {
        
$this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack$this->yyidx + - 2 ]->minor) . '->' .
                           
$this->yystack$this->yyidx + 0 ]->minor . ']';
    }

    #line 946 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r129()
    {
        
$this->_retvalue = "['" . $this->yystack[ $this->yyidx + 0 ]->minor . "']";
    }

    #line 950 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r130()
    {
        
$this->_retvalue = '[' . $this->yystack$this->yyidx + 0 ]->minor . ']';
    }

    #line 955 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r131()
    {
        
$this->_retvalue = '[' . $this->yystack$this->yyidx + - 1 ]->minor . ']';
    }

    #line 960 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r132()
    {
        
$this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '['section']['' .
                                                                                                  
$this->yystack$this->yyidx +
                                                                                                                  - 1 ]->minor .
                                                                                                  '']['index']') .
                           ']';
    }

    #line 964 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r133()
    {
        
$this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '['section']['' .
                                                                                                  
$this->yystack$this->yyidx +
                                                                                                                  - 3 ]->minor .
                                                                                                  '']['' .
                                                                                                  
$this->yystack$this->yyidx +
                                                                                                                  - 1 ]->minor .
                                                                                                  '']') . ']';
    }

    #line 967 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r134()
    {
        
$this->_retvalue = '[' . $this->yystack$this->yyidx + - 1 ]->minor . ']';
    }

    #line 973 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r136()
    {
        
$this->_retvalue = '[' . $this->compiler->compileVariable(''' .
                                                                  substr(
$this->yystack$this->yyidx + - 1 ]->minor,
                                                                         1) . ''') . ']';;
    }

    #line 989 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r140()
    {
        
$this->_retvalue = '[]';
    }

    #line 999 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r141()
    {
        
$this->_retvalue = ''' . substr($this->yystack$this->yyidx + 0 ]->minor, 1) . ''';
    }

    #line 1003 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r142()
    {
        
$this->_retvalue = "''";
    }

    #line 1008 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r143()
    {
        
$this->_retvalue =
            
$this->yystack$this->yyidx + - 1 ]->minor . '.' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1016 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r145()
    {
        
$var =
            trim(substr(
$this->yystack$this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
                 ' $');
        
$this->_retvalue = $this->compiler->compileVariable(''' . $var . ''');
    }

    #line 1022 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r146()
    {
        
$this->_retvalue = '(' . $this->yystack$this->yyidx + - 1 ]->minor . ')';
    }

    #line 1029 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r147()
    {
        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 1038 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r148()
    {
        
$this->_retvalue = $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1043 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r149()
    {
        
$this->_retvalue = $this->yystack$this->yyidx + - 1 ]->minor . $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1048 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r150()
    {
        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 1055 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r151()
    {
        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 1062 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r152()
    {
        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 1069 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r153()
    {
        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 1077 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r154()
    {
        
$this->_retvalue = '->' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1085 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r155()
    {
        if (!
$this->security ||
            
$this->security->isTrustedPhpFunction($this->yystack$this->yyidx + - 3 ]->minor, $this->compiler)
        ) {
            if (strcasecmp(
$this->yystack$this->yyidx + - 3 ]->minor, 'isset') === 0 ||
                strcasecmp(
$this->yystack$this->yyidx + - 3 ]->minor, 'empty') === 0 ||
                strcasecmp(
$this->yystack$this->yyidx + - 3 ]->minor, 'array') === 0 ||
                is_callable(
$this->yystack$this->yyidx + - 3 ]->minor)
            ) {
                
$func_name = strtolower($this->yystack$this->yyidx + - 3 ]->minor);
                if (
$func_name == 'isset') {
                    if (count(
$this->yystack$this->yyidx + - 1 ]->minor) == 0) {
                        
$this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
                    }
                    
$par = implode(',', $this->yystack$this->yyidx + - 1 ]->minor);
                    if (strncasecmp(
$par, '$_smarty_tpl->smarty->ext->_config->_getConfigVariable',
                                    strlen('
$_smarty_tpl->smarty->ext->_config->_getConfigVariable')) === 0
                    ) {
                        
$prefixVar = $this->compiler->getNewPrefixVariable();
                        
$this->compiler->appendPrefixCode("<?php $prefixVar" . '=' .
                                                          str_replace(')', ', false)', 
$par) . ';?>');
                        
$isset_par = $prefixVar;
                    } else {
                        
$isset_par = str_replace("')->value", "',null,true,false)->value", $par);
                    }
                    
$this->_retvalue = $this->yystack$this->yyidx + - 3 ]->minor . "(" . $isset_par . ")";
                } elseif (in_array(
$func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
                    if (count(
$this->yystack$this->yyidx + - 1 ]->minor) != 1) {
                        
$this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
                    }
                    if (
$func_name == 'empty') {
                        
$this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value",
                                                                          
$this->yystack$this->yyidx +
                                                                                          - 1 ]->minor[ 0 ]) . ')';
                    } else {
                        
$this->_retvalue = $func_name . '(' . $this->yystack$this->yyidx + - 1 ]->minor[ 0 ] . ')';
                    }
                } else {
                    
$this->_retvalue = $this->yystack$this->yyidx + - 3 ]->minor . "(" .
                                       implode(',', 
$this->yystack$this->yyidx + - 1 ]->minor) . ")";
                }
            } else {
                
$this->compiler->trigger_template_error("unknown function "" .
                                                        
$this->yystack$this->yyidx + - ]->minor """);
            }
        }
    }

    #line 1124 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r156()
    {
        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 1131 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r157()
    {
        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 1142 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r158()
    {
        
$this->_retvalue =
            array_merge(
$this->yystack$this->yyidx + - 2 ]->minor, array($this->yystack$this->yyidx + 0 ]->minor));
    }

    #line 1159 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r161()
    {
        
$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 1163 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r162()
    {
        
$this->_retvalue =
            array(array_merge(
$this->yystack$this->yyidx + - 1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor));
    }

    #line 1171 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r164()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + 0 ]->minor);
    }

    #line 1179 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r165()
    {
        
$this->_retvalue =
            array_merge(
$this->yystack$this->yyidx + - 1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor);
    }

    #line 1198 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r169()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + 0 ]->minor, '', 'method');
    }

    #line 1203 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r170()
    {
        
$this->_retvalue =
            array(
$this->yystack$this->yyidx + - 1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor, 'method');
    }

    #line 1208 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r171()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + 0 ]->minor, '');
    }

    #line 1213 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r172()
    {
        
$this->_retvalue =
            array(
$this->yystack$this->yyidx + - 1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor, 'property');
    }

    #line 1218 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r173()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + - 2 ]->minor,
                                 
$this->yystack$this->yyidx + - 1 ]->minor .
                                 
$this->yystack$this->yyidx + 0 ]->minor, 'property');
    }

    #line 1224 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r174()
    {
        
$this->_retvalue = ' ' . trim($this->yystack$this->yyidx + 0 ]->minor) . ' ';
    }

    #line 1228 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r175()
    {
        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 1247 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r176()
    {
        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 1260 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r177()
    {
        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 1274 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r178()
    {
        
$this->_retvalue = 'array(' . $this->yystack$this->yyidx + - 1 ]->minor . ')';
    }

    #line 1282 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r180()
    {
        
$this->_retvalue =
            
$this->yystack$this->yyidx + - 2 ]->minor . ',' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1290 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r182()
    {
        
$this->_retvalue =
            
$this->yystack$this->yyidx + - 2 ]->minor . '=>' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1294 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r183()
    {
        
$this->_retvalue =
            ''' . 
$this->yystack$this->yyidx + - 2 ]->minor . ''=>' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1310 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r186()
    {
        
$this->_retvalue = $this->yystack$this->yyidx + - 1 ]->minor->to_smarty_php($this);
    }

    #line 1315 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r187()
    {
        
$this->yystack$this->yyidx + - 1 ]->minor->append_subtree($this$this->yystack$this->yyidx + 0 ]->minor);
        
$this->_retvalue = $this->yystack$this->yyidx + - 1 ]->minor;
    }

    #line 1320 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r188()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Dq($this$this->yystack$this->yyidx + 0 ]->minor);
    }

    #line 1324 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r189()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack$this->yyidx + - 1 ]->minor);
    }

    #line 1332 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r191()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars['' .
                                                              substr(
$this->yystack$this->yyidx + 0 ]->minor, 1) .
                                                              '']->value');
    }

    #line 1340 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r193()
    {
        
$this->_retvalue =
            new Smarty_Internal_ParseTree_Code('(string)(' . 
$this->yystack$this->yyidx + - 1 ]->minor . ')');
    }

    #line 1344 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r194()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Tag($this$this->yystack$this->yyidx + 0 ]->minor);
    }

    #line 1348 "
../smarty/lexer/smarty_internal_templateparser.y"
    function yy_r195()
    {
        
$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 200 "
../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 193 "
../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 %sn", $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 %sn", $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);
    }
}
Онлайн: 1
Реклама