boucher / tdparsekit

A non-deterministic recursive descent parser written in Objective-J (ported from Obj-C, created by Tod Ditchendorf)

This URL has Read+Write access

tdparsekit / TDSequence.j
100644 27 lines (19 sloc) 0.467 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@import "TDCollectionParser.j"
 
@implementation TDSequence : TDCollectionParser
{
}
 
+ (id)sequence
{
    return [[self alloc] init];
}
 
- (CPSet)allMatchesFor:(CPSet)inAssemblies
{
    var outAssemblies = inAssemblies;
 
    for (var i=0, count = [subparsers count]; i<count; i++) {
        outAssemblies = [subparsers[i] matchAndAssemble:outAssemblies];
        
        if (![outAssemblies count])
            break;
    }
    
    return outAssemblies;
}
 
@end