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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 13:12:25 ]
禁止事項【臨時】
・前スレの911自身の書き込み、またそれに関連した書き込みを禁止致します。
 (スレが荒れる原因となります)

プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,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/
前スレ 13 pc12.2ch.net/test/read.cgi/tech/1233143342/
関連リンクは多分 >>2-10 あたり

583 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:23:24 ]
大学の学生実験でTinyCなる言語のコンパイラ作らされたなあ

- 型はintだけ。void型やポインタ・配列はなし
- 演算子は論理和積、加減乗除、比較だけ
- 制御文はif, while, returnだけ

手習いにはちょうどいいサイズだったと思う

584 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:23:47 ]
TinyCは目新しさがないんだよな。みんな最初に通る道だし。

585 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:25:24 ]
逆にHugeCを作れば

586 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:26:58 ]
D言語w

587 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:31:09 ]
C言語にクラスって必用かな。ネットのコピペで良いから、クラスのありがたみがいまいち理解できない。
スコープの厳密さは良いと思うけど。

588 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:32:29 ]
RAIIが使えるだけで随分差が出てくると思う

589 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:35:40 ]
コンストラクタとデストラクタってRAIIって言われるんだ。
たしかにエラー処理が楽ですね。

590 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:35:52 ]
>>587
最初は C with Classes という名前だった処理系を作った人の
「C++の設計と進化」の最初のあたりだけとか読んでみたら?

591 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:36:37 ]
RAIIは、コンストラクタとデストラクタを使ったリソース管理、だな



592 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:39:13 ]
>>589
コンストラクタとデストラクタのことではない。
ウィキペディアからの引用になるが、

(引用者注: C++では)自動変数がスコープを離れるときデストラクタが呼ばれるため、
変数の寿命が終わるとすぐに資源が返却されることが保障できるようになった。これは
例外が起こったときでも同様であるため、RAIIは例外安全なコードを書くための鍵となる
概念となった (Sutter 1999)。

593 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:43:44 ]
C#でもusing構文を使えばRAIIできるね
Javaはこれができないから困る

594 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:50:18 ]
Javaでもtry/finallyを抽象化したシンタックスシュガーないし何かを作れば
いいんだろうけど、そういうものは提供しないポリシなんじゃないかな?

メソッドの設計で抽象化するか。

595 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 10:51:19 ]
>>587
ポリモーフィズムが使えるだけで随分差が出てくると思う

596 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 11:14:52 ]
RAIIが重要なのはリソース解放を言語側に保証させることができるから。
名前に反して初期化時のリソース確保は重要じゃないよね。


597 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 11:17:18 ]
>>594
言語仕様を単純化したいんじゃないかね
せっかくGCがあるんだから、
全てのオブジェクトの寿命は無限ということにすれば話が単純になる

598 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 11:19:22 ]
元々は初期化側がRAIIの主眼だったんだろうけど、
正直そこはどうでもいいよね

599 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 11:22:56 ]
>>597
RAIIに必要なのはオブジェクトの寿命管理じゃなくて
あくまでオブジェクトの持ってるリソースの寿命管理だから
オブジェクトは死ぬ必要ないのよ。
C#だってそう

600 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:01:04 ]
どんだけ時代遅れ。
ガベコレを搭載してる実装系ではガベコレがアプリ本体と別スレッドで動いていることすらある。
すると削除するタイミングなんかは全く保証されないから、
デストラクタ自体を書かないのが推奨される作法になる。

601 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:08:20 ]
は?
RAIIはガベコレを通さないんだが



602 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:11:25 ]
いや通してもいいだろ
終了処理をメモリ破棄のタイミングより早く行えばいいだけ

603 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:14:05 ]
C#で実現できてるんだから
全く問題ないわな

604 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:41:31 ]
オブジェクトが不要になったときにユーザが任意で呼ぶのがデストラクタ、GCが呼ぶのはファイナライザ(ときにデストラクタ)
>>600が言ってるのは後者で、RAIIで使うのは前者

