summaryrefslogtreecommitdiff
path: root/src/parser/parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/parser.cpp')
-rw-r--r--src/parser/parser.cpp147
1 files changed, 0 insertions, 147 deletions
diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp
deleted file mode 100644
index a129d97ee..000000000
--- a/src/parser/parser.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/********************* */
-/** parser.cpp
- ** Original author: mdeters
- ** Major contributors: dejan
- ** Minor contributors (to current version): cconway
- ** 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.
- **
- ** Parser implementation.
- **/
-
-#include <iostream>
-#include <fstream>
-#include <antlr/CharScanner.hpp>
-#include <antlr/CharBuffer.hpp>
-
-#include "parser/parser.h"
-#include "parser/memory_mapped_input_buffer.h"
-#include "expr/command.h"
-#include "util/output.h"
-#include "util/Assert.h"
-#include "parser/parser_exception.h"
-#include "parser/antlr_parser.h"
-#include "parser/smt/generated/AntlrSmtParser.hpp"
-#include "parser/smt/generated/AntlrSmtLexer.hpp"
-#include "parser/cvc/generated/AntlrCvcParser.hpp"
-#include "parser/cvc/generated/AntlrCvcLexer.hpp"
-
-using namespace std;
-using namespace antlr;
-
-namespace CVC4 {
-namespace parser {
-
-void Parser::setDone(bool done) {
- d_done = done;
-}
-
-bool Parser::done() const {
- return d_done;
-}
-
-Command* Parser::parseNextCommand() throw (ParserException, AssertionException) {
- Debug("parser") << "parseNextCommand()" << std::endl;
- Command* cmd = NULL;
- if(!done()) {
- try {
- cmd = d_antlrParser->parseCommand();
- if(cmd == NULL) {
- setDone();
- }
- } catch(antlr::ANTLRException& e) {
- setDone();
- throw ParserException(e.toString());
- }
- }
- Debug("parser") << "parseNextCommand() => " << cmd << std::endl;
- return cmd;
-}
-
-Expr Parser::parseNextExpression() throw (ParserException, AssertionException) {
- Debug("parser") << "parseNextExpression()" << std::endl;
- Expr result;
- if(!done()) {
- try {
- result = d_antlrParser->parseExpr();
- if(result.isNull())
- setDone();
- } catch(antlr::ANTLRException& e) {
- setDone();
- throw ParserException(e.toString());
- }
- }
- Debug("parser") << "parseNextExpression() => " << result << std::endl;
- return result;
-}
-
-Parser::~Parser() {
- delete d_antlrParser;
- delete d_antlrLexer;
- delete d_inputBuffer;
-}
-
-Parser::Parser(InputBuffer* inputBuffer, AntlrParser* antlrParser,
- CharScanner* antlrLexer) :
- d_done(false),
- d_antlrParser(antlrParser),
- d_antlrLexer(antlrLexer),
- d_inputBuffer(inputBuffer) {
-}
-
-Parser* Parser::getNewParser(ExprManager* em, InputLanguage lang,
- InputBuffer* inputBuffer, string filename) {
-
- AntlrParser* antlrParser = 0;
- antlr::CharScanner* antlrLexer = 0;
-
- switch(lang) {
- case LANG_CVC4: {
- antlrLexer = new AntlrCvcLexer(*inputBuffer);
- antlrParser = new AntlrCvcParser(*antlrLexer);
- break;
- }
- case LANG_SMTLIB: {
-// MemoryMappedInputBuffer inputBuffer(filename);
-// antlrLexer = new AntlrSmtLexer(inputBuffer);
- antlrLexer = new AntlrSmtLexer(*inputBuffer);
- antlrParser = new AntlrSmtParser(*antlrLexer);
- break;
- }
- default:
- Unhandled("Unknown Input language!");
- }
-
- antlrLexer->setFilename(filename);
- antlrParser->setFilename(filename);
- antlrParser->setExpressionManager(em);
-
- return new Parser(inputBuffer, antlrParser, antlrLexer);
-}
-
-Parser* Parser::getMemoryMappedParser(ExprManager* em, InputLanguage lang, string filename) {
- MemoryMappedInputBuffer* inputBuffer = new MemoryMappedInputBuffer(filename);
- return getNewParser(em, lang, inputBuffer, filename);
-}
-
-Parser* Parser::getNewParser(ExprManager* em, InputLanguage lang,
- istream& input, string filename) {
- antlr::CharBuffer* inputBuffer = new CharBuffer(input);
- return getNewParser(em, lang, inputBuffer, filename);
-}
-
-void Parser::disableChecks() {
- d_antlrParser->disableChecks();
-}
-
-void Parser::enableChecks() {
- d_antlrParser->enableChecks();
-}
-
-
-}/* CVC4::parser namespace */
-}/* CVC4 namespace */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback