summaryrefslogtreecommitdiff
path: root/src/parser/parser_builder.cpp
diff options
context:
space:
mode:
authorChristopher L. Conway <christopherleeconway@gmail.com>2010-10-23 14:49:06 +0000
committerChristopher L. Conway <christopherleeconway@gmail.com>2010-10-23 14:49:06 +0000
commit0a3ecb598dac9e5e7416f88403dbf73d558c8739 (patch)
tree445375d28a4c0bd522115a1fdc40dc1190d6b7c6 /src/parser/parser_builder.cpp
parentb2ff9864ed706911022d7468cde7ba55d07ab1fd (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.cpp65
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;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback