summaryrefslogtreecommitdiff
path: root/base/src/bjc/dicelang/Parser.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/bjc/dicelang/Parser.java')
-rw-r--r--base/src/bjc/dicelang/Parser.java16
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;