mirror of
https://github.com/php/php-src.git
synced 2026-04-07 08:02:49 +02:00
Fix Boris's problem (in my never ending struggle to show I never mean what I say
when I say something's not gonna happen :)
This commit is contained in:
@@ -69,6 +69,7 @@
|
||||
%token T_LNUMBER
|
||||
%token T_DNUMBER
|
||||
%token T_STRING
|
||||
%token T_STRING_VARNAME
|
||||
%token T_VARIABLE
|
||||
%token T_NUM_STRING
|
||||
%token T_INLINE_HTML
|
||||
@@ -452,6 +453,7 @@ static_scalar: /* compile-time evaluated scalars */
|
||||
|
||||
scalar:
|
||||
T_STRING { do_fetch_constant(&$$, &$1, ZEND_RT CLS_CC); }
|
||||
| T_STRING_VARNAME { $$ = $1; }
|
||||
| common_scalar { $$ = $1; }
|
||||
| '"' encaps_list '"' { $$ = $2; }
|
||||
| '\'' encaps_list '\'' { $$ = $2; }
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
%x BACKQUOTE
|
||||
%x HEREDOC
|
||||
%x LOOKING_FOR_PROPERTY
|
||||
%x LOOKING_FOR_VARNAME
|
||||
%option stack
|
||||
|
||||
%{
|
||||
@@ -825,7 +826,7 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
|
||||
|
||||
|
||||
<DOUBLE_QUOTES,BACKQUOTE,HEREDOC>"${" {
|
||||
yy_push_state(IN_SCRIPTING);
|
||||
yy_push_state(LOOKING_FOR_VARNAME);
|
||||
return T_DOLLAR_OPEN_CURLY_BRACES;
|
||||
}
|
||||
|
||||
@@ -836,6 +837,23 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
|
||||
}
|
||||
|
||||
|
||||
<LOOKING_FOR_VARNAME>{LABEL} {
|
||||
zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
|
||||
zendlval->value.str.len = yyleng;
|
||||
zendlval->type = IS_STRING;
|
||||
yy_pop_state();
|
||||
yy_push_state(IN_SCRIPTING);
|
||||
return T_STRING_VARNAME;
|
||||
}
|
||||
|
||||
|
||||
<LOOKING_FOR_VARNAME>. {
|
||||
/*yyless(1);*/
|
||||
unput(yytext[0]);
|
||||
yy_pop_state();
|
||||
yy_push_state(IN_SCRIPTING);
|
||||
}
|
||||
|
||||
|
||||
<IN_SCRIPTING>{LNUM}|{HNUM} {
|
||||
errno = 0;
|
||||
@@ -1237,6 +1255,7 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
|
||||
return T_CURLY_OPEN;
|
||||
}
|
||||
|
||||
|
||||
<SINGLE_QUOTE>"\\'" {
|
||||
zendlval->value.chval='\'';
|
||||
return T_CHARACTER;
|
||||
|
||||
Reference in New Issue
Block a user