1

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

1 回答 1

1

ParseKit 的开发者在这里。我想如果你改为实施

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

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

于 2011-08-21T19:34:03.513 回答