This commit is contained in:
krakjoe 2014-02-21 16:29:09 +00:00
parent fde1e44d62
commit b82ad53b29
8 changed files with 222 additions and 259 deletions

View file

@ -35,7 +35,7 @@ T_IF ?i:"if"
WS [ \r\n\t]+ WS [ \r\n\t]+
DIGITS [0-9\.]+ DIGITS [0-9\.]+
ID [^ \r\n\t:#~]+ ID [^ \r\n\t:#]+
ADDR 0x[a-fA-F0-9]+ ADDR 0x[a-fA-F0-9]+
OPCODE ZEND_([A-Z])+ OPCODE ZEND_([A-Z])+
LITERAL \"(\\.|[^\\"])*\" LITERAL \"(\\.|[^\\"])*\"
@ -46,7 +46,6 @@ INPUT [^\n]+
[#]{1} { return T_POUND; } [#]{1} { return T_POUND; }
[:]{2} { return T_DCOLON; } [:]{2} { return T_DCOLON; }
[:]{1} { return T_COLON; } [:]{1} { return T_COLON; }
[~]{1} { return T_SQUIGGLE; }
{T_EVAL} { {T_EVAL} {
BEGIN(RAW); BEGIN(RAW);
phpdbg_init_param(yylval, EMPTY_PARAM); phpdbg_init_param(yylval, EMPTY_PARAM);

View file

@ -57,7 +57,6 @@ typedef void* yyscan_t;
%token T_TRUTHY "truthy (true, on, yes or enabled)" %token T_TRUTHY "truthy (true, on, yes or enabled)"
%token T_FALSY "falsy (false, off, no or disabled)" %token T_FALSY "falsy (false, off, no or disabled)"
%token T_STRING "string (some input, perhaps)" %token T_STRING "string (some input, perhaps)"
%token T_SQUIGGLE "~ (squiggle)"
%token T_COLON ": (colon)" %token T_COLON ": (colon)"
%token T_DCOLON ":: (double colon)" %token T_DCOLON ":: (double colon)"
%token T_POUND "# (pound sign)" %token T_POUND "# (pound sign)"
@ -82,11 +81,7 @@ parameters
; ;
parameter parameter
: T_SQUIGGLE T_DIGITS { : T_ID T_COLON T_DIGITS {
$$.type = OPLINE_PARAM;
$$.num = $2.num;
}
| T_ID T_COLON T_DIGITS {
$$.type = FILE_PARAM; $$.type = FILE_PARAM;
$$.file.name = $1.str; $$.file.name = $1.str;
$$.file.line = $3.num; $$.file.line = $3.num;

View file

@ -446,10 +446,6 @@ PHPDBG_API void phpdbg_param_debug(const phpdbg_param_t *param, const char *msg)
fprintf(stderr, "%s OP_PARAM(%s=%lu)\n", msg, param->str, param->len); fprintf(stderr, "%s OP_PARAM(%s=%lu)\n", msg, param->str, param->len);
break; break;
case OPLINE_PARAM:
fprintf(stderr, "%s OPLINE_PARAM(%ld)\n", msg, param->num);
break;
default: { default: {
/* not yet */ /* not yet */
} }
@ -580,7 +576,6 @@ PHPDBG_API int phpdbg_stack_verify(const phpdbg_command_t *command, phpdbg_param
case 'f': verify_arg("file:line", top, FILE_PARAM); break; case 'f': verify_arg("file:line", top, FILE_PARAM); break;
case 'c': verify_arg("condition", top, COND_PARAM); break; case 'c': verify_arg("condition", top, COND_PARAM); break;
case 'o': verify_arg("opcode", top, OP_PARAM); break; case 'o': verify_arg("opcode", top, OP_PARAM); break;
case 'O': verify_arg("opline", top, OPLINE_PARAM); break;
case 'b': verify_arg("boolean", top, NUMERIC_PARAM); break; case 'b': verify_arg("boolean", top, NUMERIC_PARAM); break;
case '*': { /* do nothing */ } break; case '*': { /* do nothing */ } break;

View file

@ -44,7 +44,6 @@ typedef enum {
SHELL_PARAM, SHELL_PARAM,
COND_PARAM, COND_PARAM,
OP_PARAM, OP_PARAM,
OPLINE_PARAM,
ORIG_PARAM ORIG_PARAM
} phpdbg_param_type; } phpdbg_param_type;

View file

@ -349,8 +349,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \ *yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp; yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 17 #define YY_NUM_RULES 16
#define YY_END_OF_BUFFER 18 #define YY_END_OF_BUFFER 17
/* This struct is not used in this scanner, /* This struct is not used in this scanner,
but its presence is necessary. */ but its presence is necessary. */
struct yy_trans_info struct yy_trans_info
@ -358,16 +358,16 @@ struct yy_trans_info
flex_int32_t yy_verify; flex_int32_t yy_verify;
flex_int32_t yy_nxt; flex_int32_t yy_nxt;
}; };
static yyconst flex_int16_t yy_accept[80] = static yyconst flex_int16_t yy_accept[79] =
{ 0, { 0,
0, 0, 0, 0, 18, 14, 16, 14, 1, 10, 0, 0, 0, 0, 17, 13, 15, 13, 1, 9,
10, 3, 14, 14, 14, 14, 14, 14, 14, 14, 9, 3, 13, 13, 13, 13, 13, 13, 13, 13,
14, 14, 4, 15, 15, 14, 16, 14, 0, 13, 13, 13, 14, 14, 13, 15, 13, 0, 12, 13,
14, 10, 14, 2, 14, 14, 14, 14, 7, 9, 9, 13, 2, 13, 13, 13, 13, 6, 8, 13,
14, 8, 14, 14, 14, 14, 15, 15, 13, 0, 7, 13, 13, 13, 13, 14, 14, 12, 0, 10,
11, 14, 14, 14, 14, 9, 14, 14, 8, 14, 13, 13, 13, 13, 8, 13, 13, 7, 13, 13,
14, 14, 5, 14, 14, 8, 14, 14, 14, 9, 13, 4, 13, 13, 7, 13, 13, 13, 8, 5,
6, 14, 14, 14, 12, 14, 8, 9, 0 13, 13, 13, 11, 13, 7, 8, 0
} ; } ;
static yyconst flex_int32_t yy_ec[256] = static yyconst flex_int32_t yy_ec[256] =
@ -385,7 +385,7 @@ static yyconst flex_int32_t yy_ec[256] =
35, 36, 1, 37, 38, 1, 1, 39, 1, 40, 35, 36, 1, 37, 38, 1, 1, 39, 1, 40,
41, 1, 1, 42, 43, 44, 45, 46, 1, 47, 41, 1, 1, 42, 43, 44, 45, 46, 1, 47,
48, 1, 1, 1, 1, 49, 1, 1, 1, 1, 48, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@ -402,113 +402,109 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1 1, 1, 1, 1, 1
} ; } ;
static yyconst flex_int32_t yy_meta[50] = static yyconst flex_int32_t yy_meta[49] =
{ 0, { 0,
1, 2, 3, 1, 2, 1, 1, 1, 2, 1, 1, 2, 3, 1, 2, 1, 1, 1, 2, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 2 1, 1, 1, 1, 1, 1, 1, 1
} ; } ;
static yyconst flex_int16_t yy_base[85] = static yyconst flex_int16_t yy_base[84] =
{ 0, { 0,
0, 0, 48, 50, 139, 0, 52, 54, 246, 54, 0, 0, 47, 49, 163, 0, 51, 53, 238, 53,
58, 129, 49, 48, 59, 55, 51, 60, 56, 55, 57, 140, 48, 47, 58, 54, 50, 59, 55, 54,
64, 123, 246, 0, 79, 0, 82, 104, 72, 0, 63, 107, 0, 78, 0, 81, 98, 81, 0, 103,
109, 109, 152, 246, 79, 79, 88, 85, 0, 0, 107, 121, 238, 74, 78, 106, 99, 0, 0, 104,
105, 0, 107, 98, 102, 110, 0, 124, 246, 92, 0, 106, 97, 100, 91, 0, 122, 238, 91, 0,
0, 118, 118, 112, 109, 0, 115, 121, 0, 73, 116, 119, 120, 121, 0, 126, 132, 0, 65, 137,
125, 129, 0, 126, 136, 0, 49, 150, 156, 0, 131, 0, 144, 141, 0, 45, 142, 148, 0, 0,
0, 182, 176, 199, 0, 200, 0, 0, 246, 234, 174, 168, 191, 0, 192, 0, 0, 238, 226, 69,
70, 237, 240, 242 229, 232, 234
} ; } ;
static yyconst flex_int16_t yy_def[85] = static yyconst flex_int16_t yy_def[84] =
{ 0, { 0,
79, 1, 80, 80, 79, 81, 79, 82, 79, 81, 78, 1, 79, 79, 78, 80, 78, 81, 78, 80,
81, 79, 81, 81, 81, 81, 81, 81, 81, 81, 80, 78, 80, 80, 80, 80, 80, 80, 80, 80,
81, 81, 79, 83, 83, 81, 79, 82, 84, 81, 80, 80, 82, 82, 80, 78, 81, 83, 80, 81,
82, 81, 81, 79, 81, 81, 81, 81, 81, 81, 80, 80, 78, 80, 80, 80, 80, 80, 80, 80,
81, 81, 81, 81, 81, 81, 83, 83, 79, 84, 80, 80, 80, 80, 80, 82, 82, 78, 83, 32,
33, 81, 81, 81, 81, 81, 81, 81, 81, 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
81, 81, 81, 81, 72, 81, 81, 81, 0, 79, 80, 80, 80, 71, 80, 80, 80, 0, 78, 78,
79, 79, 79, 79 78, 78, 78
} ; } ;
static yyconst flex_int16_t yy_nxt[296] = static yyconst flex_int16_t yy_nxt[287] =
{ 0, { 0,
6, 7, 7, 8, 9, 10, 11, 10, 12, 6, 6, 7, 7, 8, 9, 10, 11, 10, 12, 6,
6, 6, 13, 14, 15, 6, 6, 16, 6, 17, 6, 6, 13, 14, 15, 6, 6, 16, 6, 17,
18, 6, 19, 20, 6, 6, 21, 22, 6, 6, 18, 6, 19, 20, 6, 6, 21, 22, 6, 6,
6, 6, 6, 13, 14, 15, 6, 16, 6, 17, 6, 6, 6, 13, 14, 15, 6, 16, 6, 17,
18, 6, 19, 20, 6, 6, 6, 21, 23, 25, 18, 6, 19, 20, 6, 6, 6, 21, 24, 7,
7, 25, 7, 27, 27, 29, 29, 30, 29, 32, 24, 7, 26, 26, 28, 28, 29, 28, 31, 31,
32, 32, 29, 32, 32, 32, 35, 36, 38, 39, 31, 28, 31, 31, 31, 34, 35, 37, 38, 25,
26, 40, 43, 37, 41, 49, 44, 45, 72, 42, 39, 42, 36, 40, 71, 43, 44, 66, 41, 47,
48, 27, 31, 27, 27, 67, 35, 36, 53, 38, 26, 30, 26, 26, 48, 34, 35, 52, 37, 38,
39, 40, 43, 37, 79, 41, 44, 54, 45, 42, 39, 42, 36, 78, 40, 43, 51, 44, 41, 28,
50, 52, 29, 55, 33, 29, 29, 30, 29, 53, 28, 29, 28, 32, 28, 78, 28, 28, 52, 49,
29, 79, 29, 29, 32, 32, 32, 29, 54, 56, 59, 28, 31, 31, 31, 53, 51, 54, 55, 56,
57, 52, 58, 55, 59, 48, 27, 61, 62, 60, 45, 57, 58, 47, 26, 60, 30, 50, 50, 61,
63, 64, 31, 65, 66, 68, 46, 34, 79, 70, 50, 50, 50, 50, 50, 50, 53, 54, 62, 55,
56, 57, 58, 79, 59, 79, 79, 69, 61, 62, 56, 57, 58, 63, 64, 65, 60, 67, 33, 68,
63, 64, 29, 65, 71, 66, 68, 29, 51, 51, 61, 50, 50, 50, 50, 50, 50, 69, 62, 70,
70, 51, 51, 51, 51, 51, 51, 69, 73, 74, 72, 73, 78, 63, 64, 78, 65, 78, 67, 68,
79, 79, 79, 79, 71, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78, 69, 70,
79, 79, 51, 51, 51, 51, 51, 51, 73, 76, 72, 75, 73, 74, 74, 74, 74, 74, 74, 74,
74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
76, 77, 78, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 77, 78, 24, 24, 24, 28, 28, 28,
47, 47, 29, 29, 29, 5, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79
74, 74, 75, 76, 77, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 78, 76, 77, 23, 23, 23, 27,
27, 27, 46, 46, 28, 28, 28, 5, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78
} ; } ;
static yyconst flex_int16_t yy_chk[296] = static yyconst flex_int16_t yy_chk[287] =
{ 0, { 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
3, 4, 4, 7, 7, 8, 8, 8, 8, 10, 4, 4, 7, 7, 8, 8, 8, 8, 10, 10,
10, 10, 8, 11, 11, 11, 13, 14, 15, 16, 10, 8, 11, 11, 11, 13, 14, 15, 16, 80,
81, 17, 19, 14, 18, 29, 20, 21, 67, 18, 17, 19, 14, 18, 66, 20, 21, 59, 18, 24,
25, 25, 8, 27, 27, 60, 13, 14, 36, 15, 24, 8, 26, 26, 28, 13, 14, 35, 15, 16,
16, 17, 19, 14, 50, 18, 20, 37, 21, 18, 17, 19, 14, 49, 18, 20, 34, 21, 18, 27,
29, 35, 8, 38, 11, 28, 28, 28, 28, 36, 27, 27, 27, 11, 30, 30, 27, 30, 35, 28,
31, 31, 28, 31, 32, 32, 32, 31, 37, 41, 45, 30, 31, 31, 31, 36, 34, 37, 40, 42,
43, 35, 44, 38, 45, 48, 48, 52, 53, 46, 22, 43, 44, 47, 47, 51, 27, 32, 32, 52,
54, 55, 28, 57, 58, 61, 22, 12, 5, 64, 32, 32, 32, 32, 32, 32, 36, 37, 53, 40,
41, 43, 44, 0, 45, 0, 0, 62, 52, 53, 42, 43, 44, 54, 56, 57, 51, 60, 12, 61,
54, 55, 28, 57, 65, 58, 61, 31, 33, 33, 52, 32, 32, 32, 32, 32, 32, 63, 53, 64,
64, 33, 33, 33, 33, 33, 33, 62, 68, 69, 67, 68, 5, 54, 56, 0, 57, 0, 60, 61,
0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
0, 0, 33, 33, 33, 33, 33, 33, 68, 73, 67, 72, 68, 71, 71, 71, 71, 71, 71, 71,
69, 72, 72, 72, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 71, 71, 72, 73, 75, 0, 0, 0, 0, 0,
73, 74, 76, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 74, 76, 80, 80, 80, 82, 82, 82, 0, 0, 0, 0, 73, 75, 79, 79, 79, 81,
83, 83, 84, 84, 84, 79, 79, 79, 79, 79, 81, 81, 82, 82, 83, 83, 83, 78, 78, 78,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
79, 79, 79, 79, 79 78, 78, 78, 78, 78, 78
} ; } ;
/* The intent behind this definition is that it'll catch /* The intent behind this definition is that it'll catch
@ -534,7 +530,7 @@ static yyconst flex_int16_t yy_chk[296] =
#include <string.h> #include <string.h>
#define YY_NO_UNISTD_H 1 #define YY_NO_UNISTD_H 1
#line 538 "sapi/phpdbg/phpdbg_lexer.c" #line 534 "sapi/phpdbg/phpdbg_lexer.c"
#define INITIAL 0 #define INITIAL 0
#define RAW 1 #define RAW 1
@ -774,7 +770,7 @@ YY_DECL
#line 43 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 43 "sapi/phpdbg/dev/phpdbg_lexer.l"
#line 778 "sapi/phpdbg/phpdbg_lexer.c" #line 774 "sapi/phpdbg/phpdbg_lexer.c"
yylval = yylval_param; yylval = yylval_param;
@ -829,13 +825,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 80 ) if ( yy_current_state >= 79 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp; ++yy_cp;
} }
while ( yy_current_state != 79 ); while ( yy_current_state != 78 );
yy_cp = yyg->yy_last_accepting_cpos; yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state; yy_current_state = yyg->yy_last_accepting_state;
@ -873,74 +869,69 @@ YY_RULE_SETUP
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 49 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 49 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ return T_SQUIGGLE; }
YY_BREAK
case 5:
YY_RULE_SETUP
#line 50 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
BEGIN(RAW); BEGIN(RAW);
phpdbg_init_param(yylval, EMPTY_PARAM); phpdbg_init_param(yylval, EMPTY_PARAM);
return T_EVAL; return T_EVAL;
} }
YY_BREAK YY_BREAK
case 6: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 55 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 54 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
BEGIN(RAW); BEGIN(RAW);
phpdbg_init_param(yylval, EMPTY_PARAM); phpdbg_init_param(yylval, EMPTY_PARAM);
return T_SHELL; return T_SHELL;
} }
YY_BREAK YY_BREAK
case 7: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 60 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 59 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
BEGIN(RAW); BEGIN(RAW);
phpdbg_init_param(yylval, EMPTY_PARAM); phpdbg_init_param(yylval, EMPTY_PARAM);
return T_IF; return T_IF;
} }
YY_BREAK YY_BREAK
case 8: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 65 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 64 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
phpdbg_init_param(yylval, NUMERIC_PARAM); phpdbg_init_param(yylval, NUMERIC_PARAM);
yylval->num = 1; yylval->num = 1;
return T_TRUTHY; return T_TRUTHY;
} }
YY_BREAK YY_BREAK
case 9: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 70 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 69 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
phpdbg_init_param(yylval, NUMERIC_PARAM); phpdbg_init_param(yylval, NUMERIC_PARAM);
yylval->num = 0; yylval->num = 0;
return T_FALSY; return T_FALSY;
} }
YY_BREAK YY_BREAK
case 10: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 75 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 74 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
phpdbg_init_param(yylval, NUMERIC_PARAM); phpdbg_init_param(yylval, NUMERIC_PARAM);
yylval->num = atoi(yytext); yylval->num = atoi(yytext);
return T_DIGITS; return T_DIGITS;
} }
YY_BREAK YY_BREAK
case 11: case 10:
YY_RULE_SETUP YY_RULE_SETUP
#line 80 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 79 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
phpdbg_init_param(yylval, ADDR_PARAM); phpdbg_init_param(yylval, ADDR_PARAM);
yylval->addr = strtoul(yytext, NULL, 10); yylval->addr = strtoul(yytext, NULL, 10);
return T_ADDR; return T_ADDR;
} }
YY_BREAK YY_BREAK
case 12: case 11:
YY_RULE_SETUP YY_RULE_SETUP
#line 85 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 84 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
phpdbg_init_param(yylval, OP_PARAM); phpdbg_init_param(yylval, OP_PARAM);
yylval->str = strndup(yytext, yyleng); yylval->str = strndup(yytext, yyleng);
@ -948,10 +939,10 @@ YY_RULE_SETUP
return T_OPCODE; return T_OPCODE;
} }
YY_BREAK YY_BREAK
case 13: case 12:
/* rule 13 can match eol */ /* rule 12 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 91 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 90 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
phpdbg_init_param(yylval, STR_PARAM); phpdbg_init_param(yylval, STR_PARAM);
yylval->str = strndup(yytext, yyleng); yylval->str = strndup(yytext, yyleng);
@ -959,9 +950,9 @@ YY_RULE_SETUP
return T_LITERAL; return T_LITERAL;
} }
YY_BREAK YY_BREAK
case 14: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 97 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 96 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
phpdbg_init_param(yylval, STR_PARAM); phpdbg_init_param(yylval, STR_PARAM);
yylval->str = strndup(yytext, yyleng); yylval->str = strndup(yytext, yyleng);
@ -970,9 +961,9 @@ YY_RULE_SETUP
} }
YY_BREAK YY_BREAK
case 15: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 104 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 103 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ {
phpdbg_init_param(yylval, STR_PARAM); phpdbg_init_param(yylval, STR_PARAM);
yylval->str = strndup(yytext, yyleng); yylval->str = strndup(yytext, yyleng);
@ -981,18 +972,18 @@ YY_RULE_SETUP
return T_INPUT; return T_INPUT;
} }
YY_BREAK YY_BREAK
case 16: case 15:
/* rule 16 can match eol */ /* rule 15 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 111 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 110 "sapi/phpdbg/dev/phpdbg_lexer.l"
{ /* ignore whitespace */ } { /* ignore whitespace */ }
YY_BREAK YY_BREAK
case 17: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 112 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 111 "sapi/phpdbg/dev/phpdbg_lexer.l"
YY_FATAL_ERROR( "flex scanner jammed" ); YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK YY_BREAK
#line 996 "sapi/phpdbg/phpdbg_lexer.c" #line 987 "sapi/phpdbg/phpdbg_lexer.c"
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(RAW): case YY_STATE_EOF(RAW):
yyterminate(); yyterminate();
@ -1288,7 +1279,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 80 ) if ( yy_current_state >= 79 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@ -1317,11 +1308,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 80 ) if ( yy_current_state >= 79 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 79); yy_is_jam = (yy_current_state == 78);
return yy_is_jam ? 0 : yy_current_state; return yy_is_jam ? 0 : yy_current_state;
} }
@ -2157,7 +2148,7 @@ void yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables" #define YYTABLES_NAME "yytables"
#line 112 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 111 "sapi/phpdbg/dev/phpdbg_lexer.l"

