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


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

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



1 名前:デフォルトの名無しさん [2005/12/20(火) 21:43: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/
関連リンクは多分 >>2-10 あたり

579 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 02:52:17 ]
>>574-577
おまえら長文で微妙に書き換える位なら差分だけあげろや惚け


580 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 21:37:29 ]
同じファイル内のdiffを取るツールって時々欲しくなるよね。
エディタ組み込みのスクリプトで書くのも面倒だし。

581 名前:デフォルトの名無しさん [2006/02/27(月) 22:05:37 ]
>>580
perl : Algorithm::Diff
Python : difflib

582 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 22:52:22 ]
>>579
コンパイラ屋なら差分くらい自分で抽出せい

583 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 23:15:05 ]
上の本、買っていいんじゃない?

584 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 23:15:29 ]
>>582
プログラマは無駄を嫌うので、
出来る・出来ないに関わらずやりたくない。
とりあえず最後の577だけ読んだ。

585 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 23:33:55 ]
そんなレスも考えたら凄い無駄だな

そして>>585も…

586 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 03:17:49 ]
「いまどきのプログラム言語の作り方」って本を読んでるんだけど、サンプルコードがJavaで
書かれているにもかかわらず、インターフェースがまったく使われてない。

そういうもの?

587 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 09:59:13 ]
インタフェースは仕様を記述するものだからな
作者は仕様を考えたりできなかったんだろう



588 名前:デフォルトの名無しさん [2006/02/28(火) 11:20:56 ]
名に要ってんだコイツ

589 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 11:47:26 ]
>>588が低脳をさらけ出したw

590 名前:デフォルトの名無しさん [2006/02/28(火) 12:47:34 ]
↑意味不明もここまで来ると病気だろう

591 名前:デフォルトの名無しさん [2006/02/28(火) 14:00:13 ]
2つ上をさす時は
矢印使わないほうが紛れが無くて良いと思うよ。

592 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 14:07:00 ]
そうだな。こういう風にな。

>>591はバカでアホすぎ。死んだ方がいいよ。

593 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 14:47:08 ]
おまえらいい加減にしろ

594 名前:591 [2006/02/28(火) 15:39:26 ]
まぁ相当悔しかったんだろうな。

595 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 16:14:38 ]
お前だろwww悔しかったのww

596 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 16:28:38 ]
wはいい火病メーターだなホント

597 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 17:09:39 ]
ほらww悔しかったから反応しちゃってるwww



598 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 17:39:02 ]
ListやConnectionの仕様をみると、確かにこりゃインタフェースだと思った。
ClonableやAppendableとかはなんかインタフェースとは違う気がする。(使うないう意味じゃなくてね)

599 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 17:54:15 ]
と、過剰反応する>>597の姿
ttp://www.dumpalink.com/media/1140251493/Most_Patient_Guy_In_The_World

600 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 17:58:58 ]
>>599
うざいから火病くんは消えてね

601 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:06:28 ]
という悔しさいっぱいの反応でした

602 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:08:23 ]
自作自演で荒らしてるのか?



603 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:10:59 ]
>>601
うざいから火病くんは消えてね

604 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:12:07 ]
自演じゃないならある意味チキンレースだな
相手に放置されちゃった方の負け

反応が無くて俺のこのレスが最後になったらどうしよう、と
ハラハラしながら送信してるんだろうな、どっちも

605 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:49:08 ]
見当違いな意見だ。
逆だ逆。自分が最後じゃないと悔しいんだよ。こういう手合いは。

606 名前:デフォルトの名無しさん [2006/02/28(火) 23:42:26 ]
また、rubier と lisper かw
まったくお前らって(ry

607 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 23:50:10 ]
>>606
もう Ruby や Lisp じゃ釣れない事を学習しろ。



608 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 23:52:22 ]
(・∀・)ニヤニヤ

609 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 04:44:59 ]
以前Flex/Bison使うと生書きするより実行速度が遅くなるって誰か言ってたけどいったいなぜ?
それともデマ?

610 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 05:08:00 ]
そりゃターゲット言語に特化すれば速くなるでしょ。何でデマ?

611 名前:デフォルトの名無しさん [2006/03/01(水) 07:17:46 ]
>>606
> rubier

612 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 07:20:32 ]
もうだれかVIPとか言う言語つくるしか


613 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 08:48:37 ]
>>610
よーわからんけどFlex/Bisonに勝てそうな気がしない。
なんかすごい効率的にやってそうじゃん。

614 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 14:02:45 ]
『プログラミング言語を作る』
kmaebashi.com/programmer/devlang/index.html

615 名前:デフォルトの名無しさん mailto:sage [2006/03/02(木) 01:01:49 ]
>614
>381

616 名前:デフォルトの名無しさん mailto:sage [2006/03/02(木) 02:13:51 ]
がいしゅつでしたか (><)

617 名前:デフォルトの名無しさん [2006/03/02(木) 19:41:51 ]
俺言語でなく姫言語というのはないのか?



618 名前:デフォルトの名無しさん [2006/03/02(木) 22:32:39 ]
プログラミング言語 姫

