From 47701677e88230abf7d9106c55f46aa660643ce7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 2 Aug 2013 16:03:02 +0000 Subject: Add integer ‘-’, ‘*’ and ‘/’ operators MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libexpr/parser.y | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/libexpr/parser.y') diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y index 4a59a0875eb8..d998c840e151 100644 --- a/src/libexpr/parser.y +++ b/src/libexpr/parser.y @@ -271,7 +271,8 @@ void yyerror(YYLTYPE * loc, yyscan_t scanner, ParseData * data, const char * err %nonassoc EQ NEQ %right UPDATE %left NOT -%left '+' +%left '+' '-' +%left '*' '/' %right CONCAT %nonassoc '?' %nonassoc '~' @@ -322,6 +323,9 @@ expr_op l->push_back($3); $$ = new ExprConcatStrings(false, l); } + | expr_op '-' expr_op { $$ = new ExprApp(new ExprApp(new ExprVar(data->symbols.create("__sub")), $1), $3); } + | expr_op '*' expr_op { $$ = new ExprApp(new ExprApp(new ExprVar(data->symbols.create("__mul")), $1), $3); } + | expr_op '/' expr_op { $$ = new ExprApp(new ExprApp(new ExprVar(data->symbols.create("__div")), $1), $3); } | expr_op CONCAT expr_op { $$ = new ExprOpConcatLists($1, $3); } | expr_app ; -- cgit 1.4.1