summaryrefslogtreecommitdiff
path: root/src/parser/antlr_parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/antlr_parser.cpp')
-rw-r--r--src/parser/antlr_parser.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/parser/antlr_parser.cpp b/src/parser/antlr_parser.cpp
index a50b1f18f..2d3033a59 100644
--- a/src/parser/antlr_parser.cpp
+++ b/src/parser/antlr_parser.cpp
@@ -9,6 +9,7 @@
#include "antlr_parser.h"
#include "util/output.h"
+#include "util/Assert.h"
using namespace std;
using namespace CVC4;
@@ -134,11 +135,16 @@ void AntlrParser::rethrow(antlr::SemanticException& e, string new_message)
Expr AntlrParser::createPrecedenceExpr(const vector<Expr>& exprs, const vector<
Kind>& kinds) {
+ Assert( exprs.size() > 0, "Expected non-empty vector expr");
+ Assert( vectors.size() + 1 == exprs.size(), "Expected kinds to match exprs");
return createPrecedenceExpr(exprs, kinds, 0, exprs.size() - 1);
}
unsigned AntlrParser::findPivot(const std::vector<Kind>& kinds,
unsigned start_index, unsigned end_index) const {
+ Assert( start_index >= 0, "Expected start_index >= 0. ");
+ Assert( end_index < kinds.size(), "Expected end_index < kinds.size(). ");
+ Assert( start_index <= end_index, "Expected start_index <= end_index. ");
int pivot = start_index;
unsigned pivot_precedence = getPrecedence(kinds[pivot]);
@@ -157,6 +163,12 @@ unsigned AntlrParser::findPivot(const std::vector<Kind>& kinds,
Expr AntlrParser::createPrecedenceExpr(const std::vector<Expr>& exprs,
const std::vector<Kind>& kinds,
unsigned start_index, unsigned end_index) {
+ Assert( exprs.size() > 0, "Expected non-empty vector expr");
+ Assert( kinds.size() + 1 == exprs.size(), "Expected kinds to match exprs.");
+ Assert( start_index >= 0, "Expected start_index >= 0. ");
+ Assert( end_index < exprs.size(), "Expected end_index < exprs.size. ");
+ Assert( start_index <= end_index, "Expected start_index <= end_index. ");
+
if(start_index == end_index)
return exprs[start_index];
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback