Eric Pouech : winedbg: Move module scoping to the lexer.

Alexandre Julliard julliard at winehq.org
Fri Dec 10 15:07:51 CST 2021


Module: wine
Branch: master
Commit: c03d651b486c1562c208d549299445e8e576d3d1
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=c03d651b486c1562c208d549299445e8e576d3d1

Author: Eric Pouech <eric.pouech at gmail.com>
Date:   Wed Dec  8 14:44:56 2021 +0100

winedbg: Move module scoping to the lexer.

This allows expressing module scoping with wildcard characters
(eg kernel*!CreateFileA).

Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/winedbg/dbg.y   | 2 --
 programs/winedbg/debug.l | 3 ++-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/programs/winedbg/dbg.y b/programs/winedbg/dbg.y
index 79877b2c644..3e6ef34b836 100644
--- a/programs/winedbg/dbg.y
+++ b/programs/winedbg/dbg.y
@@ -164,8 +164,6 @@ pathname:
 
 identifier:
       tIDENTIFIER              { $$ = $1; }
-    | tIDENTIFIER '!' tIDENTIFIER { $$ = lexeme_alloc_size(strlen($1) + 1 + strlen($3) + 1);
-                                       sprintf($$, "%s!%s", $1, $3); }
     ;
 
 list_arg:
diff --git a/programs/winedbg/debug.l b/programs/winedbg/debug.l
index a587a13fb70..280013799c9 100644
--- a/programs/winedbg/debug.l
+++ b/programs/winedbg/debug.l
@@ -100,6 +100,7 @@ HEXDIGIT   [0-9a-fA-F]
 FORMAT     [ubcdgiswxa]
 IDENTIFIER [_a-zA-Z~?][_a-zA-Z0-9~?@]*
 SCOPED_IDENTIFIER [_a-zA-Z~?][_a-zA-Z0-9~?@]*"::"
+MODULE_IDENTIFIER [_a-zA-Z~?\*][_a-zA-Z0-9~?\*@]*"!"
 PATHNAME   [\\/_a-zA-Z0-9\.~@][\\/\-_a-zA-Z0-9\.~@]*
 STRING     \"(\\[^\n]|[^\\"\n])*\"
 
@@ -243,7 +244,7 @@ union					{ return tUNION; }
 enum					{ return tENUM; }
 all                                     { return tALL; }
 
-{SCOPED_IDENTIFIER}*{IDENTIFIER}	{ dbg_lval.string = lexeme_alloc(yytext); return tIDENTIFIER; }
+{MODULE_IDENTIFIER}?{SCOPED_IDENTIFIER}*{IDENTIFIER}	{ dbg_lval.string = lexeme_alloc(yytext); return tIDENTIFIER; }
 "$"{IDENTIFIER}				{ dbg_lval.string = lexeme_alloc(yytext+1); return tINTVAR; }
 
 <PATH_EXPECTED,PATH_ACCEPTED>{PATHNAME}	{ dbg_lval.string = lexeme_alloc(yytext); return tPATH; }




More information about the wine-cvs mailing list