0

Ragel を NSMutableString で動作させることは可能ですか?

Ragel を使用して DFA を生成し、NSMutableString をトークン化したいと考えています。cStringUsingEncoding:その「可変」部分は、 1文字が変わるたびに使用できないことを意味します。私が見る限り、次の 2 つの問題があります。

  1. Ragel に含まれている例はchar *、Objective C でも文字を取得するために使用されているようですが、常に変化する NSMutableString へのポインターを取得する方法がわかりません。characterAtIndex:代わりにRagel に強制的に使用させることは可能でしょうか? それは遅くないでしょうか?

  2. 私の理解が正しければ、NSString は実行時に内部表現を変更する可能性があります。つまり、常に UTF-16 であるとは限りません。たとえば、ASCII のみが含まれている場合は、1 バイトのエンコードが使用されます。ただし、有効な範囲外の文字が現れるとすぐに、マルチバイト エンコーディングに切り替わります。Ragelでそれを説明することは何とか可能ですか?

4

1 に答える 1