1999-04-08 02:10:10 +08:00
|
|
|
/*
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
| Zend Engine |
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
| Copyright (c) 1998, 1999 Andi Gutmans, Zeev Suraski |
|
|
|
|
+----------------------------------------------------------------------+
|
1999-07-20 04:02:12 +08:00
|
|
|
| This source file is subject to version 0.91 of the Zend license, |
|
1999-07-16 22:58:16 +08:00
|
|
|
| that is bundled with this package in the file LICENSE, and is |
|
|
|
|
| available at through the world-wide-web at |
|
1999-07-20 04:02:12 +08:00
|
|
|
| http://www.zend.com/license/0_91.txt. |
|
1999-07-16 22:58:16 +08:00
|
|
|
| If you did not receive a copy of the Zend license and are unable to |
|
|
|
|
| obtain it through the world-wide-web, please send a note to |
|
|
|
|
| license@zend.com so we can mail you a copy immediately. |
|
1999-04-08 02:10:10 +08:00
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
| Authors: Andi Gutmans <andi@zend.com> |
|
|
|
|
| Zeev Suraski <zeev@zend.com> |
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
*/
|
|
|
|
|
1999-07-16 22:58:16 +08:00
|
|
|
|
1999-04-08 02:10:10 +08:00
|
|
|
#ifndef _LANGUAGE_SCANNER_H
|
|
|
|
#define _LANGUAGE_SCANNER_H
|
|
|
|
|
1999-04-23 11:32:33 +08:00
|
|
|
#ifdef ZTS
|
|
|
|
class ZendFlexLexer : public yyFlexLexer
|
|
|
|
{
|
|
|
|
public:
|
1999-05-11 04:46:42 +08:00
|
|
|
virtual ~ZendFlexLexer();
|
1999-04-23 11:32:33 +08:00
|
|
|
int lex_scan(zval *zendlval CLS_DC);
|
1999-04-23 18:21:00 +08:00
|
|
|
void BeginState(int state);
|
1999-04-23 11:32:33 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* ZTS */
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef ZTS
|
1999-05-23 00:10:51 +08:00
|
|
|
typedef struct _zend_lex_state {
|
1999-04-08 02:10:10 +08:00
|
|
|
YY_BUFFER_STATE buffer_state;
|
|
|
|
int state;
|
|
|
|
uint return_offset;
|
|
|
|
uint lineno;
|
|
|
|
FILE *in;
|
|
|
|
char *filename;
|
|
|
|
} zend_lex_state;
|
1999-04-23 11:32:33 +08:00
|
|
|
#else
|
1999-05-23 00:10:51 +08:00
|
|
|
typedef struct _zend_lex_state {
|
1999-04-23 11:32:33 +08:00
|
|
|
ZendFlexLexer *ZFL;
|
|
|
|
istream *input_file;
|
|
|
|
} zend_lex_state;
|
|
|
|
#endif
|
1999-04-08 02:10:10 +08:00
|
|
|
|
1999-12-02 06:55:20 +08:00
|
|
|
void zend_fatal_scanner_error(char *);
|
|
|
|
inline void restore_lexical_state(zend_lex_state * CLS_DC);
|
1999-12-03 02:59:29 +08:00
|
|
|
BEGIN_EXTERN_C()
|
1999-12-02 06:55:20 +08:00
|
|
|
int zend_compare_file_handles(zend_file_handle *fh1, zend_file_handle *fh2);
|
1999-12-03 02:59:29 +08:00
|
|
|
END_EXTERN_C()
|
1999-12-02 06:55:20 +08:00
|
|
|
|
1999-04-08 02:10:10 +08:00
|
|
|
#endif
|