123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- #include "phpdbg.h"
- #include "phpdbg_cmd.h"
- #include "phpdbg_parser.h"
- #define LEX(v) (PHPDBG_G(lexer).v)
- #define YYCTYPE unsigned char
- #define YYSETCONDITION(x) LEX(state) = x;
- #define YYGETCONDITION() LEX(state)
- #define YYCURSOR LEX(cursor)
- #define YYMARKER LEX(marker)
- #define yyleng LEX(len)
- #define yytext ((char*) LEX(text))
- #undef YYDEBUG
- #define YYDEBUG(a, b)
- #define YYFILL(n)
- #define NORMAL 0
- #define RAW 1
- #define INITIAL 2
- ZEND_EXTERN_MODULE_GLOBALS(phpdbg);
- void phpdbg_init_lexer (phpdbg_param_t *stack, char *input TSRMLS_DC) {
- PHPDBG_G(parser_stack) = stack;
- YYSETCONDITION(INITIAL);
- LEX(text) = YYCURSOR = (unsigned char *) input;
- LEX(len) = strlen(input);
- }
- int phpdbg_lex (phpdbg_param_t* yylval) {
- TSRMLS_FETCH();
- restart:
- LEX(text) = YYCURSOR;
- goto restart;
- }
- <INITIAL>{T_EVAL}{WS} {
- YYSETCONDITION(RAW);
- phpdbg_init_param(yylval, EMPTY_PARAM);
- return T_EVAL;
- }
- <INITIAL>{T_SHELL}{WS} {
- YYSETCONDITION(RAW);
- phpdbg_init_param(yylval, EMPTY_PARAM);
- return T_SHELL;
- }
- <INITIAL>({T_RUN}|{T_RUN_SHORT}){WS} {
- YYSETCONDITION(RAW);
- phpdbg_init_param(yylval, EMPTY_PARAM);
- return T_RUN;
- }
- <INITIAL>. {
- YYSETCONDITION(NORMAL);
- YYCURSOR = LEX(text);
- goto restart;
- }
- */
- }
|