Change tokenzing to concatenate all adjacent character tokens into one
This commit is contained in:
@@ -15,4 +15,6 @@
|
||||
|
||||
- (instancetype)initWithString:(NSString *)string;
|
||||
|
||||
- (void)appendString:(NSString *)string;
|
||||
|
||||
@end
|
||||
@@ -10,8 +10,7 @@
|
||||
|
||||
@interface HTMLCharacterToken ()
|
||||
{
|
||||
#warning Find a better solution. Single characters vs String of multiple characters
|
||||
NSString *_characters;
|
||||
NSMutableString *_characters;
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -21,11 +20,16 @@
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
_characters = [string copy];
|
||||
_characters = [[NSMutableString alloc] initWithString:string];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)appendString:(NSString *)string
|
||||
{
|
||||
[_characters appendString:string];
|
||||
}
|
||||
|
||||
#pragma mark - NSObject
|
||||
|
||||
- (BOOL)isEqual:(id)other
|
||||
|
||||
@@ -167,8 +167,12 @@
|
||||
|
||||
- (void)emitCharacterTokenWithString:(NSString *)string
|
||||
{
|
||||
HTMLToken *token = [[HTMLCharacterToken alloc] initWithString:string];
|
||||
[self emitToken:token];
|
||||
HTMLToken *previousToken = [_tokens lastObject];
|
||||
if ([previousToken isCharacterToken]) {
|
||||
[(HTMLCharacterToken *)previousToken appendString:string];
|
||||
} else {
|
||||
[self emitToken:[[HTMLCharacterToken alloc] initWithString:string]];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)emitParseError:(NSString *)format, ... NS_FORMAT_FUNCTION(1, 2)
|
||||
|
||||
Reference in New Issue
Block a user