ANTLRRuleMapElement.h revision 324c4644fee44b9898524c09511bd33c3f12e2df
170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//
270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//  ANTLRRuleMapElement.h
370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//  ANTLR
470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//
570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//  Created by Alan Condit on 6/16/10.
670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// [The "BSD licence"]
770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// Copyright (c) 2010 Alan Condit
870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// All rights reserved.
970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//
1070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// Redistribution and use in source and binary forms, with or without
1170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// modification, are permitted provided that the following conditions
1270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// are met:
1370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// 1. Redistributions of source code must retain the above copyright
1470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//    notice, this list of conditions and the following disclaimer.
1570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// 2. Redistributions in binary form must reproduce the above copyright
1670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//    notice, this list of conditions and the following disclaimer in the
1770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//    documentation and/or other materials provided with the distribution.
1870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// 3. The name of the author may not be used to endorse or promote products
1970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//    derived from this software without specific prior written permission.
2070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine//
2170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
2270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
2370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
2470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
2570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
3270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#import <Cocoa/Cocoa.h>
3370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#import "ANTLRBaseMapElement.h"
3470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
3570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine@interface ANTLRRuleMapElement : ANTLRBaseMapElement {
3670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine    NSNumber *ruleNum;
3770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine}
3870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
3970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine@property (retain, getter=getRuleNum, setter=setRuleNum:) NSNumber *ruleNum;
4070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
4170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine+ (ANTLRRuleMapElement *) newANTLRRuleMapElement;
4270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine+ (ANTLRRuleMapElement *) newANTLRRuleMapElementWithIndex:(NSNumber *)anIdx;
4370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine+ (ANTLRRuleMapElement *) newANTLRRuleMapElementWithIndex:(NSNumber *)anIdx RuleNum:(NSNumber *)aRuleNum;
4470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine- (id) init;
4570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine- (id) initWithAnIndex:(NSNumber *)anIdx;
4670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine- (id) initWithAnIndex:(NSNumber *)anIdx RuleNum:(NSNumber *)aRuleNum;
4770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
4870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine- (id) copyWithZone:(NSZone *)aZone;
4970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
5070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine- (NSNumber *)getRuleNum;
5170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine- (void)setRuleNum:(NSNumber *)aRuleNum;
5270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
5370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine- (NSInteger)size;
5470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine
5570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine@end
5670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine