2007-01-01から1年間の記事一覧

Joni

JoniのApplyCaseFold.javaを眺めてみると、5.9.1で追加した CASE_FOLD_IS_APPLIED_INSIDE_NEGATIVE_CCLASSがもう入っている。これは、/(?i:[^a-g])/と書いたときに ignore caseが否定より外側にあるのに先に適用される現状の仕様に疑問を持ったので、冗談半…

named captures assigning to local variables

名前の先頭文字が小文字でなければエラーにしているが、その名前を無視するだけで良いと思う。 チェックの仕方も変だ。ローカル変数に合わせるのであれば、先頭文字が大文字かどうかで判定するべき。(アンダースコアとマルチバイト文字は許可)

rb_enc_mbclen()

鬼車のmbc_enc_len()が文字列の終了位置を引数にもっていない理由は09/01の日記で説明しました。 そしてこの話は、ruby-dev:31651で、Ruby 1.9のrb_enc_mbclen()のインターフェースに、文字列の終了位置が引数にないという指摘が発端です。松本氏は、ruby-de…

mbc_enc_len() (5)

ソースコードは読んだつもりですが、 チェックする関数を作る方法は分かりませんでした。方法は、xxx_mbc_enc_len()に文字列の終了位置を引数に追加した形の関数を新しく作ります。その中で参照するバイトの位置が文字列の範囲に収まっているか、文字の終了…

mbc_enc_len() (4)

鬼車が扱うことのできるエンコーディングについて 知っているのは結局は鬼車だけなので、少なくとも 鬼車の提供する関数を使って「不完全なバイトを含まない」 ことをチェックできないと安心して使えません。ソースを見ればわかります。チェックする関数を作…

結合文字

将来にわたって鬼車がUnicode結合文字を1文字として 扱うことができない(するつもりがない)というのは、 いちユーザとして悲しい宣言です。そのような宣言をした記憶はまったくありませんが? 反対に、サポートすると宣言した覚えもありません。 Unicode結合…

mbc_enc_len() (3)

akr> そうすると、Unicode の結合文字をひとつの文字として 扱うのは難しそうですねぇ。必要なら、鬼車に手を入れてもらうしかありません。 終了位置もチェックする関数をOnigEncodingTypeに追加して、アプリケーションからはmbc_enc_len()の代わりに、そち…

mbc_enc_len() (2)

「別の話」と言われればそうですが、鬼車に渡される文字列は、一文字を完成していない不完全なバイト列は含まないことを条件にしているので、バイト列の終了位置をチェックしなくてよいという意味では共通の話です。 不完全なバイト列を渡した場合の動作は保…

mbc_enc_len()

mbc_enc_len(UChar* p)が、文字列の終了位置を引数で渡していないので、文字のバイト列が途中で切れているときに問題を起こすのではないか、という件について説明しておきます。 終了位置をチェックしていないのは意図的です。かなり前にruby-devで、utf-8の…

硫黄島

硫黄島 (角川文庫)作者: 菊村到,生頼範義出版社/メーカー: 角川書店発売日: 2005/09/22メディア: 文庫 クリック: 1回この商品を含むブログ (6件) を見る表題作の「硫黄島」は酷い。他の五作品はどれも悪くなかった。その「硫黄島」が1957年の芥川賞。五十年…

PCRE 7.3

7.3がリリースされていた。 主な変更点は、 Perl 5.10で追加される(*PRUNE)等の対応 UTF-8の文字コードの範囲チェックを厳格化 (U+0000〜U+10FFFF) 範囲チェックは必要か? 自由にパターンを書けるほうが便利なこともあるのではないか。

Perl 5.9.5との機能比較(5)

正規表現パターンの再帰呼び出しについて、再帰が停止しないパターンのチェックは、どうなっているのかを調べた。相互呼び出しで再帰している場合も、以下のような単純なものであればチェックされる。 "aaa" =~ /(?<n1>(?&n2))(?<n2>(?&n1))/ #=> Pattern subroutine</n2></n1>…

リリース

4.7.1をリリース。 以前指摘された、ONIG_OPTION_SINGLELINEでの仕様を修正。

海水浴-金沢文庫

海の公園で海水浴をしてきた。水があまり綺麗でないのは知っていたが、確かに底が全く見えない。でも、平泳ぎしかできないので、顔を水につけなくても済むので問題ない。クラゲが多いことも気になったが、全体の雰囲気としてはそんなに悪いところではない。 …

Perl 5.9.5との機能比較(4)

同じ名前を重複して定義した場合の仕様を確認した。 後方参照では、一番左のグループだけを参照する。 "abcb" =~ /(a)(?'name'b)(?'name'c)\k'name'/鬼車の場合は、グループ番号の大きいものから順番に、マッチングが成功するまで全部参照する。理由があって…

啓順地獄旅

