From 9b41bb0345a98d23778c91da692a5a0e97cecfc4 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 1 Oct 2014 10:45:44 +0200 Subject: [PATCH] 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 83d8b4e87ec..d25022b8060 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 32f827e63ea..7ce3682575f 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