diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-03-01 14:48:04 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-03-01 14:48:04 +0000 |
commit | 45a138c326da72890bf889a3670aad503ef4aa1e (patch) | |
tree | fa0c9a8497d0b33f78a9f19212152a61392825cc /src/parser/parser_builder.cpp | |
parent | 8c0b2d6db32103268f84d89c0d0545c7eb504069 (diff) |
Partial merge from kind-backend branch, including Minisat and CNF work to
support incrementality.
Some clean-up work will likely follow, but the CNF/Minisat stuff should be
left pretty much untouched.
Expected performance change negligible; slightly better on memory:
http://church.cims.nyu.edu/regress-results/compare_jobs.php?job_id=3705&reference_id=3697&mode=&category=&p=5
Note that there are crashes, but that these are exhibited in the nightly
regression run too!
Diffstat (limited to 'src/parser/parser_builder.cpp')
-rw-r--r-- | src/parser/parser_builder.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/parser/parser_builder.cpp b/src/parser/parser_builder.cpp index c17956e62..dff5b93ac 100644 --- a/src/parser/parser_builder.cpp +++ b/src/parser/parser_builder.cpp @@ -66,6 +66,11 @@ Parser* ParserBuilder::build() case FILE_INPUT: input = Input::newFileInput(d_lang, d_filename, d_mmap); break; + case LINE_BUFFERED_STREAM_INPUT: + AlwaysAssert( d_streamInput != NULL, + "Uninitialized stream input in ParserBuilder::build()" ); + input = Input::newStreamInput(d_lang, *d_streamInput, d_filename, true); + break; case STREAM_INPUT: AlwaysAssert( d_streamInput != NULL, "Uninitialized stream input in ParserBuilder::build()" ); @@ -155,6 +160,12 @@ ParserBuilder& ParserBuilder::withStreamInput(std::istream& input) { return *this; } +ParserBuilder& ParserBuilder::withLineBufferedStreamInput(std::istream& input) { + d_inputType = LINE_BUFFERED_STREAM_INPUT; + d_streamInput = &input; + return *this; +} + ParserBuilder& ParserBuilder::withStringInput(const std::string& input) { d_inputType = STRING_INPUT; d_stringInput = input; |