@@ -1234,9 +1234,12 @@ static void copy_heredoc_label_stack(void *void_heredoc_label)
1234
1234
goto emit_token_with_str; \
1235
1235
} while (0 )
1236
1236
1237
- #define SKIP_TOKEN (_token ) do { \
1237
+ #define RETURN_OR_SKIP_TOKEN (_token ) do { \
1238
1238
token = _token; \
1239
- goto skip_token; \
1239
+ if (PARSER_MODE ()) { \
1240
+ goto skip_token; \
1241
+ } \
1242
+ goto emit_token; \
1240
1243
} while (0 )
1241
1244
1242
1245
int ZEND_FASTCALL lex_scan (zval *zendlval, zend_parser_stack_elem *elem)
@@ -2025,20 +2028,14 @@ string:
2025
2028
<INITIAL>" <?php" ([ \t]|{NEWLINE}) {
2026
2029
HANDLE_NEWLINE (yytext[yyleng-1 ]);
2027
2030
BEGIN (ST_IN_SCRIPTING);
2028
- if (PARSER_MODE ()) {
2029
- SKIP_TOKEN (T_OPEN_TAG);
2030
- }
2031
- RETURN_TOKEN (T_OPEN_TAG);
2031
+ RETURN_OR_SKIP_TOKEN (T_OPEN_TAG);
2032
2032
}
2033
2033
2034
2034
2035
2035
<INITIAL>" <?" {
2036
2036
if (CG (short_tags)) {
2037
2037
BEGIN (ST_IN_SCRIPTING);
2038
- if (PARSER_MODE ()) {
2039
- SKIP_TOKEN (T_OPEN_TAG);
2040
- }
2041
- RETURN_TOKEN (T_OPEN_TAG);
2038
+ RETURN_OR_SKIP_TOKEN (T_OPEN_TAG);
2042
2039
} else {
2043
2040
goto inline_char_handler;
2044
2041
}
@@ -2165,11 +2162,7 @@ inline_char_handler:
2165
2162
}
2166
2163
2167
2164
yyleng = YYCURSOR - SCNG(yy_text);
2168
-
2169
- if (PARSER_MODE()) {
2170
- SKIP_TOKEN (T_COMMENT);
2171
- }
2172
- RETURN_TOKEN (T_COMMENT);
2165
+ RETURN_OR_SKIP_TOKEN (T_COMMENT);
2173
2166
}
2174
2167
2175
2168
<ST_IN_SCRIPTING>" /*" |" /**" {WHITESPACE} {
@@ -2199,16 +2192,10 @@ inline_char_handler:
2199
2192
2200
2193
if (doc_com) {
2201
2194
CG (doc_comment) = zend_string_init (yytext, yyleng, 0 );
2202
- if (PARSER_MODE ()) {
2203
- SKIP_TOKEN (T_DOC_COMMENT);
2204
- }
2205
- RETURN_TOKEN (T_DOC_COMMENT);
2195
+ RETURN_OR_SKIP_TOKEN (T_DOC_COMMENT);
2206
2196
}
2207
2197
2208
- if (PARSER_MODE ()) {
2209
- SKIP_TOKEN (T_COMMENT);
2210
- }
2211
- RETURN_TOKEN (T_COMMENT);
2198
+ RETURN_OR_SKIP_TOKEN (T_COMMENT);
2212
2199
}
2213
2200
2214
2201
<ST_IN_SCRIPTING>" ?>" {NEWLINE}? {
0 commit comments