[PATCH 13/19] programs/winedbg: move module scoping inside lexer
Eric Pouech
eric.pouech at gmail.com
Wed Dec 8 07:44:56 CST 2021
this allows to express module scoping with wild characters
(eg kernel*!CreateFileA)
Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
---
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-devel
mailing list