diff options
author | Christopher L. Conway <christopherleeconway@gmail.com> | 2010-10-20 20:41:03 +0000 |
---|---|---|
committer | Christopher L. Conway <christopherleeconway@gmail.com> | 2010-10-20 20:41:03 +0000 |
commit | 93e8bc35db891c6041f9690366be933433a0ad52 (patch) | |
tree | e946c0824d6d91c44ecc97a627411e5d6c334ea9 /src/main/interactive_shell.h | |
parent | daad722774087de1cf35714868d3762b3ea7cb21 (diff) |
Adding support for interactive mode
Diffstat (limited to 'src/main/interactive_shell.h')
-rw-r--r-- | src/main/interactive_shell.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main/interactive_shell.h b/src/main/interactive_shell.h new file mode 100644 index 000000000..6bd9db295 --- /dev/null +++ b/src/main/interactive_shell.h @@ -0,0 +1,52 @@ +/********************* */ +/*! \file interactive_shell.h + ** \verbatim + ** Original author: cconway + ** Major contributors: + ** Minor contributors (to current version): + ** This file is part of the CVC4 prototype. + ** Copyright (c) 2009, 2010 The Analysis of Computer Systems Group (ACSys) + ** Courant Institute of Mathematical Sciences + ** New York University + ** See the file COPYING in the top-level source directory for licensing + ** information.\endverbatim + ** + ** \brief Interactive shell for CVC4 + **/ + +#ifndef __CVC4__INTERACTIVE_SHELL_H +#define __CVC4__INTERACTIVE_SHELL_H + +#include <iostream> +#include <string> + +#include "parser/parser_builder.h" + +namespace CVC4 { + + class Command; + + using namespace parser; + +class InteractiveShell { + std::istream& d_in; + std::ostream& d_out; + ParserBuilder d_parserBuilder; + +public: + InteractiveShell(std::istream& in, + std::ostream& out, + ParserBuilder& parserBuilder) : + d_in(in), + d_out(out), + d_parserBuilder(parserBuilder) { + } + + /** Read a command from the interactive shell. This will read as + many lines as necessary to parse a well-formed command. */ + Command *readCommand(); +}; + +} // CVC4 namespace + +#endif // __CVC4__INTERACTIVE_SHELL_H |