「コンパイラ・スクリプトエンジン」相談室4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,CPS変換,
レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,それに
VM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。
前スレ
1 http://pc.2ch.net/tech/kako/981/981672957.html
2 http://pc2.2ch.net/test/read.cgi/tech/1021136715/ (dat落ち)
3 http://pc5.2ch.net/test/read.cgi/tech/1070089173/ (前スレ)
関連リンクは多分 >>2-10 あたり
0153デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG>そちら様の完成コードでも拝見さしてもらいましょうかな?
>そちら様の完成コードでも拝見さしてもらいましょうかな?
0156デフォルトの名無しさん
NGNGpやらGやらVやら何って感じだが、
それよりなにより是非って( ゚д゚)ポカーン
基本的な日本語が使えてない。
コード以前に中学の国語あたりをやり直せ。
0157デフォルトの名無しさん
NGNGLL(k)構文解析で解析できる文法をLL(k)文法っていうんじゃないの?
0158デフォルトの名無しさん
NGNG監:中田育男
法政の学生?
本人が見ることもあるかもしれないから書くけど、
体を表す名前を付けることを身につけてほしい。
CellG=lexer
CellK=parser
CellV=仮想マシン
らしいけど、もしそうなら、
Lexer, Parser, VirtualMachine といった名前を付けるべき。
記号表のエントリにはTableEntryといった名前をつけるべきで、
Tableという名前を付けてはいけない。
読んで分かりやすいプログラムを書くのは
ある程度プログラムを読んだり書いたりの
経験がないと難しいだろうけど、ガンガレ。
あと、配列じゃなくてListを使うとか、
文字リテラルはinternしなくていいとか
もうちょっとJavaを勉強しよう。
0159デフォルトの名無しさん
NGNG中田育男はこれ書いた日本のコンパイラ最適化の第一人者ですな
0160158
NGNG0161デフォルトの名無しさん
NGNGK…Koubunkaiseki
V…VM
これくらい想像できないようでは現場のコードは読めないぞ
0162デフォルトの名無しさん
NGNG考え方のレイヤが違いますよね?
やはりコンパイラを作成する場合、ターゲットとなるアーキテクチャに対しても
詳しくないと本当の意味での最適化コードは作成できない??
0163デフォルトの名無しさん
NGNGマジですか?!
0164デフォルトの名無しさん
NGNGだいたい同じPentiumでも種類ごとに適した最適化手法が違うし
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNG???
0167デフォルトの名無しさん
NGNG君は>>162を100回読み直したまえ。
0168デフォルトの名無しさん
NGNGそういう小姑みたいな性格は何処に行っても嫌われますよ〜
0169デフォルトの名無しさん
NGNGKokkurochi
Varusan
0170デフォルトの名無しさん
NGNG嫌ってくれて構わんよ
0171折れ目も
NGNGhttp://www.kt.rim.or.jp/~tyamamot/forthj/threaded-codej.html
マイクロベンチ.興味深い.
http://www.complang.tuwien.ac.at/forth/threading/
Pentiumならsubroutineが速い
0172デフォルトの名無しさん
NGNGそりゃそうだろ(w
0173デフォルトの名無しさん
NGNGレビュアー: カスタマー 帯広市 Japan
JavaのVM向けのコードを生成する簡単なコンパイラが乗っているというので買いました。
非常に参考になると思います。
ただ、よけいなことかも知れませんが、この本の構文解析の部分は、中田育男著の「コンパイラ」の本と、
例題や説明までほとんど同じなので驚きました。
著作権の方は大丈夫なのでしょうか。
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGそれどころか前書き見たいのも中田先生が書いてた
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGするどいな
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGドラゴンブックにある「基本ブロック」
っていう考え方って、何かセンス悪い気がしない?
基本ブロックだろうが、大域的構造だろうが
同じ「グラフ」なんだから、それらを区別せず
統一的に扱って最適化を施すのが、
筋の通った考え方だと思うんだけど。
ま、確かに「基本ブロック」内だけで考えれば
殆どの問題は簡単になるのは分かるけどさ。
現実のコンパイラでも「基本ブロック」って
いう戦略は、よく使われているんだろうか?
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG0185
NGNGあっという間に品切れになってる。
0186デフォルトの名無しさん
NGNG基本ブロックが何かわかってないだろ。
基本ブロック自体はグラフそのものじゃなくて、
グラフの節点だぞ。
0187デフォルトの名無しさん
NGNGコンパイラ書いてみろ。どんなに頑張っても、基本ブロックの概念を使わないコンパイラは、
仮に>>181が天才で、同じ質のコード生成を達成したとしてもコンパイル速度は100倍
遅くなる。更に言えば、基本ブロックの性質を完全に無視するとするなら、同じ質の
コードは生成できない。
最適化ってのはいわゆる難しい問題なので、現在の計算機では残念ながら純粋な
数学のようには取り扱えない。
ついでに言うと、一般のプログラムってのは再帰的な構造を持っていることを考えると、
基本ブロックという概念はむしろセンスが良い。
0188デフォルトの名無しさん
NGNG基本ブロックの中の人とはリストであり、
すなわち縮退したグラフだと思うけど?
>>187
>同じ質のコード生成を達成したとしてもコンパイル速度は100倍遅くなる。
多分そうだろうと思う。
でも、その手法の「泥臭さ」自体は認るでしょ?
後はそれを「よいセンス」と捕らえるかどうかの差だね。
0189デフォルトの名無しさん
NGNG認るでしょ
認るでしょ
0190デフォルトの名無しさん
NGNG> 基本ブロックの中の人とはリストであり、
> すなわち縮退したグラフだと思うけど?
細かく分けすぎ。そこまで分けて最適化に役に立つのか?
何のためのグラフか考えてみろって。
語義的には確かに正しいんだが、その反論はちょっと苦しいと思うぞ。
自分も基本ブロックはセンスが良いと思うほうに一票。
0191デフォルトの名無しさん
NGNG言語処理系を開発するとしたら、みなさんなら
どういう実装戦略をとりますか?
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG開発を始めようとしているのか、まずそれから語るんだ。
0194デフォルトの名無しさん
NGNGリフレクションで丸ごと生成できないかなと・・・
思っただけ(汗
問題はBNFを何処に書く、というところ?
boostみたいに言語中言語にできれば、シームレスで最高なんですが、
C#のジェネリッククスは果たしてどこまでできるのか?
てところ。
VisualStudio.NET2005でたら、ちょっとアタックしてみよかと思ってます。
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG「手段」を作る方法を語るのが目的のスレで何を言う
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG使いこなしてないのまる分かりだぁ。。 (o´C_,`o) ハズカスィ〜
それっぽい用語並べていけば、自発的に連結して
素敵な何かが自然発生する・・・とか、連結方法が思いつかないから
みなさんに『実装戦略』の糸口を聞きにきた、とかか…。 ハ・ス・゙カ・スィ〜
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG作りたいからやってんだろいいじゃネェか
使いこなしているかどうかは関係ないってしてほしいね
0205デフォルトの名無しさん
NGNG頭に浮かんだ抽象像を前に悩む前衛彫刻家みたい
0206デフォルトの名無しさん
NGNG>>196みたいなこと言われるっち。
0207デフォルトの名無しさん
NGNG意味不明の煽りヤメレ、フレーム引き起こしたいなら適当な死滅スレにでも逝け
0208デフォルトの名無しさん
NGNG余計な一言
0209デフォルトの名無しさん
NGNG/\___/ヽ
/ :::::::\
| '''''' '''''' .:::| / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|(●), 、(●)、.::::| < 糞スレで余計なこと
| ,,ノ(、_, )ヽ、,, .:::::::| | 二度と聞かねぇょ・・・
\ `-=ニ=- ' .:::::/ \_______
`ー`ニニ´-一´ヽ、
/ _ l
/  ̄`Y´ ヾ;/ |
______,| | |´ ハ
| | |-‐'i′l
|__ | _| 7'′
( (  ̄ノ `ー-'′\
 ̄  ̄ \
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG/\___/ヽ
/ :::::::\
| '''''' '''''' .:::|
|(●), 、(●)、.::::| .。oO( プッ
| ,,ノ(、_, )ヽ、,, .:::::::|
\ `-=ニ=- ' .:::::/
`ー`ニニ´-一´ヽ、
/ _ l
/  ̄`Y´ ヾ;/ |
______,| | |´ ハ
| | |-‐'i′l
|__ | _| 7'′
( (  ̄ノ `ー-'′\
 ̄  ̄ \
0212デフォルトの名無しさん
NGNGあそこまですんならperlとか駆使すればいいじゃんねえ
0213デフォルトの名無しさん
NGNG一度使ってみたら?
別ファイルとして扱っていた文法定義ファイルが、
ライブラリーになるという意味がどれだけ重要かわかるよ。
0214デフォルトの名無しさん
NGNGC++の機能だけで実装した方がネイティブな感じがして(・∀・)イイ!!
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNGこのスレ的にはいまいちだろ。やはりLisp >>> Ruby、とか言ってみる。
Lispのほかにも構文木をファーストクラスオブジェクトとして扱える言語は
あるのかな?
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG/\___/ヽ
/ :::::::\
| '''''' '''''' .:::|
|(●), 、(●)、.::::|
| ,,ノ(、_, )ヽ、,, .:::::::|
\ `-=ニ=- ' .:::::/
`ー`ニニ´-一´ヽ、
/ _ l
/  ̄`Y´ ヾ;/ |
______,| | |´ ハ
| | |-‐'i′l .。oO( プッ
|__ | _| 7'′
( (  ̄ノ `ー-'′\
 ̄  ̄ \
0219デフォルトの名無しさん
NGNG誤解があるようです。
Ruby のイテレータメソッドはそんな単純なものじゃないです。
0220デフォルトの名無しさん
NGNGじゃあどんなもんなの?
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNGPythonの構文木ってLisp使いが考えるようなものじゃないようだから
あてはまらないと思う。
ttp://www.unixuser.org/~euske/doc/python/python-lisp-j.html
の「Lisp プログラマが Python を学ぶときの要点」の12番参照。
0223デフォルトの名無しさん
NGNGこれこそ本物の知ったかって奴
0224デフォルトの名無しさん
NGNGオレも221と同じ疑問をもってるのでよろしければどういうことか
教えてください。
0225デフォルトの名無しさん
NGNG死ね
0226デフォルトの名無しさん
NGNGRubyの評判を落としたいのか?
それともスレの趣旨が理解できない池沼か?
0227デフォルトの名無しさん
NGNGこれは221に語りかけたものです、ちょっと足らなかったですね
でも、なんでも煽りに見えるのは良くないです。
#つか、そんなスレになっている元凶は死ね、
#いくら煽ったってお前の実力は向上しないし、稚拙でもタコでもやる奴の実力のみが向上するんだよ。
#おまえの行き着く先は何もできない才能も人望も無いロートル爺だ。
0228デフォルトの名無しさん
NGNG/::::::: \ /\___/ヽ
.|:::. '''''' '''''' | / ̄ / :::::::\
|::::.,(一), 、(一)| < >>227 | '''''' '''''' .:::|
.|::::::: ノ ,,ノ(、_, )ヽ、,, | \_ |(●), 、(●)、.::::| .。oO( 心の敵とアツク戦い始めた・・・
\:::::.ヽ`-=ニ=- ' / | ,,ノ(、_, )ヽ、,, .:::::::| ソッ、としておくべし
/ `一`ニニ´-,ー´ \ `-=ニ=- ' .:::::/
/ | | / | `ー`ニニ´-一´ヽ、
/ | | / | | / _ l
/ l | / | | /  ̄`Y´ ヾ;/ |
__/ | ⊥_ーー | ⊥_ _____________,| | |´ ハ
| `ーヽl_l_l.} ヽl_l_l.} | | |-‐'i′l
(、`ーー、ィ } ̄` ノ |__ | _| 7'′
`ー、、___/`"''−‐" ( (  ̄ノ `ー-'′\
, ̄  ̄ \
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG0231191
NGNGえ〜とですね。
JavaでLispという企画を読んで、そんなら俺はC#で
Lispみたいに考えただけなんですけど・・・
ガーベジコレクションはC#任せにできるけど
字句解析構文解析で既存の生成系を生かせないかなと
思っただけなんですね、はい
S式ならそんなの必要ないとかそういう突っ込みはなしで
お願いします・・・
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNGC言語のソースから写しましたって感じだなあ。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGボケの方向があさって過ぎ。
0239デフォルトの名無しさん
NGNGhttp://www.amazon.com/exec/obidos/tg/detail/-/0321131436/
いつでるの?来年の11月かよ・・・
0241デフォルトの名無しさん
NGNG大学院の実習で作ったプログラムみたいだね。
java.util を使ってないところがすごい。
0242デフォルトの名無しさん
NGNG今ごろこのスレみて、あ〜や、印税の計算でニタニタしてるよ・・
↓
曰 ,,-─-、
| | [lllllllllll] 卒研の成果物ためしに活字にしたら
ノ__丶 |||`_ゝ´|||_ 株を買うより楽に儲けれた
||日|| 丿 ( .| ¢、
_ ||本|||/丿 .  ̄丶.)
\ ||酒||L二⊃ . ̄ ̄\
||\`~~´ (<二:彡) \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
. || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
0243デフォルトの名無しさん
NGNG. 曰
| | ,,-─-、
ノ__丶 [lllllllllll] ./ ̄いくら煽ったってお前の実力は向上しないし、
||中|| |||`_ゝ´|||_ < 稚拙でもタコでもやる奴の実力のみが向上するんだよ。
||田|| 丿 ( .| ¢、 .\_ おまえの行き着く先は何もできない才能も人望も無いロートル爺だ。
_ ||育|||/丿 .  ̄丶.)
\ ||男||L二⊃ . ̄ ̄\
||\`~~´ (<二:彡) ←「コンパイラ・スクリプトエンジン」相談室住民
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
. || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
0244デフォルトの名無しさん
NGNGインポートはjava.ioだけだったような・・・。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGλ...... λ......
λ...... λ......
λ...... λ......
λ...... λ......
λ......
λ...... λ...... λ......
0247デフォルトの名無しさん
NGNGこの手の技術書は初刷 2000 冊くらいだぞ。
2000円 * 5% * 2000 = 20万円
バイト代程度じゃん。
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG田舎では売れ残っているが。
0251デフォルトの名無しさん
NGNG本文はどう?>買った人
0252デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています