diff options
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; |