619 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 12:52:34 ]
彼女に捧げるプログラミング言語 Love
そんな彼氏に捧げるプログラミング言語 氏ね

620 名前:デフォルトの名無しさん [2006/03/03(金) 19:52:46 ]
love か、いいネーミングだ。


プログラミング言語 ORZ


621 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 07:42:53 ]
>>620
むしろ OTL?

622 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 11:04:14 ]
>>619
ウィザードしか使えないくせによく言う(都市伝説ですか?)

623 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 11:54:43 ]
>>618
>プログラミング言語 姫

これの勉強を始めるのは「姫はじめ」か。


624 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 13:26:21 ]
入門書「はじめての姫」


625 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 15:40:34 ]
参照カウンタやマークスイープ型より効率のいい方法のGC考えた。

循環参照でも問題ないし、スループット、レスポンスともにほとんど
アプリの動作を邪魔しないし、効率は参照カウンタ方式の99%は
出る見込み(Cで普通にmalloc,freeする程度の負荷以上はかから
ない)

626 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 18:26:21 ]
同じことをやってるヤシはいると思うが、まあガンガレ

627 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:12:42 ]
Cのようにポインタをビット操作できてしまう言語ではGCの実装は無理でOK?



628 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:19:56 ]
コンサバなものならいくらでもあるわけだが…

629 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:20:29 ]
↑C「で」実装するではなく、Cのような言語にGCを搭載する、の意

630 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:42:43 ]
C/C++ 用の GC があるの知らんの?

現状だってプロセスのメモリ空間の中はスタックとか読み込んだライブラリを置く所とか
色々細分化されている訳で、そういう所は好き勝手弄っちゃダメでしょ。同じように GC
ヒープ領域を用意してあげれば良いんじゃないの。

631 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:49:14 ]
>C/C++ 用の GC があるの知らんの?
通常のmallocやnewに対応した完全に汎用的なGCがあるの?
原理的に絶対無理だと思うんだが。

やっぱGC専用のポインタが必要ってことだよね。

632 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:01:52 ]
>>628 >>630
ポインタのアライメントを利用して下位1ビットに情報を…
とか、その手の事をやられるとお手上げ。


633 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:03:38 ]
はいはい、C++/CLIでもやってなさいボウヤ

634 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:05:07 ]
>>632
>ポインタのアライメントを利用して下位1ビットに情報を…

もともとこういうことをするのは、C言語でも未定義なのでする奴が悪い、でオワリ

635 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:31:54 ]
JavaでできていることがCで出来ないはずはないだろ。
アセンブラに落とす時にJavaのVMみたいに複雑なメモリ管理を織り込めばいいんだから。

お前ら、言語仕様とABIを混同してないか?


636 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:34:41 ]
この話は仕舞いだな。

637 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:45:38 ]
>>635
>JavaでできていることがCで出来ないはずはない
JavaがGCできるのはCよりも操作の制約が強いからだ

char *a = malloc(100);
int b = (int)a; // これの善悪は別問題として
a = 0;

ってやってaからの参照がなくなった時点でGCが掃除しちゃったら
まずいだろ。プログラムとしてはbから復元して利用することもあり
えるから。

よってこういうことが出来る素のCには、「触らないでねポインタ」を
新たに導入しないとGCは装備できないんじゃねーか?



638 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:53:07 ]
だからコンサバ。

639 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:57:37 ]
わかんないおれのためにもっとくわしく。コンサ何とか型のGCって名前は
聞いたことあるけど、そんなにすごいもんなのか?

640 名前:632 mailto:sage [2006/03/05(日) 21:00:00 ]
>>634
その突っ込みは>>627に対して?
何で俺?


641 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:03:26 ]
>>639
homepage2.nifty.com/aito/gc/gc.html
www.donguri.sakura.ne.jp/~shock8/wisper/gc1.html

642 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:18:35 ]
>>641
リンク先見たけど(情報どうも)結局>>637をやられると吹き飛ぶじゃん。
回収し損ねは許容するとして、ポインタを隠蔽して分解して
持っておくようなことはやったら駄目ってことだね。

よって「触らないでねポインタ」を導入しないことには回収しそこねや
ハングアップを防止することは出来ないというのがオレの結論。

643 名前:デフォルトの名無しさん [2006/03/05(日) 21:18:53 ]
まぁ、ばかはどの刷れにもいるけどなw


644 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:21:01 ]
>>637でGCがおかしくなるって言ってる奴は機械語レベルの表現を
全然理解できないんだろうなあ。


645 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:22:43 ]
うむ。

646 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:26:39 ]
まあ、マジックリストに対応できるようなGCは
それなりに大変だろうね

647 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:29:25 ]
たしかCからJavaを呼べるはずだから
JavaはCのManagedコードライブラリと見ることも出来る



648 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:29:34 ]
>>644-646
というかGC使いたかったら泥臭いことはあきらめろってしかいえない。


649 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:30:56 ]
はあ?


650 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:30:59 ]
>>642
スマソ。>>641 の下のリンク先は読まない方が良いや。
適当にググって貼っつけただけだから。何じゃこりゃ。

