[表示 : 全て 最新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 あたり

357 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 02:53:46 ]
PowerPC
opensolaris.org/os/community/power_pc/powerpc_doc_library/

358 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 05:00:59 ]
> でIA32の場合インテルに資料請求するか秋葉あたりでデータシート買うって言う選
> 択肢な訳だけど。

それ、いつの時代の話?
ほとんどのCPUの命令セットはWebから落せる。
しかも IA32 の場合、日本語に訳されてる。

www.intel.com/jp/developer/download/
にある
IA-32 インテル アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル
からどうぞ。

359 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 05:29:13 ]
>>358
紙のマニュアルの方が扱いが楽だからなぁ。
プリントすると紙質の関係でつらいからね。


360 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 07:49:40 ]
そんなの選択肢からはずす理由にはならんだろ。
知らなかっただけなのに、言い訳苦しすぎですよ先輩。

361 名前:デフォルトの名無しさん [2006/01/22(日) 12:39:02 ]
新しい言語本がでてるな。
リンゴに続けるか?




362 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 13:30:05 ]
>>361
どれ?

363 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 14:24:41 ]
>>361
KWSK

364 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 14:25:30 ]
っていうかリンゴってどれだw
スモールコンパイラの制作で学ぶプログラムのしくみ?

365 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 19:48:58 ]
>>364
リンゴ本はその通り。
別名綾タソ本




366 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 23:16:51 ]
手続き呼び出し/呼び出されの制御はどうするのが一番簡単だと思います?
一時変数・局所データとか考えると色々と面倒……

一時変数については呼び出し側にスタック作っといて、呼び出され側が
勝手に取り出すようにするのが簡単かな?スタックマシンにすると構文木
を解釈するのが面倒臭そうだし……


367 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 00:04:05 ]
>>366
作ろうとしているのが機械語吐くコンパイラなのか、バイトコード吐くのか、
Rubyみたいに解析木を実行するタイプなのかもわからんでは何も言えんわな。

>一時変数については呼び出し側にスタック作っといて、呼び出され側が
>勝手に取り出すようにするのが簡単かな?

呼び出し側と呼び出され側でスタックが違うの?

>スタックマシンにすると構文木を解釈するのが面倒臭そうだし……

意味わかんねえっす。どっちみち構文木は解釈しなきゃいけないのでは。

368 名前:366 mailto:sage [2006/01/24(火) 00:46:10 ]
>367
おお、すみませぬ。インタープリタ作ろうとしています。
まずの目標はRubyみたいな解析木を実行するタイプですね。

>呼び出し側と呼び出され側でスタックが違うの?
一時変数の管理責任と、手続呼び出しの動作主体をどのように割り振ろうかな……
と思いまして。前述の例だと
 一時変数の管理責任:呼出側 -> スタック作って管理
 動作主体:呼び出され側 -> 駆動はこちら
とかを考えています。

>意味わかんねえっす。どっちみち構文木は解釈しなきゃいけないのでは。
確かにそうですな……知恵が回らなかった……


結局、
今日一日考えた結果、スタックマシンの連鎖みたいなのを作ってみることにしました。

369 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 01:29:56 ]
>>368
実行環境フレームとか言う奴の事さしてんの?>>スタックマシンの連鎖


370 名前:366 mailto:sage [2006/01/24(火) 02:47:12 ]
どっちかっていうと、駆動レコード+スタックマシンといった感じですかね。
(実装の手を抜くために)駆動ごとにスタックマシンを付けた感じ。

371 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 20:35:38 ]
お手本がRubyだと、この擦れ的には受けが悪いかもw
おれは第三世

372 名前:デフォルトの名無しさん [2006/01/25(水) 01:20:34 ]
LISP最高!

373 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 01:42:38 ]
>>372
なんでそこでLupinと言ってぼけないだよ

374 名前:366 mailto:sage [2006/01/25(水) 22:18:52 ]
そういや、単純なスタックマシンだと(いくつ実引数を渡すかは関数側で決まるから)
オーバーロードでひどい目に会いそうですな……

取りあえずはスタックのリストを作って回避しようかと考えていますが、他にどんな
アイディアがあります?


375 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 22:24:52 ]
オーバーロードを何時解決するかによる。コンパイル時に全部解決するなら問題あるまい。



376 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 23:18:18 ]
>>375
メソッド名とシグニチャが結びついてれば実行時解釈でも問題ないしね。


377 名前:366 mailto:sage [2006/01/25(水) 23:20:36 ]
そういやそうですな。

