2013年9月19日木曜日

Lex for Delphi(5)

忙しいなかやる気を持続させるために、まめにBlogに書き込んでします。いま一度、字句解析のコードを修正前後で比較します。文字の集合型で表している部分を、文字列に直します。元のプログラムはASCIIで#0...#255の範囲を想定しています。Unicode対応するときに、集合型から文字列に置き換えるだけでよいのか、検証していきます。


109行目の部分は、NOT(数字、英字、空白、改行(CR))の文字を表しています。状態(STATE)0から3に遷移する文字セットを表していますが、255以上あるUnicodeの文字を表すためにはどうしたら良いのか?これNUL文字の判定が無いけど良いのか?

正規表現で「以下の文字を含まない」とか「改行以外の文字」を表すときに、Unicodeだとうまく集合型に収まらないのでなんらか工夫が必要だと認識しました。

0 件のコメント :

コメントを投稿