我正在尝试使用ParseKit在Objective-C中开发一个UCI解析器,但我需要一种方法来匹配从文字到行尾的所有内容(可能减去尾随空格)。
例如,我要解析的行是:
@" id name Protector 1.4.0 Linux \n"
我的语法如下:
@start = sentence+;
sentence = 'id' 'name' name;
name = Any+;
和
- (void)didMatchName:(PKAssembly *)a
{
NSLog(@"%@", a);
}
显然是打印:
[id, name, Protector, 1.4, .0]id/name/Protector/1.4/.0^Linux
[id, name, Protector]id/name/Protector^1.4/.0/Linux
[id, name, Protector, 1.4, .0, Linux]id/name/Protector/1.4/.0/Linux^
[id, name, Protector, 1.4]id/name/Protector/1.4^.0/Linux
如何构建以这种方式标记该字符串的语法?
[id, name, Protector 1.4.0 Linux]id/name/Protector 1.4.0 Linux^
答案 0 :(得分:1)
ParseKit的开发人员。我想如果你改为实现
- (void)didMatchSentence:(PKAssembly *)a
{
NSLog(@"%@", a);
}
方法,您将收到一个包含所需结果的程序集。