でも、折角だから多値戻しを実装してみたい気もするんですよね……
Rubyみたいに配列を戻す手もありますが。


378 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 23:37:20 ]
あまり欲張らない方がいいよ。複雑にしすぎると作ってて嫌になる。

379 名前:366 mailto:sage [2006/01/26(木) 00:06:21 ]
ははは、ご心配なく。かれこれ1年以上弄んでいますので、嫌んなるのは慣れっこです。
仕事だったら素直にC++使いますし。

まあ、未だに駆動が回んなくて鬱ですが…… “1+1”ができるのはいつになることやら……


380 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 18:25:17 ]
ルビーに学べ

381 名前:(ぱ) mailto:sage [2006/01/26(木) 21:14:22 ]
どうもです。上のほうで出ていた「ライターのM」です(たぶん)。

Rubyのような解析木実行タイプの言語を作ろうとしていて、かつ、独自スタックも
使うつもりなら、うちのcrowbarなんかは参考になりませんか?

kmaebashi.com/programmer/devlang/

>>368
>一時変数の管理責任:呼出側 -> スタック作って管理
>動作主体:呼び出され側 -> 駆動はこちら

ここで言っている「一時変数」がローカル変数のことであれば、管理責任は
呼び出され側にあるのでは。呼び出し側は呼び出され側のローカル変数を
知らないからです。

引数についてであれば、呼び出し側で領域を確保するにしても、別段それを
スタックに積む必要はないように思います。
crowbarの場合、駆動レコードごとに、変数名と値の対応表を持っています
(ver.0.3以降は、クロージャの実現のためにスコープチェーンを持っているので
ちょっとややこしいですが)。関数呼び出しでは、呼び出し時に、呼び出され側の
駆動レコード(CRB_LocalEnvironment)を作成し、その中に、ローカル変数として、
実引数の値を突っ込んでいるだけです。

引数やローカル変数の領域をスタックに確保するという実装ももちろん考えられますが
(crowbarでは代入により実行時にローカル変数が作られるのでそれはできなかった)、
その場合、引数は呼び出し側で積むことになるのでは。

いずれにしても、関数呼出しごとにスタックを持つ必要なないと思うのですが、
どうでしょうか。crowbarは演算用の独自スタックを持っていますが、スタックは1本です。
まあ、crowbarのスタックは足りなくなるとrealloc()するので、そのへんの効率低下を
嫌って関数呼び出しごとに持つ、というのならわかりますけど。

382 名前:(ぱ) mailto:sage [2006/01/26(木) 21:22:58 ]
ついでに上の方の質問に。

>>91
>ライターのM氏のページで、Cでの実装だと型そのものはUNIONにまとめてる感じでした。
>やっぱり処理系が扱う変数型をまとめてUNIONにしてしまってフラグ変数で型を見分けて扱うというのが一般的なんでしょうか?

一般的かどうかは知りませんが、crowbarでは値を保持するために2箇所で共用体を使っています。
変数の値を直接保持するCRB_Valueと、変数から指された先のヒープ中にある、
CRB_Objectです。

>そのときに、たとえばWinapiに対する拡張とか、製作時点で未知のオブジェクトに対応する場合はどういう方向になるんでしょうか?

Winapiに対する拡張とかを狙って、ネイティブポインタ型というのを導入しています。
luaのユーザデータ型も同じようなもののように見えます。

>>96
>C言語的構造体指向OO風味だと、メモリの配置さえあってれば問題なく下位の構造体にアクセスできるから、
>なんとか構造体EXとかは可能だと思う。関数ポインタつければ仮想関数もどきとかもできますぜ。

これは、crowbarで言うところのCRB_Objectについては可能でも、CRB_Valueについては
不可能ですよね。

383 名前:366 mailto:sage [2006/01/27(金) 00:10:43 ]
>381
情報サンクスです。考え方のところとか色々と参考になります。

ただ、自分の目指しているのは型なし&プロトタイプ指向ですので、やっぱりちょっと
ポイントが違うようですね。まあ、その違いを見るのも楽しいですが。

>ここで言っている「一時変数」がローカル変数のことであれば、
いえ、関数の戻り値ですね。最初は関数の戻り値を次の継続に直接渡そうかと
考えていたのですが、そうすると今の自分のアイディアだと(継続のずっと先にある)
ブロックのローカル変数から実引数を取ってくるのが面倒にだったので、少し悩んでました。
スコープチェーン作って管理するのもいいのですが、もっと簡単な方法が無いかな……と
いうことで、取りあえずはスタックマシンを利用する方法でトライすることにします。

