1 /********************* */
2 /*! \file interactive_shell.h
4 ** Original author: cconway
5 ** Major contributors: mdeters
6 ** Minor contributors (to current version): none
7 ** This file is part of the CVC4 prototype.
8 ** Copyright (c) 2009-2012 The Analysis of Computer Systems Group (ACSys)
9 ** Courant Institute of Mathematical Sciences
10 ** New York University
11 ** See the file COPYING in the top-level source directory for licensing
12 ** information.\endverbatim
14 ** \brief Interactive shell for CVC4
17 #ifndef __CVC4__INTERACTIVE_SHELL_H
18 #define __CVC4__INTERACTIVE_SHELL_H
23 #include "util/language.h"
24 #include "options/options.h"
34 }/* CVC4::parser namespace */
36 class CVC4_PUBLIC InteractiveShell
{
39 parser::Parser
* d_parser
;
40 const Options
& d_options
;
44 std::string d_historyFilename
;
46 static const std::string INPUT_FILENAME
;
47 static const unsigned s_historyLimit
= 500;
50 InteractiveShell(ExprManager
& exprManager
, const Options
& options
);
53 * Close out the interactive session.
58 * Read a command from the interactive shell. This will read as
59 * many lines as necessary to parse a well-formed command.
61 Command
* readCommand();
64 * Return the internal parser being used.
66 parser::Parser
* getParser() {
70 };/* class InteractiveShell */
74 #endif /* __CVC4__INTERACTIVE_SHELL_H */