diff options
author | Christopher L. Conway <christopherleeconway@gmail.com> | 2010-10-23 14:49:06 +0000 |
---|---|---|
committer | Christopher L. Conway <christopherleeconway@gmail.com> | 2010-10-23 14:49:06 +0000 |
commit | 0a3ecb598dac9e5e7416f88403dbf73d558c8739 (patch) | |
tree | 445375d28a4c0bd522115a1fdc40dc1190d6b7c6 /src/parser/parser_builder.cpp | |
parent | b2ff9864ed706911022d7468cde7ba55d07ab1fd (diff) |
Adding Parser::setInput and using it in InteractiveShell (Fixes: #225)
Removing ParserBuilder::withStateFrom
Diffstat (limited to 'src/parser/parser_builder.cpp')
-rw-r--r-- | src/parser/parser_builder.cpp | 65 |
1 files changed, 12 insertions, 53 deletions
diff --git a/src/parser/parser_builder.cpp b/src/parser/parser_builder.cpp index 7291da1db..2bf0aac31 100644 --- a/src/parser/parser_builder.cpp +++ b/src/parser/parser_builder.cpp @@ -29,67 +29,36 @@ namespace CVC4 { namespace parser { -/*class FileInputBuilder : public InputBuilder { - bool d_useMmap; -public: - FileInputBuilder(InputLanguage lang, const std::string& filename, bool useMmap) : - InputBuilder(lang,filename), - d_useMmap(useMmap) { - } - ParserBuilder& useMmap(); - - Input& build() { - return Input::newFileInput(d_lang,d_name,d_useMmap); - } -}; - -class StringInputBuilder : public InputBuilder { - std::string d_input; -public: - StringInputBuilder(InputLanguage lang, const std::string& input, const std::string& name) : - InputBuilder(lang,name), - d_input(input) { - } - - Input& build() { - return Input::newStringInput(lang,input,name); - } -};*/ - -ParserBuilder::ParserBuilder(ExprManager& exprManager, const std::string& filename)// : - // d_inputType(FILE_INPUT), - // d_lang(language::input::LANG_AUTO), - : d_filename(filename), - // d_streamInput(NULL), - d_exprManager(exprManager) - // d_checksEnabled(true), - // d_strictMode(false), - // d_mmap(false) -{ +ParserBuilder::ParserBuilder(ExprManager& exprManager, + const std::string& filename) : + d_filename(filename), + d_exprManager(exprManager) { init(exprManager,filename); } - ParserBuilder::ParserBuilder(ExprManager& exprManager, const std::string& filename, const Options& options) : +ParserBuilder::ParserBuilder(ExprManager& exprManager, + const std::string& filename, + const Options& options) : d_filename(filename), - d_exprManager(exprManager) -{ + d_exprManager(exprManager) { init(exprManager,filename); withOptions(options); } - void ParserBuilder::init(ExprManager& exprManager, const std::string& filename) { +void ParserBuilder::init(ExprManager& exprManager, + const std::string& filename) { d_inputType = FILE_INPUT; d_lang = language::input::LANG_AUTO; d_filename = filename; d_streamInput = NULL; d_exprManager = exprManager; - d_parserToUseForState = NULL; d_checksEnabled = true; d_strictMode = false; d_mmap = false; } -Parser *ParserBuilder::build() throw (InputStreamException,AssertionException) { +Parser *ParserBuilder::build() + throw (InputStreamException,AssertionException) { Input *input = NULL; switch( d_inputType ) { case FILE_INPUT: @@ -125,11 +94,6 @@ Parser *ParserBuilder::build() throw (InputStreamException,AssertionException) { parser->disableChecks(); } - if( d_parserToUseForState != NULL ) { - parser->d_declScope = d_parserToUseForState->d_declScope; - parser->d_logicOperators = d_parserToUseForState->d_logicOperators; - } - return parser; } @@ -172,11 +136,6 @@ ParserBuilder& ParserBuilder::withOptions(const Options& options) { .withStrictMode(options.strictParsing); } -ParserBuilder& ParserBuilder::withStateFrom(const Parser* parser) { - d_parserToUseForState = parser; - return *this; -} - ParserBuilder& ParserBuilder::withStrictMode(bool flag) { d_strictMode = flag; return *this; |