>いずれにしても、関数呼出しごとにスタックを持つ必要なないと思うのですが、
call/ccを実装したいと思っているのですが、その都度スタックを保存するのも面倒だし
いっそのこと全部の継続にスタック持たせちまえ、という乱暴なアイディアから来ています。
……まだ実装できていないので、本当にうまくいくのか不明ですが……


384 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 00:27:50 ]
アイデアだけではなぁ、
なぜ既にあるものを使わん?
アフォ?

385 名前:366 mailto:sage [2006/01/27(金) 00:37:09 ]
>384

既にある言語では無いから作っているんだけど……Schemeは近いものを感じるけどね。

あと、勉強という意味では車輪の再発明も重要だよ。




386 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 02:00:33 ]
一年以上やって1+1も出来ないんだろ?
勉強になってるか疑問だな。

>ただ、自分の目指しているのは型なし&プロトタイプ指向ですので、やっぱりちょっと
>ポイントが違うようですね。まあ、その違いを見るのも楽しいですが。

形無し&プロトタイプ指向だからポイント違う?
何言ってんだお前。

387 名前:366 mailto:sage [2006/01/27(金) 02:45:51 ]
> 一年以上やって1+1も出来ないんだろ?
> 勉強になってるか疑問だな。

あら、そう? 1+1てけっこう大変だよ?
まあ、継続とか移譲とかグラフとかオートマトンとか、回り道が多いちゃ多いがね。
それもまた勉強。


>形無し&プロトタイプ指向だからポイント違う?
>何言ってんだお前。

どういう意味?


388 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 09:10:54 ]
もういいから来るな。
一年以上で未だ1+1もできないほど頭悪いんだろ?
これから先何年もアホ質問書き込まれるかと思ったらゾッとする。

389 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 12:24:31 ]
継続でスタック保存するのが面倒ってんなら、駆動レコードを全部
ヒープに置くって手もあるが。それだとcall/ccは駆動レコード
チェインの頭の掴んでおくだけだよ。
性能を気にしてるわけでもなさそうだし、駆動レコードごとに
スタックなんて面倒なことをなぜするのかよくわからない。


390 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 13:54:36 ]
Lisp使いはリストを見ると車とかCD-Rとかを使い出す

391 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 13:58:48 ]
>>390
どうして車とCDRに発想が結びつくの?

392 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 14:28:07 ]
なにこの変なマジレス

393 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 14:39:34 ]
Lisp使いはCD-Rのことを「クダー」と読むんだな

394 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 17:54:48 ]
久多良木信者はLisp使いか否か?

395 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 18:21:20 ]
>>391
しらないけどcarとcdrだからじゃない?



396 名前:(ぱ) mailto:sage [2006/01/27(金) 20:21:31 ]
>>383
>ただ、自分の目指しているのは型なし&プロトタイプ指向ですので、やっぱりちょっと
>ポイントが違うようですね。まあ、その違いを見るのも楽しいですが。

crowbarは思いっきり型なし&プロトタイプベースのつもりですが。

>いえ、関数の戻り値ですね。最初は関数の戻り値を次の継続に直接渡そうかと
>考えていたのですが、そうすると今の自分のアイディアだと(継続のずっと先にある)
>ブロックのローカル変数から実引数を取ってくるのが面倒にだったので、少し悩んでました。

継続をやりたいということ自体初耳なわけですが。

継続は詳しくないので以下見当外れならすみませんですが、
「Rubyみたいな解析木を実行するタイプ」で、解析木を再帰で辿っているとすれば、
「Cのスタックどうするの?」という疑問が出てきます。
「関数の戻り値を次の継続に直接渡そう」ということだから、CPS変換を前提にしている?
だとすればそれはもう「Rubyみたいな解析木を実行するタイプ」とは言えないのでは。

>>389
関数内での、計算途中の値を積んでおくスタックのことなんじゃないでしょうか。


397 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 22:07:07 ]
1+1ねぇ、マジレスするけど、
yacc触りはじめてその日でできたよw

398 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 22:27:40 ]
コンパイラ構成法の一番最初の項目が電卓だからな。

399 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 22:43:00 ]
1+1が一年以上できないとか言ってるなら、いったんScheme作ればいいのに。
コアな部分に限れば仮想マシンとコンパイラそれぞれ一日で書けるよ。
そしたら作りたい俺様言語で何をどうするかも少しは見えてくるんじゃね?


400 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 22:45:01 ]
>>398
うちの大学は字句解析だったよ…。

401 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 23:53:04 ]
>>398
漏れが最初にやったのは逆ポーランド式の理解だった・・・懐かしいな


402 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 00:42:37 ]
きっかけを大別すると、
・yacc/lexまたはbison/flexで独学
・大学や専学でコンパイラ/インタプリタの講義
って感じなのかな?

403 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 00:43:46 ]
授業でちょっとやったけど、あまりに講義資料・内容がヘボかったから独学に切り替えたなぁ。

404 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 00:58:28 ]
情報処理の講師の説明よりも、数学の講師の説明の方が、実は分かりやすかったりするんだよな。w


405 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 01:02:41 ]
アルゴリズムの大半は、数学の勉強だからな



406 名前:366 mailto:sage [2006/01/28(土) 04:22:49 ]
しまった……中途半端な情報で混乱させていますね。すみません

>389
今作っている実装だと、駆動レコードチェイン+駆動レコード内のスタックといった
感じにしています。>396の指摘通りですね……と言っても詳しく説明していないから
わかんないよね。ごめん

>396
>crowbarは思いっきり型なし&プロトタイプベースのつもりですが。
失礼しました。まだ読み込んでいないので……

>「Rubyみたいな解析木を実行するタイプ」で、解析木を再帰で辿っているとすれば、
>「Cのスタックどうするの?」という疑問が出てきます。

今のところ、Cの関数処理プロセスに頼らない(再帰を使わない)で、
・解析木から継続の連鎖を作る
・継続を駆動する
という駆動を外部からループで回そうとしています。

>399
そうなんだけど、作りたいのはSchemeじゃないし、Schemeからちょっと離れているし。
……とはいっても、練習に作ってみるのもいい勉強かな……

>388
はあ。

407 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 04:27:43 ]
1年で1+1が作れない、最低限の理解力すら無い人間が406を書いたと思うと
その恐ろしい知ったかぶりに愕然とする

408 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 04:45:28 ]
しばらく放っとけないのか?

409 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 06:12:16 ]
俺は407の方の噛みつき具合いの方が愕然とする。


410 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 08:15:29 ]
>>409
そう? このスレの伝統だと思ってた。

411 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 10:56:44 ]
1+1 って、意外と難しいよ。特に数値オブジェクトを + メソッドで加算する場合……とか。
経験ない人が独学でやるには、1年はちょっとキツ過ぎじゃないか? とか擁護してみる。

412 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 11:08:31 ]
まあそういうのは人による部分が大きいよ。
CSのバックグラウンドあってOOにドップリつかった人がやり始めれば理解するのに1日かからないだろうし、逆にこれからプログラミングを始めますって人には1年じゃ無理だろうし。
極端に言えばね。
一口に何日で理解したとか何年かかっても理解できないとかから能力を量ってしまうのはナンセンスだとは思う。

413 名前:デフォルトの名無しさん [2006/01/28(土) 11:18:12 ]
10秒デデキマツタ!

if(strcmp(str,"1+1"))
printf("2\n");


414 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 11:38:52 ]
>>413
情報サンクスです。考え方のところとか色々と参考になります。

ただ、自分の目指しているのは型なし&プロトタイプ指向ですので、やっぱりちょっと
ポイントが違うようですね。まあ、その違いを見るのも楽しいですが。


415 名前:デフォルトの名無しさん mailto:389 [2006/01/28(土) 12:32:42 ]
>>406
> 今のところ、Cの関数処理プロセスに頼らない(再帰を使わない)で、
> ・解析木から継続の連鎖を作る

それをCPS変換というんじゃ…
でも素直にCPS変換したらスタックなんて出てこないと思うんだけど
(「計算途中の値」も全て継続への引数になる)。
それとも複数の引数を渡す際に、既に計算した引数の値を一時保存
しておくエリアってことかな。それを「スタック」と呼ぶのはどうかと
思うが (FILOである必要がないから)。

スタックは、普通の関数呼び出し→リターンに特化した一種の最適化
なんだよ。>>406 が何か特別な最適化のアイディアを試したいなら
別だが、原理を理解するために書いているなら、まず基本的な
CPS変換→実行系を動かしてみることをお薦めする。判断に迷うところは
とりあえず簡単に実装できるほうで書いてみる。書いてみないとわからない
ことってたくさんあるからね。とにかく動かしてから、別のアイディアを
試してみればいい。





