我能够解决这个问题,
需要采取两个步骤:
需要采取两个步骤:
让PHP不解析’#’作为注释:
更改:
<ST_IN_SCRIPTING>"#"|"//" {
至
<ST_IN_SCRIPTING>"//" {
在zend_language_scanner.l年的第1901行
Tokenize #a作为变量:
更改:
simple_variable: T_VARIABLE { $$= $1; } | '$' '{' expr '}' { $$= $3; } | '$' simple_variable { $$= zend_ast_create(ZEND_AST_VAR,$2); } ;
至:
simple_variable: T_VARIABLE { $$= $1; } | '$' '{' expr '}' { $$= $3; } | '$' simple_variable { $$= zend_ast_create(ZEND_AST_VAR,$2); } | '#' '{' expr '}' { $$= $3; } | '#' simple_variable { $$= zend_ast_create(ZEND_AST_VAR,$2); } ;
在zend_language_parser.y的第1117行
而已
现在这段代码有效:
#a=1; echo (#a);//1