aboutsummaryrefslogtreecommitdiff
path: root/antlr-3.4/runtime/ObjC/ANTLR.framework/Versions/A/Headers/ANTLRBufferedTreeNodeStream.h
diff options
context:
space:
mode:
Diffstat (limited to 'antlr-3.4/runtime/ObjC/ANTLR.framework/Versions/A/Headers/ANTLRBufferedTreeNodeStream.h')
-rw-r--r--antlr-3.4/runtime/ObjC/ANTLR.framework/Versions/A/Headers/ANTLRBufferedTreeNodeStream.h156
1 files changed, 156 insertions, 0 deletions
diff --git a/antlr-3.4/runtime/ObjC/ANTLR.framework/Versions/A/Headers/ANTLRBufferedTreeNodeStream.h b/antlr-3.4/runtime/ObjC/ANTLR.framework/Versions/A/Headers/ANTLRBufferedTreeNodeStream.h
new file mode 100644
index 0000000..8618ea2
--- /dev/null
+++ b/antlr-3.4/runtime/ObjC/ANTLR.framework/Versions/A/Headers/ANTLRBufferedTreeNodeStream.h
@@ -0,0 +1,156 @@
+//
+// ANTLRBufferedTreeNodeStream.h
+// ANTLR
+//
+// [The "BSD licence"]
+// Copyright (c) 2010 Ian Michell 2010 Alan Condit
+// 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 <Cocoa/Cocoa.h>
+#import "ANTLRTree.h"
+#import "ANTLRCommonTreeAdaptor.h"
+#import "ANTLRTokenStream.h"
+#import "ANTLRCommonTreeNodeStream.h"
+#import "ANTLRLookaheadStream.h"
+#import "ANTLRTreeIterator.h"
+#import "ANTLRIntArray.h"
+
+#define DEFAULT_INITIAL_BUFFER_SIZE 100
+#define INITIAL_CALL_STACK_SIZE 10
+
+#ifdef DONTUSENOMO
+@interface ANTLRStreamIterator : ANTLRTreeIterator
+{
+ NSInteger idx;
+ ANTLRBufferedTreeNodeStream input;
+ NSMutableArray *nodes;
+}
+
++ (id) newANTLRStreamIterator:(ANTLRBufferedTreeNodeStream *) theStream;
+
+- (id) initWithStream:(ANTLRBufferedTreeNodeStream *) theStream;
+
+- (BOOL) hasNext;
+- (id) next;
+- (void) remove;
+@end
+#endif
+
+@interface ANTLRBufferedTreeNodeStream : NSObject <ANTLRTreeNodeStream>
+{
+ id<ANTLRTree> up;
+ id<ANTLRTree> down;
+ id<ANTLRTree> eof;
+
+ NSMutableArray *nodes;
+
+ id<ANTLRTree> root; // root
+
+ id<ANTLRTokenStream> tokens;
+ ANTLRCommonTreeAdaptor *adaptor;
+
+ BOOL uniqueNavigationNodes;
+ NSInteger p;
+ NSInteger lastMarker;
+ ANTLRIntArray *calls;
+
+ NSEnumerator *e;
+ id currentSymbol;
+
+}
+
+@property (retain, getter=getUp, setter=setUp:) id<ANTLRTree> up;
+@property (retain, getter=getDown, setter=setDown:) id<ANTLRTree> down;
+@property (retain, getter=getEof, setter=setEof:) id<ANTLRTree> eof;
+@property (retain, getter=getNodes, setter=setNodes:) NSMutableArray *nodes;
+@property (retain, getter=getTreeSource, setter=setTreeSource:) id<ANTLRTree> root;
+@property (retain, getter=getTokenStream, setter=setTokenStream:) id<ANTLRTokenStream> tokens;
+@property (retain, getter=getAdaptor, setter=setAdaptor:) ANTLRCommonTreeAdaptor *adaptor;
+@property (assign, getter=getUniqueNavigationNodes, setter=setUniqueNavigationNodes:) BOOL uniqueNavigationNodes;
+@property (assign, getter=getIndex, setter=setIndex:) NSInteger p;
+@property (assign, getter=getLastMarker, setter=setLastMarker:) NSInteger lastMarker;
+@property (retain, getter=getCalls, setter=setCalls:) ANTLRIntArray *calls;
+@property (retain, getter=getEnum, setter=setEnum:) NSEnumerator *e;
+@property (retain, getter=getCurrentSymbol, setter=setCurrentSymbol:) id currentSymbol;
+
++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id<ANTLRTree>)tree;
++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id<ANTLRTreeAdaptor>)adaptor Tree:(id<ANTLRTree>)tree;
++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id<ANTLRTreeAdaptor>)adaptor Tree:(id<ANTLRTree>)tree withBufferSize:(NSInteger)initialBufferSize;
+
+#pragma mark Constructor
+- (id) initWithTree:(id<ANTLRTree>)tree;
+- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id<ANTLRTree>)tree;
+- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id<ANTLRTree>)tree WithBufferSize:(NSInteger)bufferSize;
+
+- (id) copyWithZone:(NSZone *)aZone;
+
+// protected methods. DO NOT USE
+#pragma mark Protected Methods
+- (void) fillBuffer;
+- (void) fillBufferWithTree:(id<ANTLRTree>) tree;
+- (NSInteger) getNodeIndex:(id<ANTLRTree>) node;
+- (void) addNavigationNode:(NSInteger) type;
+- (id) getNode:(NSInteger) i;
+- (id) LT:(NSInteger) k;
+- (id) getCurrentSymbol;
+- (id) LB:(NSInteger) i;
+#pragma mark General Methods
+- (NSString *) getSourceName;
+
+- (id<ANTLRTokenStream>) getTokenStream;
+- (void) setTokenStream:(id<ANTLRTokenStream>) tokens;
+- (id<ANTLRTreeAdaptor>) getTreeAdaptor;
+- (void) setTreeAdaptor:(id<ANTLRTreeAdaptor>) anAdaptor;
+
+- (BOOL)getUniqueNavigationNodes;
+- (void) setUniqueNavigationNodes:(BOOL)aVal;
+
+- (void) consume;
+- (NSInteger) LA:(NSInteger) i;
+- (NSInteger) mark;
+- (void) release:(NSInteger) marker;
+- (NSInteger) getIndex;
+- (void) setIndex:(NSInteger) idx;
+- (void) rewind:(NSInteger) marker;
+- (void) rewind;
+- (void) seek:(NSInteger) idx;
+
+- (void) push:(NSInteger) i;
+- (NSInteger) pop;
+
+- (void) reset;
+- (NSUInteger) count;
+- (NSEnumerator *) objectEnumerator;
+- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t;
+
+- (NSString *) toTokenTypeString;
+- (NSString *) toTokenString:(NSInteger)aStart ToEnd:(NSInteger)aStop;
+- (NSString *) toStringFromNode:(id)aStart ToNode:(id)aStop;
+
+// getters and setters
+- (NSMutableArray *) getNodes;
+- (id<ANTLRTree>) getEof;
+
+@end