View file

@ -338,7 +338,7 @@ extern int yylex \
#undef YY_DECL #undef YY_DECL
#endif #endif
#line 112 "sapi/phpdbg/dev/phpdbg_lexer.l" #line 111 "sapi/phpdbg/dev/phpdbg_lexer.l"
#line 345 "sapi/phpdbg/phpdbg_lexer.h" #line 345 "sapi/phpdbg/phpdbg_lexer.h"

View file

@ -153,17 +153,16 @@ typedef void* yyscan_t;
T_TRUTHY = 261, T_TRUTHY = 261,
T_FALSY = 262, T_FALSY = 262,
T_STRING = 263, T_STRING = 263,
T_SQUIGGLE = 264, T_COLON = 264,
T_COLON = 265, T_DCOLON = 265,
T_DCOLON = 266, T_POUND = 266,
T_POUND = 267, T_DIGITS = 267,
T_DIGITS = 268, T_LITERAL = 268,
T_LITERAL = 269, T_ADDR = 269,
T_ADDR = 270, T_OPCODE = 270,
T_OPCODE = 271, T_ID = 271,
T_ID = 272, T_INPUT = 272,
T_INPUT = 273, T_UNEXPECTED = 273
T_UNEXPECTED = 274
}; };
#endif #endif
@ -181,7 +180,7 @@ typedef int YYSTYPE;
/* Line 343 of yacc.c */ /* Line 343 of yacc.c */
#line 185 "sapi/phpdbg/phpdbg_parser.c" #line 184 "sapi/phpdbg/phpdbg_parser.c"
#ifdef short #ifdef short
# undef short # undef short
@ -398,22 +397,22 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */ #endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 22 #define YYFINAL 20
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 25 #define YYLAST 23
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 20 #define YYNTOKENS 19
/* YYNNTS -- Number of nonterminals. */ /* YYNNTS -- Number of nonterminals. */
#define YYNNTS 4 #define YYNNTS 4
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES 20 #define YYNRULES 19
/* YYNRULES -- Number of states. */ /* YYNRULES -- Number of states. */
#define YYNSTATES 29 #define YYNSTATES 27
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
#define YYMAXUTOK 274 #define YYMAXUTOK 273
#define YYTRANSLATE(YYX) \ #define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@ -448,7 +447,7 @@ static const yytype_uint8 yytranslate[] =
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19 15, 16, 17, 18
}; };
#if YYDEBUG #if YYDEBUG
@ -456,28 +455,26 @@ static const yytype_uint8 yytranslate[] =
YYRHS. */ YYRHS. */
static const yytype_uint8 yyprhs[] = static const yytype_uint8 yyprhs[] =
{ {
0, 0, 3, 5, 6, 8, 11, 14, 18, 22, 0, 0, 3, 5, 6, 8, 11, 15, 19, 25,
28, 32, 35, 38, 41, 43, 45, 47, 49, 51, 29, 32, 35, 38, 40, 42, 44, 46, 48, 50
53
}; };
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ /* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int8 yyrhs[] = static const yytype_int8 yyrhs[] =
{ {
21, 0, -1, 22, -1, -1, 23, -1, 22, 23, 20, 0, -1, 21, -1, -1, 22, -1, 21, 22,
-1, 9, 13, -1, 17, 10, 13, -1, 17, 11, -1, 16, 9, 12, -1, 16, 10, 16, -1, 16,
17, -1, 17, 11, 17, 12, 13, -1, 17, 12, 10, 16, 11, 12, -1, 16, 11, 12, -1, 5,
13, -1, 5, 18, -1, 3, 18, -1, 4, 18, 17, -1, 3, 17, -1, 4, 17, -1, 15, -1,
-1, 16, -1, 15, -1, 14, -1, 6, -1, 7, 14, -1, 13, -1, 6, -1, 7, -1, 12, -1,
-1, 13, -1, 17, -1 16, -1
}; };
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint8 yyrline[] = static const yytype_uint8 yyrline[] =
{ {
0, 75, 75, 76, 80, 81, 85, 89, 94, 99, 0, 74, 74, 75, 79, 80, 84, 89, 94, 100,
105, 111, 116, 121, 126, 127, 128, 129, 130, 131, 106, 111, 116, 121, 122, 123, 124, 125, 126, 127
132
}; };
#endif #endif
@ -489,7 +486,7 @@ static const char *const yytname[] =
"$end", "error", "$undefined", "\"eval\"", "\"shell\"", "$end", "error", "$undefined", "\"eval\"", "\"shell\"",
"\"if (condition)\"", "\"truthy (true, on, yes or enabled)\"", "\"if (condition)\"", "\"truthy (true, on, yes or enabled)\"",
"\"falsy (false, off, no or disabled)\"", "\"falsy (false, off, no or disabled)\"",
"\"string (some input, perhaps)\"", "\"~ (squiggle)\"", "\": (colon)\"", "\"string (some input, perhaps)\"", "\": (colon)\"",
"\":: (double colon)\"", "\"# (pound sign)\"", "\"digits (numbers)\"", "\":: (double colon)\"", "\"# (pound sign)\"", "\"digits (numbers)\"",
"\"literal (string)\"", "\"address\"", "\"opcode\"", "\"literal (string)\"", "\"address\"", "\"opcode\"",
"\"identifier (command or function name)\"", "\"identifier (command or function name)\"",
@ -504,24 +501,22 @@ static const char *const yytname[] =
static const yytype_uint16 yytoknum[] = static const yytype_uint16 yytoknum[] =
{ {
0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274 265, 266, 267, 268, 269, 270, 271, 272, 273
}; };
# endif # endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] = static const yytype_uint8 yyr1[] =
{ {
0, 20, 21, 21, 22, 22, 23, 23, 23, 23, 0, 19, 20, 20, 21, 21, 22, 22, 22, 22,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22
23
}; };
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] = static const yytype_uint8 yyr2[] =
{ {
0, 2, 1, 0, 1, 2, 2, 3, 3, 5, 0, 2, 1, 0, 1, 2, 3, 3, 5, 3,
3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1
1
}; };
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
@ -529,31 +524,31 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */ means the default is an error. */
static const yytype_uint8 yydefact[] = static const yytype_uint8 yydefact[] =
{ {
3, 0, 0, 0, 17, 18, 0, 19, 16, 15, 3, 0, 0, 0, 16, 17, 18, 15, 14, 13,
14, 20, 0, 2, 4, 12, 13, 11, 6, 0, 19, 0, 2, 4, 11, 12, 10, 0, 0, 0,
0, 0, 1, 5, 7, 8, 10, 0, 9 1, 5, 6, 7, 9, 0, 8
}; };
/* YYDEFGOTO[NTERM-NUM]. */ /* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int8 yydefgoto[] = static const yytype_int8 yydefgoto[] =
{ {
-1, 12, 13, 14 -1, 11, 12, 13
}; };
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
#define YYPACT_NINF -14 #define YYPACT_NINF -10
static const yytype_int8 yypact[] = static const yytype_int8 yypact[] =
{ {
-3, -13, -11, -10, -14, -14, -4, -14, -14, -14, -3, -9, -2, -1, -10, -10, -10, -10, -10, -10,
-14, 5, 18, -3, -14, -14, -14, -14, -14, 6, -4, 14, -3, -10, -10, -10, -10, 5, 2, 7,
3, 8, -14, -14, -14, 10, -14, 11, -14 -10, -10, -10, 9, -10, 10, -10
}; };
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int8 yypgoto[] = static const yytype_int8 yypgoto[] =
{ {
-14, -14, -14, 12 -10, -10, -10, 11
}; };
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@ -562,31 +557,31 @@ static const yytype_int8 yypgoto[] =
#define YYTABLE_NINF -1 #define YYTABLE_NINF -1
static const yytype_uint8 yytable[] = static const yytype_uint8 yytable[] =
{ {
1, 2, 3, 4, 5, 15, 6, 16, 17, 18, 1, 2, 3, 4, 5, 17, 18, 19, 14, 6,
7, 8, 9, 10, 11, 19, 20, 21, 22, 24, 7, 8, 9, 10, 20, 15, 16, 22, 23, 24,
25, 26, 27, 0, 28, 23 25, 0, 26, 21
}; };
#define yypact_value_is_default(yystate) \ #define yypact_value_is_default(yystate) \
((yystate) == (-14)) ((yystate) == (-10))
#define yytable_value_is_error(yytable_value) \ #define yytable_value_is_error(yytable_value) \
YYID (0) YYID (0)
static const yytype_int8 yycheck[] = static const yytype_int8 yycheck[] =
{ {
3, 4, 5, 6, 7, 18, 9, 18, 18, 13, 3, 4, 5, 6, 7, 9, 10, 11, 17, 12,
13, 14, 15, 16, 17, 10, 11, 12, 0, 13, 13, 14, 15, 16, 0, 17, 17, 12, 16, 12,
17, 13, 12, -1, 13, 13 11, -1, 12, 12
}; };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */ symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] = static const yytype_uint8 yystos[] =
{ {
0, 3, 4, 5, 6, 7, 9, 13, 14, 15, 0, 3, 4, 5, 6, 7, 12, 13, 14, 15,
16, 17, 21, 22, 23, 18, 18, 18, 13, 10, 16, 20, 21, 22, 17, 17, 17, 9, 10, 11,
11, 12, 0, 23, 13, 17, 13, 12, 13 0, 22, 12, 16, 12, 11, 12
}; };
#define yyerrok (yyerrstatus = 0) #define yyerrok (yyerrstatus = 0)
@ -1435,24 +1430,25 @@ yyreduce:
case 4: case 4:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 80 "sapi/phpdbg/dev/phpdbg_parser.y" #line 79 "sapi/phpdbg/dev/phpdbg_parser.y"
{ phpdbg_stack_push(stack, &(yyvsp[(1) - (1)])); } { phpdbg_stack_push(stack, &(yyvsp[(1) - (1)])); }
break; break;
case 5: case 5:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 81 "sapi/phpdbg/dev/phpdbg_parser.y" #line 80 "sapi/phpdbg/dev/phpdbg_parser.y"
{ phpdbg_stack_push(stack, &(yyvsp[(2) - (2)])); } { phpdbg_stack_push(stack, &(yyvsp[(2) - (2)])); }
break; break;
case 6: case 6:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 85 "sapi/phpdbg/dev/phpdbg_parser.y" #line 84 "sapi/phpdbg/dev/phpdbg_parser.y"
{ {
(yyval).type = OPLINE_PARAM; (yyval).type = FILE_PARAM;
(yyval).num = (yyvsp[(2) - (2)]).num; (yyval).file.name = (yyvsp[(1) - (3)]).str;
(yyval).file.line = (yyvsp[(3) - (3)]).num;
} }
break; break;
@ -1460,10 +1456,10 @@ yyreduce:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 89 "sapi/phpdbg/dev/phpdbg_parser.y" #line 89 "sapi/phpdbg/dev/phpdbg_parser.y"
{ {
(yyval).type = FILE_PARAM; (yyval).type = METHOD_PARAM;
(yyval).file.name = (yyvsp[(1) - (3)]).str; (yyval).method.class = (yyvsp[(1) - (3)]).str;
(yyval).file.line = (yyvsp[(3) - (3)]).num; (yyval).method.name = (yyvsp[(3) - (3)]).str;
} }
break; break;
@ -1471,17 +1467,6 @@ yyreduce:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 94 "sapi/phpdbg/dev/phpdbg_parser.y" #line 94 "sapi/phpdbg/dev/phpdbg_parser.y"
{
(yyval).type = METHOD_PARAM;
(yyval).method.class = (yyvsp[(1) - (3)]).str;
(yyval).method.name = (yyvsp[(3) - (3)]).str;
}
break;
case 9:
/* Line 1806 of yacc.c */
#line 99 "sapi/phpdbg/dev/phpdbg_parser.y"
{ {
(yyval).type = NUMERIC_METHOD_PARAM; (yyval).type = NUMERIC_METHOD_PARAM;
(yyval).method.class = (yyvsp[(1) - (5)]).str; (yyval).method.class = (yyvsp[(1) - (5)]).str;
@ -1490,10 +1475,10 @@ yyreduce:
} }
break; break;
case 10: case 9:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 105 "sapi/phpdbg/dev/phpdbg_parser.y" #line 100 "sapi/phpdbg/dev/phpdbg_parser.y"
{ {
(yyval).type = NUMERIC_FUNCTION_PARAM; (yyval).type = NUMERIC_FUNCTION_PARAM;
(yyval).str = (yyvsp[(1) - (3)]).str; (yyval).str = (yyvsp[(1) - (3)]).str;
@ -1502,12 +1487,23 @@ yyreduce:
} }
break; break;
case 10:
/* Line 1806 of yacc.c */
#line 106 "sapi/phpdbg/dev/phpdbg_parser.y"
{
(yyval).type = COND_PARAM;
(yyval).str = (yyvsp[(2) - (2)]).str;
(yyval).len = (yyvsp[(2) - (2)]).len;
}
break;
case 11: case 11:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 111 "sapi/phpdbg/dev/phpdbg_parser.y" #line 111 "sapi/phpdbg/dev/phpdbg_parser.y"
{ {
(yyval).type = COND_PARAM; (yyval).type = EVAL_PARAM;
(yyval).str = (yyvsp[(2) - (2)]).str; (yyval).str = (yyvsp[(2) - (2)]).str;
(yyval).len = (yyvsp[(2) - (2)]).len; (yyval).len = (yyvsp[(2) - (2)]).len;
} }
@ -1517,8 +1513,8 @@ yyreduce:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 116 "sapi/phpdbg/dev/phpdbg_parser.y" #line 116 "sapi/phpdbg/dev/phpdbg_parser.y"
{ {
(yyval).type = EVAL_PARAM; (yyval).type = SHELL_PARAM;
(yyval).str = (yyvsp[(2) - (2)]).str; (yyval).str = (yyvsp[(2) - (2)]).str;
(yyval).len = (yyvsp[(2) - (2)]).len; (yyval).len = (yyvsp[(2) - (2)]).len;
} }
@ -1528,66 +1524,55 @@ yyreduce:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 121 "sapi/phpdbg/dev/phpdbg_parser.y" #line 121 "sapi/phpdbg/dev/phpdbg_parser.y"
{ { (yyval) = (yyvsp[(1) - (1)]); }
(yyval).type = SHELL_PARAM;
(yyval).str = (yyvsp[(2) - (2)]).str;
(yyval).len = (yyvsp[(2) - (2)]).len;
}
break; break;
case 14: case 14:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 126 "sapi/phpdbg/dev/phpdbg_parser.y" #line 122 "sapi/phpdbg/dev/phpdbg_parser.y"
{ (yyval) = (yyvsp[(1) - (1)]); } { (yyval) = (yyvsp[(1) - (1)]); }
break; break;
case 15: case 15:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 127 "sapi/phpdbg/dev/phpdbg_parser.y" #line 123 "sapi/phpdbg/dev/phpdbg_parser.y"
{ (yyval) = (yyvsp[(1) - (1)]); } { (yyval) = (yyvsp[(1) - (1)]); }
break; break;
case 16: case 16:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 128 "sapi/phpdbg/dev/phpdbg_parser.y" #line 124 "sapi/phpdbg/dev/phpdbg_parser.y"
{ (yyval) = (yyvsp[(1) - (1)]); } { (yyval) = (yyvsp[(1) - (1)]); }
break; break;
case 17: case 17:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 129 "sapi/phpdbg/dev/phpdbg_parser.y" #line 125 "sapi/phpdbg/dev/phpdbg_parser.y"
{ (yyval) = (yyvsp[(1) - (1)]); } { (yyval) = (yyvsp[(1) - (1)]); }
break; break;
case 18: case 18:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 130 "sapi/phpdbg/dev/phpdbg_parser.y" #line 126 "sapi/phpdbg/dev/phpdbg_parser.y"
{ (yyval) = (yyvsp[(1) - (1)]); } { (yyval) = (yyvsp[(1) - (1)]); }
break; break;
case 19: case 19:
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 131 "sapi/phpdbg/dev/phpdbg_parser.y" #line 127 "sapi/phpdbg/dev/phpdbg_parser.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 20:
/* Line 1806 of yacc.c */
#line 132 "sapi/phpdbg/dev/phpdbg_parser.y"
{ (yyval) = (yyvsp[(1) - (1)]); } { (yyval) = (yyvsp[(1) - (1)]); }
break; break;
/* Line 1806 of yacc.c */ /* Line 1806 of yacc.c */
#line 1591 "sapi/phpdbg/phpdbg_parser.c" #line 1576 "sapi/phpdbg/phpdbg_parser.c"
default: break; default: break;
} }
/* User semantic actions sometimes alter yychar, and that requires /* User semantic actions sometimes alter yychar, and that requires
@ -1818,6 +1803,6 @@ yyreturn:
/* Line 2067 of yacc.c */ /* Line 2067 of yacc.c */
#line 135 "sapi/phpdbg/dev/phpdbg_parser.y" #line 130 "sapi/phpdbg/dev/phpdbg_parser.y"

View file

@ -58,17 +58,16 @@ typedef void* yyscan_t;
T_TRUTHY = 261, T_TRUTHY = 261,
T_FALSY = 262, T_FALSY = 262,
T_STRING = 263, T_STRING = 263,
T_SQUIGGLE = 264, T_COLON = 264,
T_COLON = 265, T_DCOLON = 265,
T_DCOLON = 266, T_POUND = 266,
T_POUND = 267, T_DIGITS = 267,
T_DIGITS = 268, T_LITERAL = 268,
T_LITERAL = 269, T_ADDR = 269,
T_ADDR = 270, T_OPCODE = 270,
T_OPCODE = 271, T_ID = 271,
T_ID = 272, T_INPUT = 272,
T_INPUT = 273, T_UNEXPECTED = 273
T_UNEXPECTED = 274
}; };
#endif #endif