packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/includes/smarty/sysplugins/smarty_internal_templatelexer.php
author Dan Fuhry <dan@fuhry.us>
Tue, 08 Jan 2013 23:13:29 -0500
changeset 0 3906ca745819
permissions -rw-r--r--
First commit!
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     1
<?php
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     2
/**
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     3
* Smarty Internal Plugin Templatelexer
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     4
*
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     5
* This is the lexer to break the template source into tokens
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     6
* @package Smarty
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     7
* @subpackage Compiler
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     8
* @author Uwe Tews
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     9
*/
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    10
/**
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    11
* Smarty Internal Plugin Templatelexer
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    12
*/
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    13
class Smarty_Internal_Templatelexer
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    14
{
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    15
    public $data;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    16
    public $counter;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    17
    public $token;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    18
    public $value;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    19
    public $node;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    20
    public $line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    21
    public $taglineno;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    22
    public $state = 1;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    23
    private $heredoc_id_stack = Array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    24
    public $smarty_token_names = array (		// Text for parser error messages
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    25
    				'IDENTITY'	=> '===',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    26
    				'NONEIDENTITY'	=> '!==',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    27
    				'EQUALS'	=> '==',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    28
    				'NOTEQUALS'	=> '!=',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    29
    				'GREATEREQUAL' => '(>=,ge)',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    30
    				'LESSEQUAL' => '(<=,le)',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    31
    				'GREATERTHAN' => '(>,gt)',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    32
    				'LESSTHAN' => '(<,lt)',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    33
    				'MOD' => '(%,mod)',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    34
    				'NOT'			=> '(!,not)',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    35
    				'LAND'		=> '(&&,and)',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    36
    				'LOR'			=> '(||,or)',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    37
    				'LXOR'			=> 'xor',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    38
    				'OPENP'		=> '(',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    39
    				'CLOSEP'	=> ')',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    40
    				'OPENB'		=> '[',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    41
    				'CLOSEB'	=> ']',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    42
    				'PTR'			=> '->',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    43
    				'APTR'		=> '=>',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    44
    				'EQUAL'		=> '=',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    45
    				'NUMBER'	=> 'number',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    46
    				'UNIMATH'	=> '+" , "-',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    47
    				'MATH'		=> '*" , "/" , "%',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    48
    				'INCDEC'	=> '++" , "--',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    49
    				'SPACE'		=> ' ',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    50
    				'DOLLAR'	=> '$',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    51
    				'SEMICOLON' => ';',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    52
    				'COLON'		=> ':',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    53
    				'DOUBLECOLON'		=> '::',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    54
    				'AT'		=> '@',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    55
    				'HATCH'		=> '#',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    56
    				'QUOTE'		=> '"',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    57
    				'BACKTICK'		=> '`',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    58
    				'VERT'		=> '|',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    59
    				'DOT'			=> '.',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    60
    				'COMMA'		=> '","',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    61
    				'ANDSYM'		=> '"&"',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    62
    				'QMARK'		=> '"?"',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    63
    				'ID'			=> 'identifier',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    64
    				'TEXT'		=> 'text',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    65
     				'FAKEPHPSTARTTAG'	=> 'Fake PHP start tag',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    66
     				'PHPSTARTTAG'	=> 'PHP start tag',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    67
     				'PHPENDTAG'	=> 'PHP end tag',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    68
 						'LITERALSTART'  => 'Literal start',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    69
 						'LITERALEND'    => 'Literal end',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    70
    				'LDELSLASH' => 'closing tag',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    71
    				'COMMENT' => 'comment',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    72
    				'AS' => 'as',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    73
    				'TO' => 'to',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    74
    				);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    75
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    76
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    77
    function __construct($data,$compiler)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    78
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    79
//        $this->data = preg_replace("/(\r\n|\r|\n)/", "\n", $data);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    80
        $this->data = $data;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    81
        $this->counter = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    82
        $this->line = 1;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    83
        $this->smarty = $compiler->smarty;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    84
        $this->compiler = $compiler;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    85
        $this->ldel = preg_quote($this->smarty->left_delimiter,'/');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    86
        $this->ldel_length = strlen($this->smarty->left_delimiter);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    87
        $this->rdel = preg_quote($this->smarty->right_delimiter,'/');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    88
        $this->rdel_length = strlen($this->smarty->right_delimiter);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    89
        $this->smarty_token_names['LDEL'] =	$this->smarty->left_delimiter;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    90
        $this->smarty_token_names['RDEL'] =	$this->smarty->right_delimiter;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    91
        $this->mbstring_overload = ini_get('mbstring.func_overload') & 2;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    92
     }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    93
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    94
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    95
    private $_yy_state = 1;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    96
    private $_yy_stack = array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    97
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    98
    function yylex()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    99
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   100
        return $this->{'yylex' . $this->_yy_state}();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   101
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   102
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   103
    function yypushstate($state)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   104
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   105
        array_push($this->_yy_stack, $this->_yy_state);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   106
        $this->_yy_state = $state;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   107
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   108
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   109
    function yypopstate()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   110
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   111
        $this->_yy_state = array_pop($this->_yy_stack);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   112
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   113
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   114
    function yybegin($state)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   115
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   116
        $this->_yy_state = $state;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   117
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   118
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   119
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   120
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   121
    function yylex1()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   122
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   123
        $tokenMap = array (
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   124
              1 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   125
              2 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   126
              3 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   127
              5 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   128
              6 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   129
              7 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   130
              8 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   131
              9 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   132
              10 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   133
              11 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   134
              13 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   135
              14 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   136
              15 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   137
              16 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   138
              17 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   139
              18 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   140
              19 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   141
              20 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   142
              21 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   143
              22 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   144
              23 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   145
              24 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   146
            );
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   147
        if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   148
            return false; // end of input
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   149
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   150
        $yy_global_pattern = "/\G(".$this->ldel."[$]smarty\\.block\\.child".$this->rdel.")|\G(\\{\\})|\G(".$this->ldel."\\*([\S\s]*?)\\*".$this->rdel.")|\G(".$this->ldel."strip".$this->rdel.")|\G(".$this->ldel."\\s{1,}strip\\s{1,}".$this->rdel.")|\G(".$this->ldel."\/strip".$this->rdel.")|\G(".$this->ldel."\\s{1,}\/strip\\s{1,}".$this->rdel.")|\G(".$this->ldel."\\s*literal\\s*".$this->rdel.")|\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s*setfilter\\s+)|\G(".$this->ldel."\\s{1,})|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|\G(\\?>)|\G(".$this->rdel.")|\G(<%)|\G(%>)|\G([\S\s])/iS";
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   151
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   152
        do {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   153
            if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   154
                $yysubmatches = $yymatches;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   155
                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   156
                if (!count($yymatches)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   157
                    throw new Exception('Error: lexing failed because a rule matched' .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   158
                        ' an empty string.  Input "' . substr($this->data,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   159
                        $this->counter, 5) . '... state TEXT');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   160
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   161
                next($yymatches); // skip global match
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   162
                $this->token = key($yymatches); // token number
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   163
                if ($tokenMap[$this->token]) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   164
                    // extract sub-patterns for passing to lex function
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   165
                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   166
                        $tokenMap[$this->token]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   167
                } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   168
                    $yysubmatches = array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   169
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   170
                $this->value = current($yymatches); // token value
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   171
                $r = $this->{'yy_r1_' . $this->token}($yysubmatches);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   172
                if ($r === null) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   173
                    $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   174
                    $this->line += substr_count($this->value, "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   175
                    // accept this token
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   176
                    return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   177
                } elseif ($r === true) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   178
                    // we have changed state
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   179
                    // process this token in the new state
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   180
                    return $this->yylex();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   181
                } elseif ($r === false) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   182
                    $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   183
                    $this->line += substr_count($this->value, "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   184
                    if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   185
                        return false; // end of input
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   186
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   187
                    // skip this token
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   188
                    continue;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   189
                }            } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   190
                throw new Exception('Unexpected input at line' . $this->line .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   191
                    ': ' . $this->data[$this->counter]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   192
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   193
            break;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   194
        } while (true);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   195
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   196
    } // end function
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   197
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   198
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   199
    const TEXT = 1;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   200
    function yy_r1_1($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   201
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   202
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   203
  $this->token = Smarty_Internal_Templateparser::TP_SMARTYBLOCKCHILD;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   204
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   205
    function yy_r1_2($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   206
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   207
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   208
  $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   209
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   210
    function yy_r1_3($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   211
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   212
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   213
  $this->token = Smarty_Internal_Templateparser::TP_COMMENT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   214
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   215
    function yy_r1_5($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   216
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   217
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   218
    $this->token = Smarty_Internal_Templateparser::TP_STRIPON;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   219
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   220
    function yy_r1_6($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   221
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   222
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   223
  if ($this->smarty->auto_literal) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   224
    $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   225
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   226
    $this->token = Smarty_Internal_Templateparser::TP_STRIPON;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   227
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   228
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   229
    function yy_r1_7($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   230
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   231
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   232
    $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   233
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   234
    function yy_r1_8($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   235
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   236
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   237
  if ($this->smarty->auto_literal) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   238
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   239
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   240
    $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   241
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   242
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   243
    function yy_r1_9($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   244
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   245
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   246
   $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   247
   $this->yypushstate(self::LITERAL);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   248
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   249
    function yy_r1_10($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   250
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   251
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   252
  if ($this->smarty->auto_literal) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   253
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   254
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   255
     $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   256
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   257
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   258
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   259
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   260
    function yy_r1_11($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   261
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   262
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   263
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   264
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   265
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   266
     $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   267
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   268
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   269
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   270
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   271
    function yy_r1_13($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   272
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   273
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   274
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   275
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   276
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   277
     $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   278
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   279
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   280
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   281
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   282
    function yy_r1_14($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   283
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   284
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   285
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   286
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   287
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   288
     $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   289
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   290
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   291
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   292
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   293
    function yy_r1_15($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   294
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   295
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   296
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   297
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   298
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   299
     $this->token = Smarty_Internal_Templateparser::TP_LDELSETFILTER;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   300
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   301
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   302
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   303
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   304
    function yy_r1_16($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   305
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   306
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   307
  if ($this->smarty->auto_literal) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   308
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   309
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   310
     $this->token = Smarty_Internal_Templateparser::TP_LDEL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   311
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   312
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   313
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   314
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   315
    function yy_r1_17($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   316
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   317
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   318
  $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   319
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   320
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   321
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   322
    function yy_r1_18($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   323
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   324
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   325
  $this->token = Smarty_Internal_Templateparser::TP_LDEL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   326
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   327
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   328
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   329
    function yy_r1_19($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   330
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   331
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   332
  if (in_array($this->value, Array('<?', '<?=', '<?php'))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   333
    $this->token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   334
  } elseif ($this->value == '<?xml') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   335
      $this->token = Smarty_Internal_Templateparser::TP_XMLTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   336
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   337
    $this->token = Smarty_Internal_Templateparser::TP_FAKEPHPSTARTTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   338
    $this->value = substr($this->value, 0, 2);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   339
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   340
     }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   341
    function yy_r1_20($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   342
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   343
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   344
  $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   345
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   346
    function yy_r1_21($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   347
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   348
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   349
  $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   350
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   351
    function yy_r1_22($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   352
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   353
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   354
  $this->token = Smarty_Internal_Templateparser::TP_ASPSTARTTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   355
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   356
    function yy_r1_23($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   357
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   358
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   359
  $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   360
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   361
    function yy_r1_24($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   362
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   363
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   364
  if ($this->mbstring_overload) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   365
    $to = mb_strlen($this->data,'latin1');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   366
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   367
    $to = strlen($this->data);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   368
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   369
  preg_match("/{$this->ldel}|<\?|\?>|<%|%>/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   370
  if (isset($match[0][1])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   371
    $to = $match[0][1];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   372
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   373
  if ($this->mbstring_overload) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   374
    $this->value = mb_substr($this->data,$this->counter,$to-$this->counter,'latin1');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   375
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   376
    $this->value = substr($this->data,$this->counter,$to-$this->counter);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   377
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   378
  $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   379
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   380
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   381
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   382
    function yylex2()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   383
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   384
        $tokenMap = array (
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   385
              1 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   386
              2 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   387
              3 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   388
              5 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   389
              6 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   390
              7 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   391
              8 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   392
              9 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   393
              10 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   394
              11 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   395
              12 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   396
              13 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   397
              14 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   398
              15 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   399
              16 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   400
              17 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   401
              18 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   402
              19 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   403
              20 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   404
              22 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   405
              24 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   406
              26 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   407
              27 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   408
              28 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   409
              29 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   410
              30 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   411
              31 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   412
              32 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   413
              33 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   414
              34 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   415
              35 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   416
              36 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   417
              37 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   418
              38 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   419
              39 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   420
              40 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   421
              41 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   422
              42 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   423
              43 => 3,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   424
              47 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   425
              48 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   426
              49 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   427
              50 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   428
              51 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   429
              52 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   430
              53 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   431
              54 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   432
              55 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   433
              57 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   434
              59 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   435
              60 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   436
              61 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   437
              62 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   438
              63 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   439
              64 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   440
              65 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   441
              66 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   442
              67 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   443
              68 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   444
              69 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   445
              70 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   446
              71 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   447
              72 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   448
              73 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   449
              74 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   450
              75 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   451
              76 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   452
              77 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   453
            );
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   454
        if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   455
            return false; // end of input
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   456
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   457
        $yy_global_pattern = "/\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s{1,})|\G(\\s{1,}".$this->rdel.")|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(".$this->rdel.")|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*===\\s*)|\G(\\s*!==\\s*)|\G(\\s*==\\s*|\\s+eq\\s+)|\G(\\s*!=\\s*|\\s*<>\\s*|\\s+(ne|neq)\\s+)|\G(\\s*>=\\s*|\\s+(ge|gte)\\s+)|\G(\\s*<=\\s*|\\s+(le|lte)\\s+)|\G(\\s*>\\s*|\\s+gt\\s+)|\G(\\s*<\\s*|\\s+lt\\s+)|\G(\\s+mod\\s+)|\G(!\\s*|not\\s+)|\G(\\s*&&\\s*|\\s*and\\s+)|\G(\\s*\\|\\|\\s*|\\s*or\\s+)|\G(\\s*xor\\s+)|\G(\\s+is\\s+odd\\s+by\\s+)|\G(\\s+is\\s+not\\s+odd\\s+by\\s+)|\G(\\s+is\\s+odd)|\G(\\s+is\\s+not\\s+odd)|\G(\\s+is\\s+even\\s+by\\s+)|\G(\\s+is\\s+not\\s+even\\s+by\\s+)|\G(\\s+is\\s+even)|\G(\\s+is\\s+not\\s+even)|\G(\\s+is\\s+div\\s+by\\s+)|\G(\\s+is\\s+not\\s+div\\s+by\\s+)|\G(\\((int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)\\)\\s*)|\G(\\s*\\(\\s*)|\G(\\s*\\))|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*->\\s*)|\G(\\s*=>\\s*)|\G(\\s*=\\s*)|\G(\\+\\+|--)|\G(\\s*(\\+|-)\\s*)|\G(\\s*(\\*|\/|%)\\s*)|\G(\\$)|\G(\\s*;)|\G(::)|\G(\\s*:\\s*)|\G(@)|\G(#)|\G(\")|\G(`)|\G(\\|)|\G(\\.)|\G(\\s*,\\s*)|\G(\\s*&\\s*)|\G(\\s*\\?\\s*)|\G(0[xX][0-9a-fA-F]+)|\G(\\s+[0-9]*[a-zA-Z_][a-zA-Z0-9_\-:]*\\s*=\\s*)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G(\\s+)|\G([\S\s])/iS";
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   458
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   459
        do {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   460
            if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   461
                $yysubmatches = $yymatches;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   462
                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   463
                if (!count($yymatches)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   464
                    throw new Exception('Error: lexing failed because a rule matched' .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   465
                        ' an empty string.  Input "' . substr($this->data,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   466
                        $this->counter, 5) . '... state SMARTY');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   467
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   468
                next($yymatches); // skip global match
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   469
                $this->token = key($yymatches); // token number
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   470
                if ($tokenMap[$this->token]) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   471
                    // extract sub-patterns for passing to lex function
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   472
                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   473
                        $tokenMap[$this->token]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   474
                } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   475
                    $yysubmatches = array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   476
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   477
                $this->value = current($yymatches); // token value
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   478
                $r = $this->{'yy_r2_' . $this->token}($yysubmatches);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   479
                if ($r === null) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   480
                    $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   481
                    $this->line += substr_count($this->value, "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   482
                    // accept this token
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   483
                    return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   484
                } elseif ($r === true) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   485
                    // we have changed state
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   486
                    // process this token in the new state
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   487
                    return $this->yylex();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   488
                } elseif ($r === false) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   489
                    $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   490
                    $this->line += substr_count($this->value, "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   491
                    if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   492
                        return false; // end of input
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   493
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   494
                    // skip this token
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   495
                    continue;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   496
                }            } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   497
                throw new Exception('Unexpected input at line' . $this->line .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   498
                    ': ' . $this->data[$this->counter]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   499
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   500
            break;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   501
        } while (true);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   502
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   503
    } // end function
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   504
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   505
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   506
    const SMARTY = 2;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   507
    function yy_r2_1($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   508
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   509
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   510
  $this->token = Smarty_Internal_Templateparser::TP_SINGLEQUOTESTRING;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   511
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   512
    function yy_r2_2($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   513
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   514
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   515
  if ($this->smarty->auto_literal) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   516
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   517
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   518
     $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   519
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   520
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   521
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   522
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   523
    function yy_r2_3($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   524
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   525
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   526
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   527
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   528
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   529
     $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   530
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   531
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   532
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   533
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   534
    function yy_r2_5($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   535
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   536
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   537
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   538
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   539
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   540
     $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   541
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   542
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   543
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   544
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   545
    function yy_r2_6($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   546
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   547
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   548
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   549
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   550
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   551
     $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   552
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   553
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   554
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   555
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   556
    function yy_r2_7($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   557
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   558
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   559
  if ($this->smarty->auto_literal) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   560
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   561
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   562
     $this->token = Smarty_Internal_Templateparser::TP_LDEL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   563
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   564
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   565
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   566
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   567
    function yy_r2_8($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   568
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   569
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   570
  $this->token = Smarty_Internal_Templateparser::TP_RDEL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   571
  $this->yypopstate();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   572
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   573
    function yy_r2_9($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   574
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   575
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   576
  $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   577
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   578
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   579
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   580
    function yy_r2_10($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   581
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   582
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   583
  $this->token = Smarty_Internal_Templateparser::TP_LDEL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   584
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   585
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   586
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   587
    function yy_r2_11($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   588
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   589
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   590
  $this->token = Smarty_Internal_Templateparser::TP_RDEL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   591
     $this->yypopstate();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   592
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   593
    function yy_r2_12($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   594
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   595
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   596
  $this->token = Smarty_Internal_Templateparser::TP_ISIN;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   597
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   598
    function yy_r2_13($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   599
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   600
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   601
  $this->token = Smarty_Internal_Templateparser::TP_AS;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   602
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   603
    function yy_r2_14($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   604
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   605
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   606
  $this->token = Smarty_Internal_Templateparser::TP_TO;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   607
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   608
    function yy_r2_15($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   609
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   610
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   611
  $this->token = Smarty_Internal_Templateparser::TP_STEP;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   612
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   613
    function yy_r2_16($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   614
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   615
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   616
  $this->token = Smarty_Internal_Templateparser::TP_INSTANCEOF;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   617
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   618
    function yy_r2_17($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   619
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   620
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   621
  $this->token = Smarty_Internal_Templateparser::TP_IDENTITY;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   622
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   623
    function yy_r2_18($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   624
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   625
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   626
  $this->token = Smarty_Internal_Templateparser::TP_NONEIDENTITY;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   627
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   628
    function yy_r2_19($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   629
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   630
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   631
  $this->token = Smarty_Internal_Templateparser::TP_EQUALS;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   632
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   633
    function yy_r2_20($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   634
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   635
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   636
  $this->token = Smarty_Internal_Templateparser::TP_NOTEQUALS;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   637
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   638
    function yy_r2_22($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   639
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   640
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   641
  $this->token = Smarty_Internal_Templateparser::TP_GREATEREQUAL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   642
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   643
    function yy_r2_24($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   644
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   645
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   646
  $this->token = Smarty_Internal_Templateparser::TP_LESSEQUAL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   647
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   648
    function yy_r2_26($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   649
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   650
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   651
  $this->token = Smarty_Internal_Templateparser::TP_GREATERTHAN;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   652
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   653
    function yy_r2_27($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   654
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   655
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   656
  $this->token = Smarty_Internal_Templateparser::TP_LESSTHAN;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   657
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   658
    function yy_r2_28($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   659
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   660
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   661
  $this->token = Smarty_Internal_Templateparser::TP_MOD;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   662
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   663
    function yy_r2_29($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   664
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   665
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   666
  $this->token = Smarty_Internal_Templateparser::TP_NOT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   667
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   668
    function yy_r2_30($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   669
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   670
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   671
  $this->token = Smarty_Internal_Templateparser::TP_LAND;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   672
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   673
    function yy_r2_31($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   674
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   675
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   676
  $this->token = Smarty_Internal_Templateparser::TP_LOR;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   677
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   678
    function yy_r2_32($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   679
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   680
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   681
  $this->token = Smarty_Internal_Templateparser::TP_LXOR;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   682
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   683
    function yy_r2_33($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   684
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   685
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   686
  $this->token = Smarty_Internal_Templateparser::TP_ISODDBY;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   687
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   688
    function yy_r2_34($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   689
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   690
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   691
  $this->token = Smarty_Internal_Templateparser::TP_ISNOTODDBY;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   692
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   693
    function yy_r2_35($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   694
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   695
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   696
  $this->token = Smarty_Internal_Templateparser::TP_ISODD;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   697
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   698
    function yy_r2_36($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   699
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   700
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   701
  $this->token = Smarty_Internal_Templateparser::TP_ISNOTODD;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   702
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   703
    function yy_r2_37($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   704
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   705
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   706
  $this->token = Smarty_Internal_Templateparser::TP_ISEVENBY;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   707
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   708
    function yy_r2_38($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   709
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   710
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   711
  $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVENBY;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   712
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   713
    function yy_r2_39($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   714
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   715
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   716
  $this->token = Smarty_Internal_Templateparser::TP_ISEVEN;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   717
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   718
    function yy_r2_40($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   719
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   720
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   721
  $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVEN;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   722
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   723
    function yy_r2_41($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   724
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   725
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   726
  $this->token = Smarty_Internal_Templateparser::TP_ISDIVBY;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   727
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   728
    function yy_r2_42($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   729
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   730
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   731
  $this->token = Smarty_Internal_Templateparser::TP_ISNOTDIVBY;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   732
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   733
    function yy_r2_43($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   734
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   735
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   736
  $this->token = Smarty_Internal_Templateparser::TP_TYPECAST;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   737
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   738
    function yy_r2_47($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   739
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   740
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   741
  $this->token = Smarty_Internal_Templateparser::TP_OPENP;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   742
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   743
    function yy_r2_48($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   744
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   745
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   746
  $this->token = Smarty_Internal_Templateparser::TP_CLOSEP;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   747
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   748
    function yy_r2_49($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   749
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   750
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   751
  $this->token = Smarty_Internal_Templateparser::TP_OPENB;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   752
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   753
    function yy_r2_50($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   754
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   755
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   756
  $this->token = Smarty_Internal_Templateparser::TP_CLOSEB;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   757
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   758
    function yy_r2_51($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   759
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   760
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   761
  $this->token = Smarty_Internal_Templateparser::TP_PTR;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   762
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   763
    function yy_r2_52($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   764
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   765
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   766
  $this->token = Smarty_Internal_Templateparser::TP_APTR;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   767
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   768
    function yy_r2_53($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   769
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   770
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   771
  $this->token = Smarty_Internal_Templateparser::TP_EQUAL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   772
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   773
    function yy_r2_54($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   774
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   775
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   776
  $this->token = Smarty_Internal_Templateparser::TP_INCDEC;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   777
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   778
    function yy_r2_55($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   779
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   780
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   781
  $this->token = Smarty_Internal_Templateparser::TP_UNIMATH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   782
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   783
    function yy_r2_57($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   784
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   785
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   786
  $this->token = Smarty_Internal_Templateparser::TP_MATH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   787
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   788
    function yy_r2_59($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   789
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   790
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   791
  $this->token = Smarty_Internal_Templateparser::TP_DOLLAR;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   792
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   793
    function yy_r2_60($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   794
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   795
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   796
  $this->token = Smarty_Internal_Templateparser::TP_SEMICOLON;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   797
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   798
    function yy_r2_61($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   799
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   800
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   801
  $this->token = Smarty_Internal_Templateparser::TP_DOUBLECOLON;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   802
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   803
    function yy_r2_62($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   804
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   805
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   806
  $this->token = Smarty_Internal_Templateparser::TP_COLON;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   807
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   808
    function yy_r2_63($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   809
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   810
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   811
  $this->token = Smarty_Internal_Templateparser::TP_AT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   812
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   813
    function yy_r2_64($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   814
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   815
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   816
  $this->token = Smarty_Internal_Templateparser::TP_HATCH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   817
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   818
    function yy_r2_65($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   819
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   820
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   821
  $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   822
  $this->yypushstate(self::DOUBLEQUOTEDSTRING);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   823
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   824
    function yy_r2_66($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   825
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   826
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   827
  $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   828
  $this->yypopstate();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   829
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   830
    function yy_r2_67($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   831
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   832
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   833
  $this->token = Smarty_Internal_Templateparser::TP_VERT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   834
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   835
    function yy_r2_68($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   836
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   837
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   838
  $this->token = Smarty_Internal_Templateparser::TP_DOT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   839
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   840
    function yy_r2_69($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   841
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   842
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   843
  $this->token = Smarty_Internal_Templateparser::TP_COMMA;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   844
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   845
    function yy_r2_70($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   846
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   847
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   848
  $this->token = Smarty_Internal_Templateparser::TP_ANDSYM;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   849
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   850
    function yy_r2_71($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   851
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   852
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   853
  $this->token = Smarty_Internal_Templateparser::TP_QMARK;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   854
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   855
    function yy_r2_72($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   856
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   857
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   858
  $this->token = Smarty_Internal_Templateparser::TP_HEX;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   859
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   860
    function yy_r2_73($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   861
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   862
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   863
  // resolve conflicts with shorttag and right_delimiter starting with '='
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   864
  if (substr($this->data, $this->counter + strlen($this->value) - 1, $this->rdel_length) == $this->smarty->right_delimiter) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   865
     preg_match("/\s+/",$this->value,$match);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   866
     $this->value = $match[0];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   867
     $this->token = Smarty_Internal_Templateparser::TP_SPACE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   868
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   869
     $this->token = Smarty_Internal_Templateparser::TP_ATTR;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   870
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   871
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   872
    function yy_r2_74($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   873
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   874
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   875
  $this->token = Smarty_Internal_Templateparser::TP_ID;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   876
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   877
    function yy_r2_75($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   878
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   879
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   880
  $this->token = Smarty_Internal_Templateparser::TP_INTEGER;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   881
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   882
    function yy_r2_76($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   883
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   884
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   885
  $this->token = Smarty_Internal_Templateparser::TP_SPACE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   886
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   887
    function yy_r2_77($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   888
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   889
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   890
  $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   891
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   892
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   893
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   894
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   895
    function yylex3()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   896
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   897
        $tokenMap = array (
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   898
              1 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   899
              2 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   900
              3 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   901
              4 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   902
              5 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   903
              6 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   904
              7 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   905
            );
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   906
        if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   907
            return false; // end of input
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   908
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   909
        $yy_global_pattern = "/\G(".$this->ldel."\\s*literal\\s*".$this->rdel.")|\G(".$this->ldel."\\s*\/literal\\s*".$this->rdel.")|\G(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|\G(\\?>)|\G(<%)|\G(%>)|\G([\S\s])/iS";
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   910
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   911
        do {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   912
            if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   913
                $yysubmatches = $yymatches;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   914
                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   915
                if (!count($yymatches)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   916
                    throw new Exception('Error: lexing failed because a rule matched' .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   917
                        ' an empty string.  Input "' . substr($this->data,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   918
                        $this->counter, 5) . '... state LITERAL');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   919
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   920
                next($yymatches); // skip global match
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   921
                $this->token = key($yymatches); // token number
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   922
                if ($tokenMap[$this->token]) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   923
                    // extract sub-patterns for passing to lex function
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   924
                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   925
                        $tokenMap[$this->token]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   926
                } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   927
                    $yysubmatches = array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   928
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   929
                $this->value = current($yymatches); // token value
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   930
                $r = $this->{'yy_r3_' . $this->token}($yysubmatches);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   931
                if ($r === null) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   932
                    $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   933
                    $this->line += substr_count($this->value, "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   934
                    // accept this token
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   935
                    return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   936
                } elseif ($r === true) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   937
                    // we have changed state
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   938
                    // process this token in the new state
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   939
                    return $this->yylex();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   940
                } elseif ($r === false) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   941
                    $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   942
                    $this->line += substr_count($this->value, "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   943
                    if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   944
                        return false; // end of input
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   945
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   946
                    // skip this token
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   947
                    continue;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   948
                }            } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   949
                throw new Exception('Unexpected input at line' . $this->line .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   950
                    ': ' . $this->data[$this->counter]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   951
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   952
            break;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   953
        } while (true);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   954
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   955
    } // end function
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   956
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   957
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   958
    const LITERAL = 3;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   959
    function yy_r3_1($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   960
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   961
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   962
  $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   963
  $this->yypushstate(self::LITERAL);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   964
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   965
    function yy_r3_2($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   966
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   967
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   968
  $this->token = Smarty_Internal_Templateparser::TP_LITERALEND;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   969
  $this->yypopstate();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   970
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   971
    function yy_r3_3($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   972
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   973
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   974
  if (in_array($this->value, Array('<?', '<?=', '<?php'))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   975
    $this->token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   976
   } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   977
    $this->token = Smarty_Internal_Templateparser::TP_FAKEPHPSTARTTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   978
    $this->value = substr($this->value, 0, 2);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   979
   }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   980
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   981
    function yy_r3_4($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   982
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   983
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   984
  $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   985
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   986
    function yy_r3_5($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   987
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   988
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   989
  $this->token = Smarty_Internal_Templateparser::TP_ASPSTARTTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   990
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   991
    function yy_r3_6($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   992
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   993
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   994
  $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   995
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   996
    function yy_r3_7($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   997
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   998
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   999
  if ($this->mbstring_overload) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1000
    $to = mb_strlen($this->data,'latin1');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1001
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1002
    $to = strlen($this->data);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1003
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1004
  preg_match("/{$this->ldel}\/?literal{$this->rdel}|<\?|<%|\?>|%>/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1005
  if (isset($match[0][1])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1006
    $to = $match[0][1];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1007
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1008
    $this->compiler->trigger_template_error ("missing or misspelled literal closing tag");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1009
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1010
  if ($this->mbstring_overload) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1011
    $this->value = mb_substr($this->data,$this->counter,$to-$this->counter,'latin1');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1012
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1013
    $this->value = substr($this->data,$this->counter,$to-$this->counter);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1014
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1015
  $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1016
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1017
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1018
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1019
    function yylex4()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1020
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1021
        $tokenMap = array (
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1022
              1 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1023
              2 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1024
              4 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1025
              5 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1026
              6 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1027
              7 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1028
              8 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1029
              9 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1030
              10 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1031
              11 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1032
              12 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1033
              13 => 3,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1034
              17 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1035
            );
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1036
        if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1037
            return false; // end of input
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1038
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1039
        $yy_global_pattern = "/\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s{1,})|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(\")|\G(`\\$)|\G(\\$[0-9]*[a-zA-Z_]\\w*)|\G(\\$)|\G(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=(".$this->ldel."|\\$|`\\$|\")))|\G([\S\s])/iS";
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1040
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1041
        do {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1042
            if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1043
                $yysubmatches = $yymatches;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1044
                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1045
                if (!count($yymatches)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1046
                    throw new Exception('Error: lexing failed because a rule matched' .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1047
                        ' an empty string.  Input "' . substr($this->data,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1048
                        $this->counter, 5) . '... state DOUBLEQUOTEDSTRING');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1049
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1050
                next($yymatches); // skip global match
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1051
                $this->token = key($yymatches); // token number
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1052
                if ($tokenMap[$this->token]) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1053
                    // extract sub-patterns for passing to lex function
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1054
                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1055
                        $tokenMap[$this->token]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1056
                } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1057
                    $yysubmatches = array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1058
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1059
                $this->value = current($yymatches); // token value
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1060
                $r = $this->{'yy_r4_' . $this->token}($yysubmatches);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1061
                if ($r === null) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1062
                    $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1063
                    $this->line += substr_count($this->value, "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1064
                    // accept this token
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1065
                    return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1066
                } elseif ($r === true) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1067
                    // we have changed state
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1068
                    // process this token in the new state
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1069
                    return $this->yylex();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1070
                } elseif ($r === false) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1071
                    $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1072
                    $this->line += substr_count($this->value, "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1073
                    if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1074
                        return false; // end of input
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1075
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1076
                    // skip this token
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1077
                    continue;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1078
                }            } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1079
                throw new Exception('Unexpected input at line' . $this->line .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1080
                    ': ' . $this->data[$this->counter]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1081
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1082
            break;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1083
        } while (true);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1084
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1085
    } // end function
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1086
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1087
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1088
    const DOUBLEQUOTEDSTRING = 4;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1089
    function yy_r4_1($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1090
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1091
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1092
  if ($this->smarty->auto_literal) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1093
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1094
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1095
     $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1096
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1097
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1098
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1099
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1100
    function yy_r4_2($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1101
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1102
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1103
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1104
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1105
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1106
     $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1107
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1108
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1109
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1110
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1111
    function yy_r4_4($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1112
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1113
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1114
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1115
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1116
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1117
     $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1118
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1119
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1120
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1121
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1122
    function yy_r4_5($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1123
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1124
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1125
  if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1126
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1127
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1128
     $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1129
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1130
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1131
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1132
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1133
    function yy_r4_6($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1134
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1135
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1136
  if ($this->smarty->auto_literal) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1137
     $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1138
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1139
     $this->token = Smarty_Internal_Templateparser::TP_LDEL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1140
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1141
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1142
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1143
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1144
    function yy_r4_7($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1145
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1146
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1147
  $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1148
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1149
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1150
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1151
    function yy_r4_8($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1152
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1153
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1154
  $this->token = Smarty_Internal_Templateparser::TP_LDEL;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1155
     $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1156
     $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1157
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1158
    function yy_r4_9($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1159
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1160
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1161
  $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1162
  $this->yypopstate();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1163
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1164
    function yy_r4_10($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1165
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1166
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1167
  $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1168
  $this->value = substr($this->value,0,-1);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1169
  $this->yypushstate(self::SMARTY);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1170
  $this->taglineno = $this->line;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1171
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1172
    function yy_r4_11($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1173
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1174
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1175
  $this->token = Smarty_Internal_Templateparser::TP_DOLLARID;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1176
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1177
    function yy_r4_12($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1178
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1179
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1180
  $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1181
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1182
    function yy_r4_13($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1183
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1184
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1185
  $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1186
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1187
    function yy_r4_17($yy_subpatterns)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1188
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1189
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1190
  if ($this->mbstring_overload) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1191
    $to = mb_strlen($this->data,'latin1');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1192
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1193
    $to = strlen($this->data);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1194
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1195
  if ($this->mbstring_overload) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1196
    $this->value = mb_substr($this->data,$this->counter,$to-$this->counter,'latin1');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1197
  } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1198
    $this->value = substr($this->data,$this->counter,$to-$this->counter);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1199
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1200
  $this->token = Smarty_Internal_Templateparser::TP_TEXT;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1201
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1202
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1203
}