summaryrefslogtreecommitdiff
path: root/src/parser/parser.h
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2015-07-20 19:46:21 +0200
committerajreynol <andrew.j.reynolds@gmail.com>2015-07-20 19:46:21 +0200
commitf62d9456b41bf17df1d339e46776c9213cb3705a (patch)
tree01d3448b3c9fe89ead56c72b18f8516292092e13 /src/parser/parser.h
parent7943953741c67d8246f983e193d26812d959b4cd (diff)
Squashed merge of SygusComp 2015 branch.
Diffstat (limited to 'src/parser/parser.h')
-rw-r--r--src/parser/parser.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/parser/parser.h b/src/parser/parser.h
index 53241709d..9c2c7f7be 100644
--- a/src/parser/parser.h
+++ b/src/parser/parser.h
@@ -42,6 +42,33 @@ class FunctionType;
class Type;
class ResourceManager;
+//for sygus gterm two-pass parsing
+class CVC4_PUBLIC SygusGTerm {
+public:
+ enum{
+ gterm_op,
+ gterm_let,
+ gterm_constant,
+ gterm_variable,
+ gterm_input_variable,
+ gterm_local_variable,
+ gterm_nested_sort,
+ gterm_unresolved,
+ gterm_ignore,
+ };
+ Type d_type;
+ Expr d_expr;
+ std::vector< Expr > d_let_vars;
+ unsigned d_gterm_type;
+ std::string d_name;
+ std::vector< SygusGTerm > d_children;
+
+ unsigned getNumChildren() { return d_children.size(); }
+ void addChild(){
+ d_children.push_back( SygusGTerm() );
+ }
+};
+
namespace parser {
class Input;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback