1 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:06:04 ] プログラミング言語処理系の開発に興味のある人達のスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,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/ 4 pc5.2ch.net/test/read.cgi/tech/1100097050/ (前スレ) 関連リンクは多分 >>2-10 あたり
830 名前:デフォルトの名無しさん mailto:sage [2005/04/15(金) 20:59:41 ] >>826 SSAのoriginalはCytronでなくWegmanでない? SSAとは、同一変数に対する定義点が高々一つしか存在しないという性質を持つ中間語形式のこと。 これにより定義点とその使用点の関係が明示的になるので各種最適化が簡潔になる。 その特徴は関数型言語と共通するところが多い。弱点は配列やポインタの扱い。
831 名前:デフォルトの名無しさん mailto:sage [2005/04/15(金) 22:03:51 ] >>830 SSA関連の論文で参照されてるのは、ほとんど全てCytronって希ガス。
832 名前:デフォルトの名無しさん mailto:sage [2005/04/15(金) 22:29:54 ] SSAで最適化書くのが楽になった、という経験が余りないなあ。 依存チェーンをたどる古典的なやり方に慣れてるだけかも知れんが。
833 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 02:12:36 ] bisonというかyaccを最近使い始めたんでスが コンパイラのようなものを作っておるんでスが yaccでは構文木をつくるだけにしておいて そいつに対しvisitorパターンでホゲホゲする ってのが定番なんでしょうか
834 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 02:42:08 ] 定番なんてありません。
835 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 03:12:06 ] うはw 情報量ゼロw
836 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 03:19:25 ] 思ったように作ってみなさい。そうすればきっと報われるでしょう。
837 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 03:22:00 ] オブジェクティブに作ったら逆にうっとうしくなるかもだよー。
838 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 03:23:52 ] 処理系作るなら関数型がええよー OCamlにはocamlyaccとかocamllexとかあるからええよー Cより楽やよー
839 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 06:46:49 ] 作るのが簡単なものは使うのが面倒なことが多い
840 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 10:29:59 ] 使うのが面倒??? できあがる物は同じなのに?
841 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 11:11:21 ] アフォですか?
842 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 12:12:28 ] >>841 なに?自分の主張が分かってもらえなかったら、アホなのか? しかも、何もしなくても言いたいことが伝わると思っている。 まるで子供だなww
843 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 12:27:18 ] >作るのが簡単なものは使うのが面倒なことが多い 意味不明。
844 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 12:46:29 ] あと、どうでもいいけど、議論ではアホと言った方が負けなんだよ。知ってる? なぜなら、その時その人に言えることがそれ以外無いからだ。
845 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 14:34:45 ] >>844 意味不明。
846 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 14:41:53 ] >>845 ぎゃはははははは こんなにわかりやすくいってやってるのにわからないなんてしょうしんしょうめいのあほだなwwwwwwwwwwwwwwwwwwww
847 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 14:51:43 ] >>846 なに?自分の主張が分かってもらえなかったら、アホなのか? しかも、何もしなくても言いたいことが伝わると思っている。 まるで子供だなww
848 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 14:53:10 ] あと、どうでもいいけど、議論ではアホと言った方が負けなんだよ。知ってる? なぜなら、その時その人に言えることがそれ以外無いからだ
849 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 14:53:16 ] いいかげん論文の内輪ネタはやめてくれないかなー
850 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 14:55:23 ] 誰だよ荒してる奴
851 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 16:04:49 ] >>849 そんな高尚(でもないか)なものがこのスレのどこに?
852 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 16:15:45 ] ゲームなどのコンソール用にpureObjectなスクリプト言語作ってみました。(NewtonScriptとかselfみたいな言語です) 自己記述も可能に作ったので(VM用のコンパイラ)デバッガ、エディタ(ANSIエスケープシーケンス端末用) 全部を自己記述で完結できたのですが、ビットマップディスプレイ用に簡易なウィンドウシステムを導入 しようとしてグラフィックの扱いをスクリプトのレイヤーとネイティブの間の粒度をどれくらいの細かさにすべきか 悩んでおります、なにかこの手の完全に閉じた環境のためのウィンドウシステムでスクリプト言語がらみの参考文献 ってありませんか? ※squeakは見てみましたがあそこまでやる気力はもうありませんorz
853 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 16:58:26 ] >>852 かなりのご年輩の方をお見受けした。 Xは駄目なの?
854 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 17:09:23 ] >>853 俺は>>852 ではないけど、なんで年配だと判断できたの??
855 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 19:04:20 ] 自演だからじゃないかな
856 名前:デフォルトの名無しさん [2005/04/17(日) 01:31:48 ] かなり美人とお見受けした。ハァハァ
857 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 11:20:21 ] >>855 自演じゃないだろ。Xなんて全然関係ないモン持ち出して来てるし。
858 名前:852 mailto:sage [2005/04/17(日) 12:29:26 ] えーと、ネタスレでしたら空気読まないで済みません、他スレに移動します。 まじめな話、独自言語と仮想マシンを用いてGUI付きの環境を構築しているものはsmalltalk以外に知らないのです。 これらを論じていてかつ入手しやすい書籍があればベストですが見かけませんでした。 (LittleSmalltalkはテキストコンソールベースですがかなり参考になりました、今はもう絶版ですが)
859 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 12:46:43 ] GUI部分の実装をどうするかというのはポリシーの問題だから、 書籍にはあまり書かれないんじゃないかと思う。 ・ウインドウ一枚だけもらって後は自前のGUIシステム(Squeak) ・各ウインドウはネイティブの物をもらい、中身は自前描画(VisualWorks) ・ネイティブウィジェットを使う自前クラスを構築(Ambrai Smalltalk) ・ネイティブライブラリ使えるから勝手にしてくれ(各種スクリプト言語) どれが優れてるって一意には決まらんよね。
860 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 13:01:40 ] >>858 あおきあつしちゃんのページいきなよ。 Smalltalkerを自認してるしWEBページも情報豊富だよ
861 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 13:35:12 ] >>859 >どれが優れてるって一意には決まらんよね。 同意。 JavaだとAWTの頃はOSのネイティブなコンポーネントを使っていたが、 Swingからは、各ウィンドウをOSからもらい中身は自前描画するようになった。 だからどのOSでも同じように見える…かというと、フォントの問題で そうもいかんかったりするんだけど。 HSPなんかはWindowsオンリーで開き直ってるしね。 >>852 の用途がよくわからないんだけど(「ゲームなどのコンソール用」って?) 絵を描いたりするのなら、GUI部品並べるだけではだめだから、 線やら円の描画が要るし、イメージの描画や、場合によってはスプライトなんかも 用意しなきゃいかんだろう。 「粒度」という言い方が適当かどうかは知らんが、俺も今悩んでるところ。
862 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 15:25:17 ] 汎用的にするならXもいい選択肢だと思うが,面倒なのが問題だな。
863 名前:デフォルトの名無しさん [2005/04/17(日) 18:57:03 ] ゲーム考えてしかも汎用適だったら、オープンGLあたりじゃだめなの?
864 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 19:23:01 ] GUIの話してるのにOpenGL
865 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 19:52:31 ] OpenGLでGUI作っちゃいかん理由でもあるのかね?
866 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 19:53:37 ] 人によって考えてるレイヤーが違うような…
867 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 19:56:38 ] >>864 は部品をレイアウトするレベルの話 >>862 や>>863 はもっと低レベルの話 をしてるんかな。
868 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 20:15:15 ] OpenGL が低レベルなのはそのとおり。 ただし、 OpenGL でうまく行ってる例多数。 どう説明できる?
869 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 20:17:56 ] GUIはスレ違いだろ。
870 名前:デフォルトの名無しさん [2005/04/17(日) 20:30:10 ] >>869 そうだそうだ! りんごの話に戻せ!
871 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 20:36:26 ] 墨染さくらの話に戻せ!
872 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 21:17:02 ] だれそれ
873 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 21:20:48 ] CマガでOSの記事を書いてたひと?
874 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 21:23:03 ] そうだ。墨染さくら祭りがいまいちだったので改めてやる必要を感じた。
875 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 23:05:00 ] >>869 そうでもないと思うけど・・・
876 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 23:26:24 ] 例えばMAX/MSPみたいなものを考えていたとしても、GUIはただのインターフェースに 過ぎないからね。
877 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 00:54:53 ] 言語もインターフェースですが
878 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 02:18:18 ] >>868 その例っていうのは GL じゃなくて GLUT 使っているんじゃないの?
879 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 22:26:12 ] >>871 美人なのか?
880 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 22:48:35 ] >>879 お前はイケメンなのか?
881 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 22:49:37 ] おまえは無茶メン
882 名前:デフォルトの名無しさん [2005/04/19(火) 13:20:46 ] プリプロセッサの扱いに困ってます。 ソースファイルをプリプロセッサに食わせて、出てきた処理済みファイルに対して コンパイルを行うとします。 ここで、プリプロセス後のファイルは、それまでの情報を 失っている場合がありますよね。 特に、コンパイル中にエラーが起きた場合には、 行番号がずれてしまっていることがあるため、ユーザーには意味不明な エラー行を吐いてしまうと思うんですよね。 みなさんは、ここらへんをどうやって解決しているんでしょうか?
883 名前:デフォルトの名無しさん [2005/04/19(火) 13:30:44 ] >>882 プリプロセスの出力をccに喰わせるののなら、#line ディレクティブを 入れるという手があるよ。
884 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 13:30:52 ] 無知晒してないでCのプリプロセッサについて調べてみろや。
885 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 20:14:09 ] おれはCのプリプロセッサをLISPに改造したぜ
886 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 21:04:53 ] それに通るコードを晒してみてくれ。
887 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 22:31:02 ] プリプロセスならm4とか使えば楽なんじゃないの 使った事ないけど
888 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 23:35:36 ] しったかは口をあけるな
889 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 23:47:00 ] んじゃ、>>888 のおすすめのプリプロセッサは? できればm4より記述力が高くて使いやすいやつ。
890 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 23:53:59 ] m5
891 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 23:55:35 ] ms
892 名前:デフォルトの名無しさん mailto:sage [2005/04/20(水) 00:37:25 ] >>882 自分でプリプロセッサを書いてるのかな? ターゲット言語がC/C++なら、>>883 の言うように適切な#lineを挿入しましょう。 入力ファイルの行番号と、出力ファイル(ソース)の行番号を管理しておいて、 それらが一致しなくなったら自動的に #line ほんとの行番号 "inputfilename" という行を挿入するような出力ルーチンを用意しておけばいいと思います。 私はJava向けのプリプロセッサ(というかコード生成系)を書きましたが、 Javaには#lineがないので、エラーが出たら勘で元の場所を見つけてます。 なにかいいアイデアがあったら教えてくらさい。
893 名前:デフォルトの名無しさん mailto:sage [2005/04/20(水) 06:54:39 ] 似たような情報を保存しておいてエラーメッセージの方の行番号を変換したら?
894 名前:デフォルトの名無しさん mailto:sage [2005/04/23(土) 02:57:00 ] >>892 > 私はJava向けのプリプロセッサ(というかコード生成系)を書きましたが、 >Javaには#lineがないので、エラーが出たら勘で元の場所を見つけてます。 この場合の「エラー」がどんなものかわからないんだけど、892が作ったのが cpp流の、文法を理解しないプリプロセッサで、javacでコンパイルエラーを 起こし、その場所が分からなくて困る、ということなら、原始的だけど //#line ほんとの行番号 "inputfilename" みたいなコメントを入れるとかかね。人間がソースを見れば、 どこの場所かわかるだろ。 もし、そのプリプロセッサが、完全なパースを行いエラーのないJavaソースを 吐くようなもので、実行時エラーの行番号を知りたい、ということなら、 いっそJavaソースではなくバイトコード吐かせた方が楽なような気がする。
895 名前:デフォルトの名無しさん mailto:sage [2005/04/23(土) 21:51:48 ] たとえば、javac のエラーが Hoge.java:123: error みたくなってたら Hoge.org とかいうファイルの123行目を見ると元のソースと行番号が分かるようにしておく。 後は、エディタのマクロを書いて、 javacのエラーメッセージからワンキーでソースのエラー行にジャンプ。 もしくは>>893
896 名前:デフォルトの名無しさん [2005/04/25(月) 22:25:53 ] ここの住人で、本当に言語やってる香具師(趣味除く)って どれぐらいいるの? もし、よかったらどんなのやってるかおしえて!
897 名前:デフォルトの名無しさん mailto:sage [2005/04/25(月) 22:32:34 ] 言語はあくまで道具だからな 道具を作って喰っていけるのは一握りでしょうな。
898 名前:デフォルトの名無しさん mailto:sage [2005/04/25(月) 22:52:57 ] >>896 ノシ NDAがあるんでこれ以上は_
899 名前:デフォルトの名無しさん mailto:sage [2005/04/25(月) 23:25:47 ] >>896 仕事していたりすると書けない事もある。 書くとバレるぐらいドマイナーな事やっている事もあるので2ちゃんではボケ役が楽しい。 ギャグが下手くそすぎるのが悩みの種。
900 名前:デフォルトの名無しさん mailto:sage [2005/04/26(火) 12:20:46 ] 会社の製品に無理やりスクリプトエンジンぶち込んだことはあるが、 それ以上はやったことないわ 言語だけで食っていける人はちょいうらやましい
901 名前:デフォルトの名無しさん mailto:sage [2005/04/26(火) 16:42:44 ] >>899 書いてバレないようなことやってても食えないからなー
902 名前:デフォルトの名無しさん mailto:sage [2005/04/26(火) 18:44:22 ] 幸か不幸か仕事でコンパイラを作ってますが、余り書いて面白いことがないですね。 仕様書作成→コーディング→単体テスト→結合テストのルーチンワーク。 ところで皆さんのところでは開発言語は何を使ってますか? うちはまだCです……いい加減つらい。
903 名前:デフォルトの名無しさん mailto:sage [2005/04/26(火) 21:26:14 ] 仕事で言語って移植がほとんどなの?? 全然想像できないなぁ…
904 名前:デフォルトの名無しさん mailto:sage [2005/04/27(水) 00:14:41 ] >>896 ノ とはいってもパーサだけだけど
905 名前:デフォルトの名無しさん mailto:sage [2005/04/27(水) 03:01:53 ] >>903 んなわけないんだけど、書いたら即バレ(w つかちょっとでも事例書いたらバレる。
906 名前:デフォルトの名無しさん mailto:sage [2005/04/27(水) 07:00:51 ] >>902 うちもCだ。せめてC++にしたいところだが、1Mstep以上のコードを今更書き直せない。
907 名前:デフォルトの名無しさん mailto:sage [2005/04/27(水) 19:39:24 ] 今どきCかよ。ご愁傷様。 ILのクラス階層が作れないと辛かろう。
908 名前:デフォルトの名無しさん mailto:sage [2005/04/27(水) 20:35:46 ] >>905 多分携帯だろうな。 今時、活気あるところといえば、携帯ぐらいしか思い付かんw
909 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 01:10:08 ] >>900 俺も一度客先のシステムにスクリプトエンジン組み込んだことある。 別のシステムでは、スクリプトエンジンと言うほどではないが、 式を評価するパーサと評価器を組み込んだ。 Excelなんかがいい例だけど、ユーザが入力した式を評価する程度の用件なら、 結構いろいろなシステムであると思う。
910 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 01:39:19 ] ATコマンドパーサなら昔かいた事ある
911 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 06:38:51 ] コマンドラインオプションパーサならいつも書いている
912 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 10:01:42 ] getopt(getoptlong)とか使わないの?
913 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 15:13:13 ] りんごたん・・・
914 名前:デフォルトの名無しさん mailto:sage [2005/04/28(木) 20:59:12 ] >>913 なんでそこに話が戻るんだw
915 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 00:58:21 ] LISP最強
916 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 01:00:03 ] CPU実験をまじめに受けろ。
917 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 18:38:45 ] >>915 なんでそこに話が戻るんだw
918 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 18:44:40 ] だが同意しないでもない
919 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 20:22:31 ] >>916 東大情報ですか?
920 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 22:55:28 ] >>909 そうなのか?珍しくないか? それとも、システムが古いのか?
921 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 11:49:30 ] うえの方で誰かが書いてた綾本(りんごでない奴)って本当にでるの? それともネタ?
922 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 14:09:47 ] 相談です。部署内の予算が限られています。 岩波のプログラミング言語処理系 www.amazon.co.jp/exec/obidos/ASIN/4000103458/qid=1114924069/br=3-1/br_lfncs_b_1/249-2372217-9000318 と のだめカンタービレ#1〜#11,(近日#12が発売予定) www.amazon.co.jp/exec/obidos/tg/series/-/88270/comic/ref=pd_iis_1/249-3105321-3542702 上記のうちどちらを購入しようか悩んでいます。意見をお聞かせください。 以上、宜しくお願いいたします。
923 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 14:38:35 ] >>922 のだめを買える部署内予算がウラヤマ(w
924 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 18:18:35 ] オレが言語処理系の研究室を舞台にしたマンガ描くからそれを買え。 タイトルは、 のだめエンター のだめ: command not found.
925 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 19:33:08 ] >>922 下を部で買って、上は自分で買え。 のだめは何度も読み返す漫画じゃないし。
926 名前:デフォルトの名無しさん [2005/05/01(日) 19:36:26 ] >>925 ...,、 - 、 ,、 ' ヾ 、 丶,、 -、 / ヽ ヽ \\:::::ゝ /ヽ/ i i ヽ .__.ヽ ヽ::::ヽ ヽ:::::l i. l ト ヽ ヽ .___..ヽ 丶::ゝ r:::::イ/ l l. i ヽ \ \/ノノハ ヽ l:/ /l l. l i ヽ'"´__ヽ_ヽリ }. ', ', 'l. i ト l レ'__ '"i:::::i゙〉l^ヾ |.i. l . l l lミ l /r'!:::ヽ '‐┘ .} / i l l / ̄ ̄ ̄ ̄ ̄ ̄ ̄ l l l.ヾlヽ ゝヾ:ノ , !'" i i/ i< お兄ちゃん iハ l (.´ヽ _ ./ ,' ,' ' | またゴミ本勧めるの? |l. l ` ''丶 .. __ イ \_______ ヾ! l. ├ァ 、 /ノ! / ` ‐- 、 / ヾ_ / ,,;'' /:i /,, ',. ` / ,,;'''/:.:.i
927 名前:デフォルトの名無しさん [2005/05/01(日) 20:40:52 ] 言語処理系の研究室を舞台にした写真集(ry
928 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 19:52:11 ] ドラゴンブックの英語ってむつかしいですか?
929 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 21:18:39 ] 邦訳版と両方借りてくればいいじゃん
930 名前:デフォルトの名無しさん [2005/05/04(水) 21:24:03 ] 英語版は1冊で5000円、日本語版は2冊で10000円。