summaryrefslogtreecommitdiff
path: root/tools/d2c/d2c_gram.y
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2015-06-14 10:35:16 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2015-06-14 10:35:16 (GMT)
commit4a2f5c39a29bdb4f626bfdb109753ca106a71a33 (patch)
tree9e16d13c063ebd861e9d6c48f940cb2bc62554d3 /tools/d2c/d2c_gram.y
parent04d108111fe7ddd01713b4ca22f8d96961ec2486 (diff)
Handled properly the sign extension when extending values.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@539 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'tools/d2c/d2c_gram.y')
-rw-r--r--tools/d2c/d2c_gram.y4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/d2c/d2c_gram.y b/tools/d2c/d2c_gram.y
index 5d83930..9827b05 100644
--- a/tools/d2c/d2c_gram.y
+++ b/tools/d2c/d2c_gram.y
@@ -241,10 +241,12 @@ arg_list : arg_expr { $$ = build_arg_list($1); }
arg_expr : NAME { $$ = build_arg_expr_from_name($1); }
| NUMBER { $$ = build_arg_expr_from_number($1); }
+ | BINVAL { $$ = build_arg_expr_from_binval($1); }
+ | HEXVAL { $$ = build_arg_expr_from_hexval($1); }
| arg_composed { $$ = $1; }
| OP arg_expr CP { $$ = $2; }
| arg_expr_un_op arg_expr { $$ = build_unary_arg_expr($2, $1); }
- | OP arg_expr arg_expr_bin_op arg_expr CP { $$ = build_binary_arg_expr($2, $4, $3); }
+ | arg_expr arg_expr_bin_op arg_expr { $$ = build_binary_arg_expr($1, $3, $2); }
arg_expr_un_op : NOT { $$ = CUO_NOT; }