diff options
author | Morgan Deters <mdeters@gmail.com> | 2010-10-09 10:10:47 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2010-10-09 10:10:47 +0000 |
commit | 7a059452ebf5729723f610da9258a47007e38253 (patch) | |
tree | 2bbab5fe2aed85984a492d1706348ae3aaa7a68a /src/parser/parser.cpp | |
parent | 0131e18b811bdf2825a1cde5a6d68d523b19aacc (diff) |
reverting some changes to parser from last commit
Diffstat (limited to 'src/parser/parser.cpp')
-rw-r--r-- | src/parser/parser.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp index 09e65526d..90e13022c 100644 --- a/src/parser/parser.cpp +++ b/src/parser/parser.cpp @@ -326,6 +326,29 @@ Command* Parser::nextCommand() throw(ParserException) { return cmd; } +Expr Parser::nextExpression() throw(ParserException) { + Debug("parser") << "nextExpression()" << std::endl; + Expr result; + if(!done()) { + try { + result = d_input->parseExpr(); + if(result.isNull()) { + setDone(); + } + } catch(ParserException& e) { + setDone(); + throw; + } catch(Exception& e) { + setDone(); + stringstream ss; + ss << e; + parseError( ss.str() ); + } + } + Debug("parser") << "nextExpression() => " << result << std::endl; + return result; +} + }/* CVC4::parser namespace */ }/* CVC4 namespace */ |