コンパイラ - oraccha/omicron GitHub Wiki

Compiler

#comment

Fri Jan 4 19:40:52 2008 LLVM . Thu Oct 5 19:01:25 2006 [http://lambda-the-ultimate.org/node/1752 An Incremental Approach to Compiler Constructio] Abdulaziz Ghuloum (Indiana University) .

Sat Sep 2 01:11:59 2006 りょうせい [http://www.aw-bc.com/catalog/academic/product/0,1144,0321486811,00.html Compilers: Principles, Techniques, and Tools, 2/E].有名なコンパイラ本を挙げろと言われたら,まず出てくるのがドラゴンブック.もうすぐ第二版がでるとの噂.最近,湯浅先生のコンパイラ本を勧められたばかりなんだけど. . Fri Oct 11 12:11:34 2002 有野 構文単位、というのはデメリット多くてメリット少ない気も。 . Wed Oct 9 21:22:45 2002 関数(Cの)単位というよりBlockや式などの構文単位なんじゃないかなと。構文木の或る一部分というか。Lispならどうせ全て関数ですが(ぉ)。[http://www.csg.is.titech.ac.jp/~mich/English/pub/199702_thesis.pdf インクリメンタルなコンパイラのためのエディタと字句解析器の提案と実装] とか。あまり粒度下げると却って効率悪くなるようですが。 . Wed Oct 9 19:41:18 2002 りょうせい インクリメンタルコンパイラは変更があった関数だけを再コンパイルするんですか.コンパイラプロセスが常駐しているというイメージですよね.ん〜,gcc では想定されてなさそうな使い方ですね. . Tue Oct 8 19:25:55 2002 コンパイラも有るようです>Google。もしかして構文木の一部だけを更新したりするのかな? . Tue Oct 8 19:07:16 2002 りょうせい インクリメンタルリンカですか? Solaris には ild ってのがあるそうですが.[http://gcc.gnu.org/fom_serv/cache/60.html Will GCC someday include an incremental linker?] (GCC FAQ) . Mon Oct 7 21:54:20 2002 りょうせい 少なくとも Linux 版の WideStudio は gcc を呼んでると思います.Windows 版は知りませんが.特に Delphi との関連を意図した発言でもないです. . Mon Oct 7 17:56:19 2002 Delphiの実装は不明ですが、一般的には"インクリメンタル コンパイル"がKeywordかも。makeも広い意味ではソレに該当しそうですけどちょっと違うっぽい。WideStudioは普通のgccを呼ぶだけだとてっきり思い込んでたんですが実際は? . Mon Oct 7 13:38:28 2002 りょうせい じゃあ,Delphi はどんな実装になっているんでしょうね.普段から GUI プログラミング(あ,OOP も(^^;)しないので,あまり具体的な例が思い浮かばない.LC2002 でもらった WideStudio でも試してみるかな. . Mon Oct 7 12:18:43 2002 あと内部情報も幾つかに分けられますよね。Classで分けるんじゃなくてInstanceで分けるというか(^^;、つまり変更の多いソースのCompile結果と少ないソースのそれとが一緒クタに管理されたら、開放も同時にやる羽目になって、コストが下げられない。そういう意味ではCの(素の)PreProcessor方式は辛すぎ。まして言語仕様が重いC++に同方式を適用するなんて… . Mon Oct 7 12:15:18 2002 見合わないなら投機もとい(間違い御免)投資に値しないのかも。プログラムを試行錯誤的に作る(RADなら特にそうなる)時にゃ、ソース修正箇所は割と局所化するっすよね。同じ個所を何度も何度もCompileする羽目になる。しかもその局所自体は修正が終わるまで"何をCompileする"べきか確定しない。RADではCompileの"Dash力"が欲しくなるのだから、そのほんの数行をCompileする速度を増したい(objprelinkの話に似てる?)。少なくともDelphiは実際それが出来ていて、その面でScript系言語なみの使い心地です。 . Mon Oct 7 07:35:15 2002 りょうせい 以前,ファイルという二次記憶形態が存在しない完全なワンレベルストア環境でコンパイルとはどんな意味を持つのだろうというのを考えていたことがあるんですが,Smalltalk みたいな形態が一つのやり方なんですかね. . Mon Oct 7 07:32:01 2002 りょうせい 見合わないから投機なのです.どうせプログラマが考えている時間は計算機が遊んでいるんで.一連のコンパイル作業中に生成される中間ファイルを共有メモリなどで共有するくらいの効果ならわかりますが,コンパイラの内部情報をオンメモリに置いておくというのはどれくらい効果があるんでしょう? . Sun Oct 6 17:41:27 2002 .NETってもしかして、WindowsそのものをSmalltalkみたいな「環境(?)」にしてしまえって狙いかな? . Sun Oct 6 17:24:17 2002 有野 defmacroでガリガリコードを書いてて言語仕様ってなんだろうと(以下略) . Sun Oct 6 17:04:29 2002 Objectとその状態(Compileしかけた情報とか)をOnMemoryで持つのは「投機的保持」なのでは?(^^;少なくともMemoryとHDDがCPUより"安価"である場合は投機的実行よりマシかなと。それにCompileの「仕上げ」はどうせ投機じゃなく保証できるレベルで(つまり最後に最低一発は)やらないとならんので、見合わない投機なのでは?makeの仕掛けは投機結果のCacheとして(も)従来から威力を発揮していましたが、それはOnMemoryでも同じメリットを享受できるので比較する意味がないし。 . Sun Oct 6 16:56:32 2002 から見れば、静的結合のほうが悪なんですが(ぉ 配列にずらりと並べたObject各々に同じMethod(実装は別かも知れない)を連射できないなんて嫌です。 . Sun Oct 6 12:49:22 2002 有野 vtblと動的結合をやめればいいんです。あんなの悪です(笑) . Sun Oct 6 11:56:27 2002 期待する利点は、Processみたいに毎度落とさなければ軽くなるかな、と(^^;。C++で特に厄介な重さの元である.Hファイルなど(内容的にはTemplateとか)も「読み込まれたまま」で「いる」ことが出来るわけで。PreCompiledHeader方式も、いちいちFileに落としてしまえば逆効果であることが多いようだし。逆にいえば「Templateを解釈する奴」「解釈結果を保持しとく奴」などなどと分割して部品化するってのも乙かな。 . Sun Oct 6 11:50:10 2002 俺としたことがBorland独自拡張をド忘れてました(^^;。gccって対象CPUはPlugInできるけど文法はPlugInできないのかな(^^;。ちょうどXML.NETを読みながら、「言語仕様」ってなんなんだろう?と暗澹たる気分になっていたところ。 . Sun Oct 6 08:39:24 2002 りょうせい RAD との関連に戻りますが,スクリプトエンジンみたいな感じで,コンパイラが共有ライブラリとして提供されてるとうれしいんですかね.ん〜,やっぱりコンパイラの仕事自体,粒度が大きいので,あまり利点を感じないな.それより UI デザイナやテキストエディタで編集している空き時間に裏で投機的コンパイルする方が効果ありそう. . Sun Oct 6 08:18:25 2002 りょうせい [http://slashdot.jp/comments.pl?sid=34744&cid=132737 ここ] (/.J) によると,VCL 動かすための独自拡張が必要だった? . Sun Oct 6 07:33:13 2002 りょうせい Kylix(元BCC?)の件は知りませんが,コンパイラメーカの面子にかけて負けられないと言うのが,最大の理由では? それに C++ になると特に gcc よりいいコード吐くんじゃないですか? . Sun Oct 6 00:09:27 2002 愛が無くてすみません(笑)。でもやっぱり状態が実行に囲われてるモデルは不自由だと思うし。つーわけで有野氏OS期待(ぉ . Sun Oct 6 00:05:37 2002 Kylix(C++)に何故gccが使われないのか?とか(ProcessなコンパイラはRADの高速性に馴染まないかららしい)、JVMの相変わらずの立ち上がりの遅さとか、を考えるうちに、ふとmod_gccとかmod_jvmとかいう妄想が沸いてしまいました(笑)。別にWeb鯖の形態である必要は無いんですけどね。でもWeb鯖だと考えても面白いかも。うふふ。 . Sat Oct 5 11:33:44 2002 りょうせい アンチUnixという話から派生.



  • [http://compilers.cs.uec.ac.jp/ コンパイラ研究・開発情報の一集積所] (UEC) .

  • [http://home7.highway.ne.jp/dayan/tips/unix/compiler.html コンパイラの構造]

  • [http://bw-www.ie.u-ryukyu.ac.jp/~kono/lecture/2001/compiler/ Compiler Construction の授業] (琉球大 2001)

  • [http://www.linuxjournal.com/article.php?sid=4885 Inside the Intel Compiler] (Linux Journal 2003-01-10) . Intel Compiler で使われている最適化テクニック.