From 5e246adccf986af9dd032d6e8645ddd5d2a577d4 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Fri, 24 Feb 2017 04:15:20 -0500 Subject: Work on unary operators Specifically, the coercive operator for allowing mixing floats and ints --- dice-lang/src/bjc/dicelang/v2/Parser.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'dice-lang/src/bjc/dicelang/v2/Parser.java') diff --git a/dice-lang/src/bjc/dicelang/v2/Parser.java b/dice-lang/src/bjc/dicelang/v2/Parser.java index 9a873f1..7151e0e 100644 --- a/dice-lang/src/bjc/dicelang/v2/Parser.java +++ b/dice-lang/src/bjc/dicelang/v2/Parser.java @@ -127,6 +127,18 @@ public class Parser { working.push(opNode); } break; + case COERCE: + if(working.size() == 0) { + Errors.inst.printError(EK_PARSE_UNOPERAND, tk.toString()); + } else { + ITree operand = working.pop(); + ITree opNode = new Tree<>(new Node(UNARYOP, tk.type)); + + opNode.addChild(operand); + + working.push(opNode); + } + break; case INT_LIT: case FLOAT_LIT: case STRING_LIT: -- cgit v1.2.3