2015年12月23日

カメラが壊れた.といっても電源がつかなくなったとかではなくて,電池をとめている場所の爪が壊れて,電池を押さえることができなくなった.電池を押すときちんと電源が入る.蓋と電池の間に何か挟めば使えるので,とりあえずそうしておこう.きっとこの前落としたときに壊れたんだろうなぁ.五年くらいは使っているので新しくしてもいいかもしれないけど.いずれにしても日本に帰ってから.

話変わってPEGむずい.正規表現やBNFは言語を定義している感じがあるのに比べて,PEGはコンピュータへの指令書という感じ.たとえば'a'* 'a'というのはaの一文字以上の並びに引っかかりそう(実際正規表現ではそうなる)なのだが,PEGでは決してマッチしないらしい.*が行けるところまで言ってしまうので,最後の'a'に対応するaが残らないのだそうだ.aとbの二文字からなる回文っぽくしようとしてS = 'a' S 'a' | 'b' S 'b' | ''としてもたとえばaaaaにひっかからない.確かにルール通りに(コンピュータの気分になって)解析してみると失敗する.ちなみに回文全体がPEGで表せるかは未解決らしい.むしろだめだと思われているとか.というか文脈自由言語がPEGで常に表せるかが未解決っぽい.正規言語とか文脈自由言語の場合はpumping lemmaが一つ定石かと思うけど,PEGにはないのかな.

0 件のコメント:

コメントを投稿

コメントの追加にはサードパーティーCookieの許可が必要です