651 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:41:52 ]
>>644
もうちょっと詳しく。当方アセンブラプログラマだ。

int b = (int)a;
a = 0;

とやったあとでb をビットレベルで分解したらどうにもならんと思うが、
コンサバ型だとそうならない魔法があるのか?

bを再構成してポインタに戻してアクセスしたら開放されてるって
いう状況は起こりうると思うが。

652 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:44:21 ]
だんだん条件が増えていく件。

653 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:52:27 ]
そりゃさすがにどうにもならない。

とはいえ、ビットレベルで分解→後で計算によって得た値が
セマンティクスの面で有効なポインタかどうかは疑問ではある。

>>652
つか、「原理的に無理」で思考停止してるから。


654 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:59:47 ]
>>652
議論に勝つために、徐々に条件を変えていくんだよなー。
2chはこういう奴ばかり。

655 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:09:08 ]
議論に勝った所で何があるわけじゃないんだけどね

俺の知らないところで何かあるのかな?w

656 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:13:50 ]
>>654
議論に勝つためというより、物知らずというか
ものの評価基準が幼稚なだけだと思われる。


657 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:21:31 ]
えーと、どこで笑えばいいのかな?



658 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:24:05 ]
>>657の頭の弱さ。


659 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:25:21 ]
ふーん。

660 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:25:56 ]
>>656
コンサバティブ GC を初めて知ったレベルなら仕方が無いんじゃないの。
まだ当たりが付けられないだけだと思う。

661 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:26:56 ]
あのー
>>642の時点で分解って書いてるんですけど

662 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:30:00 ]
>>652
651じゃないが、わざわざポインタを整数として扱おうとするなら、
その後なんらかの演算を行うんじゃないかってのは
容易に想像つきそうなものだが。

ま、演算は演算させておいて、ポインタはポインタのまま
別に持っておくとか手はありそうだけど。

663 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:30:14 ]
元々の命題は >>637 だろ。

664 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:33:40 ]
重箱の済みつつき過ぎ、話も出来やしないよ。
>>662はまともな人だね

665 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:35:08 ]
いや、>>631なんじゃないの。
631を無視して637だけなら対応したGCを書けばいいだけの話。

666 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:35:43 ]
>>662
演算をするかどうかじゃなくて、再代入するかどうかが問題でしょ。
コード辺だけでそこまでケアしろと?

667 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:42:04 ]
再代入というか、計算で合成した任意の値をアドレスとして
アクセスできるかどうかだね。
GCはプログラム中のデータからトレースできるものを残して
それ以外を回収するってことだから、
可能な演算の集合を定義してルートとなる即値だけでなく
その集合に含まれる演算で計算可能な値もアドレスとして
コンサバティブに扱うことをトレースとすればいいだけの話。
だから、むしろ「原理的には」GCは設計可能。「原理的には」だけど。




668 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:48:20 ]
ちょっと修正
ルートとなる→アドレスとなる
「原理的には」GCは設計可能→「原理的には」完全に汎用なGCは設計可能



669 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 23:35:17 ]
そのGC、何一つヒープを開放してくれなさそう

670 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 23:42:56 ]
>>666
想像しろよ。書いてるもんが100%だと決めなきゃ話できないようじゃ
CPUと一緒じゃないか。人間だろ? >>662は十分想像可能な範囲。

現に出来てる者が居る以上、それが出来なかった奴は気がまわら
ないということ。

なんで整数に持ってきたいのか用途は色々あるだろ。まあ想像でき
ないかもしれないがな。

671 名前:デフォルトの名無しさん [2006/03/05(日) 23:47:32 ]
まぁなんらかのお約束は必要だよ


672 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 23:48:31 ]
>>669
コンサバだからねw
演算の集合は全域で同一である必要はないわけで、
適当にヒントを与えて限定してもいいし、GCがコードを解析してもいい。
普通はそこまでやってらんないから演算は値をそのまま使う
という一択だと考えるだけで。


673 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 00:34:34 ]
>>670
幾らでも拡大解釈しようはあると思うけど、GC の仕組みを知っていれば
そちらには振れないんじゃないかというのが俺の解釈だっただけだよ。
ま、GC の仕組みを知っていれば、最初からこんな質問も出なかった
だろうけど。

674 名前:デフォルトの名無しさん [2006/03/06(月) 00:36:57 ]
なんか理論の飛躍が Ruby vs Lisp の時と似ているなぁ

675 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 01:06:36 ]
同じ面子でグルグル回してるだけだから

676 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 07:47:45 ]
>〜俺の解釈だっただけだよ
後から言うなよ

677 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 08:30:12 ]
後から想像しろとか言ってきたのアンタじゃん。俺にどうしろと??
もうこの話は終わったんだから絡んで来るなよ。



678 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 10:17:54 ]
>>677
> 俺にどうしろと??
恐らく謝罪を要求してるのでしょう :-)
あなたをやり込めたい一心であらゆる論理を適時付け替えて頑張っているのですから、
彼のプライドを満たすためにも謝ってあげてはどうかと思います。

679 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 10:40:02 ]
>>678
>>657






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

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

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