如何匹配ParseKit中从文字到行尾的所有内容?

时间:2011-08-18 23:00:45

标签: objective-c parsing tokenize parsekit

我正在尝试使用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^

1 个答案:

答案 0 :(得分:1)

ParseKit的开发人员。我想如果你改为实现

- (void)didMatchSentence:(PKAssembly *)a
{
  NSLog(@"%@", a);
}

方法,您将收到一个包含所需结果的程序集。