Jacek Caban : vbscript: Simplify option explicit parsing.

Alexandre Julliard julliard at winehq.org
Thu Jan 23 15:48:48 CST 2020


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Jan 22 23:27:45 2020 +0100

vbscript: Simplify option explicit parsing.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/vbscript/parser.y | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/dlls/vbscript/parser.y b/dlls/vbscript/parser.y
index b54d4af32f..16a673fac7 100644
--- a/dlls/vbscript/parser.y
+++ b/dlls/vbscript/parser.y
@@ -27,7 +27,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(vbscript);
 
 static int parser_error(unsigned*,parser_ctx_t*,const char*);
 
-static void parse_complete(parser_ctx_t*,BOOL);
 static void handle_isexpression_script(parser_ctx_t *ctx, expression_t *expr);
 
 static void source_add_statement(parser_ctx_t*,statement_t*);
@@ -138,7 +137,7 @@ static statement_t *link_statements(statement_t*,statement_t*);
 %type <expression> ConstExpression NumericLiteralExpression
 %type <member> MemberExpression
 %type <expression> Arguments Arguments_opt ArgumentList ArgumentList_opt Step_opt ExpressionList
-%type <boolean> OptionExplicit_opt DoType Preserve_opt
+%type <boolean> DoType Preserve_opt
 %type <arg_decl> ArgumentsDecl_opt ArgumentDeclList ArgumentDecl
 %type <func_decl> FunctionDecl PropertyDecl
 %type <elseif> ElseIfs_opt ElseIfs ElseIf
@@ -153,12 +152,12 @@ static statement_t *link_statements(statement_t*,statement_t*);
 %%
 
 Program
-    : OptionExplicit_opt SourceElements     { parse_complete(ctx, $1); }
+    : OptionExplicit_opt SourceElements
     | tEXPRESSION ExpressionNl_opt          { handle_isexpression_script(ctx, $2); }
 
 OptionExplicit_opt
-    : /* empty */                { $$ = FALSE; }
-    | tOPTION tEXPLICIT StSep    { $$ = TRUE; }
+    : /* empty */
+    | tOPTION tEXPLICIT StSep               { ctx->option_explicit = TRUE; }
 
 SourceElements
     : /* empty */
@@ -534,11 +533,6 @@ static void source_add_class(parser_ctx_t *ctx, class_decl_t *class_decl)
     ctx->class_decls = class_decl;
 }
 
-static void parse_complete(parser_ctx_t *ctx, BOOL option_explicit)
-{
-    ctx->option_explicit = option_explicit;
-}
-
 static void handle_isexpression_script(parser_ctx_t *ctx, expression_t *expr)
 {
     retval_statement_t *stat;




More information about the wine-cvs mailing list