diff options
Diffstat (limited to 'library/Smarty/lexer/smarty_internal_configfilelexer.plex')
-rw-r--r-- | library/Smarty/lexer/smarty_internal_configfilelexer.plex | 318 |
1 files changed, 0 insertions, 318 deletions
diff --git a/library/Smarty/lexer/smarty_internal_configfilelexer.plex b/library/Smarty/lexer/smarty_internal_configfilelexer.plex deleted file mode 100644 index 94196be5f..000000000 --- a/library/Smarty/lexer/smarty_internal_configfilelexer.plex +++ /dev/null @@ -1,318 +0,0 @@ -<?php -/** -* Smarty Internal Plugin Configfilelexer -* -* This is the lexer to break the config file source into tokens -* @package Smarty -* @subpackage Config -* @author Uwe Tews -*/ -/** -* Smarty_Internal_Configfilelexer -* -* This is the config file lexer. -* It is generated from the smarty_internal_configfilelexer.plex file -* -* @package Smarty -* @subpackage Compiler -* @author Uwe Tews -*/ -class Smarty_Internal_Configfilelexer -{ - /** - * Source - * - * @var string - */ - public $data; - /** - * byte counter - * - * @var int - */ - public $counter; - /** - * token number - * - * @var int - */ - public $token; - /** - * token value - * - * @var string - */ - public $value; - /** - * current line - * - * @var int - */ - public $line; - /** - * state number - * - * @var int - */ - public $state = 1; - /** - * Smarty object - * - * @var Smarty - */ - public $smarty = null; - /** - * compiler object - * - * @var Smarty_Internal_Config_File_Compiler - */ - private $compiler = null; - /** - * copy of config_booleanize - * - * @var bool - */ - private $configBooleanize = false; - /** - * trace file - * - * @var resource - */ - public $yyTraceFILE; - /** - * trace prompt - * - * @var string - */ - public $yyTracePrompt; - /** - * state names - * - * @var array - */ - public $state_name = array(1 => 'START', 2 => 'VALUE', 3 => 'NAKED_STRING_VALUE', 4 => 'COMMENT', 5 => 'SECTION', 6 => 'TRIPPLE'); - - /** - * storage for assembled token patterns - * - * @var sring - */ - private $yy_global_pattern1 = null; - private $yy_global_pattern2 = null; - private $yy_global_pattern3 = null; - private $yy_global_pattern4 = null; - private $yy_global_pattern5 = null; - private $yy_global_pattern6 = null; - - /** - * token names - * - * @var array - */ - public $smarty_token_names = array( // Text for parser error messages - ); - - /** - * constructor - * - * @param string $data template source - * @param Smarty_Internal_Config_File_Compiler $compiler - */ - function __construct($data, Smarty_Internal_Config_File_Compiler $compiler) - { - // set instance object - self::instance($this); - $this->data = $data . "\n"; //now all lines are \n-terminated - $this->counter = 0; - if (preg_match('/^\xEF\xBB\xBF/', $this->data, $match)) { - $this->counter += strlen($match[0]); - } - $this->line = 1; - $this->compiler = $compiler; - $this->smarty = $compiler->smarty; - $this->configBooleanize = $this->smarty->config_booleanize; - } - - public static function &instance($new_instance = null) - { - static $instance = null; - if (isset($new_instance) && is_object($new_instance)) { - $instance = $new_instance; - } - return $instance; - } - - public function PrintTrace() - { - $this->yyTraceFILE = fopen('php://output', 'w'); - $this->yyTracePrompt = '<br>'; - } - - -/*!lex2php -%input $this->data -%counter $this->counter -%token $this->token -%value $this->value -%line $this->line -commentstart = /#|;/ -openB = /\[/ -closeB = /\]/ -section = /.*?(?=[\.=\[\]\r\n])/ -equal = /=/ -whitespace = /[ \t\r]+/ -dot = /\./ -id = /[0-9]*[a-zA-Z_]\w*/ -newline = /\n/ -single_quoted_string = /'[^'\\]*(?:\\.[^'\\]*)*'(?=[ \t\r]*[\n#;])/ -double_quoted_string = /"[^"\\]*(?:\\.[^"\\]*)*"(?=[ \t\r]*[\n#;])/ -tripple_quotes = /"""/ -tripple_quotes_end = /"""(?=[ \t\r]*[\n#;])/ -text = /[\S\s]/ -float = /\d+\.\d+(?=[ \t\r]*[\n#;])/ -int = /\d+(?=[ \t\r]*[\n#;])/ -maybe_bool = /[a-zA-Z]+(?=[ \t\r]*[\n#;])/ -naked_string = /[^\n]+?(?=[ \t\r]*\n)/ -*/ - -/*!lex2php -%statename START - -commentstart { - $this->token = Smarty_Internal_Configfileparser::TPC_COMMENTSTART; - $this->yypushstate(self::COMMENT); -} -openB { - $this->token = Smarty_Internal_Configfileparser::TPC_OPENB; - $this->yypushstate(self::SECTION); -} -closeB { - $this->token = Smarty_Internal_Configfileparser::TPC_CLOSEB; -} -equal { - $this->token = Smarty_Internal_Configfileparser::TPC_EQUAL; - $this->yypushstate(self::VALUE); -} -whitespace { - return false; -} -newline { - $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE; -} -id { - $this->token = Smarty_Internal_Configfileparser::TPC_ID; -} -text { - $this->token = Smarty_Internal_Configfileparser::TPC_OTHER; -} - -*/ - -/*!lex2php -%statename VALUE - -whitespace { - return false; -} -float { - $this->token = Smarty_Internal_Configfileparser::TPC_FLOAT; - $this->yypopstate(); -} -int { - $this->token = Smarty_Internal_Configfileparser::TPC_INT; - $this->yypopstate(); -} -tripple_quotes { - $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES; - $this->yypushstate(self::TRIPPLE); -} -single_quoted_string { - $this->token = Smarty_Internal_Configfileparser::TPC_SINGLE_QUOTED_STRING; - $this->yypopstate(); -} -double_quoted_string { - $this->token = Smarty_Internal_Configfileparser::TPC_DOUBLE_QUOTED_STRING; - $this->yypopstate(); -} -maybe_bool { - if (!$this->configBooleanize || !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", "no")) ) { - $this->yypopstate(); - $this->yypushstate(self::NAKED_STRING_VALUE); - return true; //reprocess in new state - } else { - $this->token = Smarty_Internal_Configfileparser::TPC_BOOL; - $this->yypopstate(); - } -} -naked_string { - $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING; - $this->yypopstate(); -} -newline { - $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING; - $this->value = ""; - $this->yypopstate(); -} - -*/ - -/*!lex2php -%statename NAKED_STRING_VALUE - -naked_string { - $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING; - $this->yypopstate(); -} - -*/ - -/*!lex2php -%statename COMMENT - -whitespace { - return false; -} -naked_string { - $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING; -} -newline { - $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE; - $this->yypopstate(); -} - -*/ - -/*!lex2php -%statename SECTION - -dot { - $this->token = Smarty_Internal_Configfileparser::TPC_DOT; -} -section { - $this->token = Smarty_Internal_Configfileparser::TPC_SECTION; - $this->yypopstate(); -} - -*/ -/*!lex2php -%statename TRIPPLE - -tripple_quotes_end { - $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES_END; - $this->yypopstate(); - $this->yypushstate(self::START); -} -text { - $to = strlen($this->data); - preg_match("/\"\"\"[ \t\r]*[\n#;]/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter); - if (isset($match[0][1])) { - $to = $match[0][1]; - } else { - $this->compiler->trigger_template_error ("missing or misspelled literal closing tag"); - } - $this->value = substr($this->data,$this->counter,$to-$this->counter); - $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_TEXT; -} -*/ - -} |