diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-18 17:22:36 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-18 17:22:36 -0400 |
| commit | bf5f97983a7cd58e5d1147d6d6d93c2b307fe0fb (patch) | |
| tree | 3d1e41c8a7b9cfa5f32c5708a3a223f4e7ee5e8f /dice-lang/src/main/java/bjc/dicelang/ast/optimization | |
| parent | 24f3ce54983348e1aa0229d5c08b3fe99d739d40 (diff) | |
Implemented arrays
Diffstat (limited to 'dice-lang/src/main/java/bjc/dicelang/ast/optimization')
| -rw-r--r-- | dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java | 6 | ||||
| -rw-r--r-- | dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java b/dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java index e476d74..7b746ac 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java +++ b/dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java @@ -77,6 +77,12 @@ public class ConstantCollapser implements IOptimizationPass { } return new Tree<>(operator, children); + case ARRAY: + if (children.getSize() != 1) { + return new Tree<>(operator, children); + } + + return children.first(); case ASSIGN: case LET: default: diff --git a/dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java b/dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java index f41a3ef..3988d2a 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java +++ b/dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java @@ -51,6 +51,7 @@ public class OperationCondenser { case DIVIDE: case COMPOUND: return TopDownTransformResult.PUSHDOWN; + case ARRAY: case ASSIGN: case GROUP: case LET: |
