是否可以让 Ragel 在 NSMutableString 上工作?
我想使用 Ragel 生成 DFA 来标记 NSMutableString。这个“可变”部分意味着我不能cStringUsingEncoding:
在单个字符发生变化时使用。据我所知,有两个问题:
即使在Objective C中,Ragel附带的示例似乎也用于
char *
获取字符。但我不知道如何获取指向不断变化的NSMutableString的指针。是否有可能迫使 RagelcharacterAtIndex:
改用它?那会不会很慢?如果我理解正确,NSString 可能会在运行时更改其内部表示,即它并不总是 UTF-16。例如,当它仅包含 ASCII 时,它使用单字节编码。但是一旦出现超出有效范围的字符,它就会切换到多字节编码。是否有可能在 Ragel 中解释这一点?