1//
2//  ANTLRCharStreamState.h
3//  ANTLR
4//
5// [The "BSD licence"]
6// Copyright (c)  2010 Alan Condit
7// All rights reserved.
8//
9// Redistribution and use in source and binary forms, with or without
10// modification, are permitted provided that the following conditions
11// are met:
12// 1. Redistributions of source code must retain the above copyright
13//    notice, this list of conditions and the following disclaimer.
14// 2. Redistributions in binary form must reproduce the above copyright
15//    notice, this list of conditions and the following disclaimer in the
16//    documentation and/or other materials provided with the distribution.
17// 3. The name of the author may not be used to endorse or promote products
18//    derived from this software without specific prior written permission.
19//
20// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31#import <Cocoa/Cocoa.h>
32
33
34@interface ANTLRCharStreamState : NSObject
35{
36NSInteger p;
37NSInteger line;
38NSInteger charPositionInLine;
39}
40
41@property (getter=getP,setter=setP:) NSInteger p;
42@property (getter=getLine,setter=setLine:) NSInteger line;
43@property (getter=getCharPositionInLine,setter=setCharPositionInLine:) NSInteger charPositionInLine;
44
45+ newANTLRCharStreamState;
46
47- (id) init;
48
49- (NSInteger) getP;
50- (void) setP: (NSInteger) anIndex;
51
52- (NSInteger) getLine;
53- (void) setLine: (NSInteger) aLine;
54
55- (NSInteger) getCharPositionInLine;
56- (void) setCharPositionInLine:(NSInteger)aCharPositionInLine;
57
58@end
59