1 名前:デフォルトの名無しさん mailto:sage [04/11/10 23:30:50] 言語仕様や処理系の話題に関するスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,CPS変換, レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,それに VM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。 前スレ 1 pc.2ch.net/tech/kako/981/981672957.html 2 pc2.2ch.net/test/read.cgi/tech/1021136715/ (dat落ち) 3 pc5.2ch.net/test/read.cgi/tech/1070089173/ (前スレ) 関連リンクは多分 >>2-10 あたり
457 名前:デフォルトの名無しさん mailto:sage [04/12/24 10:19:57] >>420 俺と考えが違いますね ソフトもプログラムも、頭の良い人が数人いて、いいものを作れば 終わっちゃう世界だと思うんですよ。 コピーすれば同じですし・・・ 例えば、簡単なスクリプトを学生が趣味で作ってとしてそれを公開すれば 他の人は、そこまでの勉強が近道が出来ると思います。 頭の良い人はそこから更に良い物を作るって言うやり方が必要だと・・・ 特許などに触れる部分や会社の売りである部分はさすがに公開できないでしょうが その部分を省いた基本的な部分は全て公開する方が効率が良いと思いますし アメリカやインドに比べてソフト開発力が低い?と言われてるのだから、 その部分を補う部分が欲しいと思いますね。
458 名前:デフォルトの名無しさん mailto:sage [04/12/24 10:38:33] >>420 頭のいい人 >>457 口をあけて待ってるバカ
459 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:42:34] >>458 馬鹿で悪かったな・・・ C言語を覚えるのに、C言語の入門からマニュアルが一杯でてるだろ おまぇはそれすら観なかったのかよ? それからアルゴリズムも全部自分が考えたか? データ構造とアルゴリズムを本やインターネットで覚えてないのか? 結局頭の良い人が見つけたプログラミングをお前だって恩恵受けてるだろ。 コンパイラだって頭の良い人が考えてプログラムの参考に自分の新しい コンパイラを作るのだって在りだと思ってるんだよ それとは別に人が作ったものを他の人がまた作るのもデジタルである プログラムではもったいないと・・・ おまぇの考えはフリーでプログラムを提示してる人を真っ向から否定してるよな
460 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:44:18] >>458 こいつはコンパイラの本を見ずにコンパイラを自力で作れるすごい奴なのかも しれないwww
461 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:47:26] 別に凄くないと思うぞ
462 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:49:06] >>461 自力で作れる奴がここに来るのか??www
463 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:53:22] >>462 もし来ないと思っているなら、それは偏見だよ。 別にここでの書き込みに何か期待しているわけじゃない。 ただ、専門分野での雑談を楽しんでいるだけだよ。
464 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:57:04] >>436 彼はC言語のマニュアルしかみないでプログラマーやってる スーパープログラマーだから、相手にしない方がいいな。
465 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:09:11] >>463 彼はすごいよ。 数学の数式や方程式も自分で考えたんだよ。 大学の勉強も教授に話しを聞かなかったと思うよ 何故ならスーパーだから・・・。 教授が自分の経験や頭が良い人の本や教科書を使った 授業だって彼にとっては無駄だもの 先人の発見した知識は彼には必要ないんだよ 彼は全部自分で考えて、自分で作れるんだから・・・www
466 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:09:49] 俺はC言語なぞコンパイラのユーザマニュアルだけで使えるようになったけどな。 そういう人間は別に少なくないだろう。分布が偏在しているだろうとは思うが。 それはさておき>>457 =>>459 だろうが言ってることが滅茶苦茶だぞ。 >>457 では成果物としてしか捉えてないからバカと言われて当たり前。 公開されてるものを眺めただけで改良できるようになるわけじゃないんだよ。 結局ものの設計や開発は一種の探索問題だから、その過程を理解しなければその設計に 至る必然性やどこに改良すべき点があるかとかわからん部分もある。 >>459 でいってるアルゴリズムとかは経験(≒プロセス)から抽出された知識であって 成果物ではないのだから457の主張の論拠にはなり得ない。 457を補強するつもりでも結局459は420の補強にしかならん。 457を見て感じるのは、こいつには「頭のいい人」のものの考えは絶対理解できないだろうなということ。 自分をその範疇から外していて、そうなる意志もないだろうというのも感じる。
467 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:18:39] >>466 はぁ〜、まぁ〜いいや、プログラムだけでなく 方程式とかも自分で解いたんだろ、、全部。 おまえの言ってることは、本に書いてある知識や経験を 必要としないでやってきた人間だけが言える言葉だぞ。 例えば、英語の映画を観ただけで、英語を覚えられるとか・・・ 誰かが、覚えた経験を元に英語の教科書や、専門書を 観ないで覚えたのか 授業で英語の教科書を見て英語覚えたのなら、 それは英語を覚えた経験した事を、本で覚えて 英語を覚えたことになるんだぞ。
468 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:19:23] 誰かが、覚えた経験を元に書かれた英語の教科書や、専門書を 観ないで覚えたのか でした
469 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:25:02] この話題で初めて書き込むが, >>466 アホだな… 本や論文を読まずに〜というのは, 要するにその内容を完全に理解したから, その文献を再び参照することなく, 新規性のある事ができる, という意味だろうに…
470 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:26:19] >>466 彼はエジソンだね。学校の授業は人の経験を教科書にして覚えると言う 行為だから・・・ 授業など必要とせず、自分で経験したことだけで、スーパープログラマに なったらしいから・・・ まさに、プログラマー界にエジソンだよ。 そういうスーパーな人は、新しい言語でも作って世の中で有名でもなって ください。
471 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:28:38] >まさに、プログラマー界にエジソンだよ。 あなたはまず日本語を勉強しましょう
472 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:29:37] >>471 それくらいスーパーなプログラマなら脳内変換できないのか?
473 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:31:53] >>457 落ち着け。>>420 は > 完成品なんてタダでくれてやればいい と言ってるんだぞ。お前にソースは見せん、と言ってるんじゃない。
474 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:32:36] >>457 なんかフレーム引き起こしてますな、僕も420と同意見で 他人の作ったものをとってきて喜べるたちの人間ではないですね、 自分で何か作る事にのみ喜びを感じます、 アルゴリズムも自分で思いついてこそ楽しいのです。 作業効率なんてどうでもいいんですよ。 貴方の意見を読んでいるとプログラミングが恐ろしくつまらない作業の繰り返しに思えます。
475 名前:デフォルトの名無しさん [04/12/24 17:35:18]
476 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:36:12] >>457-476 は役に立たない塊ですので透明あぼーんしましょう
477 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:38:14] >>474 プログラミング自体を楽しめるのなら良いが 作るという行為だけ楽しめる人もいるんですよ プログラミングだけならアセンブラやC言語だけでいいじゃないですか でも作る行為が楽しいと言う人がいるから、VisualBasicだってある。 問題は効率良く作業する為にはどうしたら良いかと 彼はライブラリも使わないと思うよ。 ライブラリだって人の作ったプログラムを使ってるんだから、スーパーな プログラマは我慢できないんじゃないかな?
478 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:38:25] こっちに移動してください pc5.2ch.net/test/read.cgi/tech/1103874346/
479 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:41:50] >ライブラリだって人の作ったプログラムを使ってるんだから、スーパーな >プログラマは我慢できないんじゃないかな? この辺りからして感覚が違う気がしますね、我慢できないのではなくて、中身が興味深そうなら自分も作ってみるのです。
480 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:47:58] 結局、どこまでが基礎でどこからが応用かという問題だろ。 先人の経験を基礎に入るかってことで どんな職業だって先人の経験を真似る部分もある。 確かに真似るだけでは駄目でそれを自分のものにしなくてはならない ソースだけ開示するまでが基礎か その考え方まで書いてあげてコンパイラというものを理解できるような 形にしてあげること(本やインターネットで) までが基礎かの違い。 彼はソースだけは開示すると書いてあったのは理解できなくもない 本やインターネットでコンパイラについて書かれたことを全く 見ずに自分でコンパイラを作った人なら、他の人にもそれくらい 自分でやればと思うかもしれないから・・・ でも本やインターネットでコンパイラについて書かれた内容を理解した 人は、その本を読んで理解しろと言う場合と、もっと解りやすい本が あればもっと簡単に覚えられたと思う人もいるだろ 簡単に言えば解りやすいコンパイラの本が日本語で出るだけで、新たな 言語が出る可能性が出て面白くなると思うけどね。
481 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:11:16] ここはdjbみたいな人が沢山いるインターネットですね。
482 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:14:03] LLパーサやDDA位なら自力でたどり着いた事あるぞ。 つかそのころコンピュータ書籍は英語で書かれている物以外は論文くらいしかなかったし、しかも俺は英語を習う前だったから読むもクソも無かった。 まさか当時は電算関係が生業になるなんて考えてもみなかったけど楽しかったぞ。
483 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:14:39] まあ>>457 みたいな人が、自分の得た知識や経験をわかりやすくまとめて公開する ことは絶対ないんだけどね。これはコンパイラに限らず。
484 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:17:28] ここはバカの壁が如実なインターネットですね。 読んでると壁の両側に綺麗にわかれていて面白い。
485 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:19:40] >>482 コンパイラ以外でも先人の経験を元にしなかった? アルゴリズムの本を読んだり、会社の先輩にソースを見せて貰ったとか・・・ 人の経験を全く真似ないで自分だけでやってこれたと言う人が 本当にいるのなら観てみたいね。 職業のプログラマーだけでなく、他のあらゆる事が先輩の真似から 入ることが多いでしょ。
486 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:21:49] >>484 彼も、先人達の経験を全く必要としない人らしい。 自分だけでやってこれたと思ってる人って素晴らしいね 自分なんて人のおかげで、色々と覚えられたと思ってるし・・・
487 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:27:42] 相談室と書いていながらここは、単に本やインターネットを みないでコンパイラを作れる人が、時々、本とかインターネットを 使って、コンパイラを作ろうとしてる人が書き込んだ人を馬鹿に しようとする為にスレということが解ったよ。
488 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:30:14] 正 相談室と書いていながらここは、単に本やインターネットを 見ないでコンパイラを作れる人が、時々、本とかインターネットを 使って、コンパイラを作ろうとして書き込んだ人を馬鹿にしようとする為の スレということが解ったよ。
489 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:31:40] お前らクリスマスイブ暇だからって張り切りすぎ
490 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:36:08] クリスマスツリーにネコでも吊るして和んでください
491 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:41:20] 決まりきったパターンだね。 人格攻撃に始まるって奴は負ry
492 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:46:23] >>487 スレは「ある」ものではなく「作る」ものだ。 君が親切な相談員になればいい。
493 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:48:45] そんなことより、もまいら今日の晩ごはんはカレーですよ。
494 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:49:23] >>492 俺が君ほどレベルが高くなく本と見てコンパイラを作れるレベルなんだよ そのレベルの話で良ければ教えてもいいけどね。
495 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:52:52] ゲーム業界の話なんだが、アメリカは新しい技術を作られると それを作ったクリエータ自ら、ゲーム業界の学会?みたいな 場所で発表するらしい。 アメリカではプログラム技術は共有の知的財産と思ってるらしく それを、使って何を作るかが重視されてる。 日本は技術を自分で作ることが重視になってる。 技術を1から覚えないと、物を作る資格がないと思ってるみたいだ・・・
496 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:59:04] 何度もすまないが アメリカだとゲームは平気で人が作ったエンジンを使ってゲームを作る。 日本だと、1から作ることが職人だと思ってエンジンを使う所は少ないし エンジンを提供する所も少ない。 アメリカは自分で作りたいものがどのような形で作られようが問題ないみたい 人が作ったものだろうが、それで自分が作りたいものが出来るのなら 問題なく使うけど、日本人は1から作らないと気がすまないみたいだ。
497 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:01:53] アメリカに劣等感を持つのは勝手だが 何の根拠もない妄想をここでやるなよw
498 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:08:50] はっきりいってエロゲーは日本の方がどの分野も進んでるぜ www.illusion.jp/preview/jinkousyoujyo2/ www.teatime.ne.jp/infor/ld_top.htm
499 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:18:13] >>494 それ位のレベルの人が一番わかりやすく教えられるんじゃない? 学校の先生より家庭教師の説明の方がわかりやすいのと同じで。
500 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:21:01] ここは「コンパイラ・スクリプトエンジン」相談室です。 雑談はマ板でお楽しみください。
501 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:25:51] 今日の雑談は↓スレへどうぞ pc5.2ch.net/test/read.cgi/tech/1103874346/
502 名前:482 mailto:sage [04/12/24 19:52:04] 先人の本なんかなかったよ、あったのはモトローラのMC6800マニュアル(英文)、しかも読めた(のか?)は電気回路の部分と命令表、 信号線は親に読んでもらった。 482で書いた事は自分が小学6年から中学1年に掛けての事だから本当に役に立つ書籍は無かった。 ちなみに石田晴久の「マイコン入門」が出たのが自分が中学2年か3年の時。 そういう時代なので読む物なんか図書館いっても見つからないのだ。
503 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:56:47] >>502 あぁ、あの東大のDQNね。
504 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:59:58] そろそろ板違いなんで↓に逝ってくれんか>年寄り bubble2.2ch.net/i4004/
505 名前:デフォルトの名無しさん mailto:sage [04/12/24 20:18:16] クリスマスだから気が立っているのか。愚かしいな。
506 名前:デフォルトの名無しさん mailto:sage [04/12/24 20:26:24] この流れなら言える。 prologでコンパイラ作ってる人いますか? パターンマッチ最適化や、高レベル中間語→低レベル中間語→アセンブリの変換等が きれいに書けそうな気がするんですが。
507 名前:デフォルトの名無しさん mailto:sage [04/12/24 20:37:20] >>495 共有するって感じかな? どちらかというと自分の意見を学会にぶっつけて反応を確かめて 自分の方向性を決めるといった感じの印象を受けるのだが。 共有を目的にしている人は一部のオプソ狂信者(日本にも居るね)だけだと思うな。
508 名前:デフォルトの名無しさん mailto:sage [04/12/24 21:11:17] >>506 きれいに書けませんよ。 嘘だと思うならやってみたら。
509 名前:デフォルトの名無しさん mailto:sage [04/12/24 21:30:38] >>506 そういう研究はあり、確かにきれいに書ける。 ただし、prologでなく、より汎用的なlogical framework(twelfとか)を使うことが多い。
510 名前:デフォルトの名無しさん mailto:sage [04/12/24 22:48:15] >>495 なんとなく納得。 なにげに日本の習慣って秘密主義なのかも。
511 名前:デフォルトの名無しさん [04/12/25 00:55:40] >>510 チンケなプライドがあるために他人のツールを使えないだけ。 高卒のくせにな。
512 名前:デフォルトの名無しさん mailto:sage [04/12/25 01:22:01] pc5.2ch.net/prog/
513 名前:デフォルトの名無しさん mailto:sage [04/12/25 11:20:12] >>511 自分やっているプログラムが詰んなくない? それでストレス溜まって高卒ごときにムキになってない? まぁ、最近そな人多いね、実際自分も仕事ではまるでベントコンベアの前にいるライン工の気分だしね。 嫌な時代ではある。 世の中生産性が全てではないと思うのだが・・・ せめて趣味の世界では爆発していたい。 プログラミングは爆発だ!!
514 名前:デフォルトの名無しさん mailto:sage [04/12/25 13:39:45] ゆんゆん
515 名前:デフォルトの名無しさん mailto:sage [04/12/25 14:12:07] やんやん
516 名前:デフォルトの名無しさん mailto:sage [04/12/25 14:22:51] なんだろ 年末ずっとこの調子?この人
517 名前:デフォルトの名無しさん mailto:sage [04/12/25 14:32:19] あのねのね
518 名前:デフォルトの名無しさん mailto:sage [04/12/25 23:32:30] bison1.35をつかっていたんですけど、1.875ってのが出ているのに気づいたのですが、 どう変わったか知っている方いますか? sourceforge.net/project/showfiles.php?group_id=23617
519 名前:デフォルトの名無しさん mailto:sage [04/12/25 23:46:51] そういうのは作者に問い合わせたほうが早いよ
520 名前:デフォルトの名無しさん mailto:sage [04/12/26 01:00:46] ソースとってきてchangelogみりゃええやないの
521 名前:デフォルトの名無しさん mailto:sage [04/12/26 01:37:01] 構造化例外処理を自作言語に取り入れたいんですが、 VisualC++(というかmsvcrt.dll)の _except_list _local_unwind2 _except_handler3 この辺を扱う資料ってないですか? 下の様なことがしたいので FilterFunction() { printf("1 "); /* this is printed first */ return EXCEPTION_EXECUTE_HANDLER; } main() { __try { __try { RaiseException(1, /* exception code */ 0, /* continuable exception */ 0, NULL); /* no arguments */ } __finally { printf("2 "); /* this is printed second */ } } __except ( FilterFunction() ) { printf("3\n"); /* this is printed last */ } } 実行結果 1 2 3
522 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:06:36] 正直、lexだのyaccだの使ってる奴はアホ。 一文字ずつswitchで入れ子にするのが速いし、メモリも食わないし、プログラミングも実は一番楽。
523 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:22:02] まあそれで書けちゃうぐらい単純なやつならそれでもいいでしょ。
524 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:40:08] >>522 ぜーたいありえネェ〜
525 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:49:54] >522 あー、つーか、単純なやつならそれで出来るかもしれんが、あまりにも世界が狭すぎ。 全てそれでいけると本気で思っているのなら、もう一度勉強し直してこい。
526 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:55:51] >>522 根拠が弱い アホいうんなら、おまえの方法とlex、yaccを使う方法の 長所、短所ふまえてちゃんと説明してみんなを納得させろ
527 名前:デフォルトの名無しさん mailto:sage [04/12/26 05:06:29] 普通に釣りっぽい
528 名前:デフォルトの名無しさん mailto:sage [04/12/26 05:11:03] >>522 はビルゲイツ。
529 名前:デフォルトの名無しさん mailto:sage [04/12/26 09:02:02] 大漁大漁w
530 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:04:56] >>521 VC++固有のライブラリの使い方なら VC++スレ行ったほうがいいと思う。 構造化例外を使いたいだけなら、 Structured Exception Handling でぐぐればよさげ。
531 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:29:50] 釣り師は>>529 のような負け惜しみは書かん >>529 書いた時点で真性確定。
532 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:40:05] 真性に釣られる馬鹿ハケーンw
533 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:48:11] w真性キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
534 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:58:39] \ 釣られたクマー \ 助けてクマー \∩_∩ 今助けるクマー (;(エ); )∩_∩ ∩_∩ ⊂. ⊂ |(・(エ)・; )_○ (・(エ)・; ).∩_∩ 頑張るクマー ⊂_⊂/⊂⊂___つ⊂⊂ |(・(エ)・; ).∩_∩ | ⊂⊂ |(・(エ)・ ) ∪ ̄∪| ⊂⊂ | 〜〜 ∪ ̄∪| |○ 〜〜〜 ∪ ̄∪ 〜〜
535 名前:デフォルトの名無しさん mailto:sage [04/12/26 14:11:12] >522 >プログラミングも実は一番楽 ありえねえ 自力で遷移状態管理しろ、つうたら泣けるなあ
536 名前:デフォルトの名無しさん mailto:sage [04/12/26 14:14:31] LL(1)なら別にいいじゃん。
537 名前:デフォルトの名無しさん mailto:sage [04/12/26 15:54:09] 俺はschemeのreader書くのにlex/yaccのお世話になろうかと 真剣に悩んだよ。 結局、手で書いたが。
538 名前:521 mailto:sage [04/12/26 16:04:12] main() { // var parent_frame try_except_wind( lambda() { // try // var frame = parent_frame try_finally_wind( lambda() { // try RaiseException(1,0,0,0); } ,lambda(){ // finally printf("2 "); }); } ,lambda() { // FilterFunction printf("1 "); return EXCEPTION_EXECUTE_HANDLER; } ,lambda() { // except printf("3\n"); }); } 例外ブロックを関数化してここまでは動作確認できました。 VCの__finallyや__exceptブロックは妙なトリック(ebpの持ち回り)使ってるから フレーム統合するのは難しそうです。 別の手段考えます。
539 名前:522 mailto:sage [04/12/26 18:50:35] 馬鹿だな。複雑な文法ほどそう書くのがいいんだよ。 人間が考えてる要領でうまくかける。 yaccだのlexだのはかえって難しいんだよ。 複雑な文法になるほどな。
540 名前:デフォルトの名無しさん mailto:sage [04/12/26 19:07:18] 飽きたからもういいよ。
541 名前:デフォルトの名無しさん mailto:sage [04/12/26 19:08:26] | | ∩___∩ | | ノ _, ,_ ヽ (( | プラプラ / ● ● | (=) | ( _●_) ミ _ (⌒) J >>539 彡、 |∪| ノ ⊂⌒ヽ / ヽノ ヽ /⌒つ \ ヽ / ヽ / \_,,ノ |、_ノ
542 名前:デフォルトの名無しさん mailto:sage [04/12/26 22:32:01] >>538 Win32 Exception handling for assembler programmers by Jeremy Gordon www.jorgon.freeserve.co.uk/ExceptFrame.htm 昔、参考にさせてもらったサイト。もう1ヶ所ぐらいあったんだけどURL紛失した。
543 名前:デフォルトの名無しさん [04/12/26 23:41:12] でも、マジレスすると scanner は自主開発蟻としても parserはyaccか互換ソフト以外実用プログラムでは使われていないからなぁ お前ら、もっと現実を見ろ!
544 名前:デフォルトの名無しさん mailto:sage [04/12/26 23:59:48] 飽きたからもういいよ どうせなら新しいネタにしようぜ
545 名前:デフォルトの名無しさん mailto:sage [04/12/27 00:05:28] マジレスすると、 Java5.0はyaccだと難しい。
546 名前:デフォルトの名無しさん mailto:sage [04/12/27 01:28:03] Rubyも確か、yacc廃止するような話が上がってるみたいだね。 PythonやPerlはどうなの?
547 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:46:19] なんか字句解析と構文解析の話ばっかりだな。 漏れが知りたいのはその先の話なのに。
548 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:52:11] 522の言うことも一理あるかと gccも最初はyaccだったが今は手書きらしいし
549 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:52:22] コード生成とか最適化の話がしたいとな?
550 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:53:03] みんな自動生成系で骨格作って手直しをしてという風ではないの?
551 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:57:43] 中間言語にコンパイルする話はどの書籍に載ってるでしょうか。 googleで調べても見つからないので。
552 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:04:22] 今おれが借りてる本に詳しく載ってるな。 中間言語と言っても色々レベルがあるけどな。
553 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:14:28] >>552 書籍名を教えてくださいYO! ほとんど知識の無いままSchemeのインタプリタを書き始めたんですが 3日くらいで大体の機能が実装できました。 問題はGCと継続なんですが、CPSという中間言語を使うと継続が楽に 実装できるという噂をききまして、どんなものかなあと。 コンパイルしないと遅すぎるってことや実装が簡単すぎた(さすがScheme) っていうのも動機なんですけど。
554 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:37:57] >>553 CPSは普通のコンパイラの教科書では余り取りあげられない。 本なら、Appelの「Compiling with Continuations」辺り。ただし、 これはMLベース。CPS自体はMLとは関係ないけど、中間言語 にコンパイルする話から知りたい人には難しすぎるかも知れない。 Schemeベースだと、Guy Steel Jr.のRabbitコンパイラとかKranz らのORBITの論文(PLDI86)辺りを読むしかないんじゃないかな。 Rabbitコンパイラの論文が今簡単に入手できるかどうかは知らな いが、ORBITの論文は今年出た「20 Years of PLDI 1979-1999: A Selection」っていうACM SIGPLAN notices, volume 39, number 4, april 2004に選択されて載っているから、これなら技術系の大学の 図書館辺りで見つけられるでしょ。
555 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:56:06] 沢山の情報ありがとうございます。 CPSにこだわっている訳ではないんですけど、東大のコンパイラの授業 のページにのってたのでメジャーなのかと思ってました。 一般的に中間言語の話はどの本がいいんでしょうか。 とりあえずいろいろ調べてみます。
556 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:31:51] >>553 CPSは中間言語ではないよ。 それに直接速くなるわけでもない。 CPSというのは継続のたらいまわしで、実装が自ずと スタックレスになり、末尾の検出が不要になることと 継続の抽出が単純(というか継続の抽出そのもの)になるというだけで。 Schemeは末尾呼び出しのフレームの縮小問題に どう取り組むかで速度にかなり違いが出てくる。 これは仮にCPSにしても解決はできない。 それと(Schemeに限らないけど)、GCにぎりぎりまで頼らない (ヒープに移さない)設計にするとか。 CPSについてはコンパイラの本より むしろ関数型言語扱ってる古い本に色々載ってたけど、 そういうのは図書館で探したほうがいい。 CPSに変換する処理系もあったはず。 ちなみに借りた本は「コンパイラの構成と最適化」 CPSとはあんま関係ないね。
557 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:35:02] >>554 Steele 先生のってこれでよろし? ftp://publications.ai.mit.edu/ai-publications/pdf/AITR-474.pdf 面白そう……だけど結構な分量だな。プリントアウトしたら大変そうだ。