<?php
/**
* Smarty Internal Plugin Templateparser
*
* This is the template parser.
* It is generated from the internal.templateparser.y file
* @package Smarty
* @subpackage Compiler
* @author Uwe Tews
*/
class TP_yyToken implements ArrayAccess
{
public $string = '';
public $metadata = array();
function __construct($s, $m = array())
{
if ($s instanceof TP_yyToken) {
$this->string = $s->string;
$this->metadata = $s->metadata;
} else {
$this->string = (string) $s;
if ($m instanceof TP_yyToken) {
$this->metadata = $m->metadata;
} elseif (is_array($m)) {
$this->metadata = $m;
}
}
}
function __toString()
{
return $this->_string;
}
function offsetExists($offset)
{
return isset($this->metadata[$offset]);
}
function offsetGet($offset)
{
return $this->metadata[$offset];
}
function offsetSet($offset, $value)
{
if ($offset === null) {
if (isset($value[0])) {
$x = ($value instanceof TP_yyToken) ?
$value->metadata : $value;
$this->metadata = array_merge($this->metadata, $x);
return;
}
$offset = count($this->metadata);
}
if ($value === null) {
return;
}
if ($value instanceof TP_yyToken) {
if ($value->metadata) {
$this->metadata[$offset] = $value->metadata;
}
} elseif ($value) {
$this->metadata[$offset] = $value;
}
}
function offsetUnset($offset)
{
unset($this->metadata[$offset]);
}
}
class TP_yyStackEntry
{
public $stateno; /* The state-number */
public $major; /* The major token value. This is the code
** number for the token at this stack level */
public $minor; /* The user-supplied minor token value. This
** is the value of the token */
};
#line 12 "smarty_internal_templateparser.y"
class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
{
#line 14 "smarty_internal_templateparser.y"
const Err1 = "Security error: Call to private object member not allowed";
const Err2 = "Security error: Call to dynamic object member not allowed";
const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
// states whether the parse was successful or not
public $successful = true;
public $retvalue = 0;
private $lex;
private $internalError = false;
function __construct($lex, $compiler) {
$this->lex = $lex;
$this->compiler = $compiler;
$this->smarty = $this->compiler->smarty;
$this->template = $this->compiler->template;
$this->compiler->has_variable_string = false;
$this->compiler->prefix_code = array();
$this->prefix_number = 0;
$this->block_nesting_level = 0;
if ($this->security = isset($this->smarty->security_policy)) {
$this->php_handling = $this->smarty->security_policy->php_handling;
} else {
$this->php_handling = $this->smarty->php_handling;
}
$this->is_xml = false;
$this->asp_tags = (ini_get('asp_tags') != '0');
$this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
}
public static function escape_start_tag($tag_text) {
$tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
return $tag;
}
public static function escape_end_tag($tag_text) {
return '?<?php ?>>';
}
public function compileVariable($variable) {
if (strpos($variable,'(') == 0) {
// not a variable variable
$var = trim($variable,'\'');
$this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable($var, null, true, false)->nocache;
$this->template->properties['variables'][$var] = $this->compiler->tag_nocache|$this->compiler->nocache;
}
// return '(isset($_smarty_tpl->tpl_vars['. $variable .'])?$_smarty_tpl->tpl_vars['. $variable .']->value:$_smarty_tpl->getVariable('. $variable .')->value)';
return '$_smarty_tpl->tpl_vars['. $variable .']->value';
}
#line 131 "smarty_internal_templateparser.php"
const TP_VERT = 1;
const TP_COLON = 2;
const TP_COMMENT = 3;
const TP_PHPSTARTTAG = 4;
const TP_PHPENDTAG = 5;
const TP_ASPSTARTTAG = 6;
const TP_ASPENDTAG = 7;
const TP_FAKEPHPSTARTTAG = 8;
const TP_XMLTAG = 9;
const TP_OTHER = 10;
const TP_LINEBREAK = 11;
const TP_LITERALSTART = 12;
const TP_LITERALEND = 13;
const TP_LITERAL = 14;
const TP_LDEL = 15;
const TP_RDEL = 16;
const TP_DOLLAR = 17;
const TP_ID = 18;
const TP_EQUAL = 19;
const TP_PTR = 20;
const TP_LDELIF = 21;
const TP_LDELFOR = 22;
const TP_SEMICOLON = 23;
const TP_INCDEC = 24;
const TP_TO = 25;
const TP_STEP = 26;
const TP_LDELFOREACH = 27;
const TP_SPACE = 28;
const TP_AS = 29;
const TP_APTR = 30;
const TP_LDELSETFILTER = 31;
const TP_SMARTYBLOCKCHILD = 32;
const TP_LDELSLASH = 33;
const TP_INTEGER = 34;
const TP_COMMA = 35;
const TP_OPENP = 36;
const TP_CLOSEP = 37;
const TP_MATH = 38;
const TP_UNIMATH = 39;
const TP_ANDSYM = 40;
const TP_ISIN = 41;
const TP_ISDIVBY = 42;
const TP_ISNOTDIVBY = 43;
const TP_ISEVEN = 44;
const TP_ISNOTEVEN = 45;
const TP_ISEVENBY = 46;
const TP_ISNOTEVENBY = 47;
const TP_ISODD = 48;
const TP_ISNOTODD = 49;
const TP_ISODDBY = 50;
const TP_ISNOTODDBY = 51;
const TP_INSTANCEOF = 52;
const TP_QMARK = 53;
const TP_NOT = 54;
const TP_TYPECAST = 55;
const TP_HEX = 56;
const TP_DOT = 57;
const TP_SINGLEQUOTESTRING = 58;
const TP_DOUBLECOLON = 59;
const TP_AT = 60;
const TP_HATCH = 61;
const TP_OPENB = 62;
const TP_CLOSEB = 63;
const TP_EQUALS = 64;
const TP_NOTEQUALS = 65;
const TP_GREATERTHAN = 66;
const TP_LESSTHAN
郭某某某
- 粉丝: 1
- 资源: 29
最新资源
- 智慧公益新篇:SSM 架构下 Java Web 与 JSP 打造公益网站的创新实践
- 计数排序算法的时间复杂度与实现
- win11 用回经典菜单,小巧好用不占内存
- ESP32 modbus RTU程序 用arduino IDE开发的ESP32 modbus RTU slave程序 不是库文件,直接用子程序编写,已注释了代码,容易看懂和移植 已通讯连接成功
- 软件开发专业以C语音作为毕业设计大纲.txt
- “西贝”小说网站的设计与实现_6161u1b9.zip
- SSM 架构下 Java 与 JSP 驱动的客户关系管理系统设计与突破
- 基于java语言的医疗设备管理系统_434p9oe1--论文.zip
- 基于mpc模型预测轨迹跟踪控制,总共包含两套仿真,一套是不加入四轮侧偏角软约束,一套是加入四轮侧偏角的软约束控制,通过carsim与simulink联合仿真发现加入侧偏角软约束在进行轨迹跟踪时,能够通
- 基于Spring Boot的企业员工管理设计与实现_8rxd27hj.zip
- 基于spring boot的学生在线训练考试系统设计与实现_w8w5x0a2.zip
- 基于spring boot的软件学院学生成绩管理系统的设计与实现_2fi982m1--论文.zip
- 基于Spring Boot装修公司管理平台的设计与实现_mcpckeqv.zip
- 基于spring boot框架药品购买系统_a7imn57w.zip
- 基于SpringBoot+Vue的软件产品展示销售系统_i522mnd5.zip
- 基于springboot的城乡商城协作系统(编号:57734107).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