packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/includes/smarty/sysplugins/smarty_internal_configfileparser.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 Configfileparser
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 config file parser.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     6
* It is generated from the internal.configfileparser.y file
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     7
* @package Smarty
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     8
* @subpackage Compiler
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     9
* @author Uwe Tews
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    10
*/
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    11
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    12
class TPC_yyToken implements ArrayAccess
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    13
{
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    14
    public $string = '';
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    15
    public $metadata = array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    16
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    17
    function __construct($s, $m = array())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    18
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    19
        if ($s instanceof TPC_yyToken) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    20
            $this->string = $s->string;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    21
            $this->metadata = $s->metadata;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    22
        } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    23
            $this->string = (string) $s;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    24
            if ($m instanceof TPC_yyToken) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    25
                $this->metadata = $m->metadata;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    26
            } elseif (is_array($m)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    27
                $this->metadata = $m;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    28
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    29
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    30
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    31
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    32
    function __toString()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    33
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    34
        return $this->_string;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    35
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    36
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    37
    function offsetExists($offset)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    38
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    39
        return isset($this->metadata[$offset]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    40
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    41
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    42
    function offsetGet($offset)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    43
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    44
        return $this->metadata[$offset];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    45
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    46
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    47
    function offsetSet($offset, $value)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    48
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    49
        if ($offset === null) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    50
            if (isset($value[0])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    51
                $x = ($value instanceof TPC_yyToken) ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    52
                    $value->metadata : $value;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    53
                $this->metadata = array_merge($this->metadata, $x);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    54
                return;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    55
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    56
            $offset = count($this->metadata);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    57
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    58
        if ($value === null) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    59
            return;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    60
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    61
        if ($value instanceof TPC_yyToken) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    62
            if ($value->metadata) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    63
                $this->metadata[$offset] = $value->metadata;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    64
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    65
        } elseif ($value) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    66
            $this->metadata[$offset] = $value;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    67
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    68
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    69
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    70
    function offsetUnset($offset)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    71
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    72
        unset($this->metadata[$offset]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    73
    }
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
class TPC_yyStackEntry
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    77
{
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    78
    public $stateno;       /* The state-number */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    79
    public $major;         /* The major token value.  This is the code
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    80
                     ** number for the token at this stack level */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    81
    public $minor; /* The user-supplied minor token value.  This
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    82
                     ** is the value of the token  */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    83
};
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    84
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    85
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    86
#line 12 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    87
class Smarty_Internal_Configfileparser#line 79 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    88
{
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    89
#line 14 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    90
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    91
    // states whether the parse was successful or not
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    92
    public $successful = true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    93
    public $retvalue = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    94
    private $lex;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    95
    private $internalError = false;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    96
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    97
    function __construct($lex, $compiler) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    98
        // set instance object
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    99
        self::instance($this);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   100
        $this->lex = $lex;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   101
        $this->smarty = $compiler->smarty;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   102
        $this->compiler = $compiler;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   103
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   104
    public static function &instance($new_instance = null)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   105
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   106
        static $instance = null;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   107
        if (isset($new_instance) && is_object($new_instance))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   108
            $instance = $new_instance;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   109
        return $instance;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   110
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   111
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   112
    private function parse_bool($str) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   113
        if (in_array(strtolower($str) ,array('on','yes','true'))) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   114
            $res = true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   115
        } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   116
            $res = false;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   117
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   118
        return $res;
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
    private static $escapes_single = Array('\\' => '\\',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   122
                                          '\'' => '\'');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   123
    private static function parse_single_quoted_string($qstr) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   124
        $escaped_string = substr($qstr, 1, strlen($qstr)-2); //remove outer quotes
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   125
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   126
        $ss = preg_split('/(\\\\.)/', $escaped_string, -1, PREG_SPLIT_DELIM_CAPTURE);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   127
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   128
        $str = "";
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   129
        foreach ($ss as $s) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   130
            if (strlen($s) === 2 && $s[0] === '\\') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   131
                if (isset(self::$escapes_single[$s[1]])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   132
                    $s = self::$escapes_single[$s[1]];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   133
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   134
             }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   135
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   136
             $str .= $s;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   137
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   138
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   139
        return $str;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   140
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   141
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   142
    private static function parse_double_quoted_string($qstr) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   143
        $inner_str = substr($qstr, 1, strlen($qstr)-2);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   144
        return stripcslashes($inner_str);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   145
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   146
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   147
    private static function parse_tripple_double_quoted_string($qstr) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   148
        return stripcslashes($qstr);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   149
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   150
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   151
    private function set_var(Array $var, Array &$target_array) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   152
        $key = $var["key"];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   153
        $value = $var["value"];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   154
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   155
        if ($this->smarty->config_overwrite || !isset($target_array['vars'][$key])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   156
            $target_array['vars'][$key] = $value;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   157
        } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   158
            settype($target_array['vars'][$key], 'array');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   159
            $target_array['vars'][$key][] = $value;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   160
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   161
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   162
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   163
    private function add_global_vars(Array $vars) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   164
        if (!isset($this->compiler->config_data['vars'])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   165
      $this->compiler->config_data['vars'] = Array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   166
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   167
        foreach ($vars as $var) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   168
            $this->set_var($var, $this->compiler->config_data);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   169
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   170
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   171
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   172
    private function add_section_vars($section_name, Array $vars) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   173
        if (!isset($this->compiler->config_data['sections'][$section_name]['vars'])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   174
            $this->compiler->config_data['sections'][$section_name]['vars'] = Array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   175
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   176
        foreach ($vars as $var) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   177
            $this->set_var($var, $this->compiler->config_data['sections'][$section_name]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   178
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   179
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   180
#line 173 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   181
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   182
    const TPC_OPENB                          =  1;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   183
    const TPC_SECTION                        =  2;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   184
    const TPC_CLOSEB                         =  3;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   185
    const TPC_DOT                            =  4;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   186
    const TPC_ID                             =  5;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   187
    const TPC_EQUAL                          =  6;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   188
    const TPC_FLOAT                          =  7;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   189
    const TPC_INT                            =  8;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   190
    const TPC_BOOL                           =  9;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   191
    const TPC_SINGLE_QUOTED_STRING           = 10;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   192
    const TPC_DOUBLE_QUOTED_STRING           = 11;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   193
    const TPC_TRIPPLE_QUOTES                 = 12;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   194
    const TPC_TRIPPLE_TEXT                   = 13;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   195
    const TPC_TRIPPLE_QUOTES_END             = 14;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   196
    const TPC_NAKED_STRING                   = 15;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   197
    const TPC_OTHER                          = 16;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   198
    const TPC_NEWLINE                        = 17;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   199
    const TPC_COMMENTSTART                   = 18;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   200
    const YY_NO_ACTION = 60;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   201
    const YY_ACCEPT_ACTION = 59;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   202
    const YY_ERROR_ACTION = 58;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   203
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   204
    const YY_SZ_ACTTAB = 38;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   205
static public $yy_action = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   206
 /*     0 */    29,   30,   34,   33,   24,   13,   19,   25,   35,   21,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   207
 /*    10 */    59,    8,    3,    1,   20,   12,   14,   31,   20,   12,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   208
 /*    20 */    15,   17,   23,   18,   27,   26,    4,    5,    6,   32,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   209
 /*    30 */     2,   11,   28,   22,   16,    9,    7,   10,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   210
    );
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   211
    static public $yy_lookahead = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   212
 /*     0 */     7,    8,    9,   10,   11,   12,    5,   27,   15,   16,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   213
 /*    10 */    20,   21,   23,   23,   17,   18,   13,   14,   17,   18,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   214
 /*    20 */    15,    2,   17,    4,   25,   26,    6,    3,    3,   14,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   215
 /*    30 */    23,    1,   24,   17,    2,   25,   22,   25,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   216
);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   217
    const YY_SHIFT_USE_DFLT = -8;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   218
    const YY_SHIFT_MAX = 19;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   219
    static public $yy_shift_ofst = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   220
 /*     0 */    -8,    1,    1,    1,   -7,   -3,   -3,   30,   -8,   -8,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   221
 /*    10 */    -8,   19,    5,    3,   15,   16,   24,   25,   32,   20,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   222
);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   223
    const YY_REDUCE_USE_DFLT = -21;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   224
    const YY_REDUCE_MAX = 10;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   225
    static public $yy_reduce_ofst = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   226
 /*     0 */   -10,   -1,   -1,   -1,  -20,   10,   12,    8,   14,    7,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   227
 /*    10 */   -11,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   228
);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   229
    static public $yyExpectedTokens = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   230
        /* 0 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   231
        /* 1 */ array(5, 17, 18, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   232
        /* 2 */ array(5, 17, 18, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   233
        /* 3 */ array(5, 17, 18, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   234
        /* 4 */ array(7, 8, 9, 10, 11, 12, 15, 16, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   235
        /* 5 */ array(17, 18, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   236
        /* 6 */ array(17, 18, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   237
        /* 7 */ array(1, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   238
        /* 8 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   239
        /* 9 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   240
        /* 10 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   241
        /* 11 */ array(2, 4, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   242
        /* 12 */ array(15, 17, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   243
        /* 13 */ array(13, 14, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   244
        /* 14 */ array(14, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   245
        /* 15 */ array(17, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   246
        /* 16 */ array(3, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   247
        /* 17 */ array(3, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   248
        /* 18 */ array(2, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   249
        /* 19 */ array(6, ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   250
        /* 20 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   251
        /* 21 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   252
        /* 22 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   253
        /* 23 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   254
        /* 24 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   255
        /* 25 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   256
        /* 26 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   257
        /* 27 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   258
        /* 28 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   259
        /* 29 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   260
        /* 30 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   261
        /* 31 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   262
        /* 32 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   263
        /* 33 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   264
        /* 34 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   265
        /* 35 */ array(),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   266
);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   267
    static public $yy_default = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   268
 /*     0 */    44,   37,   41,   40,   58,   58,   58,   36,   39,   44,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   269
 /*    10 */    44,   58,   58,   58,   58,   58,   58,   58,   58,   58,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   270
 /*    20 */    55,   54,   57,   56,   50,   45,   43,   42,   38,   46,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   271
 /*    30 */    47,   52,   51,   49,   48,   53,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   272
);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   273
    const YYNOCODE = 29;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   274
    const YYSTACKDEPTH = 100;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   275
    const YYNSTATE = 36;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   276
    const YYNRULE = 22;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   277
    const YYERRORSYMBOL = 19;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   278
    const YYERRSYMDT = 'yy0';
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   279
    const YYFALLBACK = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   280
    static public $yyFallback = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   281
    );
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   282
    static function Trace($TraceFILE, $zTracePrompt)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   283
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   284
        if (!$TraceFILE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   285
            $zTracePrompt = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   286
        } elseif (!$zTracePrompt) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   287
            $TraceFILE = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   288
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   289
        self::$yyTraceFILE = $TraceFILE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   290
        self::$yyTracePrompt = $zTracePrompt;
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
    static function PrintTrace()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   294
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   295
        self::$yyTraceFILE = fopen('php://output', 'w');
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   296
        self::$yyTracePrompt = '<br>';
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   297
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   298
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   299
    static public $yyTraceFILE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   300
    static public $yyTracePrompt;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   301
    public $yyidx;                    /* Index of top element in stack */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   302
    public $yyerrcnt;                 /* Shifts left before out of the error */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   303
    public $yystack = array();  /* The parser's stack */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   304
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   305
    public $yyTokenName = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   306
  '$',             'OPENB',         'SECTION',       'CLOSEB',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   307
  'DOT',           'ID',            'EQUAL',         'FLOAT',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   308
  'INT',           'BOOL',          'SINGLE_QUOTED_STRING',  'DOUBLE_QUOTED_STRING',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   309
  'TRIPPLE_QUOTES',  'TRIPPLE_TEXT',  'TRIPPLE_QUOTES_END',  'NAKED_STRING',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   310
  'OTHER',         'NEWLINE',       'COMMENTSTART',  'error',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   311
  'start',         'global_vars',   'sections',      'var_list',
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   312
  'section',       'newline',       'var',           'value',
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
    static public $yyRuleName = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   316
 /*   0 */ "start ::= global_vars sections",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   317
 /*   1 */ "global_vars ::= var_list",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   318
 /*   2 */ "sections ::= sections section",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   319
 /*   3 */ "sections ::=",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   320
 /*   4 */ "section ::= OPENB SECTION CLOSEB newline var_list",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   321
 /*   5 */ "section ::= OPENB DOT SECTION CLOSEB newline var_list",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   322
 /*   6 */ "var_list ::= var_list newline",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   323
 /*   7 */ "var_list ::= var_list var",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   324
 /*   8 */ "var_list ::=",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   325
 /*   9 */ "var ::= ID EQUAL value",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   326
 /*  10 */ "value ::= FLOAT",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   327
 /*  11 */ "value ::= INT",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   328
 /*  12 */ "value ::= BOOL",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   329
 /*  13 */ "value ::= SINGLE_QUOTED_STRING",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   330
 /*  14 */ "value ::= DOUBLE_QUOTED_STRING",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   331
 /*  15 */ "value ::= TRIPPLE_QUOTES TRIPPLE_TEXT TRIPPLE_QUOTES_END",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   332
 /*  16 */ "value ::= TRIPPLE_QUOTES TRIPPLE_QUOTES_END",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   333
 /*  17 */ "value ::= NAKED_STRING",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   334
 /*  18 */ "value ::= OTHER",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   335
 /*  19 */ "newline ::= NEWLINE",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   336
 /*  20 */ "newline ::= COMMENTSTART NEWLINE",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   337
 /*  21 */ "newline ::= COMMENTSTART NAKED_STRING NEWLINE",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   338
    );
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   339
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   340
    function tokenName($tokenType)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   341
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   342
        if ($tokenType === 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   343
            return 'End of Input';
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   344
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   345
        if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   346
            return $this->yyTokenName[$tokenType];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   347
        } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   348
            return "Unknown";
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   349
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   350
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   351
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   352
    static function yy_destructor($yymajor, $yypminor)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   353
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   354
        switch ($yymajor) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   355
            default:  break;   /* If no destructor action specified: do nothing */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   356
        }
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
    function yy_pop_parser_stack()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   360
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   361
        if (!count($this->yystack)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   362
            return;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   363
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   364
        $yytos = array_pop($this->yystack);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   365
        if (self::$yyTraceFILE && $this->yyidx >= 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   366
            fwrite(self::$yyTraceFILE,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   367
                self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   368
                    "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   369
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   370
        $yymajor = $yytos->major;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   371
        self::yy_destructor($yymajor, $yytos->minor);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   372
        $this->yyidx--;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   373
        return $yymajor;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   374
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   375
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   376
    function __destruct()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   377
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   378
        while ($this->yystack !== Array()) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   379
            $this->yy_pop_parser_stack();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   380
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   381
        if (is_resource(self::$yyTraceFILE)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   382
            fclose(self::$yyTraceFILE);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   383
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   384
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   385
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   386
    function yy_get_expected_tokens($token)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   387
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   388
        $state = $this->yystack[$this->yyidx]->stateno;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   389
        $expected = self::$yyExpectedTokens[$state];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   390
        if (in_array($token, self::$yyExpectedTokens[$state], true)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   391
            return $expected;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   392
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   393
        $stack = $this->yystack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   394
        $yyidx = $this->yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   395
        do {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   396
            $yyact = $this->yy_find_shift_action($token);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   397
            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   398
                // reduce action
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   399
                $done = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   400
                do {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   401
                    if ($done++ == 100) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   402
                        $this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   403
                        $this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   404
                        // too much recursion prevents proper detection
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   405
                        // so give up
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   406
                        return array_unique($expected);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   407
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   408
                    $yyruleno = $yyact - self::YYNSTATE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   409
                    $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   410
                    $nextstate = $this->yy_find_reduce_action(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   411
                        $this->yystack[$this->yyidx]->stateno,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   412
                        self::$yyRuleInfo[$yyruleno]['lhs']);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   413
                    if (isset(self::$yyExpectedTokens[$nextstate])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   414
		        $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   415
                            if (in_array($token,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   416
                                  self::$yyExpectedTokens[$nextstate], true)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   417
                            $this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   418
                            $this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   419
                            return array_unique($expected);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   420
                        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   421
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   422
                    if ($nextstate < self::YYNSTATE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   423
                        // we need to shift a non-terminal
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   424
                        $this->yyidx++;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   425
                        $x = new TPC_yyStackEntry;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   426
                        $x->stateno = $nextstate;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   427
                        $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   428
                        $this->yystack[$this->yyidx] = $x;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   429
                        continue 2;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   430
                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   431
                        $this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   432
                        $this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   433
                        // the last token was just ignored, we can't accept
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   434
                        // by ignoring input, this is in essence ignoring a
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   435
                        // syntax error!
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   436
                        return array_unique($expected);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   437
                    } elseif ($nextstate === self::YY_NO_ACTION) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   438
                        $this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   439
                        $this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   440
                        // input accepted, but not shifted (I guess)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   441
                        return $expected;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   442
                    } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   443
                        $yyact = $nextstate;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   444
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   445
                } while (true);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   446
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   447
            break;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   448
        } while (true);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   449
	$this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   450
	$this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   451
        return array_unique($expected);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   452
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   453
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   454
    function yy_is_expected_token($token)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   455
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   456
        if ($token === 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   457
            return true; // 0 is not part of this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   458
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   459
        $state = $this->yystack[$this->yyidx]->stateno;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   460
        if (in_array($token, self::$yyExpectedTokens[$state], true)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   461
            return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   462
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   463
        $stack = $this->yystack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   464
        $yyidx = $this->yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   465
        do {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   466
            $yyact = $this->yy_find_shift_action($token);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   467
            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   468
                // reduce action
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   469
                $done = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   470
                do {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   471
                    if ($done++ == 100) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   472
                        $this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   473
                        $this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   474
                        // too much recursion prevents proper detection
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   475
                        // so give up
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   476
                        return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   477
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   478
                    $yyruleno = $yyact - self::YYNSTATE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   479
                    $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   480
                    $nextstate = $this->yy_find_reduce_action(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   481
                        $this->yystack[$this->yyidx]->stateno,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   482
                        self::$yyRuleInfo[$yyruleno]['lhs']);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   483
                    if (isset(self::$yyExpectedTokens[$nextstate]) &&
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   484
                          in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   485
                        $this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   486
                        $this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   487
                        return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   488
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   489
                    if ($nextstate < self::YYNSTATE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   490
                        // we need to shift a non-terminal
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   491
                        $this->yyidx++;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   492
                        $x = new TPC_yyStackEntry;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   493
                        $x->stateno = $nextstate;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   494
                        $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   495
                        $this->yystack[$this->yyidx] = $x;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   496
                        continue 2;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   497
                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   498
                        $this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   499
                        $this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   500
                        if (!$token) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   501
                            // end of input: this is valid
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   502
                            return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   503
                        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   504
                        // the last token was just ignored, we can't accept
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   505
                        // by ignoring input, this is in essence ignoring a
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   506
                        // syntax error!
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   507
                        return false;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   508
                    } elseif ($nextstate === self::YY_NO_ACTION) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   509
                        $this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   510
                        $this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   511
                        // input accepted, but not shifted (I guess)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   512
                        return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   513
                    } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   514
                        $yyact = $nextstate;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   515
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   516
                } while (true);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   517
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   518
            break;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   519
        } while (true);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   520
        $this->yyidx = $yyidx;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   521
        $this->yystack = $stack;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   522
        return true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   523
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   524
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   525
   function yy_find_shift_action($iLookAhead)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   526
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   527
        $stateno = $this->yystack[$this->yyidx]->stateno;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   528
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   529
        /* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   530
        if (!isset(self::$yy_shift_ofst[$stateno])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   531
            // no shift actions
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   532
            return self::$yy_default[$stateno];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   533
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   534
        $i = self::$yy_shift_ofst[$stateno];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   535
        if ($i === self::YY_SHIFT_USE_DFLT) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   536
            return self::$yy_default[$stateno];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   537
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   538
        if ($iLookAhead == self::YYNOCODE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   539
            return self::YY_NO_ACTION;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   540
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   541
        $i += $iLookAhead;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   542
        if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   543
              self::$yy_lookahead[$i] != $iLookAhead) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   544
            if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   545
                   && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   546
                if (self::$yyTraceFILE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   547
                    fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   548
                        $this->yyTokenName[$iLookAhead] . " => " .
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   549
                        $this->yyTokenName[$iFallback] . "\n");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   550
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   551
                return $this->yy_find_shift_action($iFallback);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   552
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   553
            return self::$yy_default[$stateno];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   554
        } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   555
            return self::$yy_action[$i];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   556
        }
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
    function yy_find_reduce_action($stateno, $iLookAhead)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   560
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   561
        /* $stateno = $this->yystack[$this->yyidx]->stateno; */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   562
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   563
        if (!isset(self::$yy_reduce_ofst[$stateno])) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   564
            return self::$yy_default[$stateno];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   565
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   566
        $i = self::$yy_reduce_ofst[$stateno];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   567
        if ($i == self::YY_REDUCE_USE_DFLT) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   568
            return self::$yy_default[$stateno];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   569
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   570
        if ($iLookAhead == self::YYNOCODE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   571
            return self::YY_NO_ACTION;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   572
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   573
        $i += $iLookAhead;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   574
        if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   575
              self::$yy_lookahead[$i] != $iLookAhead) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   576
            return self::$yy_default[$stateno];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   577
        } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   578
            return self::$yy_action[$i];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   579
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   580
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   581
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   582
    function yy_shift($yyNewState, $yyMajor, $yypMinor)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   583
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   584
        $this->yyidx++;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   585
        if ($this->yyidx >= self::YYSTACKDEPTH) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   586
            $this->yyidx--;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   587
            if (self::$yyTraceFILE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   588
                fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   589
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   590
            while ($this->yyidx >= 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   591
                $this->yy_pop_parser_stack();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   592
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   593
#line 125 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   594
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   595
    $this->internalError = true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   596
    $this->compiler->trigger_config_file_error("Stack overflow in configfile parser");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   597
#line 593 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   598
            return;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   599
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   600
        $yytos = new TPC_yyStackEntry;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   601
        $yytos->stateno = $yyNewState;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   602
        $yytos->major = $yyMajor;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   603
        $yytos->minor = $yypMinor;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   604
        array_push($this->yystack, $yytos);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   605
        if (self::$yyTraceFILE && $this->yyidx > 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   606
            fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   607
                $yyNewState);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   608
            fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   609
            for($i = 1; $i <= $this->yyidx; $i++) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   610
                fprintf(self::$yyTraceFILE, " %s",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   611
                    $this->yyTokenName[$this->yystack[$i]->major]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   612
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   613
            fwrite(self::$yyTraceFILE,"\n");
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
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   617
    static public $yyRuleInfo = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   618
  array( 'lhs' => 20, 'rhs' => 2 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   619
  array( 'lhs' => 21, 'rhs' => 1 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   620
  array( 'lhs' => 22, 'rhs' => 2 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   621
  array( 'lhs' => 22, 'rhs' => 0 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   622
  array( 'lhs' => 24, 'rhs' => 5 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   623
  array( 'lhs' => 24, 'rhs' => 6 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   624
  array( 'lhs' => 23, 'rhs' => 2 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   625
  array( 'lhs' => 23, 'rhs' => 2 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   626
  array( 'lhs' => 23, 'rhs' => 0 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   627
  array( 'lhs' => 26, 'rhs' => 3 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   628
  array( 'lhs' => 27, 'rhs' => 1 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   629
  array( 'lhs' => 27, 'rhs' => 1 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   630
  array( 'lhs' => 27, 'rhs' => 1 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   631
  array( 'lhs' => 27, 'rhs' => 1 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   632
  array( 'lhs' => 27, 'rhs' => 1 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   633
  array( 'lhs' => 27, 'rhs' => 3 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   634
  array( 'lhs' => 27, 'rhs' => 2 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   635
  array( 'lhs' => 27, 'rhs' => 1 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   636
  array( 'lhs' => 27, 'rhs' => 1 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   637
  array( 'lhs' => 25, 'rhs' => 1 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   638
  array( 'lhs' => 25, 'rhs' => 2 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   639
  array( 'lhs' => 25, 'rhs' => 3 ),
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   640
    );
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   641
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   642
    static public $yyReduceMap = array(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   643
        0 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   644
        2 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   645
        3 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   646
        19 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   647
        20 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   648
        21 => 0,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   649
        1 => 1,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   650
        4 => 4,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   651
        5 => 5,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   652
        6 => 6,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   653
        7 => 7,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   654
        8 => 8,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   655
        9 => 9,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   656
        10 => 10,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   657
        11 => 11,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   658
        12 => 12,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   659
        13 => 13,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   660
        14 => 14,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   661
        15 => 15,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   662
        16 => 16,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   663
        17 => 17,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   664
        18 => 17,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   665
    );
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   666
#line 131 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   667
    function yy_r0(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   668
    $this->_retvalue = null;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   669
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   670
#line 666 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   671
#line 136 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   672
    function yy_r1(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   673
    $this->add_global_vars($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = null;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   674
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   675
#line 671 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   676
#line 149 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   677
    function yy_r4(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   678
    $this->add_section_vars($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + 0]->minor);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   679
    $this->_retvalue = null;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   680
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   681
#line 677 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   682
#line 154 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   683
    function yy_r5(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   684
    if ($this->smarty->config_read_hidden) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   685
        $this->add_section_vars($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + 0]->minor);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   686
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   687
    $this->_retvalue = null;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   688
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   689
#line 685 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   690
#line 162 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   691
    function yy_r6(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   692
    $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   693
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   694
#line 690 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   695
#line 166 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   696
    function yy_r7(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   697
    $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor, Array($this->yystack[$this->yyidx + 0]->minor));
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   698
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   699
#line 695 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   700
#line 170 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   701
    function yy_r8(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   702
    $this->_retvalue = Array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   703
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   704
#line 700 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   705
#line 176 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   706
    function yy_r9(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   707
    $this->_retvalue = Array("key" => $this->yystack[$this->yyidx + -2]->minor, "value" => $this->yystack[$this->yyidx + 0]->minor);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   708
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   709
#line 705 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   710
#line 181 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   711
    function yy_r10(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   712
    $this->_retvalue = (float) $this->yystack[$this->yyidx + 0]->minor;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   713
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   714
#line 710 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   715
#line 185 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   716
    function yy_r11(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   717
    $this->_retvalue = (int) $this->yystack[$this->yyidx + 0]->minor;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   718
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   719
#line 715 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   720
#line 189 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   721
    function yy_r12(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   722
    $this->_retvalue = $this->parse_bool($this->yystack[$this->yyidx + 0]->minor);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   723
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   724
#line 720 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   725
#line 193 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   726
    function yy_r13(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   727
    $this->_retvalue = self::parse_single_quoted_string($this->yystack[$this->yyidx + 0]->minor);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   728
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   729
#line 725 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   730
#line 197 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   731
    function yy_r14(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   732
    $this->_retvalue = self::parse_double_quoted_string($this->yystack[$this->yyidx + 0]->minor);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   733
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   734
#line 730 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   735
#line 201 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   736
    function yy_r15(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   737
    $this->_retvalue = self::parse_tripple_double_quoted_string($this->yystack[$this->yyidx + -1]->minor);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   738
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   739
#line 735 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   740
#line 205 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   741
    function yy_r16(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   742
    $this->_retvalue = '';
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   743
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   744
#line 740 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   745
#line 209 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   746
    function yy_r17(){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   747
    $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   748
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   749
#line 745 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   750
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   751
    private $_retvalue;
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_reduce($yyruleno)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   754
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   755
        $yymsp = $this->yystack[$this->yyidx];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   756
        if (self::$yyTraceFILE && $yyruleno >= 0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   757
              && $yyruleno < count(self::$yyRuleName)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   758
            fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   759
                self::$yyTracePrompt, $yyruleno,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   760
                self::$yyRuleName[$yyruleno]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   761
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   762
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   763
        $this->_retvalue = $yy_lefthand_side = null;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   764
        if (array_key_exists($yyruleno, self::$yyReduceMap)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   765
            // call the action
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   766
            $this->_retvalue = null;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   767
            $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   768
            $yy_lefthand_side = $this->_retvalue;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   769
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   770
        $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   771
        $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   772
        $this->yyidx -= $yysize;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   773
        for($i = $yysize; $i; $i--) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   774
            // pop all of the right-hand side parameters
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   775
            array_pop($this->yystack);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   776
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   777
        $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   778
        if ($yyact < self::YYNSTATE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   779
            if (!self::$yyTraceFILE && $yysize) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   780
                $this->yyidx++;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   781
                $x = new TPC_yyStackEntry;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   782
                $x->stateno = $yyact;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   783
                $x->major = $yygoto;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   784
                $x->minor = $yy_lefthand_side;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   785
                $this->yystack[$this->yyidx] = $x;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   786
            } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   787
                $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   788
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   789
        } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   790
            $this->yy_accept();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   791
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   792
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   793
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   794
    function yy_parse_failed()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   795
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   796
        if (self::$yyTraceFILE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   797
            fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   798
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   799
        while ($this->yyidx >= 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   800
            $this->yy_pop_parser_stack();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   801
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   802
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   803
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   804
    function yy_syntax_error($yymajor, $TOKEN)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   805
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   806
#line 118 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   807
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   808
    $this->internalError = true;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   809
    $this->yymajor = $yymajor;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   810
    $this->compiler->trigger_config_file_error();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   811
#line 808 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   812
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   813
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   814
    function yy_accept()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   815
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   816
        if (self::$yyTraceFILE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   817
            fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   818
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   819
        while ($this->yyidx >= 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   820
            $stack = $this->yy_pop_parser_stack();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   821
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   822
#line 110 "smarty_internal_configfileparser.y"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   823
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   824
    $this->successful = !$this->internalError;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   825
    $this->internalError = false;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   826
    $this->retvalue = $this->_retvalue;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   827
    //echo $this->retvalue."\n\n";
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   828
#line 826 "smarty_internal_configfileparser.php"
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   829
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   830
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   831
    function doParse($yymajor, $yytokenvalue)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   832
    {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   833
        $yyerrorhit = 0;   /* True if yymajor has invoked an error */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   834
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   835
        if ($this->yyidx === null || $this->yyidx < 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   836
            $this->yyidx = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   837
            $this->yyerrcnt = -1;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   838
            $x = new TPC_yyStackEntry;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   839
            $x->stateno = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   840
            $x->major = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   841
            $this->yystack = array();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   842
            array_push($this->yystack, $x);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   843
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   844
        $yyendofinput = ($yymajor==0);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   845
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   846
        if (self::$yyTraceFILE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   847
            fprintf(self::$yyTraceFILE, "%sInput %s\n",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   848
                self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   849
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   850
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   851
        do {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   852
            $yyact = $this->yy_find_shift_action($yymajor);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   853
            if ($yymajor < self::YYERRORSYMBOL &&
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   854
                  !$this->yy_is_expected_token($yymajor)) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   855
                // force a syntax error
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   856
                $yyact = self::YY_ERROR_ACTION;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   857
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   858
            if ($yyact < self::YYNSTATE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   859
                $this->yy_shift($yyact, $yymajor, $yytokenvalue);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   860
                $this->yyerrcnt--;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   861
                if ($yyendofinput && $this->yyidx >= 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   862
                    $yymajor = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   863
                } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   864
                    $yymajor = self::YYNOCODE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   865
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   866
            } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   867
                $this->yy_reduce($yyact - self::YYNSTATE);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   868
            } elseif ($yyact == self::YY_ERROR_ACTION) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   869
                if (self::$yyTraceFILE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   870
                    fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   871
                        self::$yyTracePrompt);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   872
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   873
                if (self::YYERRORSYMBOL) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   874
                    if ($this->yyerrcnt < 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   875
                        $this->yy_syntax_error($yymajor, $yytokenvalue);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   876
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   877
                    $yymx = $this->yystack[$this->yyidx]->major;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   878
                    if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   879
                        if (self::$yyTraceFILE) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   880
                            fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   881
                                self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   882
                        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   883
                        $this->yy_destructor($yymajor, $yytokenvalue);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   884
                        $yymajor = self::YYNOCODE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   885
                    } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   886
                        while ($this->yyidx >= 0 &&
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   887
                                 $yymx != self::YYERRORSYMBOL &&
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   888
        ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
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->yy_pop_parser_stack();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   891
                        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   892
                        if ($this->yyidx < 0 || $yymajor==0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   893
                            $this->yy_destructor($yymajor, $yytokenvalue);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   894
                            $this->yy_parse_failed();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   895
                            $yymajor = self::YYNOCODE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   896
                        } elseif ($yymx != self::YYERRORSYMBOL) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   897
                            $u2 = 0;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   898
                            $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   899
                        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   900
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   901
                    $this->yyerrcnt = 3;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   902
                    $yyerrorhit = 1;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   903
                } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   904
                    if ($this->yyerrcnt <= 0) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   905
                        $this->yy_syntax_error($yymajor, $yytokenvalue);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   906
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   907
                    $this->yyerrcnt = 3;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   908
                    $this->yy_destructor($yymajor, $yytokenvalue);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   909
                    if ($yyendofinput) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   910
                        $this->yy_parse_failed();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   911
                    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   912
                    $yymajor = self::YYNOCODE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   913
                }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   914
            } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   915
                $this->yy_accept();
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   916
                $yymajor = self::YYNOCODE;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   917
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   918
        } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   919
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   920
}
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   921
?>