Module: wine Branch: master Commit: 9b41bb0345a98d23778c91da692a5a0e97cecfc4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9b41bb0345a98d23778c91da69...
Author: Jacek Caban jacek@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);
+@set @test = (true-2) +ok(@test === -1, "@test = " + @test); + +@set @test = (true-@_jscript) +ok(@test === 0, "@test = " + @test); + @if (false) this wouldn not parse "@end