605 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:52:52 ]
RAIIで管理するのはメモリだけじゃない。
典型的なのがファイルのclose。
GCとRAIIは共存できる。
>>600は無知。

606 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:09:22 ]
まあファイルのcloseは失敗する事もあるので
なるべく自前でcloseした方がいいんだけどね
ネットワークドライブ上のファイルとか

607 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:36:37 ]
デストラクタの中で自前でcloseしてるだろ・・・

608 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 07:58:24 ]
ファイルのクローズって失敗してもほとんど対処のしようがないよね?
以後の動作を保証できないとしてアプリを異常終了させるぐらい?

609 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 08:27:12 ]
で?

610 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 16:32:20 ]
自前でクローズしてもいいことないって話だろ?

611 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 16:40:07 ]
自前でクローズしないで誰がクローズするの



612 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 17:58:41 ]
ファイナライザ

613 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 18:02:55 ]
ガベージコレクションはいつ起こるかわからないから、
気がついたらファイルハンドルが足りないかもしれない。

614 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 19:13:12 ]
>>613
明示的に呼び出せばいいじゃないか
System::gc(System::GC_FULL);
とか


615 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 19:30:22 ]
ユーザが把握してる変数から参照がにたたれたとしても内部的には参照が残ってる可能性ってあるし
実装によってはFalse Pointerの影響で回収しきれない可能性とかもあるしなー
GCに完全に任せきってしまうってのはこわいよ

616 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 23:53:03 ]
ドラゴンブックの第二版が去年の6月に出たらしいけど評判はどうなの?
>>6の本の一番上の奴の改訂版)

www.saiensu.co.jp/?page=book_details&ISBN=ISBN978-4-7819-1229-5&YEAR=2009

617 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 00:20:19 ]
>>616
表紙が派手になった
最新のコンパイラ技術に基づいて若干修正されている
初版を読了後に論文誌を漁っている人は買わなくてもOK
言語処理系に興味があって初版知らない人は読むべき




618 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 01:02:55 ]
組版がきれいになった
訳語も現代語により近く、読みやすくなった気がする
本質的な部分ではないかもしれんが、こういう改良は大切だと思う

619 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 04:40:37 ]
このスレは居心地良いな。スレの内容も面白いし話題の切換も引きずらない。

620 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 04:47:56 ]
しかし目新しい話題は少ない

621 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 04:59:00 ]
でも、意見が違うからと言って、アスペルガーと言って意見を封鎖するのは止めないか?
医療関係のプログラムを組んでるけど、複数のドクターが言うには簡単にそんな診療、簡単にできないし、
相手が傷ついて、まともな論争に出来ないという。
相手の反論を封じるために、言っている、自己中心者が多くて困ってると複数のドクターが言っている。



622 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 05:05:09 ]
デザインかっこいいのもいいな
英語のソフトカバー版買ったら表紙がちっともドラゴンじゃなくて後悔してるw

623 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 05:07:06 ]
逆に、そう言う方がアスペルガーに近いと言われた。
>>620
まあ、枯れた技術だけど、実装には興味がある。
OSとコンパイラはプログラミングの中でも特別視されるしね。
少ししか進まなくとも議論の余地がある。
次はmanycoreの時代だし、議論の余地はいっぱいあるよ。
しかし、ネットッブックのおかげで、ボトムが4-5年前に戻ってしまったのが不幸。
ネットブックだとJAVAは凄く重い。
こんなのが2-3割の市場だとすれば、進化は遠のく。

624 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 05:37:20 ]
Javaなんてネットブックが出る前から企業向けでしか使われてないじゃん

625 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 05:49:41 ]
>>623
ネットブックで使いたくなるようなJavaアプリケーションなんてあるの?

626 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 05:56:30 ]
Javaはただの喩えでしょ
メニーコア前提の言語や処理系が出てきてもそれが生かせない貧弱な
プラットフォーム(ネットブック)が一定のパイを持ってるのは足かせになって
不幸って話だと思うぞ

