|
|
|
@ -116,7 +116,7 @@ do { \ |
|
|
|
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len) |
|
|
|
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH() SCNG(scanned_string_len) |
|
|
|
|
|
|
|
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F) |
|
|
|
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80) |
|
|
|
|
|
|
|
#define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7') |
|
|
|
#define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F')) |
|
|
|
@ -1097,7 +1097,7 @@ DNUM ([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*) |
|
|
|
EXPONENT_DNUM (({LNUM}|{DNUM})[eE][+-]?{LNUM}) |
|
|
|
HNUM "0x"[0-9a-fA-F]+ |
|
|
|
BNUM "0b"[01]+ |
|
|
|
LABEL [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* |
|
|
|
LABEL [a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]* |
|
|
|
WHITESPACE [ \n\r\t]+ |
|
|
|
TABS_AND_SPACES [ \t]* |
|
|
|
TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@] |
|
|
|
@ -1835,7 +1835,7 @@ inline_char_handler: |
|
|
|
/* Make sure a label character follows "->", otherwise there is no property |
|
|
|
* and "->" will be taken literally |
|
|
|
*/ |
|
|
|
<ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE>"$"{LABEL}"->"[a-zA-Z_\x7f-\xff] { |
|
|
|
<ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE>"$"{LABEL}"->"[a-zA-Z_\x80-\xff] { |
|
|
|
yyless(yyleng - 3); |
|
|
|
yy_push_state(ST_LOOKING_FOR_PROPERTY); |
|
|
|
zend_copy_value(zendlval, (yytext+1), (yyleng-1)); |
|
|
|
|