いくつか書き忘れていることに気がつきました.
* [...]や'...'の中では,\はエスケープしてください.
* (?<TAG> ...)とすると後からdllfuncw("PEG_GETLASTMATCHPOS","name","TAG")でその場所が,dllfuncw("PEG_GETLASTMATCHLEN","name","TAG")でその長さが取得できます
* ルール名に使える文字は[a-zA-Z0-9_]です.ちと不便かも.
結構簡単に無限ループになるので気をつけてくださいな.
> YASnippetを見てると言うから「何を企んでいるのやら…」と思ったら、こう来るとは思わなかたよ!!
僕もこうなるとは思わなかったよ!(笑)
YASnippetは補完の設定書式で参考にしていました.本当はそこからルール生成して一発で解析したぜイェィとかしたかったのですが,設定されている書式の一部しかまだ入力されていないとか考えると無理でした…….
> CompleteMac にある GSUB と MATCHPOS の嵐を葬れるとか胸熱すぎて年末年始に試さざるをえない
そういえばGSUB/MATCHPOSはもう使わず,hmjreを直接たたいた方がよさそうですねぇ.単にShift_JIS外に対応できないというだけですが.DLLの関数群もwchar_tの方に移すべきかなぁ,と今回思いました.(ちなみにPEG_***がwchar_tなのは裏で使っているライブラリboost::spirit::qiがShift_JISをしらないからなのですが.)
あ,CompleteMacにはいつもながらお世話になっております.
▼ 構文解析 [あべのり] (2015/12/28 02:08)
└
Re: 構文解析 [IKKI] (2015/12/28 00:50)
└
Re: 構文解析 [あべのり] (2015/12/28 02:00)