summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2011-10-04 00:59:29 +0000
committerMorgan Deters <mdeters@gmail.com>2011-10-04 00:59:29 +0000
commitd806d10b7050040b52566216314d9ed0645a56f8 (patch)
tree19d19f8f6bb6bcb41dde37a6cce254d7e061523a /src
parent422f91aadff0f9329535ffa0a4f5903905dd8289 (diff)
more fixes for libantlr3c v3.4
Diffstat (limited to 'src')
-rw-r--r--src/parser/antlr_input.cpp21
-rw-r--r--src/parser/memory_mapped_input_buffer.cpp4
2 files changed, 25 insertions, 0 deletions
diff --git a/src/parser/antlr_input.cpp b/src/parser/antlr_input.cpp
index c51d4b8c3..6ec1c5846 100644
--- a/src/parser/antlr_input.cpp
+++ b/src/parser/antlr_input.cpp
@@ -68,7 +68,12 @@ AntlrInputStream::newFileInputStream(const std::string& name,
if( useMmap ) {
input = MemoryMappedInputBufferNew(name);
} else {
+ // libantlr3c v3.2 isn't source-compatible with v3.4
+#if CVC4_ANTLR3_OLD_INPUT_STREAM
input = antlr3AsciiFileStreamNew((pANTLR3_UINT8) name.c_str());
+#else /* CVC4_ANTLR3_OLD_INPUT_STREAM */
+ input = antlr3FileStreamNew((pANTLR3_UINT8) name.c_str(), ANTLR3_ENC_8BIT);
+#endif /* CVC4_ANTLR3_OLD_INPUT_STREAM */
}
if( input == NULL ) {
throw InputStreamException("Couldn't open file: " + name);
@@ -112,10 +117,18 @@ AntlrInputStream::newStreamInputStream(std::istream& input,
}
/* Create an ANTLR input backed by the buffer. */
+#if CVC4_ANTLR3_OLD_INPUT_STREAM
pANTLR3_INPUT_STREAM inputStream =
antlr3NewAsciiStringInPlaceStream((pANTLR3_UINT8) basep,
cp - basep,
(pANTLR3_UINT8) strdup(name.c_str()));
+#else /* CVC4_ANTLR3_OLD_INPUT_STREAM */
+ pANTLR3_INPUT_STREAM inputStream =
+ antlr3StringStreamNew((pANTLR3_UINT8) basep,
+ ANTLR3_ENC_8BIT,
+ cp - basep,
+ (pANTLR3_UINT8) strdup(name.c_str()));
+#endif /* CVC4_ANTLR3_OLD_INPUT_STREAM */
if( inputStream==NULL ) {
throw InputStreamException("Couldn't initialize input: " + name);
}
@@ -130,10 +143,18 @@ AntlrInputStream::newStringInputStream(const std::string& input,
char* inputStr = strdup(input.c_str());
char* nameStr = strdup(name.c_str());
AlwaysAssert( inputStr!=NULL && nameStr!=NULL );
+#if CVC4_ANTLR3_OLD_INPUT_STREAM
pANTLR3_INPUT_STREAM inputStream =
antlr3NewAsciiStringInPlaceStream((pANTLR3_UINT8) inputStr,
input.size(),
(pANTLR3_UINT8) nameStr);
+#else /* CVC4_ANTLR3_OLD_INPUT_STREAM */
+ pANTLR3_INPUT_STREAM inputStream =
+ antlr3StringStreamNew((pANTLR3_UINT8) inputStr,
+ ANTLR3_ENC_8BIT,
+ input.size(),
+ (pANTLR3_UINT8) nameStr);
+#endif /* CVC4_ANTLR3_OLD_INPUT_STREAM */
if( inputStream==NULL ) {
throw InputStreamException("Couldn't initialize string input: '" + input + "'");
}
diff --git a/src/parser/memory_mapped_input_buffer.cpp b/src/parser/memory_mapped_input_buffer.cpp
index dad38c913..1c0f76e1e 100644
--- a/src/parser/memory_mapped_input_buffer.cpp
+++ b/src/parser/memory_mapped_input_buffer.cpp
@@ -61,7 +61,11 @@ pANTLR3_INPUT_STREAM MemoryMappedInputBufferNew(const std::string& filename) {
// Call the common 8 bit ASCII input stream handler
// Initializer type thingy doobry function.
//
+#if CVC4_ANTLR3_OLD_INPUT_STREAM
antlr3AsciiSetupStream(input, ANTLR3_CHARSTREAM);
+#else /* CVC4_ANTLR3_OLD_INPUT_STREAM */
+ antlr38BitSetupStream(input);
+#endif /* CVC4_ANTLR3_OLD_INPUT_STREAM */
// Now we can set up the file name
//
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback