Я пытаюсь разработать синтаксический анализатор UCI в Objective-C, используя ParseKit, но мне нужен способ сопоставить все, начиная от литерала и заканчивая концом строки (возможно, за вычетом пробела).
Например, строка, которую я хочу проанализировать:
@" 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^