1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// ANTLRPtrStack.h 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// ANTLR 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Created by Alan Condit on 6/9/10. 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Copyright 2010 Alan's MachineWorks. All rights reserved. 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//ptrBuffer 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import <Cocoa/Cocoa.h> 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "ANTLRBaseStack.h" 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "ANTLRRuleMemo.h" 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//#define GLOBAL_SCOPE 0 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//#define LOCAL_SCOPE 1 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define HASHSIZE 101 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define HBUFSIZE 0x2000 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@interface ANTLRPtrStack : ANTLRBaseStack { 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver //ANTLRPtrStack *fNext; 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // TStringPool *fPool; 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//@property (copy) ANTLRPtrStack *fNext; 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//@property (copy) TStringPool *fPool; 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Contruction/Destruction 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (ANTLRPtrStack *)newANTLRPtrStack; 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (ANTLRPtrStack *)newANTLRPtrStack:(NSInteger)cnt; 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id)init; 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id)initWithLen:(NSInteger)aLen; 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void)dealloc; 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Instance Methods 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) copyWithZone:(NSZone *)aZone; 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* clear -- reinitialize the maplist array */ 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef DONTUSENOMO 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* form hash value for string s */ 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSInteger)hash:(NSString *)s; 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* look for s in ptrBuffer */ 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id)lookup:(NSString *)s; 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* look for s in ptrBuffer */ 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id)install:(id)sym; 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef DONTUSENOMO 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id)getTType:(NSString *)name; 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id)getName:(NSInteger)ttype; 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end 52