$line =
$this->lex->line;
if (isset($args)) { // $line--;
} $match =
preg_split("/\n/",
$this->lex->data
);
$error_text = "Syntax error in config file '{
$this->config->source->filepath
}' on line {
$line} '{
$match[$line-1
]}' ";
if (isset($args)) { // individual error message
$error_text .=
$args;
} else { // exspected token from parser
foreach ($this->parser->
yy_get_expected_tokens($this->parser->yymajor
) as $token) { $exp_token =
$this->parser->yyTokenName
[$token];
if (isset($this->lex->smarty_token_names
[$exp_token])) { // token type from lexer
$expect[] = '"' .
$this->lex->smarty_token_names
[$exp_token] . '"';
} else { // otherwise internal token name
$expect[] =
$this->parser->yyTokenName
[$token];
} } // output parser error message
$error_text .= ' - Unexpected "' .
$this->lex->value . '", expected one of: ' .
implode(' , ',
$expect);
}