416 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 12:58:32 ]
>411
そうだよね……自分の場合は駆動に引っ掛かっています。オブジェクトとメソッドを
等価に扱おうとして、『どうやって駆動すりゃいいの?』というところで散々悩んでいます。
あとは名前解決とか変数呼び出しとか……

>412
OOにはけっこうドップリ漬かっているんですけどね。
ここまで彷っているのは『当たり前と思っていた駆動とか関数呼び出しが、いざ
やってみると全然当たり前じゃなかった』というのが大きいですかね。


>407, 413, 414
へえ?

417 名前:デフォルトの名無しさん mailto:sage 366 [2006/01/28(土) 13:16:19 ]
>415
>それをCPS変換というんじゃ…
……そうだった。

> でも素直にCPS変換したらスタックなんて出てこないと思うんだけど
最初は素直にCPS変換していたんですけど、レキシカルスコープやろうとしたときに
(オレ言語のアイディアが邪魔して)うまくアクセスリンクが処理できなかったので、
スタック……というか単なるリストも併用する形を検討しています。

> まず基本的なCPS変換→実行系を動かしてみることをお薦めする
やっぱりそっちの方が近道かな……もうちょっと悩んでみます。

418 名前:366 mailto:sage [2006/01/28(土) 13:38:37 ]
>>415
情報サンクスです。CPS変換のところとか色々と参考になります。

ただ、自分の目指しているのはCの関数処理プロセスに頼らない(再帰を使わない)ですので、やっぱりちょっと
ポイントが違うようですね。まあ、その違いを見るのも楽しいですが。

419 名前:デフォルトの名無しさん mailto:sage 366 [2006/01/28(土) 13:41:57 ]
ありゃ、騙りも出て来たか……これだからIDの無い板は駄目だよな。
そろそろ名無しに戻るか。

>418
ふうん?

420 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 13:42:19 ]
>>419
ふうん?

421 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 13:48:08 ]
彼は型無し&プロトタイプ指向の言語に対して

>ただ、自分の目指しているのは型なし&プロトタイプ指向ですので、やっぱりちょっと
>ポイントが違うようですね。まあ、その違いを見るのも楽しいですが。

とか言ったのが一番面白かった。最高にバカ丸出しで。


何か言われたら、はあ?とかへえ?とかふうん?とか、
何か言い返さないと気がすまないってのもポイント高し。

422 名前:デフォルトの名無しさん mailto:sage 366 [2006/01/28(土) 13:50:38 ]
>>421
で?

423 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 13:58:54 ]
>>422
10ポイントアップ

424 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 17:51:31 ]
プライドだけ高そうだね。技術は(ry

425 名前:デフォルトの名無しさん [2006/01/28(土) 17:55:29 ]
ここの住人はプライド高いからナァ
ただし、技術は(ry




426 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 18:08:16 ]
お前の事か?

427 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 18:52:11 ]
プライドが高くなるのは仕方が無いのでは?
PGの四大欲求の一つである、言語の作成をやってるわけだし
OSと言語とファイルシステムとAIで良かったんだっけ?


428 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 19:03:38 ]
OS と言語と AI は分かるけど、ファイルシステムってのは何で?
4 番目に来るのは、Emacs とか Smalltalk みたいな「環境」じゃないかな。

429 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 23:43:42 ]
OSと言語は分かるけど、AIってのは何で?
アフォ?

430 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 23:48:46 ]
ちょwww「四大欲求」てwww

431 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 23:58:48 ]
ファイルシステムってOSの一部じゃないの?

432 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 00:06:41 ]
DOS

433 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 00:50:20 ]
どっちかってーと、OS・言語・マイクロコード(CPUの)・BIOS(とかEFI)
とかの方が

434 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 01:50:22 ]
それはただLow Levelな方をかき集めただけじゃん

435 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 01:55:09 ]
OS、言語、データーベース、ゲームじゃね?w



436 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 01:58:33 ]
AIは、作れなさそうだから実際に作ろうとまでは思わないが、
願望を持つ奴は多いと思う。
ゲーム、言語、OS、AIだろう。

437 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 06:09:51 ]
この人、数学者としてはいまいちなのかもしれないけど、
計算機科学の実情についてはよく分かってるね。
www.ritsumei.ac.jp/se/~takayama/MathEssays/essays.html

>>428
どうでもいい話だけど、現代においてはOSこそ「環境」ではないのかな。

438 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 06:23:47 ]
>>437
この人は自分が高いレベルにいすぎて、考え方の基準が高すぎるね。
確かに数学者を目指すレベルからすれば、計算機科学はおちこぼれが
流れる分野なのかもしれないが、一般の高校生から見れば
やっぱり、数学が必要な学科だよ。
単位とるにも数学的なものの考え方が必要な科目ばかりだしね。
一般の高校生の99%は大学でどちらかと言えば数学嫌い
になるだろうし。
一般の高校生のレベルと数学者のレベルを混同してるように見える。

439 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 06:30:44 ]
そりゃ、京都大学理学部出身から、立命館大学情報工学科みりゃ
レベル低くも見えるだろ。
それでもそこにいる学生は相対的に数学が得意で好きだった学生
なんだということが理解できないんだろうな。

440 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 09:23:25 ]
理学と工学は似て非なるものだしな。

441 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 15:33:57 ]
工学で一度数学の必要性を身に沁みるとまじめに勉強する気にもなるもんだが。
一度数学の講義を受けないとそもそも数学の必要性に気付けない罠。


442 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 15:41:09 ]
>>436
ああなるほど、ようやく分かった
人工無能の事ではなく、ホントの人格の事だったのか

人間の場合は四つの判断力を持ってるからな。
直感と理性の再現だけならどうにかなるかもしれないが、
感情と欲求の再現となると、なかなか難しいだろな


443 名前:デフォルトの名無しさん [2006/01/29(日) 16:30:38 ]

PGの3第欲求

(1)OS
(2)言語
(3)ハーレム

この辺りが本当の所だろう。


444 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 16:34:41 ]
で、エロゲで代用するわけか

445 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 19:55:35 ]
プログラマをPGと略す奴にろくな奴がいない



446 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 20:06:05 ]
>>443
OSも言語も興味ないやつはいくらでもいそうだけどな。

447 名前:デフォルトの名無しさん [2006/01/29(日) 20:15:58 ]
(1)金
(2)酒
(3)ハーレム

448 名前:初心者 [2006/01/29(日) 21:13:56 ]
質問です。
Yaccとかで論理式の短絡評価を行う常套手段はどのようなものでしょうか?
例えば、if(a==b||c==d) でa==bが確定するとc==dの評価はスキップ可能ですが、
Yaccとかだと、先にa==bとc==dが認識されてしまうと思うのです。

449 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 21:53:31 ]
>>448
yaccが生成するのは構文解析器。
意味解析は通常は構文解析で構文木を作った後のステップであって、yaccはやってくれません。

[文字列]→字句解析→[トークン列]→構文解析→[構文木]→意味解析→[一時コード]→最適化→[ましなコード]→コード生成→[出力コード]
というように道のりは長い。
yaccがやってくれるのは構文解析だけ(でも構文解析は最適化の次に面倒くさい部分なので大助かり)。

450 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 23:39:37 ]
>>447
それだ

451 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 00:42:32 ]
まあ、たいていの入門書ではyaccの最初のサンプルは電卓で、
そのプログラムではアクションの中で計算もやっちゃってることが多いから
>>448 のように思ってしまうのも無理はないのかも。

制御構造を持つちゃんとしたプログラミング言語を作ろうと思ったら、
yaccのアクションでは解析木を作るだけにしておいて、評価は後で行います。


452 名前:448(初心者) [2006/01/31(火) 02:22:55 ]
>>449,451
そうでしたか。奥が深いですね。
一瞬、言語の仕組みが分かったような錯覚をしましたが、
本格的なものと電卓的なものとでは、ずいぶんとギャップがあるということが
わかりました。

ありがとうございました。

453 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 02:33:12 ]
C# コード出力するコンパイラコンパイラって、もしかして未だ無い?

454 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 02:36:00 ]
>>452
その錯覚はあながち間違いじゃないよ。
449で道のりは長いとか書いちゃったけど、実際には構文木まで作れれば終わったようなもんだし。
あとはその周辺の理論的な考察とか最適化の手法は好きなように学んだらいいだけ。

455 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 07:15:12 ]
>>453
多分ある。というかC#でコンパイラ作るみたいな本がなかったっけか。




456 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 12:20:28 ]
>>453
たしかANTLRが対応してたような気が

457 名前:448(初心者) [2006/01/31(火) 23:15:15 ]
>>454
どうもです。すこしづつ勉強して行きたいと思います。
(老後の趣味です。ハハハ)

ところで、Yaccってコンパイラコンパイラ等と呼ばれたりもしますが、
結構誇張された言い方とも受け取ったのですが、言語専門家の方は
どのように感じますか?

(技術的な話でなくてすいません。)






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

前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