diff options
| author | Zeev Suraski <zeev@php.net> | 2005-06-04 16:16:19 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2005-06-04 16:16:19 +0000 |
| commit | d33500ee20f08a72a2ca6327abed232d422ee03a (patch) | |
| tree | 33f59694df323af0e7e7163f763dd6b1267b6921 /Zend/zend_language_scanner.l | |
| parent | 09c2da0d078ea42a83d3774f990a510d01827ba7 (diff) | |
| download | php-git-d33500ee20f08a72a2ca6327abed232d422ee03a.tar.gz | |
Thought I committed it ages ago... Anyway, without further delays, the final
__halt_compiler() patch
Diffstat (limited to 'Zend/zend_language_scanner.l')
| -rw-r--r-- | Zend/zend_language_scanner.l | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 4482214082..7cd266fd39 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -494,6 +494,20 @@ ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_D } +ZEND_API int zend_get_scanned_file_offset(TSRMLS_D) +{ + if (yyin) { + int offset_in_buffer = (yy_c_buf_p - (YY_CURRENT_BUFFER)->yy_ch_buf); + int read_bytes = (YY_CURRENT_BUFFER)->yy_n_chars; + int offset_from_the_end = read_bytes - offset_in_buffer; + + return zend_stream_ftell(yyin TSRMLS_CC) - offset_from_the_end; + } else { + return -1; + } +} + + zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC) { zend_lex_state original_lex_state; @@ -1015,6 +1029,10 @@ NEWLINE ("\r"|"\n"|"\r\n") return T_EMPTY; } +<ST_IN_SCRIPTING>"__halt_compiler" { + return T_HALT_COMPILER; +} + <ST_IN_SCRIPTING>"static" { return T_STATIC; } |
