I am creating a very simple parser for a small scripting system of my project, and I'm reading tokens using NSScanner
. I need to be aware of line number of each token, so in case of a syntax error, I can display the line number. Here is my current implementation (at the basic level):
int line = 1;
NSScanner *scanner = [NSScanner scannerWithString:script];
NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
while (![scanner isAtEnd]) {
NSString *readString;
[scanner scanUpToCharactersFromSet:whitespace intoString:&readString];
... (process the token)
}
How can I make this implementation line-aware reimplementing the whole scanner by myself?