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