- 1 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 20:49:02 ]
- プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換, CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン, SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化, JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。 意味論に関する話題も歓迎です。 過去スレ 1 pc.2ch.net/tech/kako/981/981672957.html 2 pc2.2ch.net/test/read.cgi/tech/1021136715/ 3 pc5.2ch.net/test/read.cgi/tech/1070089173/ 4 pc5.2ch.net/test/read.cgi/tech/1100097050/ 5 pc8.2ch.net/test/read.cgi/tech/1106129164/ 6 pc8.2ch.net/test/read.cgi/tech/1115335709/ 7 pc8.2ch.net/test/read.cgi/tech/1129287390/ 8 pc8.2ch.net/test/read.cgi/tech/1131273918/ 9 pc8.2ch.net/test/read.cgi/tech/1135082582/ 10 pc8.2ch.net/test/read.cgi/tech/1146844753/ 11 pc11.2ch.net/test/read.cgi/tech/1160879890/ 12 pc11.2ch.net/test/read.cgi/tech/1188688416/ 関連リンクは多分 >>2-10 あたり
- 75 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 23:01:57 ]
- 楯が Syntax Directed Translation
剣が LALR Parser Generation 鎧が……読めにゃい 竜が Complexity of Compiler Design かな?
- 76 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 23:24:16 ]
- 拡大
up2.viploader.net/pic2/src/viploaderf159408.jpg
- 77 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 23:32:24 ]
- Data Flow Analysis か
- 78 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 00:32:32 ]
- コンパイラ第2版ってどこ改訂されたの?
- 79 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 02:55:37 ]
- 全面的に
- 80 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 03:02:46 ]
- 読みやすくなってる?
- 81 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 16:40:02 ]
- >>75
もう画像流れてるわ 第一版と同じで鎧は syntax directed translation じゃなかろうか default を「省略時解釈」とか、そういうのが無くなってるといいんだが
- 82 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 18:24:48 ]
- > 第一版と同じで鎧は syntax directed translation じゃなかろうか
それは盾だって>>75に > default を「省略時解釈」とか、そういうのが無くなってるといいんだが 往年の教科書では定番だったよねそういう訳
- 83 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 19:28:33 ]
- 最近の本は「既定の…」になるの?w
- 84 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 21:09:37 ]
- ごめん、data flow analysis だな
- 85 名前:デフォルトの名無しさん [2009/06/06(土) 01:03:33 ]
- 検索でここまで辿り着きました。
宜しくお願いします。 現在、オブジェクト指向のクラスの実装などが、 コンパイラでどのように実現されているのかに興味を持ち、勉強中です。 コンパイラの本も何冊か買い、簡単に目を通しましたが、 殆どが手続き型言語のコンパイラの解説で終わっており、資料の少なさに困っています。 自分で探した範囲で、オブジェクト指向型言語のクラスの実装等に触れられている本は、 『コンパイラの構成と最適化』(朝倉出版)しか見つけることが出来ませんでした。 『コンパイラ―原理・技法・ツール』の第2版版が最近出版されたようなので、 書店で立ち読みをして見ましたが、オブジェクト指向言語に関しては、 余り記述がされていないようです(短時間立ち読みをした程度なので、見落としてるだけなのかもしれませんが…)。 上で記述した以外に、オブジェクト指向言語の具体的な実装について書かれたコンパイラ等の書籍などがご存知の方がいらっしゃいましたら、本の題名等をご教示頂けると幸いです。
- 86 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 01:21:19 ]
- なぜそんなにオブジェクト指向にこだわるのか理由がよく分からないな。
まあ、単純にオブジェクト指向を特徴としている言語の実装が知りたいなら、 ソースコードを入手して眺めるのが一番早いだろう。 RubyやPythonなんかでどうだ?
- 87 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 01:24:05 ]
- >>85
gcc読んでここでその成果全部書けよ そしたら教えてやるから
- 88 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 01:40:21 ]
- >>85
"Rubyソースコード完全解説"
- 89 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 01:43:11 ]
- 『いまどきのプログラミング言語の作り方』に、ちょっとだけ載ってたかなあ
- 90 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 03:16:32 ]
- >>86
OOPにこだわる切欠は、自分で作ったCのプログラムを逆アセンブルして、アセンブリ言語の勉強をしていた時、JavaなどのOOP言語では、どのようにソースコードがバイトコードなどに置き換えられ、クラス等がどの様に実装されているのかに興味を惹かれたためです。 PythonやRudyに関しては、恥ずかしながら名前しか知りませんでした。 ソースコードもダウンロードしてみました。 再度の質問になり恐縮ですが、これはコンパイラのソースコードではないかと考えていますが、その様な理解で良いのでしょうか? どちらにせよ、自分の勉強不足は明らかなので御指摘を元に、勉強してみます。 アドバイスをありがとう御座います。 >>87 まだ勉強を始めたばかりで、恥ずかしながらgccについては、知りませんでした。 gccについて、これから勉強してみたいと思います。 >>88 検索して見つけることが出来ました。 Amazonで買おうかとも思いましたが、プレミアが付いているようで、とても高いですね。 Webで本文が見られるみたいなので、それを見させていただきます。 ご教示ありがとうございます。 >>89 Amazonでも今は取り扱っていないようですね。 評判の良い本のようなので、購入を検討してみます。 ありがとうございました
- 91 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 03:31:26 ]
- >>90
RubyやPythonは、オブジェクト指向のスクリプト言語だ。 現代のスクリプト言語はいったんバイトコードにコンパイルされてから実行される形式が一般的で、 従ってコンパイラと呼びうるすべての要素がソースコード内に含まれている。 そしてそこから先(バイトコードをどのように動かすかの仮想マシンの実装)もあるわけだ。 いい教材になるわけで。
- 92 名前:90 mailto:sage [2009/06/06(土) 10:21:50 ]
- >>91
そうなんですか。 その事については、知りませんでした。 コンパイラの動作をソースコードを読むことで確認出来るというのは、 私のように学習を目的としている者にはありがたい話です。 Rudyは書籍やWebでの資料が充実しているようなので、これから調べてみます。 ご教示、ありがとう御座いました。
- 93 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 11:25:22 ]
- >>92
Rubyソースコード完全解説という神書籍があってだな、絶版だが、初版が無料公開されているのでオススメ Rubyソースコード完全解説 i.loveruby.net/ja/rhg/book/
- 94 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 19:53:04 ]
- >>90
参考までに、Javaのバイトコード仕様はSunのサイトで閲覧できる (英語)。 SunのJDKに付属しているjavapとかで逆アセンブルできるよ。 他にEclipse用のプラグイン「Bytecode Outline plugin for Eclipse」とかでも。 Eclipse用だと「Classfile Inspector」(有料 99Euro)ってのもあったけど、いまググったら サイトが消滅したようだ。
- 95 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 07:45:39 ]
- 速攻MinCamlコンパイラ概説
ttp://min-caml.sourceforge.net/
- 96 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 10:54:28 ]
- >>85
英語は読めますか?
- 97 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 11:07:20 ]
- あんまり道を示しすぎてもパンクすると思うんだが。
85とは関係なしに紹介したいサイトがあるなら、俺が消化するから構わず続けてくれ。
- 98 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 11:54:40 ]
- www.amazon.com/Advanced-Compiler-Design-Implementation-Muchnick/dp/1558603204/
www.amazon.com/Modern-Compiler-Design-D-Grune/dp/0471976970 この辺りの概説書にはOOの実装のこと"も"解説してる。 www.amazon.com/Programming-Language-Pragmatics-Third-Michael/dp/0123745144/ はOO関連のコンセプトの整理がうまい。実装についても書いてある。 全般的な概説書はやはり記述がプアになるので、C++に限れば一番詳しいのは、訳書の www.amazon.co.jp/dp/4810181014 これだけど、今は絶版なので、 www.amazon.com/Inside-Object-Model-Stanley-Lippman/dp/0201834545 原書を読めばいい。 ARM(注解 C++リファレンスマニュアル)も詳しく説明している。これも絶版なので、 www.amazon.com/Annotated-C-Reference-Manual/dp/0201514591 Objectのslot accessでC++と全く異なるアプローチで有名なのが、 code.google.com/intl/ja-JP/apis/v8/design.html#prop_access Selfの元の論文が、 research.sun.com/self/papers/implementation.html にある。JITと相性がよい。 もちろんaccessが遅くていいなら他にも幾らでもやりかたはある。 Objective-Cなんかはhash引いている。
- 99 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 13:07:35 ]
- 普段はレキサ・パーサレベルの話しか出ないのに、堰を切ったようにいろいろ出てくるな
実はみんな、教えることに飢えてたのか?
- 100 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 19:40:03 ]
- lexerかparserより先に進んだ質問者がなかなかいないからじゃないかな
- 101 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:19:24 ]
- じゃあ俺がお前らの意見を聞いて
万人が理解できるlexerとparserの サンプル書いてやる ということでまず何をすればいいぉ?
- 102 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:00:12 ]
- 文法決めれ
- 103 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:09:06 ]
- >>101
かっこに対応した四則演算とかどうだ
- 104 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 19:58:23 ]
- 四則演算はネット上にゴロゴロしてるからイラネ
- 105 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 20:18:37 ]
- forループとif-else-endifの構文サンプル
- 106 名前:90 mailto:sage [2009/06/09(火) 22:05:49 ]
- >>93
教えて頂いて、ありがとう御座います。 絶版の資料が無料で公開されているのは、ありがたいですね。 >>94 Javaのバイトコードにも、興味があります。 Java仮想マシン仕様は、日本語の書籍でも出版されているので、今度読むつもりでした。 仮想マシンの概念は、コンピュータのアーキテクチャとも密接に関わってくる事項なので、興味深いですね。 >>96 正直、英語はまともには読めません。 日本語の資料で勉強するのに限界を感じているので、 英語の勉強をやり直そうと思ってます。 >>98 今まで知らなかった資料が多いので、参考になります。 英語の資料が多いですね。 コンパイラの勉強の前に、英語をやり直して、 資料をまともに読めるようになってから、勉強をし直すべきかもしれません。 コンパイラの勉強は、思っていたよりもしんどそうですが、 今まで知らなかった資料を紹介していただいたので、今後の勉強の指針が見えた気がします。 教えていただいた資料を参考に、頑張ってみます。
- 107 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 22:28:05 ]
- >>105
それだッッッ ブロックの扱いがどうやればいいのか 悩みまくっている俺にはおいしいです ^q^ ^
- 108 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 22:57:09 ]
- >>101 lexer parser 何てどうとでもなるから
cps とか ssa あたりの内部表現の評価手法を, 最適化方法に合わせた一覧として提示してくれ
- 109 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 00:05:45 ]
- >>108
どうとでもならない人のための相談室スレだと思うんだ。 だから、出来る人は我慢して、ここはレベルを下げて欲しいんだ。
- 110 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 00:11:32 ]
- 平行すりゃいいじゃん
誰か一人のためのスレってわけでもないんだし。
- 111 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 00:32:56 ]
- >>108
オレは専門家じゃないのでCPSもSSAもどちらの用語も知らなかったが、 これってLLVMで全部実装されてるんじゃね? やはりLLVMの包括的な解説記事が欲しいところだな。
- 112 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 00:43:18 ]
- >>107
Pascalのone pass compiler読め。 homepages.cwi.nl/~steven/pascal/book/7statements.html
- 113 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 01:19:43 ]
- >>111
LLVMは既に提出されているものをうまくつなぎ合わせてるだけ つなぎ合わせ方法はいくらでもある 各要素項目を網羅的に解説したものがほしい つか、現場にいるとそっち系をゆっくり、みてる暇がない
- 114 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 01:43:17 ]
- >>113
実務者としては、実装されてない方法より 既に実装されているものの解説のほうが遥かに役に立つ。 >各要素項目を網羅的に解説したものがほしい この分野に詳しくないので外野の意見だが、それなら洋書を漁って読めばいいんじゃね?
- 115 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 01:45:38 ]
- >>108
Tiger Bookや"Practical Improvements to the Construction and Destruction of Static Single Assignment Form."は読んだの?
- 116 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 01:48:23 ]
- >>114
> 実務者としては、実装されてない方法より > 既に実装されているものの解説のほうが遥かに役に立つ。 ぶっちゃけここで質問している人が、 現実に使われているコンパイラのソースを参考にして、 自分のコードに反映させるのは難しいと思う。 そのくらいコンパイラは複雑化している。 さらに学習用のコンパイラは関数型言語で書かれているものが多く、 実務指向の人とは相容れないものがあるだろう。 謙虚な気持ちで学習するのが一番。
- 117 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 02:21:44 ]
- >>114
> 実務者としては、実装されてない方法より > 既に実装されているものの解説のほうが遥かに役に立つ。 要素手法が見えにくいんだよね。まとまってしまうと。 ましてや、cps とか ssa 使った状態での複合リダクションとなると。 > この分野に詳しくないので外野の意見だが、それなら洋書を漁って読めばいいんじゃね? そりゃたくさん持ってるさ ただ、現場をかかえてるとそっちばっかやってるわけに行かなくなるんだよな >>116 > さらに学習用のコンパイラは関数型言語で書かれているものが多く、 > 実務指向の人とは相容れないものがあるだろう。 それは気にならないんだけど、細切れの論文掻き集めて整理やり直す時間はとれねぇよ
- 118 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 11:16:43 ]
- 実務指向でコンパイラを今時つくりたい、なんて人はいないと思う
スクリプトでDSLをさっくり組むならともかく
- 119 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 19:19:12 ]
- >>90
www.amazon.co.jp/コンパイラとバーチャルマシン-Text-今城-哲二/dp/4274133087 ↑この本に、オブジェクト指向も例外処理も分かりやすく載ってるよ。 薄くてすぐに読めるし、お薦め。 ただ、日本語で概要が載っているだけなので、 実装するには自分で知恵を絞らないとだけど。 現代的なコンパイラは、内部で何度も変換を繰り返して、 最終的に実行可能なコードをはく。 オブジェクト指向の場合は、最初の方で非オブジェクト指向の Cみたいなコード (AST) に変換してしまうと、 後はよく書籍に載っているような方法が使えていいと思う。 コンパイラを全部 (シンタックスシュガーの除去から アセンブラの出力まで) 自作するのは、大規模過ぎて現実的じゃない。 だから、自分が関心を持っている部分以外は なるべく既存のものを利用するといいと思う。 例えばCのコードを書きだすコンパイラを書けば、 アセンブラごとにジェネレータを自分で書かなくても 多くの環境で動くし、最適化もCコンパイラに頼める。 例外処理などはCでは実装しにくいので、 必要ならLLVM IRを出力するという方法もあるよ。
- 120 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 19:25:19 ]
- >>118
「実務」の中身によるんじゃないかな?
- 121 名前:119 mailto:sage [2009/06/13(土) 19:32:59 ]
- 以前、Javaバイトコードに変換するコンパイラも書いたことがあるけど、
Javaだと「.class」ファイルはクラス単位でオブジェクト指向になっていて、 オブジェクト指向「からの」変換はJVMが担当している。 だから、バイトコードの仕様を読んでも、あまり参考にはならないと思う。 同じ理由で、JVMをターゲットにした (「.class」ファイルを生成する) コンパイラも皆、参考にならないと思う。
- 122 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 20:10:29 ]
- リンゴの本見ればコンパイラなんて3日で書けるだろ
- 123 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 10:39:22 ]
- >>121
最近はclassファイルを扱うためのライブラリがたくさんあるよ。
- 124 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 11:15:34 ]
- >>121 が言ってるのは、Java のオブジェクト指向的な面
(動的バインディングとか)が実現されてるのは、Java VM自体 なので(invokevirtual命令とか)、オブジェクト指向言語を ふつうのCPU上で実現するコンパイラの参考にはならん、と いうこと。
- 125 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 21:52:36 ]
- ドラゴンブック超える神本の出版が確定!
プログラミング言語を作る プログラミング言語を作るなんて究極の楽しみだ!
- 126 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 09:50:36 ]
- >>125
著者の「プログラミング言語を作る」のサイトはぐだぐだ進行な上に 今ブログをチェックしてみたら最新エントリがエロゲの話で しかもトンデモ理論だったので失笑せざるを得なかった 立ち読みはしてみるつもりだけど、はずれじゃないかなぁ
- 127 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 10:18:52 ]
- 前橋さんが言語本出すのか。
まあ、変なものにはならないでしょ。
- 128 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 18:57:40 ]
- >>125
作者乙
- 129 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 20:24:01 ]
- >>128
あの人の作る言語は神レベルの美しさだぞ お前こそ何言ってるんだw?
- 130 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 20:26:33 ]
- >>129
どの人??
- 131 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 08:43:47 ]
- >>125 >>129 は信者だろうな。
ポインタ本とか、Java謎本とか、結構悪くなかったと思うけど、今回もそういう 他に類例のないところを押さえる趣向かねぇ。 ドラゴンブックに代わる、なんてことはないないw
- 132 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 09:01:10 ]
- >ドラゴンブックに代わる、なんてことはないないw
学術書と実用系趣味本を一緒にすること自体おかしいよね
- 133 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 09:59:07 ]
- ドラゴンブック買ったけど、全然役に立たなかった。オナニー書籍
りんご本のほうがよほど役に立ったわ というくらい
- 134 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 10:21:41 ]
- >>133
具体的に書かれてないと、単に難しいことが理解できなかった可哀想な趣味グラマにしか見えないな
- 135 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 10:50:14 ]
- ドラゴンブック喧嘩せず
- 136 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 12:07:40 ]
- ドラゴンブックは、
字句解析、構文解析はツールを使うから詳しくなる気はないし、 構文解析向けの言語理論にも興味ないって人にはまったく不向き。 構文解析ツール作ってみたいなって人、 計算機科学科の学生には今でもいい本の一つ。
- 137 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 14:08:10 ]
- そこから先のバックエンドについても、高度な話の基本になるところを
押さえてあるからね。
- 138 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 16:24:11 ]
- >>136
「内容に興味のない人には不向き」っていうことですねわかります
- 139 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 16:44:12 ]
- >>138
当たり前の事ではないか
- 140 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 17:41:11 ]
- 特定書籍の信者って面白いね。
反撃が全部「ぼくは君をこういうキャラに設定したぞ。どうだ悔しいだろう」だし。
- 141 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 17:45:52 ]
- >>140
具体的に書かれてないと、単に難しいことが理解できなかった可哀想な趣味グラマにしか見えないな
- 142 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 20:23:54 ]
- >>140
構文が曖昧です。君からキャラへの変換は明示的なキャストが必要です。
- 143 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:43:48 ]
- coinsの利用についてはどうよ?
COINSコンパイラ・インフラストラクチャ ttp://www.coins-project.org/
- 144 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:52:47 ]
- coinsは最凶最悪
- 145 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:01:52 ]
- >>139
いやだから、内容に興味があるのは”前提”として、 その人たちにとって良い本かを議論しないと意味ないじゃんという話 まぁ全体的にいい本っていう論調だし俺も同意するが
- 146 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:06:19 ]
- まずドラゴンブック読めない奴はゴミ
これ世界の常識あるね
- 147 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 06:51:19 ]
- このスレで勧められ板から、ドラゴンブックせっかく奮発して買ったのに、
いきなりしょっぱなからはじめから変な数式ばっかでいやになった…。 論文とかたまに見るけど、どうして人にわかるように書かないんだろうか? 大学行ってたら、小学生でもわかるように、って習わなかったんだろうか?
- 148 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 07:24:21 ]
- 小学生でもわかるように書くと厚さと著作にかかる時間とが値段が10倍になりますがよろしいか。
- 149 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 07:26:33 ]
- >>147
え?あの程度の数式読めないの? 何それこわい
- 150 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 07:28:12 ]
- 10倍じゃ全然きかないか
- 151 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 07:36:55 ]
- >>147
貴様は人間の屑だ
- 152 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 08:23:43 ]
- >>147
ただ単に読むのが早すぎただけでしょ。積読して、適正になったらまた読む
- 153 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 10:09:04 ]
- 小学生でもわかるように、ってのは 無 理 。
大学の教科書で、小学生でもわかるように書いてあるものなど皆無です。 高校生で奮発して読もうと思っているなら、学校の先生にでも相談しなさい。 多分集合の記号とか論理式とかでつまづいてるんじゃないかと思うんだけど。
- 154 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 23:36:05 ]
- 先に簡単なの何冊か読めばいいのに
- 155 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 00:00:30 ]
- ドラゴンブックが一番簡単
これも読めないゆとりは来るな
- 156 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 00:07:00 ]
- ドラゴンブック読まなくてもコンパイラ作れるけどね
- 157 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 00:13:25 ]
- 読まないと読めないは違う
- 158 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 16:33:02 ]
- 数年前、文系の見方で書いたとかいうコンパイラの本ってあったよね
日本のコンパイラの第一人者が監修になってたから、わりと買った人多い? たとえ話がぜんぜん例えになってなくて大混乱 巻末のJavaで書いたコンパイラのプログラムはほとんどCからの丸写しみたいなつくりだった。
- 159 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 16:38:45 ]
- 上のほうですでに出てたかw
- 160 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 17:15:05 ]
- むしろ、ドラゴンブックは、それさえ読めれば、相当なコンパイラが書ける本だろ。
確かLSI-Cの作者がそう言ってたと中村正三郎か誰かが書いていた記憶がある。
- 161 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 17:27:01 ]
- コンパイラを書けるくらいの人なら読める
- 162 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 17:45:10 ]
- >>160
「ドラゴンブックを読めば誰でもLSI-Cぐらいのコンパイラは書ける」だなw
- 163 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:39:56 ]
- LSI-Cのひとはyacc互換のコンパイラコンパイラも作っていましたよね。
「ドラゴンブック読めば誰でもコンパイラコンパイラは書ける」なの?
- 164 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:57:12 ]
- スクリプトエンジンプログラミング 買ってきた。半分くらい読んだとこ。
なんか書いてみたいなレベルの自分にとっては、ぴったりのイメージ なんだが、この本あんまり話題に上らないね・・・ C++出来ない自分にゃ読み替えるのが大変w javaVM向けの中間言語を吐くやつのサンプルとかがあると、最高 だったんだけど。
- 165 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 20:40:34 ]
- >>162
LSI-Cは1980年代始めから中頃までが全盛期だと思うが、 当時最高の最適化を行なう最強コンパイラですよ。 作者はデータフロー解析、レジスタカラーリングは、 原論文をバリバリ読んでいた人だと思う。 かなりの腕前の人。
- 166 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 21:33:02 ]
- >>165
いやいや、>>162は作者がそう言ったので 中村正三郎か誰かがしょんぼり、という話w
- 167 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 22:14:46 ]
- >>164
ちょっと薄い本だけど、日立の人が書いた、Javaのバイトコード を吐くコンパイラがサンプルで載ってる本あったね。 って調べたらあった↓ www.amazon.co.jp/dp/4274133087/
- 168 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 23:13:16 ]
- >>167
著者の最初に名前上がってる人、コボラーだね。
- 169 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 23:15:27 ]
- まじかよw
興味あったけど買うのよしたw
- 170 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 23:19:24 ]
- 作者じゃないが。最近発売された「プログラミング言語を作る 」がインタープリタ
もバイトコードコンパイラのソースも載ってるぞ。買って読んでないから内容は 知らんが。
- 171 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 23:20:09 ]
- MiniCamlで良いじゃん。
- 172 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:34:54 ]
- スレ住人に聞くけどJIT関係の最適化に関するプロファイリングネタはここでいいのかな?
- 173 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 04:30:55 ]
- さっきJavaで書かれた独自形式の中間言語を出力する
コンパイラが欲しいと書いてる人がいたが、 よくよく考えてみると、.NETやJavaなどのそれ自体が 中間言語でかかれててJITコンパイラまで付いてる環境では、 下手に独自で作るよりもその環境の中間言語を出力してしまう、 要するにコンパイラそのものを作ってしまったほうが簡単なんだよな。 中間言語の書式や(基本的に)仮想マシンの仕様を考えなくて済む。 だからJavaにおけるGroovy、.NETにおけるIronPythonなど、 中身はインタプリタというよりもコンパイラそのものだ。
- 174 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 05:51:31 ]
- そこでLLVMやCOINSが出てくるわけだ。
- 175 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 07:32:42 ]
- プログラミング言語を作るは神本
ドラゴンブック不要といわれる理由がよくわかる 読んでみろ
|

|