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 あたり
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円。
931 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 21:30:00 ] >>930 こんなに違うの? 英語自身ないけど、もってるだけでかっこいいしなぁ
932 名前:デフォルトの名無しさん [2005/05/04(水) 21:33:09 ] >>931 ダメだよ!お金は大事だよ! 要らない物は買ったらダメ。本当にいる物は何かをちゃんと考えようね。
933 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 21:36:36 ] 本当にいる物がわかれば苦労しない。
934 名前:歩美 [2005/05/04(水) 21:40:48 ] はじめまして。 情報処理の学科に今年入学しました。 コンパイラ作成には興味があるのですが、どこから手をつけていいかわかりません。 学習手順やお勧めの本を教えてくださいませんか? よろしくお願いします。
935 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 21:43:11 ] はじめてのC
936 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 21:48:20 ] おすすめ OS/Programming 簡単な C コンパイラ ttp://www.csg.is.titech.ac.jp/~chiba/lecture/os/
937 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 23:10:08 ] C++のコンパイラ書いてメンテして サポートしている人って凄い凄すぎる
938 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 23:15:36 ] >>934 よし、じゃまずSchemeインタプリタの実装だ。 字句解析からやってみろ。"(",")","let",数字,文字列,などなど にIDを振って出力するんだ。
939 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 23:21:24 ] >>937 同意
940 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 23:24:45 ] Cのコンパリラも凄すぎ。GCCとか、 あのコードの量は脅威的だ。
941 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 23:56:01 ] gccは無駄機能多すぎ あれを金もらわずに保守してる奴はアホ
942 名前:デフォルトの名無しさん [2005/05/04(水) 23:56:25 ] >>938 こんな感じ? int xxx(int c) { int rtnVal = -1; switch(c) { case '(': rtnVal = 1; case ')': rtnVal = 2; } return rtnVal; }
943 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 00:00:49 ] >>942 そうだね。 でもそれだと変数名や数字を扱えませんね。IDを表す構造体を作るとよいです。
944 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 00:01:35 ] >>942 lexerはそんな感じだ あとはそれで読んだトークンをかき集めてリストにできれば とりあえずreadは完成だ
945 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 00:02:59 ] あと、インタプリタなどの処理系のプログラミングは文字列処理などが多いので、リストを扱いやすい言語の方が楽に作れます。 SchemeでSchemeの処理系を作ってみると面白いかもしれませんよ。
946 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 01:00:38 ] つまりSICPを読めということだな。
947 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 02:21:25 ] 文字列処理が多い→リストを扱いやすい方が楽 ??? Haskeller?
948 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 11:23:06 ] >>947 文字列処理は別にリストじゃなくてもいいけど、字句解析のあとの処理でリストだと便利というか…
949 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 13:43:19 ] 婦女参入で急に盛り上がるのかっ.この擦れは.
950 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 14:14:14 ] .. ̄ ̄| |∧∧ >>950 |,,゚Д゚) |U U ゴルァ!
951 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 16:03:53 ] >>950 再帰?
952 名前:たまえ mailto:sage [2005/05/05(木) 16:19:20 ] はじめまして。すれが伸びるように名前は、こんな感じがいいんでしょうか? Knuth先生やスティーブンス先生も、効率をもとめgoto使ったので 私も、goto >>934
953 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 16:21:12 ] 昔の人を持ち出さないでください。彼らは原始人です。ニュータイプとは違う種類の人間なのです。
954 名前:デフォルトの名無しさん [2005/05/05(木) 18:25:45 ] -------- テンプレ終わり --------
955 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 18:52:08 ] 綾タン