Back to index

php5  5.3.10
zend_language_scanner.h
Go to the documentation of this file.
00001 /*
00002    +----------------------------------------------------------------------+
00003    | Zend Engine                                                          |
00004    +----------------------------------------------------------------------+
00005    | Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
00006    +----------------------------------------------------------------------+
00007    | This source file is subject to version 2.00 of the Zend license,     |
00008    | that is bundled with this package in the file LICENSE, and is        | 
00009    | available through the world-wide-web at the following url:           |
00010    | http://www.zend.com/license/2_00.txt.                                |
00011    | If you did not receive a copy of the Zend license and are unable to  |
00012    | obtain it through the world-wide-web, please send a note to          |
00013    | license@zend.com so we can mail you a copy immediately.              |
00014    +----------------------------------------------------------------------+
00015    | Authors: Andi Gutmans <andi@zend.com>                                |
00016    |          Zeev Suraski <zeev@zend.com>                                |
00017    +----------------------------------------------------------------------+
00018 */
00019 
00020 /* $Id: zend_language_scanner.h 321634 2012-01-01 13:15:04Z felipe $ */
00021 
00022 #ifndef ZEND_SCANNER_H
00023 #define ZEND_SCANNER_H
00024 
00025 typedef struct _zend_lex_state {
00026        unsigned int yy_leng;
00027        unsigned char *yy_start;
00028        unsigned char *yy_text;
00029        unsigned char *yy_cursor;
00030        unsigned char *yy_marker;
00031        unsigned char *yy_limit;
00032        int yy_state;
00033        zend_stack state_stack;
00034 
00035        zend_file_handle *in;
00036        uint lineno;
00037        char *filename;
00038 
00039 #ifdef ZEND_MULTIBYTE
00040        /* original (unfiltered) script */
00041        unsigned char *script_org;
00042        size_t script_org_size;
00043 
00044        /* filtered script */
00045        unsigned char *script_filtered;
00046        size_t script_filtered_size;
00047 
00048        /* input/ouput filters */
00049        zend_encoding_filter input_filter;
00050        zend_encoding_filter output_filter;
00051        zend_encoding *script_encoding;
00052        zend_encoding *internal_encoding;
00053 #endif /* ZEND_MULTIBYTE */
00054 } zend_lex_state;
00055 
00056 
00057 BEGIN_EXTERN_C()
00058 int zend_compare_file_handles(zend_file_handle *fh1, zend_file_handle *fh2);
00059 ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC);
00060 ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC);
00061 ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC);
00062 
00063 END_EXTERN_C()
00064 
00065 #endif
00066 
00067 /*
00068  * Local variables:
00069  * tab-width: 4
00070  * c-basic-offset: 4
00071  * indent-tabs-mode: t
00072  * End:
00073  */