627 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 06:00:29 ]
そもそもネットブックをPCと考えるからいけないのであって、
図体のでかいスマートフォン程度とおもっとればいいんだけど、
問題はPCと思って買っちゃう残念な消費者が殆どなこと

628 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 06:45:42 ]
やはり最適化は今も必用か。

629 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 06:46:24 ]
アセンブラもねw

630 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 07:40:59 ]
> 逆に、そう言う方がアスペルガーに近いと言われた。
 ↑典型的な議論封鎖ではある。

631 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 09:47:15 ]
バッテリーとかなくても機器が動けば
もっと無茶できる

t-01a, nexus one 眺めながら



632 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 14:32:47 ]
アスペルガーだと指摘される方も指摘する方もアスペルガー。

633 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 18:20:42 ]
>>632
じゃあ、あなたもそうなるよw

634 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 19:39:21 ]
自己言及的

635 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 00:05:00 ]
べつにガオガイガーでもハンバーガーでもいいよ
良い処理系作れれば

636 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 00:10:16 ]
オパオパ

637 名前:616 mailto:sage [2010/03/25(木) 00:41:36 ]
>>617-618
ありがと、実は大学時代にお世話になった先生が訳した本なんで気になってたんだ。
昨日、図書館でドラゴンブックの第二版を借りてきたんで
初めの方をじっくり読んで、買おうかどうか決めたいと思います。

638 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 00:44:49 ]
こんなところで言及されたら先生は迷惑だろw

639 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 01:35:57 ]
天才は何かに固執する人が多いから、アスペと勘違いされている人が多いね。

640 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 01:44:59 ]
まだそのネタ引っ張るんだキミ。

641 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 01:59:30 ]
すまん。今は翻訳者の先生の話だよなw



642 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 15:41:11 ]
>>633
たぶんアスペルガーだから問題無し。

643 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 08:43:19 ]
いい加減うぜえな
エロゲばっかやってるとこうなるのか?

644 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 09:30:22 ]
何故エロゲに結びつける。コンプレックスかw

645 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 09:31:56 ]
エロゲ用エンジンぐらいしか、言語設計をする機会がない現実。

646 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 09:37:50 ]
ま、わざわざDSLを自前で定義するより、
こなれた汎用スクリプト言語を埋込みで使った方が楽だからな。

647 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 09:39:24 ]
それにしても前のエロゲ屋の技術は中々良かったな。
他の会社はXMLか。それも凄いな。
エロゲ、侮れない。

648 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 09:42:27 ]
ネットブックという足かせがエロゲにある限り最適化は進むんだろうな。

649 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 10:17:34 ]
その昔パソコンゲームがApple][にとりつかれてたようなものか?

650 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:50:13 ]
6502か。ゼロページは便利だった。FCでも使われたな。

651 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:59:40 ]
エロが世界最先端な国は日本ぐらいのもの



652 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:17:25 ]
FPSがPCの性能を先導してる国もどうかとw

653 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:35:04 ]
エロゲも侮れないんだな。

654 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:36:47 ]
>6502か。ゼロページは便利だった。FCでも使われたな。
65C02拡張のPC-Engineは作ってて楽しかった
65816のスーファミはVDPが楽しいけどCPUはいまいちだった

今だとARMプロセッサ向けのコンパイラ作るのが割と楽しい
86系だと自力でコード出さないでCとかを中間言語にしてintelCにコンパイルさせるような形の方がいいコードできるから


655 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:44:47 ]
今ARM勢いあるよな。

656 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:50:14 ]
>>655
勢いがあるのもあるが
ARMのアーキテクチャがstackマシンの素性からそんなに離れていないのでJITのコード変換がすごくやりやすい
マルチスレッドでGC付きの言語をJITで落とし込む際にクリティカルセクションなしでもコンパクションGC作ったりできるような事とかができておもしろすぎる

X86みたいに命令が複雑多岐じゃないせいでもあるけど、実装自体が楽しいのは本当に久方ぶりだよ

657 名前:デフォルトの名無しさん [2010/03/26(金) 20:35:57 ]
なるほど、エロゲ向けだな。

658 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 02:38:47 ]
特にインタプリタの話なんだけど、ベースライブラリは何を使ってる?
日付/時間とか、スレッドとか、ネットワークとか、いろいろ
自前でマルチプラットフォームにする気は起きないし、
ライセンスの問題もあるから難しいよな。
wxはいいけどC++になっちゃうし、glibだとGPL食らうし

659 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 02:43:32 ]
boost

660 名前:デフォルトの名無しさん [2010/03/28(日) 03:50:47 ]
自前。

661 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 04:11:06 ]
俺も自前だな。



662 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 04:57:28 ]
Cで自前。会社じゃ当たり前。

663 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 05:45:31 ]
会社じゃ安全なライブラリを買うか自前だよな。

664 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 06:46:51 ]
>GLibを動的リンクにて使用する場合に限り、ソフトウェアを
>製造、販売が可能になります。

DLLに固めて使うなら大丈夫でなかたっけか…lgpl ver2.1+だっけ…
まるまるスタティックとかOSごと積むとかは
また違うとは思う。でもできれば自前が一番いい

665 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 07:04:30 ]
LGPLで外部DLLはよく使われる手だよね。
何かあっても外部DLLのソースの公開だけで済む。

666 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 07:06:57 ]
ていうか、コンパイラスレでこんな論議必用か?
コンパイラ組めるなら自前で全部出来るだろう。

667 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 08:27:32 ]
ライブラリは外部のものを流用できるように作るものだ

668 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:31:01 ]
投入できるリソースは限られているのだから、
一番注力したいところに集中的に投入するのが良い。

669 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:34:01 ]
>>666
そりゃ何だって自分でできるさ。
自分の家だって時間さえあれば自分で作ってみせる。

670 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:43:35 ]
そんなにたいした共有ライブラリじゃないだろ?
せいぜい2週間しかかからないよ。

671 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 17:00:02 ]
「共有」ってわざわざ付ける意味は?



672 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 17:40:57 ]
頭痛が痛いと同じ表現だったな。すまそ。

673 名前:デフォルトの名無しさん [2010/03/28(日) 18:51:26 ]
つか、そのままGPLじゃまずいのか?

674 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:15:56 ]
>>673
「秘すれば花なり、秘せずば花なるべからず」

675 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:55:54 ]
>>673
そりゃフリーな実装ならいいけどさ
バイナリ納品でメンテ契約あり、ようするにソースコードでの自社のノウハウは出したくないとかあるときはGPLは使えないだろ


676 名前:デフォルトの名無しさん mailto:さげ [2010/03/28(日) 21:46:21 ]
いや、それはわかるんだけど
いままで請求されたことないし
ぶっちゃけ、ソース出てもノウハウは出ないってw

677 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 00:12:46 ]
最低だなお前
すべてにおいて

678 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 03:27:14 ]
>>656
armはcpuは普通につかえるが
ペリフェラルが使いにくいのが多いんよね

679 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 09:36:51 ]
>>678
組み込みのCPUはDMA,IRQ以外って高機能なデバイスを無理矢理つっこんでるのでレジスタの設定がメチャクチャめんどくさかったりするけど
そういう意味の使いにくいってことかな?


680 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 11:54:11 ]
PICは使いづらいね。そー言えばエロゲ屋の人もPICは無理でAVRは作ったって行ってたね。
PICのレジスタは地獄。PIC16でようやくまともになった。

681 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 11:55:02 ]
picはウンコ
ARM使えよ



682 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 17:13:01 ]
どっかのarmでdmaが一転送あたり32回しか回らないのあったな
毎回チェーン使うのは無駄くさい

683 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 17:46:12 ]
組み込みCPUはたいてい
外部ピンがMuxされてるから
余計にめんどいんだよな






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

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

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