summaryrefslogtreecommitdiffstats
path: root/parser.y
diff options
context:
space:
mode:
authorStephen Dolan <mu@netsoc.tcd.ie>2013-01-03 12:53:06 +0000
committerStephen Dolan <mu@netsoc.tcd.ie>2013-01-03 12:53:23 +0000
commit925ec3751f3b407c17412b0fa04a84fe39c1e0b7 (patch)
tree8265b8193050e20387cfce770dfa5c625b6122fe /parser.y
parentc013b557a2bc72dff8795d89d4529e17946a5f3a (diff)
Fix negative number syntax. Add a unary '-' operator.
Closes #63.
Diffstat (limited to 'parser.y')
-rw-r--r--parser.y4
1 files changed, 4 insertions, 0 deletions
diff --git a/parser.y b/parser.y
index a1be0b7f..92cd9db8 100644
--- a/parser.y
+++ b/parser.y
@@ -260,6 +260,10 @@ Exp "+=" Exp {
$$ = gen_update($1, $3, '+');
} |
+'-' Exp {
+ $$ = BLOCK($2, gen_call("_negate", gen_noop()));
+} |
+
Exp '-' Exp {
$$ = gen_binop($1, $3, '-');
} |