From: Yoshida Masato Date: 1999-06-24T22:58:08+09:00 Subject: [ruby-dev:7214] multibyte identifier よしだです 多バイト文字を含む識別子に関する以下の問題点に対するパッチです。 ・識別子の名前が化ける print :識別子.id2name, "\n" ・文字列中のインスタンス変数の参照に失敗する @変数 = 123 print "#@変数\n" ・文字列中のグローバル変数の参照がパースエラーになる $変数 = 456 print "#$変数\n" --- parse.y.org Thu Jun 24 13:23:57 1999 +++ parse.y Thu Jun 24 19:11:29 1999 @@ -3165,7 +3165,6 @@ if (ismbchar(c)) { int i, len = mbclen(c)-1; - tokadd(c); for (i = 0; i < len; i++) { c = nextc(); tokadd(c); @@ -3326,7 +3325,21 @@ return list; } } - /* through */ + + while (is_identchar(c)) { + tokadd(c); + if (ismbchar(c)) { + int i, len = mbclen(c)-1; + + for (i = 0; i < len; i++) { + c = nextc(); + tokadd(c); + } + } + c = nextc(); + } + pushback(c); + break; case '@': tokadd(c); @@ -3336,7 +3349,6 @@ if (ismbchar(c)) { int i, len = mbclen(c)-1; - tokadd(c); for (i = 0; i < len; i++) { c = nextc(); tokadd(c); -- 吉田正人 INS エンジニアリング(株) 事業開拓室 yoshidam@inse.co.jp yoshidam@yoshidam.net