Jacek Caban : jscript: Added support for '-' CC expression.
Module: wine Branch: master Commit: 9b41bb0345a98d23778c91da692a5a0e97cecfc4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9b41bb0345a98d23778c91da69... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Oct 1 10:45:44 2014 +0200 jscript: Added support for '-' CC expression. --- dlls/jscript/cc_parser.y | 3 +++ dlls/jscript/tests/cc.js | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/dlls/jscript/cc_parser.y b/dlls/jscript/cc_parser.y index 83d8b4e..d25022b 100644 --- a/dlls/jscript/cc_parser.y +++ b/dlls/jscript/cc_parser.y @@ -66,6 +66,7 @@ static int cc_parser_lex(void *lval, parser_ctx_t *ctx) case '(': case ')': case '+': + case '-': case '*': case '/': return *ctx->ptr++; @@ -105,6 +106,8 @@ CCAdditiveExpression : CCMultiplicativeExpression { $$ = $1; } | CCAdditiveExpression '+' CCMultiplicativeExpression { $$ = ccval_num(get_ccnum($1) + get_ccnum($3)); } + | CCAdditiveExpression '-' CCMultiplicativeExpression + { $$ = ccval_num(get_ccnum($1) - get_ccnum($3)); } CCMultiplicativeExpression : CCUnaryExpression { $$ = $1; } diff --git a/dlls/jscript/tests/cc.js b/dlls/jscript/tests/cc.js index 32f827e..7ce3682 100644 --- a/dlls/jscript/tests/cc.js +++ b/dlls/jscript/tests/cc.js @@ -140,6 +140,12 @@ ok(@test === false, "@test = " + @test); @set @test = (0 != true) ok(@test === true, "@test = " + @test); +(a)set @test = (true-2) +ok(@test === -1, "@test = " + @test); + +(a)set @test = (true-(a)_jscript) +ok(@test === 0, "@test = " + @test); + @if (false) this wouldn not parse "@end
participants (1)
-
Alexandre Julliard