summaryrefslogtreecommitdiff
path: root/Zend/zend_language_scanner.l
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-07-09 22:59:31 +0200
committerNikita Popov <nikic@php.net>2015-07-09 23:02:21 +0200
commita49ce7bb91bec02d6f26b3118404371df23242fe (patch)
treea6b240dd25820ccd6f1b2109a19814f2bf34f488 /Zend/zend_language_scanner.l
parentfc5c7e633b35f76df405471b119984fbf6354b41 (diff)
downloadphp-git-a49ce7bb91bec02d6f26b3118404371df23242fe.tar.gz
Don't return T_ERROR from token_get_all()
This turned out to be rather inconvenient after all. Instead just return the same output we did on PHP 5. If people want to have an error, use TOKEN_PARSE.
Diffstat (limited to 'Zend/zend_language_scanner.l')
-rw-r--r--Zend/zend_language_scanner.l22
1 files changed, 7 insertions, 15 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 9b5124f64c..47958b7182 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -1662,7 +1662,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
if (end != yytext + yyleng) {
zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
ZVAL_UNDEF(zendlval);
- RETURN_TOKEN(T_ERROR);
+ RETURN_TOKEN(T_LNUMBER);
}
} else {
errno = 0;
@@ -1680,7 +1680,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
zend_throw_exception(zend_ce_parse_error,
"Invalid numeric literal", 0);
ZVAL_UNDEF(zendlval);
- RETURN_TOKEN(T_ERROR);
+ RETURN_TOKEN(T_DNUMBER);
}
ZEND_ASSERT(!errno);
RETURN_TOKEN(T_DNUMBER);
@@ -1689,7 +1689,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
if (end != yytext + yyleng) {
zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
ZVAL_UNDEF(zendlval);
- RETURN_TOKEN(T_ERROR);
+ RETURN_TOKEN(T_DNUMBER);
}
}
ZEND_ASSERT(!errno);
@@ -2047,9 +2047,7 @@ inline_char_handler:
switch (*YYCURSOR++) {
case '"':
yyleng = YYCURSOR - SCNG(yy_text);
- if (zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == FAILURE) {
- RETURN_TOKEN(T_ERROR);
- }
+ zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"');
RETURN_TOKEN(T_CONSTANT_ENCAPSED_STRING);
case '$':
if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
@@ -2216,9 +2214,7 @@ inline_char_handler:
double_quotes_scan_done:
yyleng = YYCURSOR - SCNG(yy_text);
- if (zend_scan_escape_string(zendlval, yytext, yyleng, '"') == FAILURE) {
- RETURN_TOKEN(T_ERROR);
- }
+ zend_scan_escape_string(zendlval, yytext, yyleng, '"');
RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
}
@@ -2260,9 +2256,7 @@ double_quotes_scan_done:
yyleng = YYCURSOR - SCNG(yy_text);
- if (zend_scan_escape_string(zendlval, yytext, yyleng, '`') == FAILURE) {
- RETURN_TOKEN(T_ERROR);
- }
+ zend_scan_escape_string(zendlval, yytext, yyleng, '`');
RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
}
@@ -2336,9 +2330,7 @@ double_quotes_scan_done:
heredoc_scan_done:
yyleng = YYCURSOR - SCNG(yy_text);
- if (zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0) == FAILURE) {
- RETURN_TOKEN(T_ERROR);
- }
+ zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0);
RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
}