[表示 : 全て 最新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 あたり

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の倍だったしね

190 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 01:40:22 ]
>>189
8080版の最適化の話だろすごかったの


191 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 07:18:31 ]
LSI-C(笑)

192 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 07:19:14 ]
4004(笑)

193 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 09:20:58 ]
>>189
知りもしないことをよくもまあ

194 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 11:56:45 ]
知ってる人だけ。。。
MSX-Cは変数が自動でレジスタに割り当てられるんだけど、
そうなるとポインタを介したアクセスと一貫性がなくなる。


195 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 12:01:02 ]
MSX-C = LSI-C

196 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:23:22 ]
>>194
変数のポインタを取り出せばメモリ上に確保しなおしてたよ
それともループ内に持ち込んだ変数を割り込み処理で外部から変更した時に関与が出ないって意味で言ってる?

197 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:59:34 ]
#include <stdio.h>
#pragma nonrec

main()
{
    int n;
    int *p;

    p = &n;
    n = 10;
    *p = 100;
    printf("n = %d\n", n);
}


MSX-C のマニュアルに載ってたサンプル。
これで「n = 10」と表示されるそうな。

198 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:10:50 ]
なんじゃこりゃ。
これが仕様なの?



199 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:30:24 ]
往年の8ビットマイコン用Cコンパイラの#pragmaか
コード書く人もコンパイラの振る舞いにあわせて組んでたんだね

200 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:40:43 ]
逆だろ。
pragmaはコンパイルの動作を指定するためにある。


201 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:14:16 ]
MSX-CでC言語を勉強したんだけど、これによくはまった。
レジスタに割り当てないこともできるけど。
#pragma nonrecはローカル変数をstaticがついているかのようにする。
non-recursiveの略。CPUの制限でスタック上の変数にアクセスするのが
遅いからです。コードの再利用のことを考えてのことだと思う。
あとMSX-Cはlongと浮動小数点数がないんです。
#ifもない。if文で代用とマニュアルにありました。実行されないコードは
生成されない。
なにかの役に立つかな?

202 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:17:14 ]
#pragma有効で組むか
さもなくば死か
この時代にCを開発用途に使えたという時点である意味幸運だったとも言える

203 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 12:13:13 ]
8080でのスタックフレームってめんどくさいよな

204 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 23:59:31 ]
高級言語を意識して設計されてないから仕方ない
Z80だとIX/IYで強引にやるのか?汎用/裏レジスタで最適化とかしてたら凄いが

205 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:51:28 ]
IX/IYは人間向きのレジスタで、
便利ではあるけど遅いからコンパイラは使わない。
(HD64180あたりになると結構速かったが)
LSI-C(MSX-C)はもちろん裏レジスタ使いまくり。


206 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 22:30:31 ]
むかし見たLSI-C80の広告ではIXかIYをフレームポインタに使っていた
コードが掲載されていた。
MSX-Cは裏レジスタ,IX,IYを使うコードは生成しなかったと思う。
付属のライブラリでは使っているかもしれませんが。
スタック上のローカル変数アクセスの方法はどうだったか記憶にありません。
MSX-Cのアセンブリ言語出力をZ80に最適化するプログラムを書いた人もいるようです。
僕も出力を見ていたときすこし考えたことありました。
アセンブリ言語レベルで8080から8086に変換するプログラムの存在を古い本で読んだのも思い出しました。

207 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 23:41:00 ]
コンパイラが将来性のない
回顧主義者おっさんのたまり場であることがよくわかる

だから日本は研究でも実業でもこの分野でチョン以下になる。


208 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 23:51:29 ]
>>207
そんな愚にも付かないことを言ってるヒマがあったら、
LLVM向けに何かメジャーな言語を移植するのだ。



209 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 00:01:25 ]
LLVMは糞だろ

210 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 00:22:10 ]
>>209
どこがどう糞なの?

211 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 23:55:53 ]
>>210
Milepost GCCがあるから不要
自分でコードをチューニングするという古臭い時代は終わったの
自動的に学習して最適なコードを出力してくれるからLLVM自体不要なの

212 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 00:01:16 ]
幼稚園児かw


213 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 00:15:27 ]
>>211
というか、同じようなアイデアのllvm-gccのほうが有名なわけだが?

214 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 00:20:21 ]
>>211
完全自動化だし、今年後半のコンパイラ関係の
賞総なめにするって言われてるけどねぇ
EUレベルの国家プロジェクトと田舎大学の糞プロジェクト
比較されてもねぇ


215 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 00:23:40 ]
幼稚園児だな

216 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 07:15:50 ]
ヒント:実績

217 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:26:47 ]
Milepost GCCのICIな人たちが次はLLVMでやってみるって言ってんですがねえ…

218 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 18:29:02 ]
基地外は相手にするなよ



219 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 21:43:00 ]
>>217
妄想乙

220 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:33:17 ]
>>219
君がろくに論文も読んでないのが良く分かりました。

221 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:42:00 ]
このスレふつうのコンパイラをつくろうを
宣伝したやつフルボッコにするからな


222 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:27:47 ]
まず>>221が・・・

223 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:45:49 ]
>>221
>>221
>>221

224 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:59:24 ]
>>221
>>221
>>221
>>221
>>221
>>221

225 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:14:05 ]
著者の関係者なのか?

226 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:26:25 ]
8080でLLVM実装まだ?

227 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 17:28:44 ]
ゼッパチでよければ

228 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 16:05:46 ]
x86用のコードを吐くCコンパイラの、64bit整数(long long)まわりを読んでいます。

addl $1,%eax
adcl $0,%eax

みたいな簡単なものは理解できたのですが、シフト演算や乗算・除算になると
追い方が悪いのか理解力が弱いのかさえ分からなくなってきました。
この手のことを解説したサイトって無いのでしょうか。



229 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 17:55:56 ]
>>228
たぶん自分で調べたほうが早い。

最適化をかけないデバッグビルドで、
演算させるたびに何か関数(printf)でも呼び出す形にするといいよ。

230 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 18:16:51 ]
デバッガ知らないの?gdb?

231 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 18:21:05 ]
前提知識であるx86のアセンブリの知識はあるの?

232 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 01:09:36 ]
$(GCC)/gcc/longlong.h
まじお勧め

233 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 06:52:57 ]
>>229
そうですか。急がば回れってことなんでしょうか。
おれ、このリーディングが終わったらまとめ書くんだ。

>>230
acid
使い方が分からないので、スタックトレースにしか使ってません。

>>231
数年前に、はじめて読む8086を流し読みした程度の知識です。
分からない命令はインテルのpdf引きながら読んでいます。

>>232
www.opensource.apple.com/source/gcc/gcc-937.2/gcc/longlong.h
mullを1回で、(long)*(long)はできるのですね。おもしろい。

234 名前:デフォルトの名無しさん [2009/07/08(水) 09:10:38 ]
>>230
gcc使う人はたいていデバッガ使わないでしょ。
デバッガに頼り切ってるのはVS厨が多い。

235 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 09:36:37 ]
> gcc使う人はたいていデバッガ使わないでしょ。
そういう人って
デバッグがデバッガに頼り切りではないという面もあるにしろ
デバッガを使いこなせてないという面もあるんじゃないかな。

236 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 09:59:40 ]
>>234
それは偏見。
組み込みLinux開発ではgdbくらい使いこなせないとお話になりません。

237 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:28:59 ]
>>236
それは偏見。
組み込みLinux開発ではgdb使ってるようではお話になりません。

238 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:31:41 ]
gdbは使いこなせるけど使ってないケースもあるわけで



239 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:35:33 ]
printfの方が高機能なわけで

240 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:56:46 ]
Caper良さそうなのですが字句解析(Lexar)には
何を使うのがいいでしょうか?
おすすめを教えてください。







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

前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