[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 10/19 19:42 / Filesize : 260 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

「コンパイラ・スクリプトエンジン」相談室13



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 あたり

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 ]
プログラミング言語を作るは神本
ドラゴンブック不要といわれる理由がよくわかる
読んでみろ

176 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 07:41:40 ]
はい。

177 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 08:03:25 ]
はいじゃないが。



178 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 10:29:52 ]
>>170,175
信者か作者かしらんがいい加減うざい

179 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 11:43:34 ]
そう思わせるのが目的のアンチかもよ

180 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:29:32 ]
プログラミング言語を作る
買って読んでみたぞ

普通の本だろこれ
金返せよ

181 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:40:43 ]
え?俺の本からは神様が出てきたぞ?正に神本だと思ったw

182 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:16:58 ]
>>181
作者乙

183 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:20:30 ]
間違えた、紙だったw

>>182
偽エスパー乙

184 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:25:07 ]
無理に面白いこと言おうとしなくてもいいよ

185 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:31:29 ]
ドラゴンブック持ってないのに
コンパイラの本書いてるやついるけど
あいつは何なの?


186 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:35:37 ]
分かりません。

187 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 14:13:43 ]
>>169
いや、コボラーはコボラーでもIBMの奴隷って意味のコボラーじゃないからw



188 名前:デフォルトの名無しさん [2009/06/27(土) 23:40:48 ]
>>160
確か、LSI-Cの作者がそれしか読んでないとかいってただけだと思う。
万人に当てはまるわけではない と


189 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 00:30:24 ]
大昔の話じゃいろいろ説明をつけないと通じないんだなあ……
というかその大昔の時点で意味わかってなかったのか?

LSI-Cの最適化は凄いとよく言われたが
詰めが甘くて実際には骨折り損だという話もあったよ
コンパイル時間はMS-Cの倍だったしね






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<260KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef