1 名前:デフォルトの名無しさん mailto:sage [04/11/10 23:30:50] 言語仕様や処理系の話題に関するスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,CPS変換, レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,それに VM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。 前スレ 1 pc.2ch.net/tech/kako/981/981672957.html 2 pc2.2ch.net/test/read.cgi/tech/1021136715/ (dat落ち) 3 pc5.2ch.net/test/read.cgi/tech/1070089173/ (前スレ) 関連リンクは多分 >>2-10 あたり
555 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:56:06] 沢山の情報ありがとうございます。 CPSにこだわっている訳ではないんですけど、東大のコンパイラの授業 のページにのってたのでメジャーなのかと思ってました。 一般的に中間言語の話はどの本がいいんでしょうか。 とりあえずいろいろ調べてみます。
556 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:31:51] >>553 CPSは中間言語ではないよ。 それに直接速くなるわけでもない。 CPSというのは継続のたらいまわしで、実装が自ずと スタックレスになり、末尾の検出が不要になることと 継続の抽出が単純(というか継続の抽出そのもの)になるというだけで。 Schemeは末尾呼び出しのフレームの縮小問題に どう取り組むかで速度にかなり違いが出てくる。 これは仮にCPSにしても解決はできない。 それと(Schemeに限らないけど)、GCにぎりぎりまで頼らない (ヒープに移さない)設計にするとか。 CPSについてはコンパイラの本より むしろ関数型言語扱ってる古い本に色々載ってたけど、 そういうのは図書館で探したほうがいい。 CPSに変換する処理系もあったはず。 ちなみに借りた本は「コンパイラの構成と最適化」 CPSとはあんま関係ないね。
557 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:35:02] >>554 Steele 先生のってこれでよろし? ftp://publications.ai.mit.edu/ai-publications/pdf/AITR-474.pdf 面白そう……だけど結構な分量だな。プリントアウトしたら大変そうだ。
558 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:37:47] >>555 中間言語の話題で一般的に良い本を挙げるってのは難しい。 というか、ソースから中間言語への変換辺りの話題だと、 ドラゴンブックで充分だし、最適化の話題よりのコンパイラの 教科書だとその辺りは大抵省略されている。 AppelのModern Compiler Implementation in {ML,Java,C}辺り だとコンパイラについてlexer、parserからcode generationまで 一通り書かれていて、GCなんかも取りあげられているから良 いかもしれない(漏れはJava版しか読んだこと無いからMLや C版の内容は知らない)。
559 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:46:49] >>557 凄いな。 こ れ が 修 論 か
560 名前:デフォルトの名無しさん mailto:sage [04/12/27 13:53:09] _| ̄|○
561 名前:デフォルトの名無しさん mailto:Appel先生ごめんなさい, sage [04/12/27 19:21:59] あのな、CPSなんてきょうび流行んねーんだよ。ボケが。 得意げな顔して何が、CPSで、だ。 お前は本当にCPS変換したいのかと問いたい。問い詰めたい。小1時間問い詰めたい。 お前、スタック使いたくない だけちゃうんかと。 中間言語通の俺から言わせてもらえば今、中間言語通の間での最新流行はやっぱり、 A normal form、これだね。 大盛り一時変数。これが通の頼み方。 A normal formってのは制御フローが明示的に入ってる。そん代わり継続は暗黙的。これ。 で、それにtail call最適化。これ最強。 しかしこれを頼むと次からAppelにマークされるという危険も伴う、諸刃の剣。 素人にはお薦め出来ない。 まあお前、1は、型付きCPS変換でもしてなさいってこった。
562 名前:デフォルトの名無しさん mailto:sage [04/12/27 20:54:34] 不勉強なオレはいまいち面白さが分からないが、 メル欄ワロタ
563 名前:デフォルトの名無しさん mailto:sage [04/12/27 21:14:55] せっかくなので A normal form ってのについて教えて下さい。 ポインタでもいいから。
564 名前:デフォルトの名無しさん mailto:sage [04/12/27 21:30:10] >>509 のlogical frameworkと関連した内容ですか。
565 名前:デフォルトの名無しさん mailto:sage [04/12/27 22:19:26] www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2004-40,GGLD:ja&q=%E6%8C%BD%E5%9C%B0%E7%AF%A4%E5%BF%97
566 名前:デフォルトの名無しさん mailto:sage [04/12/28 00:11:56] コミックバンチの修論いきなり見せられてもA normal formのことサパーりでしょ。>>553
567 名前:デフォルトの名無しさん mailto:sage [04/12/28 07:51:25] 電気通信大学 情報工学科 渡邊(坦)研究室 言語・機種に非依存なオブジェクト最適化の研究 www.watalab.cs.uec.ac.jp/OBandG/nobuharu/research/B-Thesis/paper.html はガイシュツですか?
568 名前:デフォルトの名無しさん mailto:sage [04/12/28 10:14:44] >>567 何も新しいことは書かれていない気がす。 ドラゴンブックに出て来るレベルの最適化を実装してみました ってやつですな。
569 名前:デフォルトの名無しさん mailto:sage [04/12/28 19:11:25] >>567 学部生レベルの卒論としては合格
570 名前:デフォルトの名無しさん [04/12/28 21:33:47] ●コンパイラ 原理・技法・ツール 1&2 www.amazon.co.jp/exec/obidos/ASIN/4781905854/ www.amazon.co.jp/exec/obidos/ASIN/4781905862/ 通称ドラゴンブック。バイブル。 ●コンパイラ構成法 原田 賢一 www.amazon.co.jp/exec/obidos/ASIN/4320029224/ www.hara.cs.keio.ac.jp/kCompiler/ (ソース、正誤表のダウンロード) ●プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝 www.amazon.co.jp/exec/obidos/ASIN/4000103458/ 一冊で済ませたい人へ。 読む順番とかあるの? なければ、『コンパイラ構成法 原田 賢一』を買おうと思っている。
571 名前: ◆MWRLp2GQ3U [04/12/28 22:02:12] 初心者の疑問なんですけど、言語処理系って フリーの有名所(例gcc)や一部の超メジャー処理系(M$) でないと全くダメダメなのななんででしょう? 職場の回りの人とかも、皆同じように思っています。 言語処理系以外なら、そんなことないと思うんですよねぇ やはり、作り込みが難しいからですか???
572 名前:デフォルトの名無しさん mailto:sage [04/12/28 22:06:00] 既にフリーでいい物があるから、 わざわざ作る気も起きないってのも大きいでしょ
573 名前:デフォルトの名無しさん mailto:sage [04/12/28 22:20:51] 人生を言語処理系の作成に捧げる気があるなら >フリーの有名所(例gcc)や一部の超メジャー処理系(M$) これらにも対抗できるものが作れるんじゃねーの?(鼻くそほじりながら
574 名前:デフォルトの名無しさん mailto:sage [04/12/28 22:51:37] >人生を言語処理系の作成に捧げる気があるなら んで、できるかどうかは兎も角そんな連中がここに居るわけだ。
575 名前:デフォルトの名無しさん mailto:sage [04/12/28 22:52:30] まあ面白いし
576 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:07:36] >>574 売り物レベルになるかはともかくを言ったら 処理系自体はちょっと時間あれば作れるしな
577 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:13:48] HSPぐらいならなんとかなるんじゃね?
578 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:20:19] HSPみたいな頭の悪そうな処理系思い浮かぶやつには無理だろw
579 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:39:36] Nスクよりマシかな。
580 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:49:46] 2ch発の言語とかってないの?
581 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:51:50] >>580 いくつか過去にもスレは立ったけど成功したもんはなさそう。 ADVRUN…はちょっと違うか
582 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:56:58] >>580 ギコBASIC
583 名前:デフォルトの名無しさん mailto:sage [04/12/29 00:04:36] 少なくともHSPはそれなりにメジャーになりはした。
584 名前:デフォルトの名無しさん mailto:sage [04/12/29 01:00:15] HSPはあの言語仕様なのに、それなりに流行っていることを考えると、 言語の良し悪しが、決定的なんじゃないということがよくわかる
585 名前:デフォルトの名無しさん mailto:sage [04/12/29 01:28:09] Windowsでexeが作れて配布できる。 初心者でも簡単に使える。 初心者用ドキュメントがある。 こういう、ヲタク向けの言語では軽視されがちな部分が 大きいんじゃないかな。
586 名前:デフォルトの名無しさん [04/12/29 12:09:18] >>585 剥げ同。 最先端言語技術や高度な理論よりも、リアルに使えることの方が はるかに重要と最近日々感じる…
587 名前:デフォルトの名無しさん mailto:sage [04/12/29 12:10:58] でも楽しくないよね。
588 名前:デフォルトの名無しさん [04/12/29 12:20:45] 楽しいよ すぐに窓表示したり文字表示したり、コントロール作ったり、3DのDirectX画像が動かせるからね すぐに目に見えて成果が現れるところがミソ
589 名前:デフォルトの名無しさん mailto:sage [04/12/29 15:33:07] じゃあexeが作れない言語はクソ
590 名前:デフォルトの名無しさん mailto:sage [04/12/29 15:41:27] >>589 世の中の全てが詰らなさそうな奴だな
591 名前:デフォルトの名無しさん mailto:sage [04/12/29 17:28:43] >>589 MSと心中しとけ。
592 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:11:45] >>586 禿げ同 しかし初心者にはいいかもしれないけど、 プログラマとしては絶対使いたくない言語だよね。 そこんところがシームレスに使える言語があるといいのかなぁ。
593 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:17:31] 初心者には取っつきやすく、高度な要求にも耐えられる言語か 難しいね
594 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:19:19] Java
595 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:22:47] 組み込みHSP? 激しく嫌すぎる・・・
596 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:33:18] HSP使うぐらいなら素直にアセンブリ使うよ。
597 名前:586 [04/12/29 22:00:30] 念のため行っとくけど、俺はHSPは使ったこともないからなw
598 名前:デフォルトの名無しさん mailto:sage [04/12/29 22:13:25] どこ行くんだよw
599 名前:デフォルトの名無しさん mailto:sage [04/12/29 22:28:36] お前ら ありあまる暇があったら、 どんな言語・処理系作りたい?
600 名前:535 [04/12/29 22:59:15] HSPってなに?
601 名前:デフォルトの名無しさん mailto:sage [04/12/29 23:09:47] >>592 このスレに居るなら、そう思ったら自分で作れ。
602 名前:デフォルトの名無しさん mailto:sage [04/12/29 23:32:56] >>600 気にする程のものではない。 ゲームを書く為だけの簡易言語だよ。
603 名前:デフォルトの名無しさん mailto:sage [04/12/30 01:05:59] >>599 汎用の処理系って作ったことないからなあ。 特殊用途のだけ。 なんで、手始めはやっぱりLisp系かな。 SICPみながらSchemeからだろうか。
604 名前:デフォルトの名無しさん mailto:sage [04/12/30 01:09:17] >>603 minischemeのコード見てみなよ。 たった2000行程度だから。
605 名前:デフォルトの名無しさん [04/12/30 04:50:37] >>602 ゲームだけじゃない Windowsアプリが実に簡単に出来る こういう面も人気の理由の一つ 普段MFC使ってる俺でも昔覚えたHSP使うことがたまにある 手軽だから
606 名前:デフォルトの名無しさん mailto:sage [04/12/30 04:56:59] ここは既存の言語や処理系について、文句たれたり、布教活動したりするところなん?
607 名前:デフォルトの名無しさん mailto:sage [04/12/30 05:08:58] 大学生ならコンパイラ作るよな
608 名前:デフォルトの名無しさん mailto:sage [04/12/30 05:13:59] やはり実際に物が作れるということと、敷居が低いことは重要だよな。 Cより言語仕様が優れた言語は腐るほどあるのに 結局Cより流行る言語はほとんどない。 一方では、お手軽にGUIやゲームなどが作れるというだけのことで、 糞仕様のHSPがそれなりに流行ったりする。
609 名前:デフォルトの名無しさん mailto:sage [04/12/30 06:07:49] 課題で必ず出るね
610 名前:デフォルトの名無しさん mailto:sage [04/12/30 11:37:50] >>608 言語論争したいのならどっか別の所へ行け
611 名前:デフォルトの名無しさん mailto:sage [04/12/30 13:43:53] そうではない コンパイラを作るに当たってなにが大切かを述べてるにすぎない
612 名前:デフォルトの名無しさん mailto:sage [04/12/30 14:29:03] >>611 ハァ?バカでね?
613 名前:デフォルトの名無しさん mailto:sage [04/12/30 14:38:29] なんかレベル下がったなこのスレ
614 名前:デフォルトの名無しさん mailto:sage [04/12/30 15:17:51] 今までにレベルの高いレスなんてあったか?
615 名前:デフォルトの名無しさん mailto:sage [04/12/30 15:30:59] HSP厨が紛れ込んじゃったんだろ。
616 名前:デフォルトの名無しさん [04/12/30 16:03:47] なぁ、ここにいるやつらで2ch言語でも作ってみないか?
617 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:07:18] >>616 おまえが作れ
618 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:12:40] >>616 言語仕様のアイデアはあるのか?
619 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:20:02] 板グループがオブジェクトで各板名がメソッドとか。 PC等.プログラマー("hoge);
620 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:21:50] あー、"閉じ忘れた。まあいいや。 エラーが出たときは 真・プロセスストッパー。。。( ̄ー ̄)ニヤリッ と。
621 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:54:14] >>611 いらねーよ、言語仕様ってのは作り手の趣味の問題だ、他人にゴチャゴチャいう筋合いのものじゃねぇ。 そんなもん、そんな作りもしない何もしないクレクレ厨房の書き込みなんざ読んでもウザイだけだ。
622 名前:デフォルトの名無しさん mailto:sage [04/12/30 17:00:43] >>619 そりゃ言語仕様じゃなくてライブラリの仕様じゃねえか
623 名前:デフォルトの名無しさん mailto:sage [04/12/30 17:12:08] ここはネタすれじゃないんだから他でやれや>>616-622
624 名前:デフォルトの名無しさん [04/12/30 17:23:05] 言語仕様議論専用スレがあったほうがいいかね、建ててみるね。 「言語仕様と開発論法」でやってみてください。
625 名前:デフォルトの名無しさん mailto:sage [04/12/30 17:23:50] 「言語仕様と開発論法」 pc5.2ch.net/test/read.cgi/tech/1104394930/l50 ここです。
626 名前:デフォルトの名無しさん [04/12/30 19:33:06] www.rubyist.net/~matz/20041227.html#p03 こんな短いプログラムで比較するのもどうかと思うのだが、 Rubyで書いたら絶対これより短くなる。 ということは、PHPではなくRubyを使えという話なのか。どうも、そうではなさそうだ。 よくいただく反論は「PHPでもできる」ということであって、同じくらい良い(動的)言語からPHPを選ぶ理由ではないはずだ。 PHPは決して速くないし、記述力が高いわけでもないし、たくさんの欠点が残っているように見えるが、 あちこちで「そのシステムPHPで書かないの」という質問が出るところをみるとそれなりに馬鹿には使われているようだ。 もっとも、PHP陣営から出てくる数字はmod_phpのインストール数とか、mod_phpのパフォーマンスと(mod_perl抜きの)perl CGIとの比較とか、まったくフェアでない印象があるが。 あるいは「すでにPHPを覚えているので、いまさら他の言語を覚えたくない」ということなのかもしれない。 その気持ちはまあ理解できないでもない。 もしかすると、よく分からない初心者をイメージ先行で取り込んでしまい、 「いまさら他の言語を覚えたくない」という」意識でロックインしてしまうというのは、 初心者をターゲットにした素晴らしいマーケティング戦略なのかもしれない。 もしそうだとするならば、というか実際そうだろうし、Rubyは絶対にその戦略を取りたくない。 それくらいだったらマイナーなままでいてくれた方がずっと良い。 Rubyは最高の言語なのだから。
627 名前:デフォルトの名無しさん mailto:sage [04/12/30 19:36:14] >>626 単純にRubyはマイノリティなだけ。 使われてないなら潜在バグの洗い出し率も低いだろうし 信頼性保守性等々で考えて業務に使う必然性がない。
628 名前:デフォルトの名無しさん mailto:sage [04/12/30 19:44:24] >>627 禿同
629 名前:デフォルトの名無しさん mailto:sage [04/12/30 19:47:21] Ruby以上のものを作ることのできない糞どもが何を言おうが無駄。 汚らしいRubyアンチは消えろ
630 名前:デフォルトの名無しさん mailto:sage [04/12/30 19:49:30] と、言うことは>>629 には そ れ な り に 普 及 し た プログラミング言語以上のそれの作成経験があると言うことになる。
631 名前:デフォルトの名無しさん [04/12/30 19:50:46] 最高言語Rubyユーザ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> おのスレでしがない糞処理系を作ってる奴等ww
632 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:05:03] Perlでええやん。
633 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:11:53] HSP使ってる奴とRuby使ってる奴って なんか共通点が有るな。
634 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:13:44] >>633 いいよなぁ。自分の価値観が万人の常識であるとか思ってる奴。
635 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:25:15] 最高言語Scheme!!!!!!!
636 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:25:58] 荒れるからHSP厨とRuby厨は >>625 のスレ逝ってよ。
637 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:29:09] やっぱ 日本発->他の言語より日本語の情報が多い->厨が増える という流れなのだろうか。
638 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:32:13] 単純になぜか安置が多いというお話。 たぶん同一人物が自作自演交えてやってるんだろうけど。 正直、俳優か小説家になれば大ブレイク。 こんなところで才能を食いつぶしている彼らが不憫だ。
639 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:36:40] 単純になぜか厨が多いというお話。 たぶん同一人物が自作自演交えてやってるんだろうけど。 正直、俳優か小説家になれば大ブレイク。 こんなところで才能を食いつぶしている彼らが不憫だ。
640 名前:デフォルトの名無しさん [04/12/30 20:38:18] >>639 みたいなのが典型と言うことで。
641 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:44:36] どっちも根拠を挙げてるわけでもないし どっちも典型でしょ。 専用スレが腐るほど有るんだしそっちでやってよ。
642 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:44:37] で、何かこのスレと関係あるのか?
643 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:47:44] www.rubyist.net/~matz/20041227.html#p03 Ruby>>>>>>>>>>>>>>>>Java>>>>>Python>>>>>C++>>>>>PHP>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>HSP>Perl
644 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:50:41] Perlに恨み骨髄という感じだな。
645 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:52:48] Rubyはレンタル鯖でつかえねーからダメ ライブドアだけじゃん
646 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:53:31] Rubyって仕事で使えるほどフレームワークあったっけ?
647 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:56:14] コミュニティ文化の話なんてどうでもいい 技術の話をしないやつは(・∀・)カエレ! お年玉で>8買って読んでから来い
648 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:58:18] 貴様らがポチポチ作った処理系なんか自分以外誰が使うんだよ。 Rubyレベルのものが貴様らに作れるのか?
649 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:58:55] 先生!お店に禿げたドラゴンブックした売ってません!!
650 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:59:32] Rubyの劣化コピーでしかない貴様らが 死に物狂いでRubyを不正で苦しさ晴れたち日をしているwwwwwwww やはり劣等感である〜〜〜 くすくす^^;
651 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:59:55] 国産処理系 HSP、LGP、System3.x、Ruby こうして並べるとRubyすげーのかどうか微妙だな
652 名前:デフォルトの名無しさん [04/12/30 21:01:09] ドラゴンブック程度を読んで分かったつもりになった厨房が メイジャーなRubyを必死に貶すことで憂さ晴らししているスレはココですか?
653 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:02:38] >>652 うっせー禿げ
654 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:02:52] ム板では NG ワードにプログラミング言語「るび」を指定することが 推奨されています。
655 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:03:09] >>626 その話題は pc5.2ch.net/test/read.cgi/tech/1104394930/l50 にぴったりだ、一発ブチかまして良スレにしてやってくれ。