【发布时间】:2015-12-27 09:21:08
【问题描述】:
我正在为我的项目的一个小型脚本系统创建一个非常简单的解析器,并且我正在使用NSScanner 读取令牌。我需要知道每个标记的行号,所以如果出现语法错误,我可以显示行号。这是我当前的实现(在基本级别):
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)
}
我怎样才能让这个实现能够感知行并自己重新实现整个扫描器?
【问题讨论】:
标签: objective-c parsing nsscanner