-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Description
Running the following parser results in some random results. The result occasionally contains "search" and/or "for", assumedly because of the PKAny Repetition immediately before and after the PKAlternation. Is there any way to resolve this or am I stuck with it?
NSString *string = @"google search for ducky ducky super ducky duck";
PKSequence *parser = [PKSequence sequence];
PKRepetition *repetitionTest = [PKRepetition repetitionWithSubparser:[[PKAny any] discard]];
[parser add:repetitionTest];
PKAlternation *optionalSearch = [PKAlternation alternation];
[optionalSearch add:[[PKEmpty empty] discard]];
[optionalSearch add:[[PKLiteral literalWithString:@"search"] discard]];
[parser add:optionalSearch];
[parser add:[[PKLiteral literalWithString:@"google"] discard]];
[parser add:optionalSearch];
PKAlternation *optionalFor = [PKAlternation alternation];
[optionalFor add:[[PKEmpty empty] discard]];
[optionalFor add:[[PKLiteral literalWithString:@"for"] discard]];
[parser add:optionalFor];
PKRepetition *searchTerm = [PKRepetition repetitionWithSubparser:[PKAny any]];
[parser add:searchTerm];
PKAssembly *result = [parser bestMatchFor:[PKTokenAssembly assemblyWithString:string]]Metadata
Metadata
Assignees
Labels
No labels