https://bugs.winehq.org/show_bug.cgi?id=41119
Bug ID: 41119 Summary: vbscript fails to parse 'createobject("wscript.shell").run' statement Product: Wine Version: 1.9.16 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: vbscript Assignee: wine-bugs@winehq.org Reporter: aihujianfei@qq.com Distribution: ---
The vbscript file for test is : createobject("wscript.shell").run "calc.exe"
I see the vbs bison parse file in https://github.com/alexhenrie/wine/blob/master/dlls/vbscript/parser.y ,
the parse failed at the pos [.run] in this file.
I think the fail reason is there has one confilct .
for more information , I run command [bison -v -d -pparser_ parser.y], then it generate file parser.output .
In the file parser.output , part of the file show this confilct which mentioned above .
" state 160
77 ArgumentList: Expression . 78 | Expression . ',' ArgumentList 85 Expression: Expression . tIMP EqvExpression 138 PrimaryExpression: '(' Expression . ')'
tIMP shift, and go to state 123 ',' shift, and go to state 162 ')' shift, and go to state 156
')' [reduce using rule 77 (ArgumentList)]
"
As we can see above , there has one shift/reduce conflict . to parse this file success , we need a reduce to ArgumentList , instead of shift to PrimaryExpression .
I will appreciate your fix.