Gauche > Archives > 2011/06/16

2011/06/16 09:26:03 UTCshiro
#
「C++の文法が複雑過ぎると話題に(俺の中で)」http://bit.ly/jQ26Ih に「George Mason大学のSeal Lukeさんいわく「正しくかつ完璧なC++パーサーを作るのは数学的に不可能」なのだそうで」という文言があるが、数学的に不可能というのはどういうことなのだろう。
#
"Seal Luke" "George Mason" でぐぐってもこの記事への言及しか出てこない。でも検索単語を色々いじってたら、Redditのエントリが見つかった。http://www.reddit.com/r/programming/comments/hweg5/c_grammar/ この中に http://www.reddit.com/r/programming/comments/hweg5/c_grammar/c1yydvd というコメントがあり、それが上のエントリの元ネタなのだろう。
#
Seal Luke氏のサイトはこちら。 http://www.cs.gmu.edu/~sean/ ざっとサイト内検索をかけてみたけどそれらしき言及は見当たらない。ただまあ、発言が本当だったとしても、本題は後半の "The language specification is so large and convoluted that you must either create a parser that rejects valid C++ code or create a parser that accepts invalid C++ code." にあって、それを強調するためのsarcasmだろうなと思う。
#
後半を落として前半の "it is mathematically impossible to create a correct, complete parser for C++." だけを引用するのは、ジョークの落ちを切って前半だけ持ってくるようなもので、あまり褒められたもんではないと思う。それで「George Mason大学のSeal Lukeさんいわく」などとattributeされてしまってはSean氏も困るんではなかろうか。
2011/06/16 11:13:44 UTCshiro
#
うがー、Common Lispで (defun foo (:key (bar baz)) ...) 等と書いてなぜエラーになるのかしばらく悩んでしまったではないか。やっぱりGaucheはCLに合わせた方が良かったかなあ… でもCLの&keyとかもレガシーだよなあ。