summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/tests/bug48693.phpt2
-rw-r--r--Zend/tests/function_arguments_001.phpt2
-rw-r--r--Zend/zend_globals.h1
-rw-r--r--Zend/zend_language_parser.y268
-rw-r--r--Zend/zend_language_scanner.c672
-rw-r--r--Zend/zend_language_scanner.l2
-rw-r--r--Zend/zend_language_scanner_defs.h2
-rw-r--r--main/main.c6
8 files changed, 541 insertions, 414 deletions
diff --git a/Zend/tests/bug48693.phpt b/Zend/tests/bug48693.phpt
index e574346029..7eabe00542 100644
--- a/Zend/tests/bug48693.phpt
+++ b/Zend/tests/bug48693.phpt
@@ -20,7 +20,7 @@ var_dump(
--EXPECTF--
Parse error: syntax error, unexpected '}' in %s(%d) : runtime-created function on line 1
-Parse error: syntax error, unexpected $end in %s(%d) : runtime-created function on line 1
+Parse error: syntax error, unexpected end of file in %s(%d) : runtime-created function on line 1
bool(false)
int(2)
bool(false)
diff --git a/Zend/tests/function_arguments_001.phpt b/Zend/tests/function_arguments_001.phpt
index bf0cd4a206..747bd25766 100644
--- a/Zend/tests/function_arguments_001.phpt
+++ b/Zend/tests/function_arguments_001.phpt
@@ -5,5 +5,5 @@ Argument parsing error #001
function foo($arg1 string) {}
?>
--EXPECTF--
-Parse error: syntax error, unexpected T_STRING, expecting ')' in %sfunction_arguments_001.php on line %d
+Parse error: syntax error, unexpected 'string' (T_STRING), expecting ')' in %sfunction_arguments_001.php on line %d
diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h
index b88fe83604..7a89a0e960 100644
--- a/Zend/zend_globals.h
+++ b/Zend/zend_globals.h
@@ -101,6 +101,7 @@ struct _zend_compiler_globals {
HashTable *auto_globals;
+ zend_bool parse_error;
zend_bool in_compilation;
zend_bool short_tags;
zend_bool asp_tags;
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y
index e3d079c551..e6f49a1595 100644
--- a/Zend/zend_language_parser.y
+++ b/Zend/zend_language_parser.y
@@ -35,6 +35,9 @@
#include "zend_API.h"
#include "zend_constants.h"
+#define YYSIZE_T size_t
+#define yytnamerr zend_yytnamerr
+static YYSIZE_T zend_yytnamerr(char*, const char*);
#define YYERROR_VERBOSE
#define YYSTYPE znode
@@ -49,107 +52,160 @@
%pure_parser
%expect 2
+%token END 0 "end of file"
%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE
+%token T_INCLUDE "include (T_INCLUDE)"
+%token T_INCLUDE_ONCE "include_once (T_INCLUDE_ONCE)"
+%token T_EVAL "eval (T_EVAL)"
+%token T_REQUIRE "require (T_REQUIRE)"
+%token T_REQUIRE_ONCE "require_once (T_REQUIRE_ONCE)"
%left ','
%left T_LOGICAL_OR
+%token T_LOGICAL_OR "or (T_LOGICAL_OR)"
%left T_LOGICAL_XOR
+%token T_LOGICAL_XOR "xor (T_LOGICAL_XOR)"
%left T_LOGICAL_AND
+%token T_LOGICAL_AND "and (T_LOGICAL_AND)"
%right T_PRINT
+%token T_PRINT "print (T_PRINT)"
%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL
+%token T_PLUS_EQUAL "+= (T_PLUS_EQUAL)"
+%token T_MINUS_EQUAL "-= (T_MINUS_EQUAL)"
+%token T_MUL_EQUAL "*= (T_MUL_EQUAL)"
+%token T_DIV_EQUAL "/= (T_DIV_EQUAL)"
+%token T_CONCAT_EQUAL ".= (T_CONCAT_EQUAL)"
+%token T_MOD_EQUAL "%= (T_MOD_EQUAL)"
+%token T_AND_EQUAL "&= (T_AND_EQUAL)"
+%token T_OR_EQUAL "|= (T_OR_EQUAL)"
+%token T_XOR_EQUAL "^= (T_XOR_EQUAL)"
+%token T_SL_EQUAL "<<= (T_SL_EQUAL)"
+%token T_SR_EQUAL ">>= (T_SR_EQUAL)"
%left '?' ':'
%left T_BOOLEAN_OR
-%left T_BOOLEAN_AND
+%token T_BOOLEAN_OR "|| (T_BOOLEAN_OR)"
+%left T_BOOLEAN_AND
+%token T_BOOLEAN_AND "&& (T_BOOLEAN_AND)"
%left '|'
%left '^'
%left '&'
%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL
+%token T_IS_EQUAL "== (T_IS_EQUAL)"
+%token T_IS_NOT_EQUAL "!= (T_IS_NOT_EQUAL)"
+%token T_IS_IDENTICAL "=== (T_IS_IDENTICAL)"
+%token T_IS_NOT_IDENTICAL "!== (T_IS_NOT_IDENTICAL)"
%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL
+%token T_IS_SMALLER_OR_EQUAL "<= (T_IS_SMALLER_OR_EQUAL)"
+%token T_IS_GREATER_OR_EQUAL ">= (T_IS_GREATER_OR_EQUAL)"
%left T_SL T_SR
+%token T_SL "<< (T_SL)"
+%token T_SR ">> (T_SR)"
%left '+' '-' '.'
%left '*' '/' '%'
%right '!'
%nonassoc T_INSTANCEOF
+%token T_INSTANCEOF "instanceof (T_INSTANCEOF)"
%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@'
+%token T_INC "++ (T_INC)"
+%token T_DEC "-- (T_DEC)"
+%token T_INT_CAST "(int) (T_INT_CAST)"
+%token T_SCALAR_CAST "(scalar) (T_SCALAR_CAST)"
+%token T_DOUBLE_CAST "(double) (T_DOUBLE_CAST)"
+%token T_STRING_CAST "(string) (T_STRING_CAST)"
+%token T_ARRAY_CAST "(array) (T_ARRAY_CAST)"
+%token T_OBJECT_CAST "(object) (T_OBJECT_CAST)"
+%token T_BOOL_CAST "(bool) (T_BOOL_CAST)"
+%token T_UNSET_CAST "(unset) (T_UNSET_CAST)"
%right '['
%nonassoc T_NEW T_CLONE
-%token T_EXIT
-%token T_IF
+%token T_NEW "new (T_NEW)"
+%token T_CLONE "clone (T_CLONE)"
+%token T_EXIT "exit (T_EXIT)"
+%token T_IF "if (T_IF)"
%left T_ELSEIF
-%left T_ELSE
-%left T_ENDIF
-%token T_LNUMBER
-%token T_DNUMBER
-%token T_STRING
-%token T_STRING_VARNAME
-%token T_VARIABLE
-%token T_NUM_STRING
+%token T_ELSEIF "elseif (T_ELSEIF)"
+%left T_ELSE
+%token T_ELSE "else (T_ELSE)"
+%left T_ENDIF
+%token T_ENDIF "endif (T_ENDIF)"
+%token T_LNUMBER "integer number (T_LNUMBER)"
+%token T_DNUMBER "floating-point number (T_DNUMBER)"
+%token T_STRING "identifier (T_STRING)"
+%token T_STRING_VARNAME "variable name (T_STRING_VARNAME)"
+%token T_VARIABLE "variable (T_VARIABLE)"
+%token T_NUM_STRING "number (T_NUM_STRING)"
%token T_INLINE_HTML
%token T_CHARACTER
%token T_BAD_CHARACTER
-%token T_ENCAPSED_AND_WHITESPACE
-%token T_CONSTANT_ENCAPSED_STRING
-%token T_ECHO
-%token T_DO
-%token T_WHILE
-%token T_ENDWHILE
-%token T_FOR
-%token T_ENDFOR
-%token T_FOREACH
-%token T_ENDFOREACH
-%token T_DECLARE
-%token T_ENDDECLARE
-%token T_AS
-%token T_SWITCH
-%token T_ENDSWITCH
-%token T_CASE
-%token T_DEFAULT
-%token T_BREAK
-%token T_CONTINUE
-%token T_GOTO
-%token T_FUNCTION
-%token T_CONST
-%token T_RETURN
-%token T_TRY
-%token T_CATCH
-%token T_THROW
-%token T_USE
-%token T_INSTEADOF
-%token T_GLOBAL
+%token T_ENCAPSED_AND_WHITESPACE "quoted-string and whitespace (T_ENCAPSED_AND_WHITESPACE)"
+%token T_CONSTANT_ENCAPSED_STRING "quoted-string (T_CONSTANT_ENCAPSED_STRING)"
+%token T_ECHO "echo (T_ECHO)"
+%token T_DO "do (T_DO)"
+%token T_WHILE "while (T_WHILE)"
+%token T_ENDWHILE "endwhile (T_ENDWHILE)"
+%token T_FOR "for (T_FOR)"
+%token T_ENDFOR "endfor (T_ENDFOR)"
+%token T_FOREACH "foreach (T_FOREACH)"
+%token T_ENDFOREACH "endforeach (T_ENDFOREACH)"
+%token T_DECLARE "declare (T_DECLARE)"
+%token T_ENDDECLARE "enddeclare (T_ENDDECLARE)"
+%token T_AS "as (T_AS)"
+%token T_SWITCH "switch (T_SWITCH)"
+%token T_ENDSWITCH "endswitch (T_ENDSWITCH)"
+%token T_CASE "case (T_CASE)"
+%token T_DEFAULT "default (T_DEFAULT)"
+%token T_BREAK "break (T_BREAK)"
+%token T_CONTINUE "continue (T_CONTINUE)"
+%token T_GOTO "goto (T_GOTO)"
+%token T_FUNCTION "function (T_FUNCTION)"
+%token T_CONST "const (T_CONST)"
+%token T_RETURN "return (T_RETURN)"
+%token T_TRY "try (T_TRY)"
+%token T_CATCH "catch (T_CATCH)"
+%token T_THROW "throw (T_THROW)"
+%token T_USE "use (T_USE)"
+%token T_INSTEADOF "insteadof (T_INSTEADOF)"
+%token T_GLOBAL "global (T_GLOBAL)"
%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC
-%token T_VAR
-%token T_UNSET
-%token T_ISSET
-%token T_EMPTY
-%token T_HALT_COMPILER
-%token T_CLASS
-%token T_TRAIT
-%token T_INTERFACE
-%token T_EXTENDS
-%token T_IMPLEMENTS
-%token T_OBJECT_OPERATOR
-%token T_DOUBLE_ARROW
-%token T_LIST
-%token T_ARRAY
-%token T_CLASS_C
-%token T_METHOD_C
-%token T_FUNC_C
-%token T_LINE
-%token T_FILE
-%token T_COMMENT
-%token T_DOC_COMMENT
-%token T_OPEN_TAG
-%token T_OPEN_TAG_WITH_ECHO
-%token T_CLOSE_TAG
-%token T_WHITESPACE
-%token T_START_HEREDOC
-%token T_END_HEREDOC
-%token T_DOLLAR_OPEN_CURLY_BRACES
-%token T_CURLY_OPEN
-%token T_PAAMAYIM_NEKUDOTAYIM
-%token T_NAMESPACE
-%token T_NS_C
-%token T_DIR
-%token T_NS_SEPARATOR
+%token T_STATIC "static (T_STATIC)"
+%token T_ABSTRACT "abstract (T_ABSTRACT)"
+%token T_FINAL "final (T_FINAL)"
+%token T_PRIVATE "private (T_PRIVATE)"
+%token T_PROTECTED "protected (T_PROTECTED)"
+%token T_PUBLIC "public (T_PUBLIC)"
+%token T_VAR "var (T_VAR)"
+%token T_UNSET "unset (T_UNSET)"
+%token T_ISSET "isset (T_ISSET)"
+%token T_EMPTY "empty (T_EMPTY)"
+%token T_HALT_COMPILER "__halt_compiler (T_HALT_COMPILER)"
+%token T_CLASS "class (T_CLASS)"
+%token T_TRAIT "trait (T_TRAIT)"
+%token T_INTERFACE "interface (T_INTERFACE)"
+%token T_EXTENDS "extends (T_EXTENDS)"
+%token T_IMPLEMENTS "implements (T_IMPLEMENTS)"
+%token T_OBJECT_OPERATOR "-> (T_OBJECT_OPERATOR)"
+%token T_DOUBLE_ARROW "=> (T_DOUBLE_ARROW)"
+%token T_LIST "list (T_LIST)"
+%token T_ARRAY "array (T_ARRAY)"
+%token T_CLASS_C "__CLASS__ (T_CLASS_C)"
+%token T_METHOD_C "__METHOD__ (T_METHOD_C)"
+%token T_FUNC_C "__FUNCTION__ (T_FUNC_C)"
+%token T_LINE "__LINE__ (T_LINE)"
+%token T_FILE "__FILE__ (T_FILE)"
+%token T_COMMENT "comment (T_COMMENT)"
+%token T_DOC_COMMENT "doc comment (T_DOC_COMMENT)"
+%token T_OPEN_TAG "open tag (T_OPEN_TAG)"
+%token T_OPEN_TAG_WITH_ECHO "open tag with echo (T_OPEN_TAG_WITH_ECHO)"
+%token T_CLOSE_TAG "close tag (T_CLOSE_TAG)"
+%token T_WHITESPACE "whitespace (T_WHITESPACE)"
+%token T_START_HEREDOC "heredoc start (T_START_HEREDOC)"
+%token T_END_HEREDOC "heredoc end (T_END_HEREDOC)"
+%token T_DOLLAR_OPEN_CURLY_BRACES "${ (T_DOLLAR_OPEN_CURLY_BRACES)"
+%token T_CURLY_OPEN "{$ (T_CURLY_OPEN)"
+%token T_PAAMAYIM_NEKUDOTAYIM ":: (T_PAAMAYIM_NEKUDOTAYIM)"
+%token T_NAMESPACE "namespace (T_NAMESPACE)"
+%token T_NS_C "__NAMESPACE__ (T_NS_C)"
+%token T_DIR "__DIR__ (T_DIR)"
+%token T_NS_SEPARATOR "\\ (T_NS_SEPARATOR)"
%% /* Rules */
@@ -1079,6 +1135,70 @@ class_constant:
%%
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+ quotes and backslashes, so that it's suitable for yyerror. The
+ heuristic is that double-quoting is unnecessary unless the string
+ contains an apostrophe, a comma, or backslash (other than
+ backslash-backslash). YYSTR is taken from yytname. If YYRES is
+ null, do not copy; instead, return the length of what the result
+ would have been. */
+static YYSIZE_T zend_yytnamerr(char *yyres, const char *yystr)
+{
+ if (!yyres) {
+ return yystrlen(yystr);
+ }
+ {
+ TSRMLS_FETCH();
+ if (CG(parse_error) == 0) {
+ char buffer[120], *end, *str, *tok1 = NULL, *tok2 = NULL;
+ unsigned int len = 0, toklen = 0, yystr_len;
+
+ CG(parse_error) = 1;
+
+ if (LANG_SCNG(yy_text)[0] == 0 &&
+ LANG_SCNG(yy_leng) == 1 &&
+ memcmp(yystr, ZEND_STRL("\"end of file\"")) == 0) {
+ return yystpcpy(yyres, "end of file") - yyres;
+ }
+
+ str = LANG_SCNG(yy_text);
+ end = memchr(str, '\n', LANG_SCNG(yy_leng));
+ yystr_len = yystrlen(yystr);
+
+ if ((tok1 = memchr(yystr, '(', yystr_len)) != NULL
+ && (tok2 = zend_memrchr(yystr, ')', yystr_len)) != NULL) {
+ toklen = (tok2 - tok1) + 1;
+ } else {
+ tok1 = tok2 = NULL;
+ toklen = 0;
+ }
+
+ if (end == NULL) {
+ len = LANG_SCNG(yy_leng) > 30 ? 30 : LANG_SCNG(yy_leng);
+ } else {
+ len = (end - str) > 30 ? 30 : (end - str);
+ }
+ if (toklen) {
+ snprintf(buffer, sizeof(buffer), "'%.*s' %.*s", len, str, toklen, tok1);
+ } else {
+ snprintf(buffer, sizeof(buffer), "'%.*s'", len, str);
+ }
+ return yystpcpy(yyres, buffer) - yyres;
+ }
+ }
+ if (*yystr == '"') {
+ YYSIZE_T yyn = 0;
+ const char *yyp = yystr;
+
+ for (; *++yyp != '"'; ++yyn) {
+ yyres[yyn] = *yyp;
+ }
+ yyres[yyn] = '\0';
+ return yyn;
+ }
+ return yystpcpy(yyres, yystr) - yyres;
+}
+
/*
* Local variables:
* tab-width: 4
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index 96d775e1d3..9097b5b8bb 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Sun Jun 5 21:39:30 2011 */
+/* Generated by re2c 0.13.5 on Thu Jun 23 17:57:45 2011 */
#line 1 "Zend/zend_language_scanner.l"
/*
+----------------------------------------------------------------------+
@@ -176,6 +176,7 @@ static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)
void startup_scanner(TSRMLS_D)
{
+ CG(parse_error) = 0;
CG(heredoc) = NULL;
CG(heredoc_len) = 0;
CG(doc_comment) = NULL;
@@ -189,6 +190,7 @@ void shutdown_scanner(TSRMLS_D)
efree(CG(heredoc));
CG(heredoc_len)=0;
}
+ CG(parse_error) = 0;
zend_stack_destroy(&SCNG(state_stack));
RESET_DOC_COMMENT();
}
@@ -982,7 +984,7 @@ restart:
yymore_restart:
-#line 986 "Zend/zend_language_scanner.c"
+#line 988 "Zend/zend_language_scanner.c"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
@@ -1081,7 +1083,7 @@ yyc_INITIAL:
yy3:
YYDEBUG(3, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1710 "Zend/zend_language_scanner.l"
+#line 1712 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -1141,7 +1143,7 @@ inline_html:
HANDLE_NEWLINES(yytext, yyleng);
return T_INLINE_HTML;
}
-#line 1145 "Zend/zend_language_scanner.c"
+#line 1147 "Zend/zend_language_scanner.c"
yy4:
YYDEBUG(4, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1159,7 +1161,7 @@ yy5:
yy6:
YYDEBUG(6, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1698 "Zend/zend_language_scanner.l"
+#line 1700 "Zend/zend_language_scanner.l"
{
if (CG(short_tags)) {
zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1171,14 +1173,14 @@ yy6:
goto inline_char_handler;
}
}
-#line 1175 "Zend/zend_language_scanner.c"
+#line 1177 "Zend/zend_language_scanner.c"
yy7:
YYDEBUG(7, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy43;
YYDEBUG(8, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1675 "Zend/zend_language_scanner.l"
+#line 1677 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1190,7 +1192,7 @@ yy7:
goto inline_char_handler;
}
}
-#line 1194 "Zend/zend_language_scanner.c"
+#line 1196 "Zend/zend_language_scanner.c"
yy9:
YYDEBUG(9, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1376,7 +1378,7 @@ yy35:
++YYCURSOR;
YYDEBUG(38, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1635 "Zend/zend_language_scanner.l"
+#line 1637 "Zend/zend_language_scanner.l"
{
YYCTYPE *bracket = zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
@@ -1393,7 +1395,7 @@ yy35:
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
}
-#line 1397 "Zend/zend_language_scanner.c"
+#line 1399 "Zend/zend_language_scanner.c"
yy39:
YYDEBUG(39, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1420,7 +1422,7 @@ yy43:
++YYCURSOR;
YYDEBUG(44, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1653 "Zend/zend_language_scanner.l"
+#line 1655 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1432,13 +1434,13 @@ yy43:
goto inline_char_handler;
}
}
-#line 1436 "Zend/zend_language_scanner.c"
+#line 1438 "Zend/zend_language_scanner.c"
yy45:
YYDEBUG(45, *YYCURSOR);
++YYCURSOR;
YYDEBUG(46, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1666 "Zend/zend_language_scanner.l"
+#line 1668 "Zend/zend_language_scanner.l"
{
zendlval->value.str.val = yytext; /* no copying - intentional */
zendlval->value.str.len = yyleng;
@@ -1446,7 +1448,7 @@ yy45:
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
}
-#line 1450 "Zend/zend_language_scanner.c"
+#line 1452 "Zend/zend_language_scanner.c"
yy47:
YYDEBUG(47, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1473,7 +1475,7 @@ yy50:
yy51:
YYDEBUG(51, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1688 "Zend/zend_language_scanner.l"
+#line 1690 "Zend/zend_language_scanner.l"
{
zendlval->value.str.val = yytext; /* no copying - intentional */
zendlval->value.str.len = yyleng;
@@ -1482,7 +1484,7 @@ yy51:
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
}
-#line 1486 "Zend/zend_language_scanner.c"
+#line 1488 "Zend/zend_language_scanner.c"
yy52:
YYDEBUG(52, *YYCURSOR);
++YYCURSOR;
@@ -1553,7 +1555,7 @@ yyc_ST_BACKQUOTE:
yy56:
YYDEBUG(56, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2161 "Zend/zend_language_scanner.l"
+#line 2163 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -1594,7 +1596,7 @@ yy56:
zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1598 "Zend/zend_language_scanner.c"
+#line 1600 "Zend/zend_language_scanner.c"
yy57:
YYDEBUG(57, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1605,12 +1607,12 @@ yy58:
++YYCURSOR;
YYDEBUG(59, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2105 "Zend/zend_language_scanner.l"
+#line 2107 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '`';
}
-#line 1614 "Zend/zend_language_scanner.c"
+#line 1616 "Zend/zend_language_scanner.c"
yy60:
YYDEBUG(60, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1620,14 +1622,14 @@ yy61:
++YYCURSOR;
YYDEBUG(62, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2092 "Zend/zend_language_scanner.l"
+#line 2094 "Zend/zend_language_scanner.l"
{
zendlval->value.lval = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1631 "Zend/zend_language_scanner.c"
+#line 1633 "Zend/zend_language_scanner.c"
yy63:
YYDEBUG(63, *YYCURSOR);
yyaccept = 0;
@@ -1643,24 +1645,24 @@ yy63:
yy65:
YYDEBUG(65, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1792 "Zend/zend_language_scanner.l"
+#line 1794 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1653 "Zend/zend_language_scanner.c"
+#line 1655 "Zend/zend_language_scanner.c"
yy66:
YYDEBUG(66, *YYCURSOR);
++YYCURSOR;
YYDEBUG(67, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1428 "Zend/zend_language_scanner.l"
+#line 1430 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1664 "Zend/zend_language_scanner.c"
+#line 1666 "Zend/zend_language_scanner.c"
yy68:
YYDEBUG(68, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1674,7 +1676,7 @@ yy70:
++YYCURSOR;
YYDEBUG(71, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1784 "Zend/zend_language_scanner.l"
+#line 1786 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1682,7 +1684,7 @@ yy70:
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1686 "Zend/zend_language_scanner.c"
+#line 1688 "Zend/zend_language_scanner.c"
yy72:
YYDEBUG(72, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1700,7 +1702,7 @@ yy73:
++YYCURSOR;
YYDEBUG(74, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1774 "Zend/zend_language_scanner.l"
+#line 1776 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1708,7 +1710,7 @@ yy73:
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1712 "Zend/zend_language_scanner.c"
+#line 1714 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_DOUBLE_QUOTES:
@@ -1776,7 +1778,7 @@ yy77:
yy78:
YYDEBUG(78, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2111 "Zend/zend_language_scanner.l"
+#line 2113 "Zend/zend_language_scanner.l"
{
if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@ -1825,7 +1827,7 @@ double_quotes_scan_done:
zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1829 "Zend/zend_language_scanner.c"
+#line 1831 "Zend/zend_language_scanner.c"
yy79:
YYDEBUG(79, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1836,12 +1838,12 @@ yy80:
++YYCURSOR;
YYDEBUG(81, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2100 "Zend/zend_language_scanner.l"
+#line 2102 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '"';
}
-#line 1845 "Zend/zend_language_scanner.c"
+#line 1847 "Zend/zend_language_scanner.c"
yy82:
YYDEBUG(82, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1851,14 +1853,14 @@ yy83:
++YYCURSOR;
YYDEBUG(84, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2092 "Zend/zend_language_scanner.l"
+#line 2094 "Zend/zend_language_scanner.l"
{
zendlval->value.lval = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1862 "Zend/zend_language_scanner.c"
+#line 1864 "Zend/zend_language_scanner.c"
yy85:
YYDEBUG(85, *YYCURSOR);
yyaccept = 0;
@@ -1874,24 +1876,24 @@ yy85:
yy87:
YYDEBUG(87, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1792 "Zend/zend_language_scanner.l"
+#line 1794 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1884 "Zend/zend_language_scanner.c"
+#line 1886 "Zend/zend_language_scanner.c"
yy88:
YYDEBUG(88, *YYCURSOR);
++YYCURSOR;
YYDEBUG(89, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1428 "Zend/zend_language_scanner.l"
+#line 1430 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1895 "Zend/zend_language_scanner.c"
+#line 1897 "Zend/zend_language_scanner.c"
yy90:
YYDEBUG(90, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1905,7 +1907,7 @@ yy92:
++YYCURSOR;
YYDEBUG(93, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1784 "Zend/zend_language_scanner.l"
+#line 1786 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1913,7 +1915,7 @@ yy92:
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1917 "Zend/zend_language_scanner.c"
+#line 1919 "Zend/zend_language_scanner.c"
yy94:
YYDEBUG(94, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1931,7 +1933,7 @@ yy95:
++YYCURSOR;
YYDEBUG(96, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1774 "Zend/zend_language_scanner.l"
+#line 1776 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1939,7 +1941,7 @@ yy95:
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1943 "Zend/zend_language_scanner.c"
+#line 1945 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_END_HEREDOC:
@@ -1950,7 +1952,7 @@ yyc_ST_END_HEREDOC:
++YYCURSOR;
YYDEBUG(100, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2079 "Zend/zend_language_scanner.l"
+#line 2081 "Zend/zend_language_scanner.l"
{
YYCURSOR += CG(heredoc_len) - 1;
yyleng = CG(heredoc_len);
@@ -1962,7 +1964,7 @@ yyc_ST_END_HEREDOC:
BEGIN(ST_IN_SCRIPTING);
return T_END_HEREDOC;
}
-#line 1966 "Zend/zend_language_scanner.c"
+#line 1968 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_HEREDOC:
{
@@ -2024,7 +2026,7 @@ yy103:
yy104:
YYDEBUG(104, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2203 "Zend/zend_language_scanner.l"
+#line 2205 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -2095,7 +2097,7 @@ heredoc_scan_done:
zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 2099 "Zend/zend_language_scanner.c"
+#line 2101 "Zend/zend_language_scanner.c"
yy105:
YYDEBUG(105, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2110,14 +2112,14 @@ yy107:
++YYCURSOR;
YYDEBUG(108, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2092 "Zend/zend_language_scanner.l"
+#line 2094 "Zend/zend_language_scanner.l"
{
zendlval->value.lval = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;
}
-#line 2121 "Zend/zend_language_scanner.c"
+#line 2123 "Zend/zend_language_scanner.c"
yy109:
YYDEBUG(109, *YYCURSOR);
yyaccept = 0;
@@ -2133,24 +2135,24 @@ yy109:
yy111:
YYDEBUG(111, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1792 "Zend/zend_language_scanner.l"
+#line 1794 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 2143 "Zend/zend_language_scanner.c"
+#line 2145 "Zend/zend_language_scanner.c"
yy112:
YYDEBUG(112, *YYCURSOR);
++YYCURSOR;
YYDEBUG(113, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1428 "Zend/zend_language_scanner.l"
+#line 1430 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 2154 "Zend/zend_language_scanner.c"
+#line 2156 "Zend/zend_language_scanner.c"
yy114:
YYDEBUG(114, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2164,7 +2166,7 @@ yy116:
++YYCURSOR;
YYDEBUG(117, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1784 "Zend/zend_language_scanner.l"
+#line 1786 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -2172,7 +2174,7 @@ yy116:
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 2176 "Zend/zend_language_scanner.c"
+#line 2178 "Zend/zend_language_scanner.c"
yy118:
YYDEBUG(118, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2190,7 +2192,7 @@ yy119:
++YYCURSOR;
YYDEBUG(120, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1774 "Zend/zend_language_scanner.l"
+#line 1776 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -2198,7 +2200,7 @@ yy119:
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 2202 "Zend/zend_language_scanner.c"
+#line 2204 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_IN_SCRIPTING:
@@ -2379,13 +2381,13 @@ yy123:
yy124:
YYDEBUG(124, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1815 "Zend/zend_language_scanner.l"
+#line 1817 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-#line 2389 "Zend/zend_language_scanner.c"
+#line 2391 "Zend/zend_language_scanner.c"
yy125:
YYDEBUG(125, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2611,11 +2613,11 @@ yy137:
yy138:
YYDEBUG(138, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1417 "Zend/zend_language_scanner.l"
+#line 1419 "Zend/zend_language_scanner.l"
{
return yytext[0];
}
-#line 2619 "Zend/zend_language_scanner.c"
+#line 2621 "Zend/zend_language_scanner.c"
yy139:
YYDEBUG(139, *YYCURSOR);
++YYCURSOR;
@@ -2624,7 +2626,7 @@ yy139:
yy140:
YYDEBUG(140, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1152 "Zend/zend_language_scanner.l"
+#line 1154 "Zend/zend_language_scanner.l"
{
zendlval->value.str.val = yytext; /* no copying - intentional */
zendlval->value.str.len = yyleng;
@@ -2632,7 +2634,7 @@ yy140:
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 2636 "Zend/zend_language_scanner.c"
+#line 2638 "Zend/zend_language_scanner.c"
yy141:
YYDEBUG(141, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2643,11 +2645,11 @@ yy142:
++YYCURSOR;
YYDEBUG(143, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1181 "Zend/zend_language_scanner.l"
+#line 1183 "Zend/zend_language_scanner.l"
{
return T_NS_SEPARATOR;
}
-#line 2651 "Zend/zend_language_scanner.c"
+#line 2653 "Zend/zend_language_scanner.c"
yy144:
YYDEBUG(144, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2875,18 +2877,18 @@ yy167:
++YYCURSOR;
YYDEBUG(168, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1422 "Zend/zend_language_scanner.l"
+#line 1424 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
return '{';
}
-#line 2884 "Zend/zend_language_scanner.c"
+#line 2886 "Zend/zend_language_scanner.c"
yy169:
YYDEBUG(169, *YYCURSOR);
++YYCURSOR;
YYDEBUG(170, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1434 "Zend/zend_language_scanner.l"
+#line 1436 "Zend/zend_language_scanner.l"
{
RESET_DOC_COMMENT();
if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -2894,7 +2896,7 @@ yy169:
}
return '}';
}
-#line 2898 "Zend/zend_language_scanner.c"
+#line 2900 "Zend/zend_language_scanner.c"
yy171:
YYDEBUG(171, *YYCURSOR);
yyaccept = 2;
@@ -2917,7 +2919,7 @@ yy171:
yy172:
YYDEBUG(172, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1460 "Zend/zend_language_scanner.l"
+#line 1462 "Zend/zend_language_scanner.l"
{
if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
zendlval->value.lval = strtol(yytext, NULL, 0);
@@ -2938,7 +2940,7 @@ yy172:
zendlval->type = IS_LONG;
return T_LNUMBER;
}
-#line 2942 "Zend/zend_language_scanner.c"
+#line 2944 "Zend/zend_language_scanner.c"
yy173:
YYDEBUG(173, *YYCURSOR);
yyaccept = 2;
@@ -2966,7 +2968,7 @@ yy175:
yy176:
YYDEBUG(176, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1822 "Zend/zend_language_scanner.l"
+#line 1824 "Zend/zend_language_scanner.l"
{
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR++) {
@@ -3000,14 +3002,14 @@ yy176:
return T_COMMENT;
}
-#line 3004 "Zend/zend_language_scanner.c"
+#line 3006 "Zend/zend_language_scanner.c"
yy177:
YYDEBUG(177, *YYCURSOR);
++YYCURSOR;
yy178:
YYDEBUG(178, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1913 "Zend/zend_language_scanner.l"
+#line 1915 "Zend/zend_language_scanner.l"
{
register char *s, *t;
char *end;
@@ -3075,14 +3077,14 @@ yy178:
}
return T_CONSTANT_ENCAPSED_STRING;
}
-#line 3079 "Zend/zend_language_scanner.c"
+#line 3081 "Zend/zend_language_scanner.c"
yy179:
YYDEBUG(179, *YYCURSOR);
++YYCURSOR;
yy180:
YYDEBUG(180, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1982 "Zend/zend_language_scanner.l"
+#line 1984 "Zend/zend_language_scanner.l"
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
@@ -3123,24 +3125,24 @@ yy180:
BEGIN(ST_DOUBLE_QUOTES);
return '"';
}
-#line 3127 "Zend/zend_language_scanner.c"
+#line 3129 "Zend/zend_language_scanner.c"
yy181:
YYDEBUG(181, *YYCURSOR);
++YYCURSOR;
YYDEBUG(182, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2073 "Zend/zend_language_scanner.l"
+#line 2075 "Zend/zend_language_scanner.l"
{
BEGIN(ST_BACKQUOTE);
return '`';
}
-#line 3138 "Zend/zend_language_scanner.c"
+#line 3140 "Zend/zend_language_scanner.c"
yy183:
YYDEBUG(183, *YYCURSOR);
++YYCURSOR;
YYDEBUG(184, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2331 "Zend/zend_language_scanner.l"
+#line 2333 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -3149,7 +3151,7 @@ yy183:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 3153 "Zend/zend_language_scanner.c"
+#line 3155 "Zend/zend_language_scanner.c"
yy185:
YYDEBUG(185, *YYCURSOR);
++YYCURSOR;
@@ -3176,13 +3178,13 @@ yy187:
yy189:
YYDEBUG(189, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1521 "Zend/zend_language_scanner.l"
+#line 1523 "Zend/zend_language_scanner.l"
{
zendlval->value.dval = zend_strtod(yytext, NULL);
zendlval->type = IS_DOUBLE;
return T_DNUMBER;
}
-#line 3186 "Zend/zend_language_scanner.c"
+#line 3188 "Zend/zend_language_scanner.c"
yy190:
YYDEBUG(190, *YYCURSOR);
yyaccept = 2;
@@ -3267,7 +3269,7 @@ yy198:
}
YYDEBUG(200, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1481 "Zend/zend_language_scanner.l"
+#line 1483 "Zend/zend_language_scanner.l"
{
char *hex = yytext + 2; /* Skip "0x" */
int len = yyleng - 2;
@@ -3288,7 +3290,7 @@ yy198:
return T_DNUMBER;
}
}
-#line 3292 "Zend/zend_language_scanner.c"
+#line 3294 "Zend/zend_language_scanner.c"
yy201:
YYDEBUG(201, *YYCURSOR);
++YYCURSOR;
@@ -3297,7 +3299,7 @@ yy201:
yy202:
YYDEBUG(202, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1890 "Zend/zend_language_scanner.l"
+#line 1892 "Zend/zend_language_scanner.l"
{
zendlval->value.str.val = yytext; /* no copying - intentional */
zendlval->value.str.len = yyleng;
@@ -3305,7 +3307,7 @@ yy202:
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
-#line 3309 "Zend/zend_language_scanner.c"
+#line 3311 "Zend/zend_language_scanner.c"
yy203:
YYDEBUG(203, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3339,13 +3341,13 @@ yy205:
yy207:
YYDEBUG(207, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1792 "Zend/zend_language_scanner.l"
+#line 1794 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 3349 "Zend/zend_language_scanner.c"
+#line 3351 "Zend/zend_language_scanner.c"
yy208:
YYDEBUG(208, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3359,11 +3361,11 @@ yy209:
}
YYDEBUG(210, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1405 "Zend/zend_language_scanner.l"
+#line 1407 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_XOR;
}
-#line 3367 "Zend/zend_language_scanner.c"
+#line 3369 "Zend/zend_language_scanner.c"
yy211:
YYDEBUG(211, *YYCURSOR);
++YYCURSOR;
@@ -3372,61 +3374,61 @@ yy211:
}
YYDEBUG(212, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1397 "Zend/zend_language_scanner.l"
+#line 1399 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_OR;
}
-#line 3380 "Zend/zend_language_scanner.c"
+#line 3382 "Zend/zend_language_scanner.c"
yy213:
YYDEBUG(213, *YYCURSOR);
++YYCURSOR;
YYDEBUG(214, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1385 "Zend/zend_language_scanner.l"
+#line 1387 "Zend/zend_language_scanner.l"
{
return T_XOR_EQUAL;
}
-#line 3390 "Zend/zend_language_scanner.c"
+#line 3392 "Zend/zend_language_scanner.c"
yy215:
YYDEBUG(215, *YYCURSOR);
++YYCURSOR;
YYDEBUG(216, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1389 "Zend/zend_language_scanner.l"
+#line 1391 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_OR;
}
-#line 3400 "Zend/zend_language_scanner.c"
+#line 3402 "Zend/zend_language_scanner.c"
yy217:
YYDEBUG(217, *YYCURSOR);
++YYCURSOR;
YYDEBUG(218, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1381 "Zend/zend_language_scanner.l"
+#line 1383 "Zend/zend_language_scanner.l"
{
return T_OR_EQUAL;
}
-#line 3410 "Zend/zend_language_scanner.c"
+#line 3412 "Zend/zend_language_scanner.c"
yy219:
YYDEBUG(219, *YYCURSOR);
++YYCURSOR;
YYDEBUG(220, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1393 "Zend/zend_language_scanner.l"
+#line 1395 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_AND;
}
-#line 3420 "Zend/zend_language_scanner.c"
+#line 3422 "Zend/zend_language_scanner.c"
yy221:
YYDEBUG(221, *YYCURSOR);
++YYCURSOR;
YYDEBUG(222, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1377 "Zend/zend_language_scanner.l"
+#line 1379 "Zend/zend_language_scanner.l"
{
return T_AND_EQUAL;
}
-#line 3430 "Zend/zend_language_scanner.c"
+#line 3432 "Zend/zend_language_scanner.c"
yy223:
YYDEBUG(223, *YYCURSOR);
++YYCURSOR;
@@ -3435,7 +3437,7 @@ yy223:
yy224:
YYDEBUG(224, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1899 "Zend/zend_language_scanner.l"
+#line 1901 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
BEGIN(INITIAL);
@@ -3448,17 +3450,17 @@ yy224:
return yytext[0];
}
}
-#line 3452 "Zend/zend_language_scanner.c"
+#line 3454 "Zend/zend_language_scanner.c"
yy225:
YYDEBUG(225, *YYCURSOR);
++YYCURSOR;
YYDEBUG(226, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1365 "Zend/zend_language_scanner.l"
+#line 1367 "Zend/zend_language_scanner.l"
{
return T_MOD_EQUAL;
}
-#line 3462 "Zend/zend_language_scanner.c"
+#line 3464 "Zend/zend_language_scanner.c"
yy227:
YYDEBUG(227, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3489,11 +3491,11 @@ yy231:
++YYCURSOR;
YYDEBUG(232, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1361 "Zend/zend_language_scanner.l"
+#line 1363 "Zend/zend_language_scanner.l"
{
return T_CONCAT_EQUAL;
}
-#line 3497 "Zend/zend_language_scanner.c"
+#line 3499 "Zend/zend_language_scanner.c"
yy233:
YYDEBUG(233, *YYCURSOR);
yyaccept = 4;
@@ -3502,7 +3504,7 @@ yy233:
yy234:
YYDEBUG(234, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1856 "Zend/zend_language_scanner.l"
+#line 1858 "Zend/zend_language_scanner.l"
{
int doc_com;
@@ -3536,7 +3538,7 @@ yy234:
return T_COMMENT;
}
-#line 3540 "Zend/zend_language_scanner.c"
+#line 3542 "Zend/zend_language_scanner.c"
yy235:
YYDEBUG(235, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3546,11 +3548,11 @@ yy236:
++YYCURSOR;
YYDEBUG(237, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1357 "Zend/zend_language_scanner.l"
+#line 1359 "Zend/zend_language_scanner.l"
{
return T_DIV_EQUAL;
}
-#line 3554 "Zend/zend_language_scanner.c"
+#line 3556 "Zend/zend_language_scanner.c"
yy238:
YYDEBUG(238, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3573,42 +3575,42 @@ yy241:
++YYCURSOR;
YYDEBUG(242, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1353 "Zend/zend_language_scanner.l"
+#line 1355 "Zend/zend_language_scanner.l"
{
return T_MUL_EQUAL;
}
-#line 3581 "Zend/zend_language_scanner.c"
+#line 3583 "Zend/zend_language_scanner.c"
yy243:
YYDEBUG(243, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy247;
YYDEBUG(244, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1413 "Zend/zend_language_scanner.l"
+#line 1415 "Zend/zend_language_scanner.l"
{
return T_SR;
}
-#line 3592 "Zend/zend_language_scanner.c"
+#line 3594 "Zend/zend_language_scanner.c"
yy245:
YYDEBUG(245, *YYCURSOR);
++YYCURSOR;
YYDEBUG(246, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1341 "Zend/zend_language_scanner.l"
+#line 1343 "Zend/zend_language_scanner.l"
{
return T_IS_GREATER_OR_EQUAL;
}
-#line 3602 "Zend/zend_language_scanner.c"
+#line 3604 "Zend/zend_language_scanner.c"
yy247:
YYDEBUG(247, *YYCURSOR);
++YYCURSOR;
YYDEBUG(248, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1373 "Zend/zend_language_scanner.l"
+#line 1375 "Zend/zend_language_scanner.l"
{
return T_SR_EQUAL;
}
-#line 3612 "Zend/zend_language_scanner.c"
+#line 3614 "Zend/zend_language_scanner.c"
yy249:
YYDEBUG(249, *YYCURSOR);
yyaccept = 5;
@@ -3619,11 +3621,11 @@ yy249:
yy250:
YYDEBUG(250, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1409 "Zend/zend_language_scanner.l"
+#line 1411 "Zend/zend_language_scanner.l"
{
return T_SL;
}
-#line 3627 "Zend/zend_language_scanner.c"
+#line 3629 "Zend/zend_language_scanner.c"
yy251:
YYDEBUG(251, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3635,22 +3637,22 @@ yy252:
++YYCURSOR;
YYDEBUG(253, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1337 "Zend/zend_language_scanner.l"
+#line 1339 "Zend/zend_language_scanner.l"
{
return T_IS_SMALLER_OR_EQUAL;
}
-#line 3643 "Zend/zend_language_scanner.c"
+#line 3645 "Zend/zend_language_scanner.c"
yy254:
YYDEBUG(254, *YYCURSOR);
++YYCURSOR;
yy255:
YYDEBUG(255, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1333 "Zend/zend_language_scanner.l"
+#line 1335 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_EQUAL;
}
-#line 3654 "Zend/zend_language_scanner.c"
+#line 3656 "Zend/zend_language_scanner.c"
yy256:
YYDEBUG(256, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3701,11 +3703,11 @@ yy263:
++YYCURSOR;
YYDEBUG(264, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1369 "Zend/zend_language_scanner.l"
+#line 1371 "Zend/zend_language_scanner.l"
{
return T_SL_EQUAL;
}
-#line 3709 "Zend/zend_language_scanner.c"
+#line 3711 "Zend/zend_language_scanner.c"
yy265:
YYDEBUG(265, *YYCURSOR);
++YYCURSOR;
@@ -3810,7 +3812,7 @@ yy274:
yy275:
YYDEBUG(275, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2024 "Zend/zend_language_scanner.l"
+#line 2026 "Zend/zend_language_scanner.l"
{
char *s;
int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -3858,7 +3860,7 @@ yy275:
return T_START_HEREDOC;
}
-#line 3862 "Zend/zend_language_scanner.c"
+#line 3864 "Zend/zend_language_scanner.c"
yy276:
YYDEBUG(276, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3898,31 +3900,31 @@ yy279:
++YYCURSOR;
YYDEBUG(281, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1325 "Zend/zend_language_scanner.l"
+#line 1327 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_IDENTICAL;
}
-#line 3906 "Zend/zend_language_scanner.c"
+#line 3908 "Zend/zend_language_scanner.c"
yy282:
YYDEBUG(282, *YYCURSOR);
++YYCURSOR;
YYDEBUG(283, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1345 "Zend/zend_language_scanner.l"
+#line 1347 "Zend/zend_language_scanner.l"
{
return T_PLUS_EQUAL;
}
-#line 3916 "Zend/zend_language_scanner.c"
+#line 3918 "Zend/zend_language_scanner.c"
yy284:
YYDEBUG(284, *YYCURSOR);
++YYCURSOR;
YYDEBUG(285, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1313 "Zend/zend_language_scanner.l"
+#line 1315 "Zend/zend_language_scanner.l"
{
return T_INC;
}
-#line 3926 "Zend/zend_language_scanner.c"
+#line 3928 "Zend/zend_language_scanner.c"
yy286:
YYDEBUG(286, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3941,42 +3943,42 @@ yy288:
}
YYDEBUG(289, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1305 "Zend/zend_language_scanner.l"
+#line 1307 "Zend/zend_language_scanner.l"
{
return T_LIST;
}
-#line 3949 "Zend/zend_language_scanner.c"
+#line 3951 "Zend/zend_language_scanner.c"
yy290:
YYDEBUG(290, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy294;
YYDEBUG(291, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1329 "Zend/zend_language_scanner.l"
+#line 1331 "Zend/zend_language_scanner.l"
{
return T_IS_EQUAL;
}
-#line 3960 "Zend/zend_language_scanner.c"
+#line 3962 "Zend/zend_language_scanner.c"
yy292:
YYDEBUG(292, *YYCURSOR);
++YYCURSOR;
YYDEBUG(293, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1301 "Zend/zend_language_scanner.l"
+#line 1303 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_ARROW;
}
-#line 3970 "Zend/zend_language_scanner.c"
+#line 3972 "Zend/zend_language_scanner.c"
yy294:
YYDEBUG(294, *YYCURSOR);
++YYCURSOR;
YYDEBUG(295, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1321 "Zend/zend_language_scanner.l"
+#line 1323 "Zend/zend_language_scanner.l"
{
return T_IS_IDENTICAL;
}
-#line 3980 "Zend/zend_language_scanner.c"
+#line 3982 "Zend/zend_language_scanner.c"
yy296:
YYDEBUG(296, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4098,7 +4100,7 @@ yy311:
}
YYDEBUG(314, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1625 "Zend/zend_language_scanner.l"
+#line 1627 "Zend/zend_language_scanner.l"
{
if (CG(current_namespace)) {
*zendlval = *CG(current_namespace);
@@ -4108,7 +4110,7 @@ yy311:
}
return T_NS_C;
}
-#line 4112 "Zend/zend_language_scanner.c"
+#line 4114 "Zend/zend_language_scanner.c"
yy315:
YYDEBUG(315, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4128,7 +4130,7 @@ yy316:
}
YYDEBUG(319, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1598 "Zend/zend_language_scanner.l"
+#line 1600 "Zend/zend_language_scanner.l"
{
char *filename = zend_get_compiled_filename(TSRMLS_C);
const size_t filename_len = strlen(filename);
@@ -4155,7 +4157,7 @@ yy316:
zendlval->type = IS_STRING;
return T_DIR;
}
-#line 4159 "Zend/zend_language_scanner.c"
+#line 4161 "Zend/zend_language_scanner.c"
yy320:
YYDEBUG(320, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4180,13 +4182,13 @@ yy322:
}
YYDEBUG(325, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1580 "Zend/zend_language_scanner.l"
+#line 1582 "Zend/zend_language_scanner.l"
{
zendlval->value.lval = CG(zend_lineno);
zendlval->type = IS_LONG;
return T_LINE;
}
-#line 4190 "Zend/zend_language_scanner.c"
+#line 4192 "Zend/zend_language_scanner.c"
yy326:
YYDEBUG(326, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4221,7 +4223,7 @@ yy330:
}
YYDEBUG(333, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1559 "Zend/zend_language_scanner.l"
+#line 1561 "Zend/zend_language_scanner.l"
{
char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
@@ -4242,7 +4244,7 @@ yy330:
zendlval->type = IS_STRING;
return T_METHOD_C;
}
-#line 4246 "Zend/zend_language_scanner.c"
+#line 4248 "Zend/zend_language_scanner.c"
yy334:
YYDEBUG(334, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4293,7 +4295,7 @@ yy341:
}
YYDEBUG(344, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1543 "Zend/zend_language_scanner.l"
+#line 1545 "Zend/zend_language_scanner.l"
{
char *func_name = NULL;
@@ -4309,7 +4311,7 @@ yy341:
zendlval->type = IS_STRING;
return T_FUNC_C;
}
-#line 4313 "Zend/zend_language_scanner.c"
+#line 4315 "Zend/zend_language_scanner.c"
yy345:
YYDEBUG(345, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4329,7 +4331,7 @@ yy346:
}
YYDEBUG(349, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1586 "Zend/zend_language_scanner.l"
+#line 1588 "Zend/zend_language_scanner.l"
{
char *filename = zend_get_compiled_filename(TSRMLS_C);
@@ -4341,7 +4343,7 @@ yy346:
zendlval->type = IS_STRING;
return T_FILE;
}
-#line 4345 "Zend/zend_language_scanner.c"
+#line 4347 "Zend/zend_language_scanner.c"
yy350:
YYDEBUG(350, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4371,7 +4373,7 @@ yy353:
}
YYDEBUG(356, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1527 "Zend/zend_language_scanner.l"
+#line 1529 "Zend/zend_language_scanner.l"
{
char *class_name = NULL;
@@ -4387,7 +4389,7 @@ yy353:
zendlval->type = IS_STRING;
return T_CLASS_C;
}
-#line 4391 "Zend/zend_language_scanner.c"
+#line 4393 "Zend/zend_language_scanner.c"
yy357:
YYDEBUG(357, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4449,11 +4451,11 @@ yy368:
}
YYDEBUG(369, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1269 "Zend/zend_language_scanner.l"
+#line 1271 "Zend/zend_language_scanner.l"
{
return T_HALT_COMPILER;
}
-#line 4457 "Zend/zend_language_scanner.c"
+#line 4459 "Zend/zend_language_scanner.c"
yy370:
YYDEBUG(370, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4473,11 +4475,11 @@ yy372:
}
YYDEBUG(373, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1249 "Zend/zend_language_scanner.l"
+#line 1251 "Zend/zend_language_scanner.l"
{
return T_USE;
}
-#line 4481 "Zend/zend_language_scanner.c"
+#line 4483 "Zend/zend_language_scanner.c"
yy374:
YYDEBUG(374, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4496,11 +4498,11 @@ yy376:
}
YYDEBUG(377, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1297 "Zend/zend_language_scanner.l"
+#line 1299 "Zend/zend_language_scanner.l"
{
return T_UNSET;
}
-#line 4504 "Zend/zend_language_scanner.c"
+#line 4506 "Zend/zend_language_scanner.c"
yy378:
YYDEBUG(378, *YYCURSOR);
++YYCURSOR;
@@ -4672,11 +4674,11 @@ yy393:
++YYCURSOR;
YYDEBUG(395, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1197 "Zend/zend_language_scanner.l"
+#line 1199 "Zend/zend_language_scanner.l"
{
return T_INT_CAST;
}
-#line 4680 "Zend/zend_language_scanner.c"
+#line 4682 "Zend/zend_language_scanner.c"
yy396:
YYDEBUG(396, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4720,11 +4722,11 @@ yy401:
++YYCURSOR;
YYDEBUG(404, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1201 "Zend/zend_language_scanner.l"
+#line 1203 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_CAST;
}
-#line 4728 "Zend/zend_language_scanner.c"
+#line 4730 "Zend/zend_language_scanner.c"
yy405:
YYDEBUG(405, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4794,11 +4796,11 @@ yy415:
++YYCURSOR;
YYDEBUG(418, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1205 "Zend/zend_language_scanner.l"
+#line 1207 "Zend/zend_language_scanner.l"
{
return T_STRING_CAST;
}
-#line 4802 "Zend/zend_language_scanner.c"
+#line 4804 "Zend/zend_language_scanner.c"
yy419:
YYDEBUG(419, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4831,11 +4833,11 @@ yy422:
++YYCURSOR;
YYDEBUG(425, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1209 "Zend/zend_language_scanner.l"
+#line 1211 "Zend/zend_language_scanner.l"
{
return T_ARRAY_CAST;
}
-#line 4839 "Zend/zend_language_scanner.c"
+#line 4841 "Zend/zend_language_scanner.c"
yy426:
YYDEBUG(426, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4873,11 +4875,11 @@ yy430:
++YYCURSOR;
YYDEBUG(433, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1213 "Zend/zend_language_scanner.l"
+#line 1215 "Zend/zend_language_scanner.l"
{
return T_OBJECT_CAST;
}
-#line 4881 "Zend/zend_language_scanner.c"
+#line 4883 "Zend/zend_language_scanner.c"
yy434:
YYDEBUG(434, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4918,11 +4920,11 @@ yy439:
++YYCURSOR;
YYDEBUG(441, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1217 "Zend/zend_language_scanner.l"
+#line 1219 "Zend/zend_language_scanner.l"
{
return T_BOOL_CAST;
}
-#line 4926 "Zend/zend_language_scanner.c"
+#line 4928 "Zend/zend_language_scanner.c"
yy442:
YYDEBUG(442, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4982,11 +4984,11 @@ yy450:
++YYCURSOR;
YYDEBUG(453, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1221 "Zend/zend_language_scanner.l"
+#line 1223 "Zend/zend_language_scanner.l"
{
return T_UNSET_CAST;
}
-#line 4990 "Zend/zend_language_scanner.c"
+#line 4992 "Zend/zend_language_scanner.c"
yy454:
YYDEBUG(454, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5000,11 +5002,11 @@ yy455:
}
YYDEBUG(456, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1193 "Zend/zend_language_scanner.l"
+#line 1195 "Zend/zend_language_scanner.l"
{
return T_VAR;
}
-#line 5008 "Zend/zend_language_scanner.c"
+#line 5010 "Zend/zend_language_scanner.c"
yy457:
YYDEBUG(457, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5024,11 +5026,11 @@ yy459:
}
YYDEBUG(460, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1185 "Zend/zend_language_scanner.l"
+#line 1187 "Zend/zend_language_scanner.l"
{
return T_NEW;
}
-#line 5032 "Zend/zend_language_scanner.c"
+#line 5034 "Zend/zend_language_scanner.c"
yy461:
YYDEBUG(461, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5067,21 +5069,21 @@ yy467:
}
YYDEBUG(468, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1245 "Zend/zend_language_scanner.l"
+#line 1247 "Zend/zend_language_scanner.l"
{
return T_NAMESPACE;
}
-#line 5075 "Zend/zend_language_scanner.c"
+#line 5077 "Zend/zend_language_scanner.c"
yy469:
YYDEBUG(469, *YYCURSOR);
++YYCURSOR;
YYDEBUG(470, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1177 "Zend/zend_language_scanner.l"
+#line 1179 "Zend/zend_language_scanner.l"
{
return T_PAAMAYIM_NEKUDOTAYIM;
}
-#line 5085 "Zend/zend_language_scanner.c"
+#line 5087 "Zend/zend_language_scanner.c"
yy471:
YYDEBUG(471, *YYCURSOR);
++YYCURSOR;
@@ -5103,32 +5105,32 @@ yy473:
++YYCURSOR;
YYDEBUG(474, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1349 "Zend/zend_language_scanner.l"
+#line 1351 "Zend/zend_language_scanner.l"
{
return T_MINUS_EQUAL;
}
-#line 5111 "Zend/zend_language_scanner.c"
+#line 5113 "Zend/zend_language_scanner.c"
yy475:
YYDEBUG(475, *YYCURSOR);
++YYCURSOR;
YYDEBUG(476, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1317 "Zend/zend_language_scanner.l"
+#line 1319 "Zend/zend_language_scanner.l"
{
return T_DEC;
}
-#line 5121 "Zend/zend_language_scanner.c"
+#line 5123 "Zend/zend_language_scanner.c"
yy477:
YYDEBUG(477, *YYCURSOR);
++YYCURSOR;
YYDEBUG(478, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1147 "Zend/zend_language_scanner.l"
+#line 1149 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
return T_OBJECT_OPERATOR;
}
-#line 5132 "Zend/zend_language_scanner.c"
+#line 5134 "Zend/zend_language_scanner.c"
yy479:
YYDEBUG(479, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5173,11 +5175,11 @@ yy484:
}
YYDEBUG(485, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1293 "Zend/zend_language_scanner.l"
+#line 1295 "Zend/zend_language_scanner.l"
{
return T_PUBLIC;
}
-#line 5181 "Zend/zend_language_scanner.c"
+#line 5183 "Zend/zend_language_scanner.c"
yy486:
YYDEBUG(486, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5232,11 +5234,11 @@ yy493:
}
YYDEBUG(494, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1289 "Zend/zend_language_scanner.l"
+#line 1291 "Zend/zend_language_scanner.l"
{
return T_PROTECTED;
}
-#line 5240 "Zend/zend_language_scanner.c"
+#line 5242 "Zend/zend_language_scanner.c"
yy495:
YYDEBUG(495, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5266,11 +5268,11 @@ yy499:
}
YYDEBUG(500, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1285 "Zend/zend_language_scanner.l"
+#line 1287 "Zend/zend_language_scanner.l"
{
return T_PRIVATE;
}
-#line 5274 "Zend/zend_language_scanner.c"
+#line 5276 "Zend/zend_language_scanner.c"
yy501:
YYDEBUG(501, *YYCURSOR);
++YYCURSOR;
@@ -5279,11 +5281,11 @@ yy501:
}
YYDEBUG(502, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1123 "Zend/zend_language_scanner.l"
+#line 1125 "Zend/zend_language_scanner.l"
{
return T_PRINT;
}
-#line 5287 "Zend/zend_language_scanner.c"
+#line 5289 "Zend/zend_language_scanner.c"
yy503:
YYDEBUG(503, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5308,11 +5310,11 @@ yy506:
}
YYDEBUG(507, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1115 "Zend/zend_language_scanner.l"
+#line 1117 "Zend/zend_language_scanner.l"
{
return T_GOTO;
}
-#line 5316 "Zend/zend_language_scanner.c"
+#line 5318 "Zend/zend_language_scanner.c"
yy508:
YYDEBUG(508, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5336,11 +5338,11 @@ yy511:
}
YYDEBUG(512, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1257 "Zend/zend_language_scanner.l"
+#line 1259 "Zend/zend_language_scanner.l"
{
return T_GLOBAL;
}
-#line 5344 "Zend/zend_language_scanner.c"
+#line 5346 "Zend/zend_language_scanner.c"
yy513:
YYDEBUG(513, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5377,11 +5379,11 @@ yy519:
}
YYDEBUG(520, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1107 "Zend/zend_language_scanner.l"
+#line 1109 "Zend/zend_language_scanner.l"
{
return T_BREAK;
}
-#line 5385 "Zend/zend_language_scanner.c"
+#line 5387 "Zend/zend_language_scanner.c"
yy521:
YYDEBUG(521, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5421,11 +5423,11 @@ yy527:
}
YYDEBUG(528, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1091 "Zend/zend_language_scanner.l"
+#line 1093 "Zend/zend_language_scanner.l"
{
return T_SWITCH;
}
-#line 5429 "Zend/zend_language_scanner.c"
+#line 5431 "Zend/zend_language_scanner.c"
yy529:
YYDEBUG(529, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5449,11 +5451,11 @@ yy532:
}
YYDEBUG(533, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1273 "Zend/zend_language_scanner.l"
+#line 1275 "Zend/zend_language_scanner.l"
{
return T_STATIC;
}
-#line 5457 "Zend/zend_language_scanner.c"
+#line 5459 "Zend/zend_language_scanner.c"
yy534:
YYDEBUG(534, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5480,11 +5482,11 @@ yy537:
}
YYDEBUG(538, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1087 "Zend/zend_language_scanner.l"
+#line 1089 "Zend/zend_language_scanner.l"
{
return T_AS;
}
-#line 5488 "Zend/zend_language_scanner.c"
+#line 5490 "Zend/zend_language_scanner.c"
yy539:
YYDEBUG(539, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5503,11 +5505,11 @@ yy541:
}
YYDEBUG(542, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1309 "Zend/zend_language_scanner.l"
+#line 1311 "Zend/zend_language_scanner.l"
{
return T_ARRAY;
}
-#line 5511 "Zend/zend_language_scanner.c"
+#line 5513 "Zend/zend_language_scanner.c"
yy543:
YYDEBUG(543, *YYCURSOR);
++YYCURSOR;
@@ -5516,11 +5518,11 @@ yy543:
}
YYDEBUG(544, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1401 "Zend/zend_language_scanner.l"
+#line 1403 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_AND;
}
-#line 5524 "Zend/zend_language_scanner.c"
+#line 5526 "Zend/zend_language_scanner.c"
yy545:
YYDEBUG(545, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5554,11 +5556,11 @@ yy550:
}
YYDEBUG(551, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1277 "Zend/zend_language_scanner.l"
+#line 1279 "Zend/zend_language_scanner.l"
{
return T_ABSTRACT;
}
-#line 5562 "Zend/zend_language_scanner.c"
+#line 5564 "Zend/zend_language_scanner.c"
yy552:
YYDEBUG(552, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5582,11 +5584,11 @@ yy555:
}
YYDEBUG(556, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1047 "Zend/zend_language_scanner.l"
+#line 1049 "Zend/zend_language_scanner.l"
{
return T_WHILE;
}
-#line 5590 "Zend/zend_language_scanner.c"
+#line 5592 "Zend/zend_language_scanner.c"
yy557:
YYDEBUG(557, *YYCURSOR);
++YYCURSOR;
@@ -5595,11 +5597,11 @@ yy557:
}
YYDEBUG(558, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1031 "Zend/zend_language_scanner.l"
+#line 1033 "Zend/zend_language_scanner.l"
{
return T_IF;
}
-#line 5603 "Zend/zend_language_scanner.c"
+#line 5605 "Zend/zend_language_scanner.c"
yy559:
YYDEBUG(559, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5651,11 +5653,11 @@ yy564:
}
YYDEBUG(565, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1261 "Zend/zend_language_scanner.l"
+#line 1263 "Zend/zend_language_scanner.l"
{
return T_ISSET;
}
-#line 5659 "Zend/zend_language_scanner.c"
+#line 5661 "Zend/zend_language_scanner.c"
yy566:
YYDEBUG(566, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5709,11 +5711,11 @@ yy572:
yy573:
YYDEBUG(573, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1229 "Zend/zend_language_scanner.l"
+#line 1231 "Zend/zend_language_scanner.l"
{
return T_INCLUDE;
}
-#line 5717 "Zend/zend_language_scanner.c"
+#line 5719 "Zend/zend_language_scanner.c"
yy574:
YYDEBUG(574, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5742,11 +5744,11 @@ yy578:
}
YYDEBUG(579, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1233 "Zend/zend_language_scanner.l"
+#line 1235 "Zend/zend_language_scanner.l"
{
return T_INCLUDE_ONCE;
}
-#line 5750 "Zend/zend_language_scanner.c"
+#line 5752 "Zend/zend_language_scanner.c"
yy580:
YYDEBUG(580, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5780,11 +5782,11 @@ yy585:
}
YYDEBUG(586, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1131 "Zend/zend_language_scanner.l"
+#line 1133 "Zend/zend_language_scanner.l"
{
return T_INTERFACE;
}
-#line 5788 "Zend/zend_language_scanner.c"
+#line 5790 "Zend/zend_language_scanner.c"
yy587:
YYDEBUG(587, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5834,11 +5836,11 @@ yy593:
}
YYDEBUG(594, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1253 "Zend/zend_language_scanner.l"
+#line 1255 "Zend/zend_language_scanner.l"
{
return T_INSTEADOF;
}
-#line 5842 "Zend/zend_language_scanner.c"
+#line 5844 "Zend/zend_language_scanner.c"
yy595:
YYDEBUG(595, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5867,11 +5869,11 @@ yy599:
}
YYDEBUG(600, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1083 "Zend/zend_language_scanner.l"
+#line 1085 "Zend/zend_language_scanner.l"
{
return T_INSTANCEOF;
}
-#line 5875 "Zend/zend_language_scanner.c"
+#line 5877 "Zend/zend_language_scanner.c"
yy601:
YYDEBUG(601, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5915,11 +5917,11 @@ yy608:
}
YYDEBUG(609, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1143 "Zend/zend_language_scanner.l"
+#line 1145 "Zend/zend_language_scanner.l"
{
return T_IMPLEMENTS;
}
-#line 5923 "Zend/zend_language_scanner.c"
+#line 5925 "Zend/zend_language_scanner.c"
yy610:
YYDEBUG(610, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5947,11 +5949,11 @@ yy611:
}
YYDEBUG(613, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1019 "Zend/zend_language_scanner.l"
+#line 1021 "Zend/zend_language_scanner.l"
{
return T_TRY;
}
-#line 5955 "Zend/zend_language_scanner.c"
+#line 5957 "Zend/zend_language_scanner.c"
yy614:
YYDEBUG(614, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5970,11 +5972,11 @@ yy616:
}
YYDEBUG(617, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1135 "Zend/zend_language_scanner.l"
+#line 1137 "Zend/zend_language_scanner.l"
{
return T_TRAIT;
}
-#line 5978 "Zend/zend_language_scanner.c"
+#line 5980 "Zend/zend_language_scanner.c"
yy618:
YYDEBUG(618, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5993,11 +5995,11 @@ yy620:
}
YYDEBUG(621, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1027 "Zend/zend_language_scanner.l"
+#line 1029 "Zend/zend_language_scanner.l"
{
return T_THROW;
}
-#line 6001 "Zend/zend_language_scanner.c"
+#line 6003 "Zend/zend_language_scanner.c"
yy622:
YYDEBUG(622, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6058,11 +6060,11 @@ yy628:
yy629:
YYDEBUG(629, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1237 "Zend/zend_language_scanner.l"
+#line 1239 "Zend/zend_language_scanner.l"
{
return T_REQUIRE;
}
-#line 6066 "Zend/zend_language_scanner.c"
+#line 6068 "Zend/zend_language_scanner.c"
yy630:
YYDEBUG(630, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6091,11 +6093,11 @@ yy634:
}
YYDEBUG(635, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1241 "Zend/zend_language_scanner.l"
+#line 1243 "Zend/zend_language_scanner.l"
{
return T_REQUIRE_ONCE;
}
-#line 6099 "Zend/zend_language_scanner.c"
+#line 6101 "Zend/zend_language_scanner.c"
yy636:
YYDEBUG(636, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6114,11 +6116,11 @@ yy638:
}
YYDEBUG(639, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1015 "Zend/zend_language_scanner.l"
+#line 1017 "Zend/zend_language_scanner.l"
{
return T_RETURN;
}
-#line 6122 "Zend/zend_language_scanner.c"
+#line 6124 "Zend/zend_language_scanner.c"
yy640:
YYDEBUG(640, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6199,11 +6201,11 @@ yy649:
}
YYDEBUG(650, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1111 "Zend/zend_language_scanner.l"
+#line 1113 "Zend/zend_language_scanner.l"
{
return T_CONTINUE;
}
-#line 6207 "Zend/zend_language_scanner.c"
+#line 6209 "Zend/zend_language_scanner.c"
yy651:
YYDEBUG(651, *YYCURSOR);
++YYCURSOR;
@@ -6212,11 +6214,11 @@ yy651:
}
YYDEBUG(652, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1011 "Zend/zend_language_scanner.l"
+#line 1013 "Zend/zend_language_scanner.l"
{
return T_CONST;
}
-#line 6220 "Zend/zend_language_scanner.c"
+#line 6222 "Zend/zend_language_scanner.c"
yy653:
YYDEBUG(653, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6241,11 +6243,11 @@ yy656:
}
YYDEBUG(657, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1189 "Zend/zend_language_scanner.l"
+#line 1191 "Zend/zend_language_scanner.l"
{
return T_CLONE;
}
-#line 6249 "Zend/zend_language_scanner.c"
+#line 6251 "Zend/zend_language_scanner.c"
yy658:
YYDEBUG(658, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6259,11 +6261,11 @@ yy659:
}
YYDEBUG(660, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1127 "Zend/zend_language_scanner.l"
+#line 1129 "Zend/zend_language_scanner.l"
{
return T_CLASS;
}
-#line 6267 "Zend/zend_language_scanner.c"
+#line 6269 "Zend/zend_language_scanner.c"
yy661:
YYDEBUG(661, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6283,11 +6285,11 @@ yy663:
}
YYDEBUG(664, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1099 "Zend/zend_language_scanner.l"
+#line 1101 "Zend/zend_language_scanner.l"
{
return T_CASE;
}
-#line 6291 "Zend/zend_language_scanner.c"
+#line 6293 "Zend/zend_language_scanner.c"
yy665:
YYDEBUG(665, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6301,11 +6303,11 @@ yy666:
}
YYDEBUG(667, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1023 "Zend/zend_language_scanner.l"
+#line 1025 "Zend/zend_language_scanner.l"
{
return T_CATCH;
}
-#line 6309 "Zend/zend_language_scanner.c"
+#line 6311 "Zend/zend_language_scanner.c"
yy668:
YYDEBUG(668, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6356,11 +6358,11 @@ yy676:
}
YYDEBUG(677, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1007 "Zend/zend_language_scanner.l"
+#line 1009 "Zend/zend_language_scanner.l"
{
return T_FUNCTION;
}
-#line 6364 "Zend/zend_language_scanner.c"
+#line 6366 "Zend/zend_language_scanner.c"
yy678:
YYDEBUG(678, *YYCURSOR);
++YYCURSOR;
@@ -6384,11 +6386,11 @@ yy678:
yy679:
YYDEBUG(679, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1059 "Zend/zend_language_scanner.l"
+#line 1061 "Zend/zend_language_scanner.l"
{
return T_FOR;
}
-#line 6392 "Zend/zend_language_scanner.c"
+#line 6394 "Zend/zend_language_scanner.c"
yy680:
YYDEBUG(680, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6412,11 +6414,11 @@ yy683:
}
YYDEBUG(684, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1067 "Zend/zend_language_scanner.l"
+#line 1069 "Zend/zend_language_scanner.l"
{
return T_FOREACH;
}
-#line 6420 "Zend/zend_language_scanner.c"
+#line 6422 "Zend/zend_language_scanner.c"
yy685:
YYDEBUG(685, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6435,11 +6437,11 @@ yy687:
}
YYDEBUG(688, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1281 "Zend/zend_language_scanner.l"
+#line 1283 "Zend/zend_language_scanner.l"
{
return T_FINAL;
}
-#line 6443 "Zend/zend_language_scanner.c"
+#line 6445 "Zend/zend_language_scanner.c"
yy689:
YYDEBUG(689, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6470,11 +6472,11 @@ yy691:
}
YYDEBUG(692, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1055 "Zend/zend_language_scanner.l"
+#line 1057 "Zend/zend_language_scanner.l"
{
return T_DO;
}
-#line 6478 "Zend/zend_language_scanner.c"
+#line 6480 "Zend/zend_language_scanner.c"
yy693:
YYDEBUG(693, *YYCURSOR);
++YYCURSOR;
@@ -6483,11 +6485,11 @@ yy693:
}
YYDEBUG(694, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1003 "Zend/zend_language_scanner.l"
+#line 1005 "Zend/zend_language_scanner.l"
{
return T_EXIT;
}
-#line 6491 "Zend/zend_language_scanner.c"
+#line 6493 "Zend/zend_language_scanner.c"
yy695:
YYDEBUG(695, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6522,11 +6524,11 @@ yy700:
}
YYDEBUG(701, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1103 "Zend/zend_language_scanner.l"
+#line 1105 "Zend/zend_language_scanner.l"
{
return T_DEFAULT;
}
-#line 6530 "Zend/zend_language_scanner.c"
+#line 6532 "Zend/zend_language_scanner.c"
yy702:
YYDEBUG(702, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6550,11 +6552,11 @@ yy705:
}
YYDEBUG(706, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1075 "Zend/zend_language_scanner.l"
+#line 1077 "Zend/zend_language_scanner.l"
{
return T_DECLARE;
}
-#line 6558 "Zend/zend_language_scanner.c"
+#line 6560 "Zend/zend_language_scanner.c"
yy707:
YYDEBUG(707, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6634,11 +6636,11 @@ yy718:
}
YYDEBUG(719, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1139 "Zend/zend_language_scanner.l"
+#line 1141 "Zend/zend_language_scanner.l"
{
return T_EXTENDS;
}
-#line 6642 "Zend/zend_language_scanner.c"
+#line 6644 "Zend/zend_language_scanner.c"
yy720:
YYDEBUG(720, *YYCURSOR);
++YYCURSOR;
@@ -6647,11 +6649,11 @@ yy720:
}
YYDEBUG(721, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 999 "Zend/zend_language_scanner.l"
+#line 1001 "Zend/zend_language_scanner.l"
{
return T_EXIT;
}
-#line 6655 "Zend/zend_language_scanner.c"
+#line 6657 "Zend/zend_language_scanner.c"
yy722:
YYDEBUG(722, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6665,11 +6667,11 @@ yy723:
}
YYDEBUG(724, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1225 "Zend/zend_language_scanner.l"
+#line 1227 "Zend/zend_language_scanner.l"
{
return T_EVAL;
}
-#line 6673 "Zend/zend_language_scanner.c"
+#line 6675 "Zend/zend_language_scanner.c"
yy725:
YYDEBUG(725, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6739,11 +6741,11 @@ yy734:
}
YYDEBUG(735, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1051 "Zend/zend_language_scanner.l"
+#line 1053 "Zend/zend_language_scanner.l"
{
return T_ENDWHILE;
}
-#line 6747 "Zend/zend_language_scanner.c"
+#line 6749 "Zend/zend_language_scanner.c"
yy736:
YYDEBUG(736, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6772,11 +6774,11 @@ yy740:
}
YYDEBUG(741, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1095 "Zend/zend_language_scanner.l"
+#line 1097 "Zend/zend_language_scanner.l"
{
return T_ENDSWITCH;
}
-#line 6780 "Zend/zend_language_scanner.c"
+#line 6782 "Zend/zend_language_scanner.c"
yy742:
YYDEBUG(742, *YYCURSOR);
++YYCURSOR;
@@ -6785,11 +6787,11 @@ yy742:
}
YYDEBUG(743, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1039 "Zend/zend_language_scanner.l"
+#line 1041 "Zend/zend_language_scanner.l"
{
return T_ENDIF;
}
-#line 6793 "Zend/zend_language_scanner.c"
+#line 6795 "Zend/zend_language_scanner.c"
yy744:
YYDEBUG(744, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6818,11 +6820,11 @@ yy745:
yy746:
YYDEBUG(746, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1063 "Zend/zend_language_scanner.l"
+#line 1065 "Zend/zend_language_scanner.l"
{
return T_ENDFOR;
}
-#line 6826 "Zend/zend_language_scanner.c"
+#line 6828 "Zend/zend_language_scanner.c"
yy747:
YYDEBUG(747, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6846,11 +6848,11 @@ yy750:
}
YYDEBUG(751, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1071 "Zend/zend_language_scanner.l"
+#line 1073 "Zend/zend_language_scanner.l"
{
return T_ENDFOREACH;
}
-#line 6854 "Zend/zend_language_scanner.c"
+#line 6856 "Zend/zend_language_scanner.c"
yy752:
YYDEBUG(752, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6884,11 +6886,11 @@ yy757:
}
YYDEBUG(758, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1079 "Zend/zend_language_scanner.l"
+#line 1081 "Zend/zend_language_scanner.l"
{
return T_ENDDECLARE;
}
-#line 6892 "Zend/zend_language_scanner.c"
+#line 6894 "Zend/zend_language_scanner.c"
yy759:
YYDEBUG(759, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6907,11 +6909,11 @@ yy761:
}
YYDEBUG(762, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1265 "Zend/zend_language_scanner.l"
+#line 1267 "Zend/zend_language_scanner.l"
{
return T_EMPTY;
}
-#line 6915 "Zend/zend_language_scanner.c"
+#line 6917 "Zend/zend_language_scanner.c"
yy763:
YYDEBUG(763, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6940,11 +6942,11 @@ yy764:
yy765:
YYDEBUG(765, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1043 "Zend/zend_language_scanner.l"
+#line 1045 "Zend/zend_language_scanner.l"
{
return T_ELSE;
}
-#line 6948 "Zend/zend_language_scanner.c"
+#line 6950 "Zend/zend_language_scanner.c"
yy766:
YYDEBUG(766, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6958,11 +6960,11 @@ yy767:
}
YYDEBUG(768, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1035 "Zend/zend_language_scanner.l"
+#line 1037 "Zend/zend_language_scanner.l"
{
return T_ELSEIF;
}
-#line 6966 "Zend/zend_language_scanner.c"
+#line 6968 "Zend/zend_language_scanner.c"
yy769:
YYDEBUG(769, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6976,11 +6978,11 @@ yy770:
}
YYDEBUG(771, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1119 "Zend/zend_language_scanner.l"
+#line 1121 "Zend/zend_language_scanner.l"
{
return T_ECHO;
}
-#line 6984 "Zend/zend_language_scanner.c"
+#line 6986 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_PROPERTY:
@@ -7053,7 +7055,7 @@ yy774:
yy775:
YYDEBUG(775, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1152 "Zend/zend_language_scanner.l"
+#line 1154 "Zend/zend_language_scanner.l"
{
zendlval->value.str.val = yytext; /* no copying - intentional */
zendlval->value.str.len = yyleng;
@@ -7061,7 +7063,7 @@ yy775:
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 7065 "Zend/zend_language_scanner.c"
+#line 7067 "Zend/zend_language_scanner.c"
yy776:
YYDEBUG(776, *YYCURSOR);
++YYCURSOR;
@@ -7069,13 +7071,13 @@ yy776:
yy777:
YYDEBUG(777, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1171 "Zend/zend_language_scanner.l"
+#line 1173 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state(TSRMLS_C);
goto restart;
}
-#line 7079 "Zend/zend_language_scanner.c"
+#line 7081 "Zend/zend_language_scanner.c"
yy778:
YYDEBUG(778, *YYCURSOR);
++YYCURSOR;
@@ -7084,14 +7086,14 @@ yy778:
yy779:
YYDEBUG(779, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1164 "Zend/zend_language_scanner.l"
+#line 1166 "Zend/zend_language_scanner.l"
{
yy_pop_state(TSRMLS_C);
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-#line 7095 "Zend/zend_language_scanner.c"
+#line 7097 "Zend/zend_language_scanner.c"
yy780:
YYDEBUG(780, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7112,11 +7114,11 @@ yy783:
++YYCURSOR;
YYDEBUG(784, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1160 "Zend/zend_language_scanner.l"
+#line 1162 "Zend/zend_language_scanner.l"
{
return T_OBJECT_OPERATOR;
}
-#line 7120 "Zend/zend_language_scanner.c"
+#line 7122 "Zend/zend_language_scanner.c"
yy785:
YYDEBUG(785, *YYCURSOR);
++YYCURSOR;
@@ -7186,7 +7188,7 @@ yy789:
yy790:
YYDEBUG(790, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1443 "Zend/zend_language_scanner.l"
+#line 1445 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
@@ -7194,20 +7196,20 @@ yy790:
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
return T_STRING_VARNAME;
}
-#line 7198 "Zend/zend_language_scanner.c"
+#line 7200 "Zend/zend_language_scanner.c"
yy791:
YYDEBUG(791, *YYCURSOR);
++YYCURSOR;
YYDEBUG(792, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1452 "Zend/zend_language_scanner.l"
+#line 1454 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state(TSRMLS_C);
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
goto restart;
}
-#line 7211 "Zend/zend_language_scanner.c"
+#line 7213 "Zend/zend_language_scanner.c"
yy793:
YYDEBUG(793, *YYCURSOR);
++YYCURSOR;
@@ -7229,7 +7231,7 @@ yyc_ST_NOWDOC:
++YYCURSOR;
YYDEBUG(798, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2275 "Zend/zend_language_scanner.l"
+#line 2277 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -7284,7 +7286,7 @@ nowdoc_scan_done:
HANDLE_NEWLINES(yytext, yyleng - newline);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7288 "Zend/zend_language_scanner.c"
+#line 7290 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_VAR_OFFSET:
{
@@ -7384,7 +7386,7 @@ yy801:
yy802:
YYDEBUG(802, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1502 "Zend/zend_language_scanner.l"
+#line 1504 "Zend/zend_language_scanner.l"
{ /* Offset could be treated as a long */
if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
zendlval->value.lval = strtol(yytext, NULL, 10);
@@ -7396,7 +7398,7 @@ yy802:
}
return T_NUM_STRING;
}
-#line 7400 "Zend/zend_language_scanner.c"
+#line 7402 "Zend/zend_language_scanner.c"
yy803:
YYDEBUG(803, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7416,23 +7418,23 @@ yy804:
yy805:
YYDEBUG(805, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1803 "Zend/zend_language_scanner.l"
+#line 1805 "Zend/zend_language_scanner.l"
{
/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
return yytext[0];
}
-#line 7425 "Zend/zend_language_scanner.c"
+#line 7427 "Zend/zend_language_scanner.c"
yy806:
YYDEBUG(806, *YYCURSOR);
++YYCURSOR;
YYDEBUG(807, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1798 "Zend/zend_language_scanner.l"
+#line 1800 "Zend/zend_language_scanner.l"
{
yy_pop_state(TSRMLS_C);
return ']';
}
-#line 7436 "Zend/zend_language_scanner.c"
+#line 7438 "Zend/zend_language_scanner.c"
yy808:
YYDEBUG(808, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7442,14 +7444,14 @@ yy809:
++YYCURSOR;
YYDEBUG(810, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1808 "Zend/zend_language_scanner.l"
+#line 1810 "Zend/zend_language_scanner.l"
{
/* Invalid rule to return a more explicit parse error with proper line number */
yyless(0);
yy_pop_state(TSRMLS_C);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7453 "Zend/zend_language_scanner.c"
+#line 7455 "Zend/zend_language_scanner.c"
yy811:
YYDEBUG(811, *YYCURSOR);
++YYCURSOR;
@@ -7458,19 +7460,19 @@ yy811:
yy812:
YYDEBUG(812, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1815 "Zend/zend_language_scanner.l"
+#line 1817 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-#line 7468 "Zend/zend_language_scanner.c"
+#line 7470 "Zend/zend_language_scanner.c"
yy813:
YYDEBUG(813, *YYCURSOR);
++YYCURSOR;
YYDEBUG(814, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2331 "Zend/zend_language_scanner.l"
+#line 2333 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -7479,7 +7481,7 @@ yy813:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 7483 "Zend/zend_language_scanner.c"
+#line 7485 "Zend/zend_language_scanner.c"
yy815:
YYDEBUG(815, *YYCURSOR);
++YYCURSOR;
@@ -7515,13 +7517,13 @@ yy817:
yy819:
YYDEBUG(819, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1792 "Zend/zend_language_scanner.l"
+#line 1794 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 7525 "Zend/zend_language_scanner.c"
+#line 7527 "Zend/zend_language_scanner.c"
yy820:
YYDEBUG(820, *YYCURSOR);
++YYCURSOR;
@@ -7553,14 +7555,14 @@ yy824:
yy826:
YYDEBUG(826, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1514 "Zend/zend_language_scanner.l"
+#line 1516 "Zend/zend_language_scanner.l"
{ /* Offset must be treated as a string */
zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
zendlval->value.str.len = yyleng;
zendlval->type = IS_STRING;
return T_NUM_STRING;
}
-#line 7564 "Zend/zend_language_scanner.c"
+#line 7566 "Zend/zend_language_scanner.c"
yy827:
YYDEBUG(827, *YYCURSOR);
++YYCURSOR;
@@ -7573,6 +7575,6 @@ yy827:
goto yy826;
}
}
-#line 2340 "Zend/zend_language_scanner.l"
+#line 2342 "Zend/zend_language_scanner.l"
}
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index cd329c61f9..8c04cf7602 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -174,6 +174,7 @@ static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)
void startup_scanner(TSRMLS_D)
{
+ CG(parse_error) = 0;
CG(heredoc) = NULL;
CG(heredoc_len) = 0;
CG(doc_comment) = NULL;
@@ -187,6 +188,7 @@ void shutdown_scanner(TSRMLS_D)
efree(CG(heredoc));
CG(heredoc_len)=0;
}
+ CG(parse_error) = 0;
zend_stack_destroy(&SCNG(state_stack));
RESET_DOC_COMMENT();
}
diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h
index f0bd4af35b..0c78414666 100644
--- a/Zend/zend_language_scanner_defs.h
+++ b/Zend/zend_language_scanner_defs.h
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Sun Jun 5 21:39:30 2011 */
+/* Generated by re2c 0.13.5 on Thu Jun 23 17:57:45 2011 */
#line 3 "Zend/zend_language_scanner_defs.h"
enum YYCONDTYPE {
diff --git a/main/main.c b/main/main.c
index f4a70cb113..e52853397f 100644
--- a/main/main.c
+++ b/main/main.c
@@ -990,7 +990,7 @@ static void php_error_cb(int type, const char *error_filename, const uint error_
char *append_string = INI_STR("error_append_string");
if (PG(html_errors)) {
- if (type == E_ERROR) {
+ if (type == E_ERROR || type == E_PARSE) {
size_t len;
char *buf = php_escape_html_entities(buffer, buffer_len, &len, 0, ENT_COMPAT, NULL TSRMLS_CC);
php_printf("%s<br />\n<b>%s</b>: %s in <b>%s</b> on line <b>%d</b><br />\n%s", STR_PRINT(prepend_string), error_type_str, buf, error_filename, error_lineno, STR_PRINT(append_string));
@@ -1061,7 +1061,9 @@ static void php_error_cb(int type, const char *error_filename, const uint error_
sapi_header_op(SAPI_HEADER_REPLACE, &ctr TSRMLS_CC);
}
/* the parser would return 1 (failure), we can bail out nicely */
- if (type != E_PARSE) {
+ if (type == E_PARSE) {
+ CG(parse_error) = 0;
+ } else {
/* restore memory limit */
zend_set_memory_limit(PG(memory_limit));
efree(buffer);