diff options
Diffstat (limited to 'src/parser/smt2')
-rw-r--r-- | src/parser/smt2/Smt2.g | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/parser/smt2/Smt2.g b/src/parser/smt2/Smt2.g index 2b5d54afa..19f77ac87 100644 --- a/src/parser/smt2/Smt2.g +++ b/src/parser/smt2/Smt2.g @@ -372,6 +372,14 @@ extendedCommand[CVC4::Command*& cmd] LPAREN_TOK ( LPAREN_TOK datatypeDef[dts] RPAREN_TOK )+ RPAREN_TOK { PARSER_STATE->popScope(); cmd = new DatatypeDeclarationCommand(PARSER_STATE->mkMutualDatatypeTypes(dts)); } + | ECHO_TOK + ( simpleSymbolicExpr[sexpr] + { std::stringstream ss; + ss << sexpr; + cmd = new EchoCommand(ss.str()); + } + | { cmd = new EchoCommand(); } + ) ; simpleSymbolicExpr[CVC4::SExpr& sexpr] @@ -918,6 +926,7 @@ POP_TOK : 'pop'; // extended commands DECLARE_DATATYPES_TOK : 'declare-datatypes'; +ECHO_TOK : 'echo'; // operators (NOTE: theory symbols go here) AMPERSAND_TOK : '&'; |