diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-05-30 15:57:04 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-05-30 15:57:04 -0300 |
| commit | 0029bfc3cf4fdee2bcd86689a8d9a2a8f4dd553a (patch) | |
| tree | 803acf609ffb9db8595209f7144971e72d31d310 /base/src/bjc/dicelang/Parser.java | |
| parent | a7ba845df20d1bec77b4044738f1ff4fc1128201 (diff) | |
Group changes
Start work on getting groups to behave correctly
Diffstat (limited to 'base/src/bjc/dicelang/Parser.java')
| -rw-r--r-- | base/src/bjc/dicelang/Parser.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/base/src/bjc/dicelang/Parser.java b/base/src/bjc/dicelang/Parser.java index ffbfb9d..1b2a0bd 100644 --- a/base/src/bjc/dicelang/Parser.java +++ b/base/src/bjc/dicelang/Parser.java @@ -136,7 +136,21 @@ public class Parser { * AST forest. */ for(final ITree<Node> ast : working) { - results.add(ast); + /* Make sure that the tree are well-formed */ + if(ast.containsMatching((val) -> { + switch(val.type) { + case OGROUP: + return true; + default: + return false; + } + })) { + System.out.printf("\tERROR: Malformed tree:\n%s\n", ast); + + return false; + } else { + results.add(ast); + } } return true; |
