summaryrefslogtreecommitdiff
path: root/src/parser/smt/smt_input.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/smt/smt_input.h')
-rw-r--r--src/parser/smt/smt_input.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/parser/smt/smt_input.h b/src/parser/smt/smt_input.h
new file mode 100644
index 000000000..b3613d67b
--- /dev/null
+++ b/src/parser/smt/smt_input.h
@@ -0,0 +1,47 @@
+/*
+ * smt_parser.h
+ *
+ * Created on: Mar 5, 2010
+ * Author: chris
+ */
+
+#ifndef SMT_PARSER_H_
+#define SMT_PARSER_H_
+
+#include "parser/antlr_input.h"
+#include "parser/smt/generated/SmtLexer.h"
+#include "parser/smt/generated/SmtParser.h"
+
+// extern void SmtParserSetAntlrParser(CVC4::parser::AntlrParser* newAntlrParser);
+
+namespace CVC4 {
+
+class Command;
+class Expr;
+class ExprManager;
+
+namespace parser {
+
+class SmtInput : public AntlrInput {
+public:
+ SmtInput(ExprManager* exprManager, const std::string& filename, bool useMmap);
+ SmtInput(ExprManager* exprManager, const std::string& input, const std::string& name);
+ ~SmtInput();
+
+protected:
+ Command* doParseCommand() throw(ParserException);
+ Expr doParseExpr() throw(ParserException);
+ pANTLR3_LEXER getLexer();
+ pANTLR3_LEXER createLexer(pANTLR3_INPUT_STREAM input);
+ pANTLR3_PARSER createParser(pANTLR3_COMMON_TOKEN_STREAM tokenStream);
+
+private:
+ void init();
+ pSmtLexer d_pSmtLexer;
+ pSmtParser d_pSmtParser;
+}; // class SmtInput
+} // namespace parser
+
+} // namespace CVC4
+
+#endif /* SMT_PARSER_H_ */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback