zend_bool original_in_compilation = CG(in_compilation);
retval_znode.op_type = IS_CONST;
- retval_znode.u.constant.type = IS_LONG;
- retval_znode.u.constant.value.lval = 1;
- Z_UNSET_ISREF(retval_znode.u.constant);
- Z_SET_REFCOUNT(retval_znode.u.constant, 1);
+ INIT_PZVAL(&retval_znode.u.constant);
+ ZVAL_LONG(&retval_znode.u.constant, 1);
zend_save_lexical_state(&original_lex_state TSRMLS_CC);
convert_to_string(&tmp);
filename = &tmp;
}
- file_handle.filename = filename->value.str.val;
+ file_handle.filename = Z_STRVAL_P(filename);
file_handle.free_filename = 0;
file_handle.type = ZEND_HANDLE_FILENAME;
file_handle.opened_path = NULL;
int dummy = 1;
if (!file_handle.opened_path) {
- file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len);
+ file_handle.opened_path = opened_path = estrndup(Z_STRVAL_P(filename), Z_STRLEN_P(filename));
}
zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL);
size_t size;
/* enforce two trailing NULLs for flex... */
- if (IS_INTERNED(str->value.str.val)) {
- char *tmp = safe_emalloc(1, str->value.str.len, ZEND_MMAP_AHEAD);
- memcpy(tmp, str->value.str.val, str->value.str.len + ZEND_MMAP_AHEAD);
- str->value.str.val = tmp;
+ if (IS_INTERNED(Z_STRVAL_P(str))) {
+ char *tmp = safe_emalloc(1, Z_STRLEN_P(str), ZEND_MMAP_AHEAD);
+ memcpy(tmp, Z_STRVAL_P(str), Z_STRLEN_P(str) + ZEND_MMAP_AHEAD);
+ Z_STRVAL_P(str) = tmp;
} else {
- str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD);
+ Z_STRVAL_P(str) = safe_erealloc(Z_STRVAL_P(str), 1, Z_STRLEN_P(str), ZEND_MMAP_AHEAD);
}
- memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD);
+ memset(Z_STRVAL_P(str) + Z_STRLEN_P(str), 0, ZEND_MMAP_AHEAD);
SCNG(yy_in) = NULL;
SCNG(yy_start) = NULL;
- buf = str->value.str.val;
- size = str->value.str.len;
+ buf = Z_STRVAL_P(str);
+ size = Z_STRLEN_P(str);
if (CG(multibyte)) {
SCNG(script_org) = (unsigned char*)buf;
int compiler_result;
zend_bool original_in_compilation = CG(in_compilation);
- if (source_string->value.str.len==0) {
+ if (Z_STRLEN_P(source_string)==0) {
efree(op_array);
return NULL;
}
# define zend_copy_value(zendlval, yytext, yyleng) \
if (SCNG(output_filter)) { \
size_t sz = 0; \
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \
- zendlval->value.str.len = sz; \
+ SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \
+ Z_STRLEN_P(zendlval) = sz; \
} else { \
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \
- zendlval->value.str.len = yyleng; \
+ Z_STRVAL_P(zendlval) = (char *) estrndup(yytext, yyleng); \
+ Z_STRLEN_P(zendlval) = yyleng; \
}
static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
ZVAL_STRINGL(zendlval, str, len, 1);
/* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
+ s = t = Z_STRVAL_P(zendlval);
+ end = s+Z_STRLEN_P(zendlval);
while (s<end) {
if (*s=='\\') {
s++;
switch(*s) {
case 'n':
*t++ = '\n';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'r':
*t++ = '\r';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 't':
*t++ = '\t';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'f':
*t++ = '\f';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'v':
*t++ = '\v';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'e':
#ifdef PHP_WIN32
#else
*t++ = '\e';
#endif
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case '"':
case '`':
case '\\':
case '$':
*t++ = *s;
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'x':
case 'X':
if (ZEND_IS_HEX(*(s+1))) {
char hex_buf[3] = { 0, 0, 0 };
- zendlval->value.str.len--; /* for the 'x' */
+ Z_STRLEN_P(zendlval)--; /* for the 'x' */
hex_buf[0] = *(++s);
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
if (ZEND_IS_HEX(*(s+1))) {
hex_buf[1] = *(++s);
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
}
*t++ = (char) strtol(hex_buf, NULL, 16);
} else {
char octal_buf[4] = { 0, 0, 0, 0 };
octal_buf[0] = *s;
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
if (ZEND_IS_OCT(*(s+1))) {
octal_buf[1] = *(++s);
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
if (ZEND_IS_OCT(*(s+1))) {
octal_buf[2] = *(++s);
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
}
}
*t++ = (char) strtol(octal_buf, NULL, 8);
*t = 0;
if (SCNG(output_filter)) {
size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
+ s = Z_STRVAL_P(zendlval);
+ SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);
+ Z_STRLEN_P(zendlval) = sz;
efree(s);
}
}
yymore_restart:
-#line 1010 "Zend/zend_language_scanner.c"
+#line 1008 "Zend/zend_language_scanner.c"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
yy3:
YYDEBUG(3, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1807 "Zend/zend_language_scanner.l"
+#line 1745 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
if (SCNG(output_filter)) {
int readsize;
size_t sz = 0;
- readsize = SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
- zendlval->value.str.len = sz;
+ readsize = SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
+ Z_STRLEN_P(zendlval) = sz;
if (readsize < yyleng) {
yyless(readsize);
}
} else {
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
+ Z_STRVAL_P(zendlval) = (char *) estrndup(yytext, yyleng);
+ Z_STRLEN_P(zendlval) = yyleng;
}
zendlval->type = IS_STRING;
HANDLE_NEWLINES(yytext, yyleng);
return T_INLINE_HTML;
}
-#line 1169 "Zend/zend_language_scanner.c"
+#line 1167 "Zend/zend_language_scanner.c"
yy4:
YYDEBUG(4, *YYCURSOR);
yych = *++YYCURSOR;
yy6:
YYDEBUG(6, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1795 "Zend/zend_language_scanner.l"
+#line 1735 "Zend/zend_language_scanner.l"
{
if (CG(short_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
} else {
goto inline_char_handler;
}
}
-#line 1199 "Zend/zend_language_scanner.c"
+#line 1195 "Zend/zend_language_scanner.c"
yy7:
YYDEBUG(7, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy43;
YYDEBUG(8, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1772 "Zend/zend_language_scanner.l"
+#line 1716 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
} else {
goto inline_char_handler;
}
}
-#line 1218 "Zend/zend_language_scanner.c"
+#line 1212 "Zend/zend_language_scanner.c"
yy9:
YYDEBUG(9, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(38, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1732 "Zend/zend_language_scanner.l"
+#line 1682 "Zend/zend_language_scanner.l"
{
YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
}
HANDLE_NEWLINES(yytext, yyleng);
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
}
-#line 1421 "Zend/zend_language_scanner.c"
+#line 1413 "Zend/zend_language_scanner.c"
yy39:
YYDEBUG(39, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(44, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1750 "Zend/zend_language_scanner.l"
+#line 1698 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
} else {
goto inline_char_handler;
}
}
-#line 1460 "Zend/zend_language_scanner.c"
+#line 1450 "Zend/zend_language_scanner.c"
yy45:
YYDEBUG(45, *YYCURSOR);
++YYCURSOR;
YYDEBUG(46, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1763 "Zend/zend_language_scanner.l"
+#line 1709 "Zend/zend_language_scanner.l"
{
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
}
-#line 1474 "Zend/zend_language_scanner.c"
+#line 1462 "Zend/zend_language_scanner.c"
yy47:
YYDEBUG(47, *YYCURSOR);
yych = *++YYCURSOR;
yy51:
YYDEBUG(51, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1785 "Zend/zend_language_scanner.l"
+#line 1727 "Zend/zend_language_scanner.l"
{
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
HANDLE_NEWLINE(yytext[yyleng-1]);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
}
-#line 1510 "Zend/zend_language_scanner.c"
+#line 1496 "Zend/zend_language_scanner.c"
yy52:
YYDEBUG(52, *YYCURSOR);
++YYCURSOR;
yy56:
YYDEBUG(56, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2258 "Zend/zend_language_scanner.l"
+#line 2190 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1622 "Zend/zend_language_scanner.c"
+#line 1608 "Zend/zend_language_scanner.c"
yy57:
YYDEBUG(57, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(59, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2202 "Zend/zend_language_scanner.l"
+#line 2134 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '`';
}
-#line 1638 "Zend/zend_language_scanner.c"
+#line 1624 "Zend/zend_language_scanner.c"
yy60:
YYDEBUG(60, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(62, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2189 "Zend/zend_language_scanner.l"
+#line 2121 "Zend/zend_language_scanner.l"
{
- zendlval->value.lval = (long) '{';
+ Z_LVAL_P(zendlval) = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1655 "Zend/zend_language_scanner.c"
+#line 1641 "Zend/zend_language_scanner.c"
yy63:
YYDEBUG(63, *YYCURSOR);
yyaccept = 0;
yy65:
YYDEBUG(65, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1889 "Zend/zend_language_scanner.l"
+#line 1827 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1677 "Zend/zend_language_scanner.c"
+#line 1663 "Zend/zend_language_scanner.c"
yy66:
YYDEBUG(66, *YYCURSOR);
++YYCURSOR;
YYDEBUG(67, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1465 "Zend/zend_language_scanner.l"
+#line 1461 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1688 "Zend/zend_language_scanner.c"
+#line 1674 "Zend/zend_language_scanner.c"
yy68:
YYDEBUG(68, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(71, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1881 "Zend/zend_language_scanner.l"
+#line 1819 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1710 "Zend/zend_language_scanner.c"
+#line 1696 "Zend/zend_language_scanner.c"
yy72:
YYDEBUG(72, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(74, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1871 "Zend/zend_language_scanner.l"
+#line 1809 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1736 "Zend/zend_language_scanner.c"
+#line 1722 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_DOUBLE_QUOTES:
yy78:
YYDEBUG(78, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2208 "Zend/zend_language_scanner.l"
+#line 2140 "Zend/zend_language_scanner.l"
{
if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1853 "Zend/zend_language_scanner.c"
+#line 1839 "Zend/zend_language_scanner.c"
yy79:
YYDEBUG(79, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(81, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2197 "Zend/zend_language_scanner.l"
+#line 2129 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '"';
}
-#line 1869 "Zend/zend_language_scanner.c"
+#line 1855 "Zend/zend_language_scanner.c"
yy82:
YYDEBUG(82, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(84, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2189 "Zend/zend_language_scanner.l"
+#line 2121 "Zend/zend_language_scanner.l"
{
- zendlval->value.lval = (long) '{';
+ Z_LVAL_P(zendlval) = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1886 "Zend/zend_language_scanner.c"
+#line 1872 "Zend/zend_language_scanner.c"
yy85:
YYDEBUG(85, *YYCURSOR);
yyaccept = 0;
yy87:
YYDEBUG(87, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1889 "Zend/zend_language_scanner.l"
+#line 1827 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1908 "Zend/zend_language_scanner.c"
+#line 1894 "Zend/zend_language_scanner.c"
yy88:
YYDEBUG(88, *YYCURSOR);
++YYCURSOR;
YYDEBUG(89, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1465 "Zend/zend_language_scanner.l"
+#line 1461 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1919 "Zend/zend_language_scanner.c"
+#line 1905 "Zend/zend_language_scanner.c"
yy90:
YYDEBUG(90, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(93, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1881 "Zend/zend_language_scanner.l"
+#line 1819 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1941 "Zend/zend_language_scanner.c"
+#line 1927 "Zend/zend_language_scanner.c"
yy94:
YYDEBUG(94, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(96, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1871 "Zend/zend_language_scanner.l"
+#line 1809 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 1967 "Zend/zend_language_scanner.c"
+#line 1953 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_END_HEREDOC:
++YYCURSOR;
YYDEBUG(100, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2175 "Zend/zend_language_scanner.l"
+#line 2107 "Zend/zend_language_scanner.l"
{
zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
BEGIN(ST_IN_SCRIPTING);
return T_END_HEREDOC;
}
-#line 1991 "Zend/zend_language_scanner.c"
+#line 1977 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_HEREDOC:
{
yy104:
YYDEBUG(104, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2300 "Zend/zend_language_scanner.l"
+#line 2232 "Zend/zend_language_scanner.l"
{
int newline = 0;
zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 2126 "Zend/zend_language_scanner.c"
+#line 2112 "Zend/zend_language_scanner.c"
yy105:
YYDEBUG(105, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(108, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2189 "Zend/zend_language_scanner.l"
+#line 2121 "Zend/zend_language_scanner.l"
{
- zendlval->value.lval = (long) '{';
+ Z_LVAL_P(zendlval) = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;
}
-#line 2148 "Zend/zend_language_scanner.c"
+#line 2134 "Zend/zend_language_scanner.c"
yy109:
YYDEBUG(109, *YYCURSOR);
yyaccept = 0;
yy111:
YYDEBUG(111, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1889 "Zend/zend_language_scanner.l"
+#line 1827 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 2170 "Zend/zend_language_scanner.c"
+#line 2156 "Zend/zend_language_scanner.c"
yy112:
YYDEBUG(112, *YYCURSOR);
++YYCURSOR;
YYDEBUG(113, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1465 "Zend/zend_language_scanner.l"
+#line 1461 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 2181 "Zend/zend_language_scanner.c"
+#line 2167 "Zend/zend_language_scanner.c"
yy114:
YYDEBUG(114, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(117, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1881 "Zend/zend_language_scanner.l"
+#line 1819 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 2203 "Zend/zend_language_scanner.c"
+#line 2189 "Zend/zend_language_scanner.c"
yy118:
YYDEBUG(118, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(120, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1871 "Zend/zend_language_scanner.l"
+#line 1809 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 2229 "Zend/zend_language_scanner.c"
+#line 2215 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_IN_SCRIPTING:
yy124:
YYDEBUG(124, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1912 "Zend/zend_language_scanner.l"
+#line 1850 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-#line 2418 "Zend/zend_language_scanner.c"
+#line 2404 "Zend/zend_language_scanner.c"
yy125:
YYDEBUG(125, *YYCURSOR);
yych = *++YYCURSOR;
yy139:
YYDEBUG(139, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1450 "Zend/zend_language_scanner.l"
{
return yytext[0];
}
-#line 2654 "Zend/zend_language_scanner.c"
+#line 2640 "Zend/zend_language_scanner.c"
yy140:
YYDEBUG(140, *YYCURSOR);
++YYCURSOR;
yy141:
YYDEBUG(141, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1185 "Zend/zend_language_scanner.l"
+#line 1183 "Zend/zend_language_scanner.l"
{
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 2671 "Zend/zend_language_scanner.c"
+#line 2655 "Zend/zend_language_scanner.c"
yy142:
YYDEBUG(142, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(144, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1214 "Zend/zend_language_scanner.l"
+#line 1210 "Zend/zend_language_scanner.l"
{
return T_NS_SEPARATOR;
}
-#line 2686 "Zend/zend_language_scanner.c"
+#line 2670 "Zend/zend_language_scanner.c"
yy145:
YYDEBUG(145, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(169, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1459 "Zend/zend_language_scanner.l"
+#line 1455 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
return '{';
}
-#line 2919 "Zend/zend_language_scanner.c"
+#line 2903 "Zend/zend_language_scanner.c"
yy170:
YYDEBUG(170, *YYCURSOR);
++YYCURSOR;
YYDEBUG(171, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1471 "Zend/zend_language_scanner.l"
+#line 1467 "Zend/zend_language_scanner.l"
{
RESET_DOC_COMMENT();
if (!zend_stack_is_empty(&SCNG(state_stack))) {
}
return '}';
}
-#line 2933 "Zend/zend_language_scanner.c"
+#line 2917 "Zend/zend_language_scanner.c"
yy172:
YYDEBUG(172, *YYCURSOR);
yyaccept = 2;
yy173:
YYDEBUG(173, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1522 "Zend/zend_language_scanner.l"
+#line 1517 "Zend/zend_language_scanner.l"
{
if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
- zendlval->value.lval = strtol(yytext, NULL, 0);
+ Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);
} else {
errno = 0;
- zendlval->value.lval = strtol(yytext, NULL, 0);
+ Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);
if (errno == ERANGE) { /* Overflow */
if (yytext[0] == '0') { /* octal overflow */
- zendlval->value.dval = zend_oct_strtod(yytext, NULL);
+ Z_DVAL_P(zendlval) = zend_oct_strtod(yytext, NULL);
} else {
- zendlval->value.dval = zend_strtod(yytext, NULL);
+ Z_DVAL_P(zendlval) = zend_strtod(yytext, NULL);
}
zendlval->type = IS_DOUBLE;
return T_DNUMBER;
zendlval->type = IS_LONG;
return T_LNUMBER;
}
-#line 2982 "Zend/zend_language_scanner.c"
+#line 2966 "Zend/zend_language_scanner.c"
yy174:
YYDEBUG(174, *YYCURSOR);
yyaccept = 2;
yy177:
YYDEBUG(177, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1919 "Zend/zend_language_scanner.l"
+#line 1857 "Zend/zend_language_scanner.l"
{
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR++) {
return T_COMMENT;
}
-#line 3044 "Zend/zend_language_scanner.c"
+#line 3028 "Zend/zend_language_scanner.c"
yy178:
YYDEBUG(178, *YYCURSOR);
++YYCURSOR;
yy179:
YYDEBUG(179, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2010 "Zend/zend_language_scanner.l"
+#line 1944 "Zend/zend_language_scanner.l"
{
register char *s, *t;
char *end;
}
}
- zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2);
- zendlval->value.str.len = yyleng-bprefix-2;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2, 1);
/* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
+ s = t = Z_STRVAL_P(zendlval);
+ end = s+Z_STRLEN_P(zendlval);
while (s<end) {
if (*s=='\\') {
s++;
case '\\':
case '\'':
*t++ = *s;
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
default:
*t++ = '\\';
if (SCNG(output_filter)) {
size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
+ s = Z_STRVAL_P(zendlval);
+ SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);
+ Z_STRLEN_P(zendlval) = sz;
efree(s);
}
return T_CONSTANT_ENCAPSED_STRING;
}
-#line 3119 "Zend/zend_language_scanner.c"
+#line 3101 "Zend/zend_language_scanner.c"
yy180:
YYDEBUG(180, *YYCURSOR);
++YYCURSOR;
yy181:
YYDEBUG(181, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2079 "Zend/zend_language_scanner.l"
+#line 2011 "Zend/zend_language_scanner.l"
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
BEGIN(ST_DOUBLE_QUOTES);
return '"';
}
-#line 3167 "Zend/zend_language_scanner.c"
+#line 3149 "Zend/zend_language_scanner.c"
yy182:
YYDEBUG(182, *YYCURSOR);
++YYCURSOR;
YYDEBUG(183, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2169 "Zend/zend_language_scanner.l"
+#line 2101 "Zend/zend_language_scanner.l"
{
BEGIN(ST_BACKQUOTE);
return '`';
}
-#line 3178 "Zend/zend_language_scanner.c"
+#line 3160 "Zend/zend_language_scanner.c"
yy184:
YYDEBUG(184, *YYCURSOR);
++YYCURSOR;
YYDEBUG(185, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2432 "Zend/zend_language_scanner.l"
+#line 2364 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 3193 "Zend/zend_language_scanner.c"
+#line 3175 "Zend/zend_language_scanner.c"
yy186:
YYDEBUG(186, *YYCURSOR);
++YYCURSOR;
yy190:
YYDEBUG(190, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1587 "Zend/zend_language_scanner.l"
+#line 1576 "Zend/zend_language_scanner.l"
{
- zendlval->value.dval = zend_strtod(yytext, NULL);
- zendlval->type = IS_DOUBLE;
+ ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL));
return T_DNUMBER;
}
-#line 3226 "Zend/zend_language_scanner.c"
+#line 3207 "Zend/zend_language_scanner.c"
yy191:
YYDEBUG(191, *YYCURSOR);
yyaccept = 2;
}
YYDEBUG(202, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1497 "Zend/zend_language_scanner.l"
+#line 1493 "Zend/zend_language_scanner.l"
{
char *bin = yytext + 2; /* Skip "0b" */
int len = yyleng - 2;
if (len < SIZEOF_LONG * 8) {
if (len == 0) {
- zendlval->value.lval = 0;
+ Z_LVAL_P(zendlval) = 0;
} else {
- zendlval->value.lval = strtol(bin, NULL, 2);
+ Z_LVAL_P(zendlval) = strtol(bin, NULL, 2);
}
zendlval->type = IS_LONG;
return T_LNUMBER;
} else {
- zendlval->value.dval = zend_bin_strtod(bin, NULL);
- zendlval->type = IS_DOUBLE;
+ ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, NULL));
return T_DNUMBER;
}
}
-#line 3343 "Zend/zend_language_scanner.c"
+#line 3323 "Zend/zend_language_scanner.c"
yy203:
YYDEBUG(203, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(205, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1543 "Zend/zend_language_scanner.l"
+#line 1538 "Zend/zend_language_scanner.l"
{
char *hex = yytext + 2; /* Skip "0x" */
int len = yyleng - 2;
if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {
if (len == 0) {
- zendlval->value.lval = 0;
+ Z_LVAL_P(zendlval) = 0;
} else {
- zendlval->value.lval = strtol(hex, NULL, 16);
+ Z_LVAL_P(zendlval) = strtol(hex, NULL, 16);
}
zendlval->type = IS_LONG;
return T_LNUMBER;
} else {
- zendlval->value.dval = zend_hex_strtod(hex, NULL);
- zendlval->type = IS_DOUBLE;
+ ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, NULL));
return T_DNUMBER;
}
}
-#line 3380 "Zend/zend_language_scanner.c"
+#line 3359 "Zend/zend_language_scanner.c"
yy206:
YYDEBUG(206, *YYCURSOR);
++YYCURSOR;
yy207:
YYDEBUG(207, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1987 "Zend/zend_language_scanner.l"
+#line 1925 "Zend/zend_language_scanner.l"
{
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
-#line 3397 "Zend/zend_language_scanner.c"
+#line 3374 "Zend/zend_language_scanner.c"
yy208:
YYDEBUG(208, *YYCURSOR);
yych = *++YYCURSOR;
yy212:
YYDEBUG(212, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1889 "Zend/zend_language_scanner.l"
+#line 1827 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 3437 "Zend/zend_language_scanner.c"
+#line 3414 "Zend/zend_language_scanner.c"
yy213:
YYDEBUG(213, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(215, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1442 "Zend/zend_language_scanner.l"
+#line 1438 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_XOR;
}
-#line 3455 "Zend/zend_language_scanner.c"
+#line 3432 "Zend/zend_language_scanner.c"
yy216:
YYDEBUG(216, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(217, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1434 "Zend/zend_language_scanner.l"
+#line 1430 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_OR;
}
-#line 3468 "Zend/zend_language_scanner.c"
+#line 3445 "Zend/zend_language_scanner.c"
yy218:
YYDEBUG(218, *YYCURSOR);
++YYCURSOR;
YYDEBUG(219, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1422 "Zend/zend_language_scanner.l"
+#line 1418 "Zend/zend_language_scanner.l"
{
return T_XOR_EQUAL;
}
-#line 3478 "Zend/zend_language_scanner.c"
+#line 3455 "Zend/zend_language_scanner.c"
yy220:
YYDEBUG(220, *YYCURSOR);
++YYCURSOR;
YYDEBUG(221, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1426 "Zend/zend_language_scanner.l"
+#line 1422 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_OR;
}
-#line 3488 "Zend/zend_language_scanner.c"
+#line 3465 "Zend/zend_language_scanner.c"
yy222:
YYDEBUG(222, *YYCURSOR);
++YYCURSOR;
YYDEBUG(223, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1418 "Zend/zend_language_scanner.l"
+#line 1414 "Zend/zend_language_scanner.l"
{
return T_OR_EQUAL;
}
-#line 3498 "Zend/zend_language_scanner.c"
+#line 3475 "Zend/zend_language_scanner.c"
yy224:
YYDEBUG(224, *YYCURSOR);
++YYCURSOR;
YYDEBUG(225, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1430 "Zend/zend_language_scanner.l"
+#line 1426 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_AND;
}
-#line 3508 "Zend/zend_language_scanner.c"
+#line 3485 "Zend/zend_language_scanner.c"
yy226:
YYDEBUG(226, *YYCURSOR);
++YYCURSOR;
YYDEBUG(227, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1414 "Zend/zend_language_scanner.l"
+#line 1410 "Zend/zend_language_scanner.l"
{
return T_AND_EQUAL;
}
-#line 3518 "Zend/zend_language_scanner.c"
+#line 3495 "Zend/zend_language_scanner.c"
yy228:
YYDEBUG(228, *YYCURSOR);
++YYCURSOR;
yy229:
YYDEBUG(229, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1996 "Zend/zend_language_scanner.l"
+#line 1932 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
BEGIN(INITIAL);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- zendlval->value.str.val = yytext; /* no copying - intentional */
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
} else {
yyless(1);
return yytext[0];
}
}
-#line 3540 "Zend/zend_language_scanner.c"
+#line 3515 "Zend/zend_language_scanner.c"
yy230:
YYDEBUG(230, *YYCURSOR);
++YYCURSOR;
YYDEBUG(231, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1402 "Zend/zend_language_scanner.l"
+#line 1398 "Zend/zend_language_scanner.l"
{
return T_MOD_EQUAL;
}
-#line 3550 "Zend/zend_language_scanner.c"
+#line 3525 "Zend/zend_language_scanner.c"
yy232:
YYDEBUG(232, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(237, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1398 "Zend/zend_language_scanner.l"
+#line 1394 "Zend/zend_language_scanner.l"
{
return T_CONCAT_EQUAL;
}
-#line 3585 "Zend/zend_language_scanner.c"
+#line 3560 "Zend/zend_language_scanner.c"
yy238:
YYDEBUG(238, *YYCURSOR);
yyaccept = 4;
yy239:
YYDEBUG(239, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1953 "Zend/zend_language_scanner.l"
+#line 1891 "Zend/zend_language_scanner.l"
{
int doc_com;
return T_COMMENT;
}
-#line 3628 "Zend/zend_language_scanner.c"
+#line 3603 "Zend/zend_language_scanner.c"
yy240:
YYDEBUG(240, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(242, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1394 "Zend/zend_language_scanner.l"
+#line 1390 "Zend/zend_language_scanner.l"
{
return T_DIV_EQUAL;
}
-#line 3642 "Zend/zend_language_scanner.c"
+#line 3617 "Zend/zend_language_scanner.c"
yy243:
YYDEBUG(243, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(247, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1390 "Zend/zend_language_scanner.l"
+#line 1386 "Zend/zend_language_scanner.l"
{
return T_MUL_EQUAL;
}
-#line 3669 "Zend/zend_language_scanner.c"
+#line 3644 "Zend/zend_language_scanner.c"
yy248:
YYDEBUG(248, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy252;
YYDEBUG(249, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1450 "Zend/zend_language_scanner.l"
+#line 1446 "Zend/zend_language_scanner.l"
{
return T_SR;
}
-#line 3680 "Zend/zend_language_scanner.c"
+#line 3655 "Zend/zend_language_scanner.c"
yy250:
YYDEBUG(250, *YYCURSOR);
++YYCURSOR;
YYDEBUG(251, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1378 "Zend/zend_language_scanner.l"
+#line 1374 "Zend/zend_language_scanner.l"
{
return T_IS_GREATER_OR_EQUAL;
}
-#line 3690 "Zend/zend_language_scanner.c"
+#line 3665 "Zend/zend_language_scanner.c"
yy252:
YYDEBUG(252, *YYCURSOR);
++YYCURSOR;
YYDEBUG(253, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1410 "Zend/zend_language_scanner.l"
+#line 1406 "Zend/zend_language_scanner.l"
{
return T_SR_EQUAL;
}
-#line 3700 "Zend/zend_language_scanner.c"
+#line 3675 "Zend/zend_language_scanner.c"
yy254:
YYDEBUG(254, *YYCURSOR);
yyaccept = 5;
yy255:
YYDEBUG(255, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1446 "Zend/zend_language_scanner.l"
+#line 1442 "Zend/zend_language_scanner.l"
{
return T_SL;
}
-#line 3715 "Zend/zend_language_scanner.c"
+#line 3690 "Zend/zend_language_scanner.c"
yy256:
YYDEBUG(256, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(258, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1374 "Zend/zend_language_scanner.l"
+#line 1370 "Zend/zend_language_scanner.l"
{
return T_IS_SMALLER_OR_EQUAL;
}
-#line 3731 "Zend/zend_language_scanner.c"
+#line 3706 "Zend/zend_language_scanner.c"
yy259:
YYDEBUG(259, *YYCURSOR);
++YYCURSOR;
yy260:
YYDEBUG(260, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1370 "Zend/zend_language_scanner.l"
+#line 1366 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_EQUAL;
}
-#line 3742 "Zend/zend_language_scanner.c"
+#line 3717 "Zend/zend_language_scanner.c"
yy261:
YYDEBUG(261, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(269, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1406 "Zend/zend_language_scanner.l"
+#line 1402 "Zend/zend_language_scanner.l"
{
return T_SL_EQUAL;
}
-#line 3797 "Zend/zend_language_scanner.c"
+#line 3772 "Zend/zend_language_scanner.c"
yy270:
YYDEBUG(270, *YYCURSOR);
++YYCURSOR;
yy280:
YYDEBUG(280, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2121 "Zend/zend_language_scanner.l"
+#line 2053 "Zend/zend_language_scanner.l"
{
char *s;
int bprefix = (yytext[0] != '<') ? 1 : 0;
return T_START_HEREDOC;
}
-#line 3949 "Zend/zend_language_scanner.c"
+#line 3924 "Zend/zend_language_scanner.c"
yy281:
YYDEBUG(281, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(286, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1362 "Zend/zend_language_scanner.l"
+#line 1358 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_IDENTICAL;
}
-#line 3993 "Zend/zend_language_scanner.c"
+#line 3968 "Zend/zend_language_scanner.c"
yy287:
YYDEBUG(287, *YYCURSOR);
++YYCURSOR;
YYDEBUG(288, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1382 "Zend/zend_language_scanner.l"
+#line 1378 "Zend/zend_language_scanner.l"
{
return T_PLUS_EQUAL;
}
-#line 4003 "Zend/zend_language_scanner.c"
+#line 3978 "Zend/zend_language_scanner.c"
yy289:
YYDEBUG(289, *YYCURSOR);
++YYCURSOR;
YYDEBUG(290, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1350 "Zend/zend_language_scanner.l"
+#line 1346 "Zend/zend_language_scanner.l"
{
return T_INC;
}
-#line 4013 "Zend/zend_language_scanner.c"
+#line 3988 "Zend/zend_language_scanner.c"
yy291:
YYDEBUG(291, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(294, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1338 "Zend/zend_language_scanner.l"
+#line 1334 "Zend/zend_language_scanner.l"
{
return T_LIST;
}
-#line 4036 "Zend/zend_language_scanner.c"
+#line 4011 "Zend/zend_language_scanner.c"
yy295:
YYDEBUG(295, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy299;
YYDEBUG(296, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1366 "Zend/zend_language_scanner.l"
+#line 1362 "Zend/zend_language_scanner.l"
{
return T_IS_EQUAL;
}
-#line 4047 "Zend/zend_language_scanner.c"
+#line 4022 "Zend/zend_language_scanner.c"
yy297:
YYDEBUG(297, *YYCURSOR);
++YYCURSOR;
YYDEBUG(298, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1334 "Zend/zend_language_scanner.l"
+#line 1330 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_ARROW;
}
-#line 4057 "Zend/zend_language_scanner.c"
+#line 4032 "Zend/zend_language_scanner.c"
yy299:
YYDEBUG(299, *YYCURSOR);
++YYCURSOR;
YYDEBUG(300, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1358 "Zend/zend_language_scanner.l"
+#line 1354 "Zend/zend_language_scanner.l"
{
return T_IS_IDENTICAL;
}
-#line 4067 "Zend/zend_language_scanner.c"
+#line 4042 "Zend/zend_language_scanner.c"
yy301:
YYDEBUG(301, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(320, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1722 "Zend/zend_language_scanner.l"
+#line 1672 "Zend/zend_language_scanner.l"
{
if (CG(current_namespace)) {
*zendlval = *CG(current_namespace);
}
return T_NS_C;
}
-#line 4207 "Zend/zend_language_scanner.c"
+#line 4182 "Zend/zend_language_scanner.c"
yy321:
YYDEBUG(321, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(325, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1695 "Zend/zend_language_scanner.l"
+#line 1647 "Zend/zend_language_scanner.l"
{
char *filename = zend_get_compiled_filename(TSRMLS_C);
const size_t filename_len = strlen(filename);
#endif
}
- zendlval->value.str.len = strlen(dirname);
- zendlval->value.str.val = dirname;
- zendlval->type = IS_STRING;
+ ZVAL_STRING(zendlval, dirname, 0);
return T_DIR;
}
-#line 4254 "Zend/zend_language_scanner.c"
+#line 4227 "Zend/zend_language_scanner.c"
yy326:
YYDEBUG(326, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(331, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1677 "Zend/zend_language_scanner.l"
+#line 1632 "Zend/zend_language_scanner.l"
{
- zendlval->value.lval = CG(zend_lineno);
- zendlval->type = IS_LONG;
+ ZVAL_LONG(zendlval, CG(zend_lineno));
return T_LINE;
}
-#line 4285 "Zend/zend_language_scanner.c"
+#line 4257 "Zend/zend_language_scanner.c"
yy332:
YYDEBUG(332, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(339, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1656 "Zend/zend_language_scanner.l"
+#line 1619 "Zend/zend_language_scanner.l"
{
const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
- size_t len = 0;
-
- if (class_name) {
- len += strlen(class_name) + 2;
- }
- if (func_name) {
- len += strlen(func_name);
- }
- zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
+ Z_STRLEN_P(zendlval) = zend_spprintf(&Z_STRVAL_P(zendlval), 0, "%s%s%s",
class_name ? class_name : "",
class_name && func_name ? "::" : "",
func_name ? func_name : ""
zendlval->type = IS_STRING;
return T_METHOD_C;
}
-#line 4341 "Zend/zend_language_scanner.c"
+#line 4305 "Zend/zend_language_scanner.c"
yy340:
YYDEBUG(340, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(350, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1640 "Zend/zend_language_scanner.l"
+#line 1609 "Zend/zend_language_scanner.l"
{
- const char *func_name = NULL;
-
- if (CG(active_op_array)) {
- func_name = CG(active_op_array)->function_name;
- }
-
- if (!func_name) {
- func_name = "";
+ zend_op_array *op_array = CG(active_op_array);
+ if (op_array && op_array->function_name) {
+ ZVAL_STRING(zendlval, op_array->function_name, 1);
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
}
- zendlval->value.str.len = strlen(func_name);
- zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
return T_FUNC_C;
}
-#line 4408 "Zend/zend_language_scanner.c"
+#line 4366 "Zend/zend_language_scanner.c"
yy351:
YYDEBUG(351, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(355, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1683 "Zend/zend_language_scanner.l"
+#line 1637 "Zend/zend_language_scanner.l"
{
char *filename = zend_get_compiled_filename(TSRMLS_C);
if (!filename) {
filename = "";
}
- zendlval->value.str.len = strlen(filename);
- zendlval->value.str.val = estrndup(filename, zendlval->value.str.len);
- zendlval->type = IS_STRING;
+ ZVAL_STRING(zendlval, filename, 1);
return T_FILE;
}
-#line 4440 "Zend/zend_language_scanner.c"
+#line 4396 "Zend/zend_language_scanner.c"
yy356:
YYDEBUG(356, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(362, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1620 "Zend/zend_language_scanner.l"
+#line 1599 "Zend/zend_language_scanner.l"
{
- const char *trait_name = NULL;
-
- if (CG(active_class_entry)
- && (ZEND_ACC_TRAIT ==
- (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) {
- trait_name = CG(active_class_entry)->name;
- }
-
- if (!trait_name) {
- trait_name = "";
+ zend_class_entry *ce = CG(active_class_entry);
+ if (ce && ce->name && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
+ ZVAL_STRINGL(zendlval, ce->name, ce->name_length, 1);
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
}
-
- zendlval->value.str.len = strlen(trait_name);
- zendlval->value.str.val = estrndup(trait_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
-
return T_TRAIT_C;
}
-#line 4490 "Zend/zend_language_scanner.c"
+#line 4436 "Zend/zend_language_scanner.c"
yy363:
YYDEBUG(363, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(369, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1593 "Zend/zend_language_scanner.l"
+#line 1581 "Zend/zend_language_scanner.l"
{
- const char *class_name = NULL;
-
- if (CG(active_class_entry)
- && (ZEND_ACC_TRAIT ==
- (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) {
+ zend_class_entry *ce = CG(active_class_entry);
+ if (ce && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
/* We create a special __CLASS__ constant that is going to be resolved
at run-time */
- zendlval->value.str.len = sizeof("__CLASS__")-1;
- zendlval->value.str.val = estrndup("__CLASS__", zendlval->value.str.len);
+ Z_STRLEN_P(zendlval) = sizeof("__CLASS__")-1;
+ Z_STRVAL_P(zendlval) = estrndup("__CLASS__", Z_STRLEN_P(zendlval));
zendlval->type = IS_CONSTANT;
} else {
- if (CG(active_class_entry)) {
- class_name = CG(active_class_entry)->name;
- }
-
- if (!class_name) {
- class_name = "";
+ if (ce && ce->name) {
+ ZVAL_STRINGL(zendlval, ce->name, ce->name_length, 1);
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
}
-
- zendlval->value.str.len = strlen(class_name);
- zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
}
return T_CLASS_C;
}
-#line 4547 "Zend/zend_language_scanner.c"
+#line 4484 "Zend/zend_language_scanner.c"
yy370:
YYDEBUG(370, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(382, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1302 "Zend/zend_language_scanner.l"
+#line 1298 "Zend/zend_language_scanner.l"
{
return T_HALT_COMPILER;
}
-#line 4613 "Zend/zend_language_scanner.c"
+#line 4550 "Zend/zend_language_scanner.c"
yy383:
YYDEBUG(383, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(386, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1282 "Zend/zend_language_scanner.l"
+#line 1278 "Zend/zend_language_scanner.l"
{
return T_USE;
}
-#line 4637 "Zend/zend_language_scanner.c"
+#line 4574 "Zend/zend_language_scanner.c"
yy387:
YYDEBUG(387, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(390, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1330 "Zend/zend_language_scanner.l"
+#line 1326 "Zend/zend_language_scanner.l"
{
return T_UNSET;
}
-#line 4660 "Zend/zend_language_scanner.c"
+#line 4597 "Zend/zend_language_scanner.c"
yy391:
YYDEBUG(391, *YYCURSOR);
++YYCURSOR;
++YYCURSOR;
YYDEBUG(408, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1230 "Zend/zend_language_scanner.l"
+#line 1226 "Zend/zend_language_scanner.l"
{
return T_INT_CAST;
}
-#line 4836 "Zend/zend_language_scanner.c"
+#line 4773 "Zend/zend_language_scanner.c"
yy409:
YYDEBUG(409, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(417, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1234 "Zend/zend_language_scanner.l"
+#line 1230 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_CAST;
}
-#line 4884 "Zend/zend_language_scanner.c"
+#line 4821 "Zend/zend_language_scanner.c"
yy418:
YYDEBUG(418, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(431, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1238 "Zend/zend_language_scanner.l"
+#line 1234 "Zend/zend_language_scanner.l"
{
return T_STRING_CAST;
}
-#line 4958 "Zend/zend_language_scanner.c"
+#line 4895 "Zend/zend_language_scanner.c"
yy432:
YYDEBUG(432, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(438, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1242 "Zend/zend_language_scanner.l"
+#line 1238 "Zend/zend_language_scanner.l"
{
return T_ARRAY_CAST;
}
-#line 4995 "Zend/zend_language_scanner.c"
+#line 4932 "Zend/zend_language_scanner.c"
yy439:
YYDEBUG(439, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(446, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1246 "Zend/zend_language_scanner.l"
+#line 1242 "Zend/zend_language_scanner.l"
{
return T_OBJECT_CAST;
}
-#line 5037 "Zend/zend_language_scanner.c"
+#line 4974 "Zend/zend_language_scanner.c"
yy447:
YYDEBUG(447, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(454, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1250 "Zend/zend_language_scanner.l"
+#line 1246 "Zend/zend_language_scanner.l"
{
return T_BOOL_CAST;
}
-#line 5082 "Zend/zend_language_scanner.c"
+#line 5019 "Zend/zend_language_scanner.c"
yy455:
YYDEBUG(455, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(466, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1254 "Zend/zend_language_scanner.l"
+#line 1250 "Zend/zend_language_scanner.l"
{
return T_UNSET_CAST;
}
-#line 5146 "Zend/zend_language_scanner.c"
+#line 5083 "Zend/zend_language_scanner.c"
yy467:
YYDEBUG(467, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(469, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1226 "Zend/zend_language_scanner.l"
+#line 1222 "Zend/zend_language_scanner.l"
{
return T_VAR;
}
-#line 5164 "Zend/zend_language_scanner.c"
+#line 5101 "Zend/zend_language_scanner.c"
yy470:
YYDEBUG(470, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(473, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1218 "Zend/zend_language_scanner.l"
+#line 1214 "Zend/zend_language_scanner.l"
{
return T_NEW;
}
-#line 5188 "Zend/zend_language_scanner.c"
+#line 5125 "Zend/zend_language_scanner.c"
yy474:
YYDEBUG(474, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(481, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1278 "Zend/zend_language_scanner.l"
+#line 1274 "Zend/zend_language_scanner.l"
{
return T_NAMESPACE;
}
-#line 5231 "Zend/zend_language_scanner.c"
+#line 5168 "Zend/zend_language_scanner.c"
yy482:
YYDEBUG(482, *YYCURSOR);
++YYCURSOR;
YYDEBUG(483, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1210 "Zend/zend_language_scanner.l"
+#line 1206 "Zend/zend_language_scanner.l"
{
return T_PAAMAYIM_NEKUDOTAYIM;
}
-#line 5241 "Zend/zend_language_scanner.c"
+#line 5178 "Zend/zend_language_scanner.c"
yy484:
YYDEBUG(484, *YYCURSOR);
++YYCURSOR;
++YYCURSOR;
YYDEBUG(487, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1386 "Zend/zend_language_scanner.l"
+#line 1382 "Zend/zend_language_scanner.l"
{
return T_MINUS_EQUAL;
}
-#line 5267 "Zend/zend_language_scanner.c"
+#line 5204 "Zend/zend_language_scanner.c"
yy488:
YYDEBUG(488, *YYCURSOR);
++YYCURSOR;
YYDEBUG(489, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1354 "Zend/zend_language_scanner.l"
+#line 1350 "Zend/zend_language_scanner.l"
{
return T_DEC;
}
-#line 5277 "Zend/zend_language_scanner.c"
+#line 5214 "Zend/zend_language_scanner.c"
yy490:
YYDEBUG(490, *YYCURSOR);
++YYCURSOR;
YYDEBUG(491, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1180 "Zend/zend_language_scanner.l"
+#line 1178 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
return T_OBJECT_OPERATOR;
}
-#line 5288 "Zend/zend_language_scanner.c"
+#line 5225 "Zend/zend_language_scanner.c"
yy492:
YYDEBUG(492, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(498, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1326 "Zend/zend_language_scanner.l"
+#line 1322 "Zend/zend_language_scanner.l"
{
return T_PUBLIC;
}
-#line 5337 "Zend/zend_language_scanner.c"
+#line 5274 "Zend/zend_language_scanner.c"
yy499:
YYDEBUG(499, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(507, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1322 "Zend/zend_language_scanner.l"
+#line 1318 "Zend/zend_language_scanner.l"
{
return T_PROTECTED;
}
-#line 5396 "Zend/zend_language_scanner.c"
+#line 5333 "Zend/zend_language_scanner.c"
yy508:
YYDEBUG(508, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(513, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1318 "Zend/zend_language_scanner.l"
+#line 1314 "Zend/zend_language_scanner.l"
{
return T_PRIVATE;
}
-#line 5430 "Zend/zend_language_scanner.c"
+#line 5367 "Zend/zend_language_scanner.c"
yy514:
YYDEBUG(514, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(515, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1156 "Zend/zend_language_scanner.l"
+#line 1154 "Zend/zend_language_scanner.l"
{
return T_PRINT;
}
-#line 5443 "Zend/zend_language_scanner.c"
+#line 5380 "Zend/zend_language_scanner.c"
yy516:
YYDEBUG(516, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(520, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1148 "Zend/zend_language_scanner.l"
+#line 1146 "Zend/zend_language_scanner.l"
{
return T_GOTO;
}
-#line 5472 "Zend/zend_language_scanner.c"
+#line 5409 "Zend/zend_language_scanner.c"
yy521:
YYDEBUG(521, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(525, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1290 "Zend/zend_language_scanner.l"
+#line 1286 "Zend/zend_language_scanner.l"
{
return T_GLOBAL;
}
-#line 5500 "Zend/zend_language_scanner.c"
+#line 5437 "Zend/zend_language_scanner.c"
yy526:
YYDEBUG(526, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(533, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1140 "Zend/zend_language_scanner.l"
+#line 1138 "Zend/zend_language_scanner.l"
{
return T_BREAK;
}
-#line 5541 "Zend/zend_language_scanner.c"
+#line 5478 "Zend/zend_language_scanner.c"
yy534:
YYDEBUG(534, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(541, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1124 "Zend/zend_language_scanner.l"
+#line 1122 "Zend/zend_language_scanner.l"
{
return T_SWITCH;
}
-#line 5585 "Zend/zend_language_scanner.c"
+#line 5522 "Zend/zend_language_scanner.c"
yy542:
YYDEBUG(542, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(546, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1306 "Zend/zend_language_scanner.l"
+#line 1302 "Zend/zend_language_scanner.l"
{
return T_STATIC;
}
-#line 5613 "Zend/zend_language_scanner.c"
+#line 5550 "Zend/zend_language_scanner.c"
yy547:
YYDEBUG(547, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(551, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1120 "Zend/zend_language_scanner.l"
+#line 1118 "Zend/zend_language_scanner.l"
{
return T_AS;
}
-#line 5644 "Zend/zend_language_scanner.c"
+#line 5581 "Zend/zend_language_scanner.c"
yy552:
YYDEBUG(552, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(555, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1342 "Zend/zend_language_scanner.l"
+#line 1338 "Zend/zend_language_scanner.l"
{
return T_ARRAY;
}
-#line 5667 "Zend/zend_language_scanner.c"
+#line 5604 "Zend/zend_language_scanner.c"
yy556:
YYDEBUG(556, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(557, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1438 "Zend/zend_language_scanner.l"
+#line 1434 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_AND;
}
-#line 5680 "Zend/zend_language_scanner.c"
+#line 5617 "Zend/zend_language_scanner.c"
yy558:
YYDEBUG(558, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(564, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1310 "Zend/zend_language_scanner.l"
+#line 1306 "Zend/zend_language_scanner.l"
{
return T_ABSTRACT;
}
-#line 5718 "Zend/zend_language_scanner.c"
+#line 5655 "Zend/zend_language_scanner.c"
yy565:
YYDEBUG(565, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(569, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1080 "Zend/zend_language_scanner.l"
+#line 1078 "Zend/zend_language_scanner.l"
{
return T_WHILE;
}
-#line 5746 "Zend/zend_language_scanner.c"
+#line 5683 "Zend/zend_language_scanner.c"
yy570:
YYDEBUG(570, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(571, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1064 "Zend/zend_language_scanner.l"
+#line 1062 "Zend/zend_language_scanner.l"
{
return T_IF;
}
-#line 5759 "Zend/zend_language_scanner.c"
+#line 5696 "Zend/zend_language_scanner.c"
yy572:
YYDEBUG(572, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(578, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1294 "Zend/zend_language_scanner.l"
+#line 1290 "Zend/zend_language_scanner.l"
{
return T_ISSET;
}
-#line 5815 "Zend/zend_language_scanner.c"
+#line 5752 "Zend/zend_language_scanner.c"
yy579:
YYDEBUG(579, *YYCURSOR);
yych = *++YYCURSOR;
yy586:
YYDEBUG(586, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1262 "Zend/zend_language_scanner.l"
+#line 1258 "Zend/zend_language_scanner.l"
{
return T_INCLUDE;
}
-#line 5873 "Zend/zend_language_scanner.c"
+#line 5810 "Zend/zend_language_scanner.c"
yy587:
YYDEBUG(587, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(592, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1266 "Zend/zend_language_scanner.l"
+#line 1262 "Zend/zend_language_scanner.l"
{
return T_INCLUDE_ONCE;
}
-#line 5906 "Zend/zend_language_scanner.c"
+#line 5843 "Zend/zend_language_scanner.c"
yy593:
YYDEBUG(593, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(599, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1164 "Zend/zend_language_scanner.l"
+#line 1162 "Zend/zend_language_scanner.l"
{
return T_INTERFACE;
}
-#line 5944 "Zend/zend_language_scanner.c"
+#line 5881 "Zend/zend_language_scanner.c"
yy600:
YYDEBUG(600, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(607, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1286 "Zend/zend_language_scanner.l"
+#line 1282 "Zend/zend_language_scanner.l"
{
return T_INSTEADOF;
}
-#line 5998 "Zend/zend_language_scanner.c"
+#line 5935 "Zend/zend_language_scanner.c"
yy608:
YYDEBUG(608, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(613, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1116 "Zend/zend_language_scanner.l"
+#line 1114 "Zend/zend_language_scanner.l"
{
return T_INSTANCEOF;
}
-#line 6031 "Zend/zend_language_scanner.c"
+#line 5968 "Zend/zend_language_scanner.c"
yy614:
YYDEBUG(614, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(622, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1176 "Zend/zend_language_scanner.l"
+#line 1174 "Zend/zend_language_scanner.l"
{
return T_IMPLEMENTS;
}
-#line 6079 "Zend/zend_language_scanner.c"
+#line 6016 "Zend/zend_language_scanner.c"
yy623:
YYDEBUG(623, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(626, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1048 "Zend/zend_language_scanner.l"
+#line 1046 "Zend/zend_language_scanner.l"
{
return T_TRY;
}
-#line 6111 "Zend/zend_language_scanner.c"
+#line 6048 "Zend/zend_language_scanner.c"
yy627:
YYDEBUG(627, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(630, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1168 "Zend/zend_language_scanner.l"
+#line 1166 "Zend/zend_language_scanner.l"
{
return T_TRAIT;
}
-#line 6134 "Zend/zend_language_scanner.c"
+#line 6071 "Zend/zend_language_scanner.c"
yy631:
YYDEBUG(631, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(634, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1060 "Zend/zend_language_scanner.l"
+#line 1058 "Zend/zend_language_scanner.l"
{
return T_THROW;
}
-#line 6157 "Zend/zend_language_scanner.c"
+#line 6094 "Zend/zend_language_scanner.c"
yy635:
YYDEBUG(635, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(639, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1044 "Zend/zend_language_scanner.l"
+#line 1042 "Zend/zend_language_scanner.l"
{
return T_YIELD;
}
-#line 6185 "Zend/zend_language_scanner.c"
+#line 6122 "Zend/zend_language_scanner.c"
yy640:
YYDEBUG(640, *YYCURSOR);
yych = *++YYCURSOR;
yy647:
YYDEBUG(647, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1270 "Zend/zend_language_scanner.l"
+#line 1266 "Zend/zend_language_scanner.l"
{
return T_REQUIRE;
}
-#line 6250 "Zend/zend_language_scanner.c"
+#line 6187 "Zend/zend_language_scanner.c"
yy648:
YYDEBUG(648, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(653, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1274 "Zend/zend_language_scanner.l"
+#line 1270 "Zend/zend_language_scanner.l"
{
return T_REQUIRE_ONCE;
}
-#line 6283 "Zend/zend_language_scanner.c"
+#line 6220 "Zend/zend_language_scanner.c"
yy654:
YYDEBUG(654, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(657, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1040 "Zend/zend_language_scanner.l"
+#line 1038 "Zend/zend_language_scanner.l"
{
return T_RETURN;
}
-#line 6306 "Zend/zend_language_scanner.c"
+#line 6243 "Zend/zend_language_scanner.c"
yy658:
YYDEBUG(658, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(668, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1144 "Zend/zend_language_scanner.l"
+#line 1142 "Zend/zend_language_scanner.l"
{
return T_CONTINUE;
}
-#line 6400 "Zend/zend_language_scanner.c"
+#line 6337 "Zend/zend_language_scanner.c"
yy669:
YYDEBUG(669, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(670, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1036 "Zend/zend_language_scanner.l"
+#line 1034 "Zend/zend_language_scanner.l"
{
return T_CONST;
}
-#line 6413 "Zend/zend_language_scanner.c"
+#line 6350 "Zend/zend_language_scanner.c"
yy671:
YYDEBUG(671, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(675, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1222 "Zend/zend_language_scanner.l"
+#line 1218 "Zend/zend_language_scanner.l"
{
return T_CLONE;
}
-#line 6442 "Zend/zend_language_scanner.c"
+#line 6379 "Zend/zend_language_scanner.c"
yy676:
YYDEBUG(676, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(678, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1160 "Zend/zend_language_scanner.l"
+#line 1158 "Zend/zend_language_scanner.l"
{
return T_CLASS;
}
-#line 6460 "Zend/zend_language_scanner.c"
+#line 6397 "Zend/zend_language_scanner.c"
yy679:
YYDEBUG(679, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(687, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1346 "Zend/zend_language_scanner.l"
+#line 1342 "Zend/zend_language_scanner.l"
{
return T_CALLABLE;
}
-#line 6510 "Zend/zend_language_scanner.c"
+#line 6447 "Zend/zend_language_scanner.c"
yy688:
YYDEBUG(688, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(689, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1132 "Zend/zend_language_scanner.l"
+#line 1130 "Zend/zend_language_scanner.l"
{
return T_CASE;
}
-#line 6523 "Zend/zend_language_scanner.c"
+#line 6460 "Zend/zend_language_scanner.c"
yy690:
YYDEBUG(690, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(692, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1052 "Zend/zend_language_scanner.l"
+#line 1050 "Zend/zend_language_scanner.l"
{
return T_CATCH;
}
-#line 6541 "Zend/zend_language_scanner.c"
+#line 6478 "Zend/zend_language_scanner.c"
yy693:
YYDEBUG(693, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(702, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1032 "Zend/zend_language_scanner.l"
+#line 1030 "Zend/zend_language_scanner.l"
{
return T_FUNCTION;
}
-#line 6596 "Zend/zend_language_scanner.c"
+#line 6533 "Zend/zend_language_scanner.c"
yy703:
YYDEBUG(703, *YYCURSOR);
++YYCURSOR;
yy704:
YYDEBUG(704, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1092 "Zend/zend_language_scanner.l"
+#line 1090 "Zend/zend_language_scanner.l"
{
return T_FOR;
}
-#line 6624 "Zend/zend_language_scanner.c"
+#line 6561 "Zend/zend_language_scanner.c"
yy705:
YYDEBUG(705, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(709, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1100 "Zend/zend_language_scanner.l"
+#line 1098 "Zend/zend_language_scanner.l"
{
return T_FOREACH;
}
-#line 6652 "Zend/zend_language_scanner.c"
+#line 6589 "Zend/zend_language_scanner.c"
yy710:
YYDEBUG(710, *YYCURSOR);
yych = *++YYCURSOR;
yy713:
YYDEBUG(713, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1314 "Zend/zend_language_scanner.l"
+#line 1310 "Zend/zend_language_scanner.l"
{
return T_FINAL;
}
-#line 6690 "Zend/zend_language_scanner.c"
+#line 6627 "Zend/zend_language_scanner.c"
yy714:
YYDEBUG(714, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(716, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1056 "Zend/zend_language_scanner.l"
+#line 1054 "Zend/zend_language_scanner.l"
{
return T_FINALLY;
}
-#line 6708 "Zend/zend_language_scanner.c"
+#line 6645 "Zend/zend_language_scanner.c"
yy717:
YYDEBUG(717, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(720, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1088 "Zend/zend_language_scanner.l"
+#line 1086 "Zend/zend_language_scanner.l"
{
return T_DO;
}
-#line 6743 "Zend/zend_language_scanner.c"
+#line 6680 "Zend/zend_language_scanner.c"
yy721:
YYDEBUG(721, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(722, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1028 "Zend/zend_language_scanner.l"
+#line 1026 "Zend/zend_language_scanner.l"
{
return T_EXIT;
}
-#line 6756 "Zend/zend_language_scanner.c"
+#line 6693 "Zend/zend_language_scanner.c"
yy723:
YYDEBUG(723, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(729, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1136 "Zend/zend_language_scanner.l"
+#line 1134 "Zend/zend_language_scanner.l"
{
return T_DEFAULT;
}
-#line 6795 "Zend/zend_language_scanner.c"
+#line 6732 "Zend/zend_language_scanner.c"
yy730:
YYDEBUG(730, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(734, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1108 "Zend/zend_language_scanner.l"
+#line 1106 "Zend/zend_language_scanner.l"
{
return T_DECLARE;
}
-#line 6823 "Zend/zend_language_scanner.c"
+#line 6760 "Zend/zend_language_scanner.c"
yy735:
YYDEBUG(735, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(747, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1172 "Zend/zend_language_scanner.l"
+#line 1170 "Zend/zend_language_scanner.l"
{
return T_EXTENDS;
}
-#line 6907 "Zend/zend_language_scanner.c"
+#line 6844 "Zend/zend_language_scanner.c"
yy748:
YYDEBUG(748, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(749, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1024 "Zend/zend_language_scanner.l"
+#line 1022 "Zend/zend_language_scanner.l"
{
return T_EXIT;
}
-#line 6920 "Zend/zend_language_scanner.c"
+#line 6857 "Zend/zend_language_scanner.c"
yy750:
YYDEBUG(750, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(752, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1258 "Zend/zend_language_scanner.l"
+#line 1254 "Zend/zend_language_scanner.l"
{
return T_EVAL;
}
-#line 6938 "Zend/zend_language_scanner.c"
+#line 6875 "Zend/zend_language_scanner.c"
yy753:
YYDEBUG(753, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(763, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1084 "Zend/zend_language_scanner.l"
+#line 1082 "Zend/zend_language_scanner.l"
{
return T_ENDWHILE;
}
-#line 7012 "Zend/zend_language_scanner.c"
+#line 6949 "Zend/zend_language_scanner.c"
yy764:
YYDEBUG(764, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(769, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1128 "Zend/zend_language_scanner.l"
+#line 1126 "Zend/zend_language_scanner.l"
{
return T_ENDSWITCH;
}
-#line 7045 "Zend/zend_language_scanner.c"
+#line 6982 "Zend/zend_language_scanner.c"
yy770:
YYDEBUG(770, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(771, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1072 "Zend/zend_language_scanner.l"
+#line 1070 "Zend/zend_language_scanner.l"
{
return T_ENDIF;
}
-#line 7058 "Zend/zend_language_scanner.c"
+#line 6995 "Zend/zend_language_scanner.c"
yy772:
YYDEBUG(772, *YYCURSOR);
yych = *++YYCURSOR;
yy774:
YYDEBUG(774, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1096 "Zend/zend_language_scanner.l"
+#line 1094 "Zend/zend_language_scanner.l"
{
return T_ENDFOR;
}
-#line 7091 "Zend/zend_language_scanner.c"
+#line 7028 "Zend/zend_language_scanner.c"
yy775:
YYDEBUG(775, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(779, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1104 "Zend/zend_language_scanner.l"
+#line 1102 "Zend/zend_language_scanner.l"
{
return T_ENDFOREACH;
}
-#line 7119 "Zend/zend_language_scanner.c"
+#line 7056 "Zend/zend_language_scanner.c"
yy780:
YYDEBUG(780, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(786, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1112 "Zend/zend_language_scanner.l"
+#line 1110 "Zend/zend_language_scanner.l"
{
return T_ENDDECLARE;
}
-#line 7157 "Zend/zend_language_scanner.c"
+#line 7094 "Zend/zend_language_scanner.c"
yy787:
YYDEBUG(787, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(790, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1298 "Zend/zend_language_scanner.l"
+#line 1294 "Zend/zend_language_scanner.l"
{
return T_EMPTY;
}
-#line 7180 "Zend/zend_language_scanner.c"
+#line 7117 "Zend/zend_language_scanner.c"
yy791:
YYDEBUG(791, *YYCURSOR);
yych = *++YYCURSOR;
yy793:
YYDEBUG(793, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1076 "Zend/zend_language_scanner.l"
+#line 1074 "Zend/zend_language_scanner.l"
{
return T_ELSE;
}
-#line 7213 "Zend/zend_language_scanner.c"
+#line 7150 "Zend/zend_language_scanner.c"
yy794:
YYDEBUG(794, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(796, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1068 "Zend/zend_language_scanner.l"
+#line 1066 "Zend/zend_language_scanner.l"
{
return T_ELSEIF;
}
-#line 7231 "Zend/zend_language_scanner.c"
+#line 7168 "Zend/zend_language_scanner.c"
yy797:
YYDEBUG(797, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(799, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1152 "Zend/zend_language_scanner.l"
+#line 1150 "Zend/zend_language_scanner.l"
{
return T_ECHO;
}
-#line 7249 "Zend/zend_language_scanner.c"
+#line 7186 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_PROPERTY:
yy803:
YYDEBUG(803, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1185 "Zend/zend_language_scanner.l"
+#line 1183 "Zend/zend_language_scanner.l"
{
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 7330 "Zend/zend_language_scanner.c"
+#line 7265 "Zend/zend_language_scanner.c"
yy804:
YYDEBUG(804, *YYCURSOR);
++YYCURSOR;
yy805:
YYDEBUG(805, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1204 "Zend/zend_language_scanner.l"
+#line 1200 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state(TSRMLS_C);
goto restart;
}
-#line 7344 "Zend/zend_language_scanner.c"
+#line 7279 "Zend/zend_language_scanner.c"
yy806:
YYDEBUG(806, *YYCURSOR);
++YYCURSOR;
yy807:
YYDEBUG(807, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1197 "Zend/zend_language_scanner.l"
+#line 1193 "Zend/zend_language_scanner.l"
{
yy_pop_state(TSRMLS_C);
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-#line 7360 "Zend/zend_language_scanner.c"
+#line 7295 "Zend/zend_language_scanner.c"
yy808:
YYDEBUG(808, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(812, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1193 "Zend/zend_language_scanner.l"
+#line 1189 "Zend/zend_language_scanner.l"
{
return T_OBJECT_OPERATOR;
}
-#line 7385 "Zend/zend_language_scanner.c"
+#line 7320 "Zend/zend_language_scanner.c"
yy813:
YYDEBUG(813, *YYCURSOR);
++YYCURSOR;
yy818:
YYDEBUG(818, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1490 "Zend/zend_language_scanner.l"
+#line 1486 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state(TSRMLS_C);
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
goto restart;
}
-#line 7477 "Zend/zend_language_scanner.c"
+#line 7412 "Zend/zend_language_scanner.c"
yy819:
YYDEBUG(819, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(824, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1480 "Zend/zend_language_scanner.l"
+#line 1476 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
zend_copy_value(zendlval, yytext, yyleng);
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
return T_STRING_VARNAME;
}
-#line 7511 "Zend/zend_language_scanner.c"
+#line 7446 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_NOWDOC:
++YYCURSOR;
YYDEBUG(828, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2374 "Zend/zend_language_scanner.l"
+#line 2306 "Zend/zend_language_scanner.l"
{
int newline = 0;
HANDLE_NEWLINES(yytext, yyleng - newline);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7579 "Zend/zend_language_scanner.c"
+#line 7514 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_VAR_OFFSET:
{
yy832:
YYDEBUG(832, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1568 "Zend/zend_language_scanner.l"
+#line 1562 "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);
- zendlval->type = IS_LONG;
+ ZVAL_LONG(zendlval, strtol(yytext, NULL, 10));
} else {
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 1);
}
return T_NUM_STRING;
}
-#line 7698 "Zend/zend_language_scanner.c"
+#line 7630 "Zend/zend_language_scanner.c"
yy833:
YYDEBUG(833, *YYCURSOR);
yych = *++YYCURSOR;
yy835:
YYDEBUG(835, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1900 "Zend/zend_language_scanner.l"
+#line 1838 "Zend/zend_language_scanner.l"
{
/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
return yytext[0];
}
-#line 7723 "Zend/zend_language_scanner.c"
+#line 7655 "Zend/zend_language_scanner.c"
yy836:
YYDEBUG(836, *YYCURSOR);
++YYCURSOR;
YYDEBUG(837, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1895 "Zend/zend_language_scanner.l"
+#line 1833 "Zend/zend_language_scanner.l"
{
yy_pop_state(TSRMLS_C);
return ']';
}
-#line 7734 "Zend/zend_language_scanner.c"
+#line 7666 "Zend/zend_language_scanner.c"
yy838:
YYDEBUG(838, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(840, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1905 "Zend/zend_language_scanner.l"
+#line 1843 "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 7751 "Zend/zend_language_scanner.c"
+#line 7683 "Zend/zend_language_scanner.c"
yy841:
YYDEBUG(841, *YYCURSOR);
++YYCURSOR;
yy842:
YYDEBUG(842, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1912 "Zend/zend_language_scanner.l"
+#line 1850 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-#line 7766 "Zend/zend_language_scanner.c"
+#line 7698 "Zend/zend_language_scanner.c"
yy843:
YYDEBUG(843, *YYCURSOR);
++YYCURSOR;
YYDEBUG(844, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2432 "Zend/zend_language_scanner.l"
+#line 2364 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 7781 "Zend/zend_language_scanner.c"
+#line 7713 "Zend/zend_language_scanner.c"
yy845:
YYDEBUG(845, *YYCURSOR);
++YYCURSOR;
yy849:
YYDEBUG(849, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1889 "Zend/zend_language_scanner.l"
+#line 1827 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 7823 "Zend/zend_language_scanner.c"
+#line 7755 "Zend/zend_language_scanner.c"
yy850:
YYDEBUG(850, *YYCURSOR);
++YYCURSOR;
yy857:
YYDEBUG(857, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1580 "Zend/zend_language_scanner.l"
+#line 1571 "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;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 1);
return T_NUM_STRING;
}
-#line 7870 "Zend/zend_language_scanner.c"
+#line 7800 "Zend/zend_language_scanner.c"
yy858:
YYDEBUG(858, *YYCURSOR);
++YYCURSOR;
goto yy857;
}
}
-#line 2441 "Zend/zend_language_scanner.l"
+#line 2373 "Zend/zend_language_scanner.l"
}
zend_bool original_in_compilation = CG(in_compilation);
retval_znode.op_type = IS_CONST;
- retval_znode.u.constant.type = IS_LONG;
- retval_znode.u.constant.value.lval = 1;
- Z_UNSET_ISREF(retval_znode.u.constant);
- Z_SET_REFCOUNT(retval_znode.u.constant, 1);
+ INIT_PZVAL(&retval_znode.u.constant);
+ ZVAL_LONG(&retval_znode.u.constant, 1);
zend_save_lexical_state(&original_lex_state TSRMLS_CC);
convert_to_string(&tmp);
filename = &tmp;
}
- file_handle.filename = filename->value.str.val;
+ file_handle.filename = Z_STRVAL_P(filename);
file_handle.free_filename = 0;
file_handle.type = ZEND_HANDLE_FILENAME;
file_handle.opened_path = NULL;
int dummy = 1;
if (!file_handle.opened_path) {
- file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len);
+ file_handle.opened_path = opened_path = estrndup(Z_STRVAL_P(filename), Z_STRLEN_P(filename));
}
zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL);
size_t size;
/* enforce two trailing NULLs for flex... */
- if (IS_INTERNED(str->value.str.val)) {
- char *tmp = safe_emalloc(1, str->value.str.len, ZEND_MMAP_AHEAD);
- memcpy(tmp, str->value.str.val, str->value.str.len + ZEND_MMAP_AHEAD);
- str->value.str.val = tmp;
+ if (IS_INTERNED(Z_STRVAL_P(str))) {
+ char *tmp = safe_emalloc(1, Z_STRLEN_P(str), ZEND_MMAP_AHEAD);
+ memcpy(tmp, Z_STRVAL_P(str), Z_STRLEN_P(str) + ZEND_MMAP_AHEAD);
+ Z_STRVAL_P(str) = tmp;
} else {
- str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD);
+ Z_STRVAL_P(str) = safe_erealloc(Z_STRVAL_P(str), 1, Z_STRLEN_P(str), ZEND_MMAP_AHEAD);
}
- memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD);
+ memset(Z_STRVAL_P(str) + Z_STRLEN_P(str), 0, ZEND_MMAP_AHEAD);
SCNG(yy_in) = NULL;
SCNG(yy_start) = NULL;
- buf = str->value.str.val;
- size = str->value.str.len;
+ buf = Z_STRVAL_P(str);
+ size = Z_STRLEN_P(str);
if (CG(multibyte)) {
SCNG(script_org) = (unsigned char*)buf;
int compiler_result;
zend_bool original_in_compilation = CG(in_compilation);
- if (source_string->value.str.len==0) {
+ if (Z_STRLEN_P(source_string)==0) {
efree(op_array);
return NULL;
}
# define zend_copy_value(zendlval, yytext, yyleng) \
if (SCNG(output_filter)) { \
size_t sz = 0; \
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \
- zendlval->value.str.len = sz; \
+ SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \
+ Z_STRLEN_P(zendlval) = sz; \
} else { \
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \
- zendlval->value.str.len = yyleng; \
+ Z_STRVAL_P(zendlval) = (char *) estrndup(yytext, yyleng); \
+ Z_STRLEN_P(zendlval) = yyleng; \
}
static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
ZVAL_STRINGL(zendlval, str, len, 1);
/* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
+ s = t = Z_STRVAL_P(zendlval);
+ end = s+Z_STRLEN_P(zendlval);
while (s<end) {
if (*s=='\\') {
s++;
switch(*s) {
case 'n':
*t++ = '\n';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'r':
*t++ = '\r';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 't':
*t++ = '\t';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'f':
*t++ = '\f';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'v':
*t++ = '\v';
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'e':
#ifdef PHP_WIN32
#else
*t++ = '\e';
#endif
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case '"':
case '`':
case '\\':
case '$':
*t++ = *s;
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
case 'x':
case 'X':
if (ZEND_IS_HEX(*(s+1))) {
char hex_buf[3] = { 0, 0, 0 };
- zendlval->value.str.len--; /* for the 'x' */
+ Z_STRLEN_P(zendlval)--; /* for the 'x' */
hex_buf[0] = *(++s);
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
if (ZEND_IS_HEX(*(s+1))) {
hex_buf[1] = *(++s);
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
}
*t++ = (char) strtol(hex_buf, NULL, 16);
} else {
char octal_buf[4] = { 0, 0, 0, 0 };
octal_buf[0] = *s;
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
if (ZEND_IS_OCT(*(s+1))) {
octal_buf[1] = *(++s);
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
if (ZEND_IS_OCT(*(s+1))) {
octal_buf[2] = *(++s);
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
}
}
*t++ = (char) strtol(octal_buf, NULL, 8);
*t = 0;
if (SCNG(output_filter)) {
size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
+ s = Z_STRVAL_P(zendlval);
+ SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);
+ Z_STRLEN_P(zendlval) = sz;
efree(s);
}
}
}
<ST_IN_SCRIPTING,ST_LOOKING_FOR_PROPERTY>{WHITESPACE}+ {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
if (len < SIZEOF_LONG * 8) {
if (len == 0) {
- zendlval->value.lval = 0;
+ Z_LVAL_P(zendlval) = 0;
} else {
- zendlval->value.lval = strtol(bin, NULL, 2);
+ Z_LVAL_P(zendlval) = strtol(bin, NULL, 2);
}
zendlval->type = IS_LONG;
return T_LNUMBER;
} else {
- zendlval->value.dval = zend_bin_strtod(bin, NULL);
- zendlval->type = IS_DOUBLE;
+ ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, NULL));
return T_DNUMBER;
}
}
<ST_IN_SCRIPTING>{LNUM} {
if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
- zendlval->value.lval = strtol(yytext, NULL, 0);
+ Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);
} else {
errno = 0;
- zendlval->value.lval = strtol(yytext, NULL, 0);
+ Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);
if (errno == ERANGE) { /* Overflow */
if (yytext[0] == '0') { /* octal overflow */
- zendlval->value.dval = zend_oct_strtod(yytext, NULL);
+ Z_DVAL_P(zendlval) = zend_oct_strtod(yytext, NULL);
} else {
- zendlval->value.dval = zend_strtod(yytext, NULL);
+ Z_DVAL_P(zendlval) = zend_strtod(yytext, NULL);
}
zendlval->type = IS_DOUBLE;
return T_DNUMBER;
if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {
if (len == 0) {
- zendlval->value.lval = 0;
+ Z_LVAL_P(zendlval) = 0;
} else {
- zendlval->value.lval = strtol(hex, NULL, 16);
+ Z_LVAL_P(zendlval) = strtol(hex, NULL, 16);
}
zendlval->type = IS_LONG;
return T_LNUMBER;
} else {
- zendlval->value.dval = zend_hex_strtod(hex, NULL);
- zendlval->type = IS_DOUBLE;
+ ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, NULL));
return T_DNUMBER;
}
}
<ST_VAR_OFFSET>[0]|([1-9][0-9]*) { /* 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);
- zendlval->type = IS_LONG;
+ ZVAL_LONG(zendlval, strtol(yytext, NULL, 10));
} else {
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 1);
}
return T_NUM_STRING;
}
<ST_VAR_OFFSET>{LNUM}|{HNUM}|{BNUM} { /* Offset must be treated as a string */
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 1);
return T_NUM_STRING;
}
<ST_IN_SCRIPTING>{DNUM}|{EXPONENT_DNUM} {
- zendlval->value.dval = zend_strtod(yytext, NULL);
- zendlval->type = IS_DOUBLE;
+ ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL));
return T_DNUMBER;
}
<ST_IN_SCRIPTING>"__CLASS__" {
- const char *class_name = NULL;
-
- if (CG(active_class_entry)
- && (ZEND_ACC_TRAIT ==
- (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) {
+ zend_class_entry *ce = CG(active_class_entry);
+ if (ce && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
/* We create a special __CLASS__ constant that is going to be resolved
at run-time */
- zendlval->value.str.len = sizeof("__CLASS__")-1;
- zendlval->value.str.val = estrndup("__CLASS__", zendlval->value.str.len);
+ Z_STRLEN_P(zendlval) = sizeof("__CLASS__")-1;
+ Z_STRVAL_P(zendlval) = estrndup("__CLASS__", Z_STRLEN_P(zendlval));
zendlval->type = IS_CONSTANT;
} else {
- if (CG(active_class_entry)) {
- class_name = CG(active_class_entry)->name;
- }
-
- if (!class_name) {
- class_name = "";
+ if (ce && ce->name) {
+ ZVAL_STRINGL(zendlval, ce->name, ce->name_length, 1);
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
}
-
- zendlval->value.str.len = strlen(class_name);
- zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
}
return T_CLASS_C;
}
<ST_IN_SCRIPTING>"__TRAIT__" {
- const char *trait_name = NULL;
-
- if (CG(active_class_entry)
- && (ZEND_ACC_TRAIT ==
- (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) {
- trait_name = CG(active_class_entry)->name;
- }
-
- if (!trait_name) {
- trait_name = "";
- }
-
- zendlval->value.str.len = strlen(trait_name);
- zendlval->value.str.val = estrndup(trait_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
-
+ zend_class_entry *ce = CG(active_class_entry);
+ if (ce && ce->name && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
+ ZVAL_STRINGL(zendlval, ce->name, ce->name_length, 1);
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
+ }
return T_TRAIT_C;
}
<ST_IN_SCRIPTING>"__FUNCTION__" {
- const char *func_name = NULL;
-
- if (CG(active_op_array)) {
- func_name = CG(active_op_array)->function_name;
- }
-
- if (!func_name) {
- func_name = "";
+ zend_op_array *op_array = CG(active_op_array);
+ if (op_array && op_array->function_name) {
+ ZVAL_STRING(zendlval, op_array->function_name, 1);
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
}
- zendlval->value.str.len = strlen(func_name);
- zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
return T_FUNC_C;
}
<ST_IN_SCRIPTING>"__METHOD__" {
const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
- size_t len = 0;
- if (class_name) {
- len += strlen(class_name) + 2;
- }
- if (func_name) {
- len += strlen(func_name);
- }
-
- zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
+ Z_STRLEN_P(zendlval) = zend_spprintf(&Z_STRVAL_P(zendlval), 0, "%s%s%s",
class_name ? class_name : "",
class_name && func_name ? "::" : "",
func_name ? func_name : ""
}
<ST_IN_SCRIPTING>"__LINE__" {
- zendlval->value.lval = CG(zend_lineno);
- zendlval->type = IS_LONG;
+ ZVAL_LONG(zendlval, CG(zend_lineno));
return T_LINE;
}
if (!filename) {
filename = "";
}
- zendlval->value.str.len = strlen(filename);
- zendlval->value.str.val = estrndup(filename, zendlval->value.str.len);
- zendlval->type = IS_STRING;
+ ZVAL_STRING(zendlval, filename, 1);
return T_FILE;
}
#endif
}
- zendlval->value.str.len = strlen(dirname);
- zendlval->value.str.val = dirname;
- zendlval->type = IS_STRING;
+ ZVAL_STRING(zendlval, dirname, 0);
return T_DIR;
}
}
HANDLE_NEWLINES(yytext, yyleng);
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
}
<INITIAL>"<%=" {
if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
} else {
<INITIAL>"<?=" {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
}
<INITIAL>"<%" {
if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
} else {
<INITIAL>"<?php"([ \t]|{NEWLINE}) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
HANDLE_NEWLINE(yytext[yyleng-1]);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
<INITIAL>"<?" {
if (CG(short_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
} else {
if (SCNG(output_filter)) {
int readsize;
size_t sz = 0;
- readsize = SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
- zendlval->value.str.len = sz;
+ readsize = SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
+ Z_STRLEN_P(zendlval) = sz;
if (readsize < yyleng) {
yyless(readsize);
}
} else {
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
+ Z_STRVAL_P(zendlval) = (char *) estrndup(yytext, yyleng);
+ Z_STRLEN_P(zendlval) = yyleng;
}
zendlval->type = IS_STRING;
HANDLE_NEWLINES(yytext, yyleng);
}
<ST_IN_SCRIPTING>("?>"|"</script"{WHITESPACE}*">"){NEWLINE}? {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
<ST_IN_SCRIPTING>"%>"{NEWLINE}? {
if (CG(asp_tags)) {
BEGIN(INITIAL);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- zendlval->value.str.val = yytext; /* no copying - intentional */
+ ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
} else {
yyless(1);
}
}
- zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2);
- zendlval->value.str.len = yyleng-bprefix-2;
- zendlval->type = IS_STRING;
+ ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2, 1);
/* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
+ s = t = Z_STRVAL_P(zendlval);
+ end = s+Z_STRLEN_P(zendlval);
while (s<end) {
if (*s=='\\') {
s++;
case '\\':
case '\'':
*t++ = *s;
- zendlval->value.str.len--;
+ Z_STRLEN_P(zendlval)--;
break;
default:
*t++ = '\\';
if (SCNG(output_filter)) {
size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
+ s = Z_STRVAL_P(zendlval);
+ SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);
+ Z_STRLEN_P(zendlval) = sz;
efree(s);
}
return T_CONSTANT_ENCAPSED_STRING;
<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"{$" {
- zendlval->value.lval = (long) '{';
+ Z_LVAL_P(zendlval) = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;