From e596a0113f8cd6e811f1d2021d25acd021af8b92 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Sat, 12 Nov 2005 19:10:24 +0000 Subject: [PATCH] Removed a couple of shift/reduce warnings in grammar. --- programs/winedbg/dbg.y | 9 +++++---- programs/winedbg/debug.l | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/programs/winedbg/dbg.y b/programs/winedbg/dbg.y index d534c25fde..90b0c88479 100644 --- a/programs/winedbg/dbg.y +++ b/programs/winedbg/dbg.y @@ -79,7 +79,7 @@ int yyerror(const char*); %left '+' '-' %left '*' '/' '%' %left OP_SIGN '!' '~' OP_DEREF /* OP_INC OP_DEC OP_ADDR */ -%left '.' '[' OP_DRF +%left '.' '[' OP_DRF OP_SCOPE %nonassoc ':' %type expr lvalue @@ -164,8 +164,8 @@ identifier: tIDENTIFIER { $$ = $1; } | tPATH '!' tIDENTIFIER { $$ = lexeme_alloc_size(strlen($1) + 1 + strlen($3) + 1); sprintf($$, "%s!%s", $1, $3); } - | identifier ':' ':' tIDENTIFIER { $$ = lexeme_alloc_size(strlen($1) + 2 + strlen($4) + 1); - sprintf($$, "%s::%s", $1, $4); } + | identifier OP_SCOPE tIDENTIFIER { $$ = lexeme_alloc_size(strlen($1) + 2 + strlen($3) + 1); + sprintf($$, "%s::%s", $1, $3); } ; list_arg: @@ -374,7 +374,8 @@ lvalue_addr: lvalue { $$ = expr_eval($1); } ; -lvalue: tNUM { $$ = expr_alloc_sconstant($1); } +lvalue: + tNUM { $$ = expr_alloc_sconstant($1); } | tINTVAR { $$ = expr_alloc_internal_var($1); } | identifier { $$ = expr_alloc_symbol($1); } | lvalue OP_DRF tIDENTIFIER { $$ = expr_alloc_pstruct($1, $3); } diff --git a/programs/winedbg/debug.l b/programs/winedbg/debug.l index e23fde557b..a70bf5eeb5 100644 --- a/programs/winedbg/debug.l +++ b/programs/winedbg/debug.l @@ -112,6 +112,7 @@ STRING \"[^\n"]+\" "<<" { return OP_SHL; } ">>" { return OP_SHR; } "->" { return OP_DRF; } +"::" { return OP_SCOPE; } [-+<=>|&^()*/%:!~,\.] { return *yytext; } "[" { return *yytext; } "]" { return *yytext; } -- 2.32.0.93.g670b81a890