aboutsummaryrefslogtreecommitdiff
path: root/antlr-3.4/runtime/ObjC/Framework/ANTLRFileStream.h
diff options
context:
space:
mode:
Diffstat (limited to 'antlr-3.4/runtime/ObjC/Framework/ANTLRFileStream.h')
-rw-r--r--antlr-3.4/runtime/ObjC/Framework/ANTLRFileStream.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/antlr-3.4/runtime/ObjC/Framework/ANTLRFileStream.h b/antlr-3.4/runtime/ObjC/Framework/ANTLRFileStream.h
new file mode 100644
index 0000000..6c9a881
--- /dev/null
+++ b/antlr-3.4/runtime/ObjC/Framework/ANTLRFileStream.h
@@ -0,0 +1,50 @@
+/*
+ [The "BSD license"]
+ Copyright (c) 2005-2009 Terence Parr
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#import "ANTLRStringStream.h"
+
+/** This is a char buffer stream that is loaded from a file
+ * all at once when you construct the object. This looks very
+ * much like an ANTLReader or ANTLRInputStream, but it's a special case
+ * since we know the exact size of the object to load. We can avoid lots
+ * of data copying.
+ */
+@interface ANTLRFileStream : ANTLRStringStream {
+ __strong NSString *fileName;
+}
+
+
++ (id) newANTLRFileStream:(NSString*) fileName;
++ (id) newANTLRFileStream:(NSString *)aFileName encoding:(NSStringEncoding)encoding;
+- (id) init:(NSString *) aFileName;
+- (id) init:(NSString *) aFileName encoding:(NSStringEncoding)encoding;
+- (void) load:(NSString *)fileName encoding:(NSStringEncoding)encoding;
+- (NSString *) getSourceName;
+
+@property (retain) NSString *fileName;
+
+@end