啓順地獄旅 (講談社文庫)作者: 佐藤雅美出版社/メーカー: 講談社発売日: 2006/11/16メディア: 文庫この商品を含むブログ (3件) を見るシリーズ第一作の「啓順凶状旅」を読んでから二年以上経っている。殆ど内容を覚えていなかったが、途中で補足説明があるの…

Perl 5.9.5との機能比較(3)

Perlのnamed groupの動作を確認してみた。 named groupにはグループ番号も付加されている。これは鬼車と同じなので助かった。.NETの場合は違っていたような気がする。 "abb" =~ /(a)(?<name>b)\g{-1}/ #=> $1 = "a", $2 = "b"それにしても、\g{N},\g{name}で後方参</name>…

エヴァンゲリオン

GyaOでエヴァンゲリオンの第五話まで無料で観ることができるのに気付いたので、土日はずっと観ていた。結局、8/1発売のDVD-BOXを予約してしまった。メーカーの思う壺。NEON GENESIS EVANGELION DVD-BOX ’07 EDITION出版社/メーカー: キングレコード発売日: 2…

Perl 5.9.5との機能比較(2)

Perl 5.9.5に合わせるのは、ONIG_SYNTAX_PERLだけを考えていました。それなら、ONIG_SYNTAX_RUBYで同じ記号を別の意味で使っていても関係ないです。他の案としては、ONIG_SYNTAX_RUBYを捨てて、ONIG_SYNTAX_ONIGURUMAというのを新しく作った上で、表記をなる…

Perl 5.9.5との機能比較

検索で見つけたページ。 Perl 5.9.5 で拡張された正規表現の概要 および、その Oniguruma との比較 まだきちんとチェックしてはいないが、Perlとの違いが多くなってきている。6.0ぐらいのタイミングで、少しは近づけるようにしたい。 鬼車の番号指定後方参照…

ミラクルファイブ(5)

ミラクルファイブについて。 これは要するに五目並べなのだが、打った駒が後で動けることと、持ち駒がそれぞれ12個しかないということが特徴。持ち駒を全部打った後は、盤上の駒を動かすしかない。他にも色々違いはある。ルールを全部ここに書くのは拙いの…

Keep pattern (4)

前回はPCRE 7.2での仕様を調べたが、今回はperl 5.9.5。 /()(a\Kb)/ =~ "ab" # $& = "b", $1 = "", $2 = "ab" /(?=ab\K)ab/ =~ "ab" # $& = "" /(?<=\Ka)b/ =~ "ab" # $& = "ab"この結果から、perlの\Kは captureには影響を与えない look-forwardとlook-behi…

ミラクルファイブ(4)

説明書に載っているゲームは六種類。 ミラクルファイブ ツースリー ナインゲーム Dレース アタック テンゲスト 「ツースリー」と「ナインゲーム」はルールが簡単なミニゲーム。「Dレース」だけはサイコロを使用する双六のようなもの。「アタック」は、ソク…

ベンチマーク

5.9.0とPCRE 7.2の速度比較をしてみた。(文字コードはUTF-8) デフォルトの状態では、鬼車のほうが2.26倍速かった。 USE_COMBINATION_EXPLOSION_CHECKとUSE_CRNL_AS_LINE_TERMINATORを有効にした状態では、鬼車のほうが2.18倍速かった。 4.xの頃にUSE_COMBINA…

ミラクルファイブ (3)

先週の金曜日にビックカメラで買った。2200円。どうしても正確なルールが知りたかったので。ミラクルファイブ出版社/メーカー: メガハウス(MegaHouse)発売日: 2007/06/16メディア: おもちゃ&ホビー クリック: 3回この商品を含むブログ (8件) を見る以下…

リリース

5.9.0をリリース。 かなり変更していて、中途半端な状態。この段階でリリースしたくはなかったが、幾つかバグも出ているので仕方ない。使う側には関係ないし、問題ないと思うが。

有限オートマトン入門

有限オートマトン入門 POD版作者: 岩田茂樹,笠井琢美出版社/メーカー: 森北出版発売日: 2004/04/30メディア: 単行本 クリック: 1回この商品を含むブログ (2件) を見る八重洲ブックセンターで買った。有限オートマトンだけに絞っているので、他の本よりも詳し…

風邪

旅行から帰った次の日から風邪を引いていた。冬に風邪を引かないときは夏に引くという法則は、今年も有効だった。

チュートリアリズム2

チュートリアルの単独ライブ。場所は福岡市立少年科学文化会館。福岡、大阪、東京の三ヶ所であるのだが、東京と大阪はチケットが買えなかったので、福岡まで行くことになってしまった。18:35開始で、終了は21:00。公演後、ネタの内容については一切書かない…

博多-唐津

チュートリアルの単独ライブを観る為に福岡に行ってきた。ついでに唐津も観光してきた。偶然、祇園山笠の時期だったので飾り山が公開されていた。唐津では雨が降っていた。そのためか虹の松原を歩いている間、人を全く見なかった。 福岡: 平野國臣生誕地、金…