diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-02-24 04:15:20 -0500 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-02-24 04:15:20 -0500 |
| commit | 5e246adccf986af9dd032d6e8645ddd5d2a577d4 (patch) | |
| tree | 96cc49b43b32f1b38e4d848419d2b23a4c74b217 /dice-lang/src/bjc/dicelang/v2/DiceLangEngine.java | |
| parent | a942114b89013732a2be3092cdb65cafc4566fe0 (diff) | |
Work on unary operators
Specifically, the coercive operator for allowing mixing floats and ints
Diffstat (limited to 'dice-lang/src/bjc/dicelang/v2/DiceLangEngine.java')
| -rw-r--r-- | dice-lang/src/bjc/dicelang/v2/DiceLangEngine.java | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/dice-lang/src/bjc/dicelang/v2/DiceLangEngine.java b/dice-lang/src/bjc/dicelang/v2/DiceLangEngine.java index d90ce9d..220fd3f 100644 --- a/dice-lang/src/bjc/dicelang/v2/DiceLangEngine.java +++ b/dice-lang/src/bjc/dicelang/v2/DiceLangEngine.java @@ -100,17 +100,18 @@ public class DiceLangEngine { litTokens = new FunctionalMap<>(); - litTokens.put("+", ADD); - litTokens.put("-", SUBTRACT); - litTokens.put("*", MULTIPLY); - litTokens.put("/", DIVIDE); - litTokens.put("//", IDIVIDE); - litTokens.put("dg", DICEGROUP); - litTokens.put("dc", DICECONCAT); - litTokens.put("dl", DICELIST); - litTokens.put("=>", LET); - litTokens.put(":=", BIND); - litTokens.put(",", GROUPSEP); + litTokens.put("+", ADD); + litTokens.put("-", SUBTRACT); + litTokens.put("*", MULTIPLY); + litTokens.put("/", DIVIDE); + litTokens.put("//", IDIVIDE); + litTokens.put("dg", DICEGROUP); + litTokens.put("dc", DICECONCAT); + litTokens.put("dl", DICELIST); + litTokens.put("=>", LET); + litTokens.put(":=", BIND); + litTokens.put(",", GROUPSEP); + litTokens.put("crc", COERCE); nextLiteral = 1; @@ -378,6 +379,8 @@ public class DiceLangEngine { IList<Token> readyTokens = shuntedTokens.flatMap(tk -> { if(tk.type == Token.Type.TOKGROUP) { return tk.tokenValues; + } else if(tk.type == Token.Type.TAGOP || tk.type == Token.Type.TAGOPR) { + return tk.tokenValues; } else { return new FunctionalList<>(tk); } |
