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

542 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 23:50:05 ]
手軽に自分用のスクリプトを組み込むという用途としては
最適であるのは間違いないと思うがな。


543 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 00:37:49 ]
>>539 には Python の存在意義を問うてみたいな。

544 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 00:46:40 ]
Java用のスクリプト言語にHaskellが加わったらしいね
Javaのスクリプトコレクションがどんどん増えていって楽しい

545 名前:539 [2006/02/22(水) 21:51:56 ]
釣り餌じゃなく本当に python の存在意義が疑問なんだが
(除く、実用)

546 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 21:53:16 ]
> Lispの存在意義
新しい言語を手軽に実装できる、に尽きるような。
(で、この言葉がまた誤解されると。)

547 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 00:44:35 ]
釣り餌じゃなく本当に ruby の存在意義が疑問なんだが
(除く、他の言語を見下して優越感に浸る)



548 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 00:49:39 ]
Pythonは教育用言語がはじまりだよ
だれが書いても同じようなソースになるのは意図したこと
汚くないソースを書く癖を付けさせるためにインデントを強制している

549 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 01:11:55 ]
>>548
Pythonって使ったことないんだけどtabの扱いってどうなるの?


550 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 02:35:36 ]
>>542
>手軽に自分用のスクリプトを組み込むという用途としては
>最適であるのは間違いないと思うがな。

なんで?

パーサ書くのが簡単だから、というのはよく聞くけど、パーサなんて
パーサジェネレータ使えば簡単に生成できるから、メリットにならんと思う。
LL(1)文法なら再帰下降パーサでもそんなに大変じゃないし。
# だからよく聞く「言語処理系を作りたければまずLispから」ってのは
# おかしいと思う。みんな、自分が普段使ってるCとかJavaみたいなのから
# 処理系に興味を持つんだから、そういうのを作ってみたいんじゃなかろうか。

それとも他の理由?



551 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 03:01:37 ]
>>549
www.python.jp/doc/nightly/ref/indentation.html
>まず、タブは (左から右の方向に) 1 つから 8 つのスペースで置き換えられ、
>置き換え後の文字列の終わりの位置までの文字数が 8 の倍数になるように調整されます
>(Unixで使われている規則と同じになるよう意図されています)。

で、下がったインデントが上がるときには以前のどっかのインデントレベルと
合ってなければいけないけれど、1回のインデントでどれだけ下げるかは
決められてなくて、2文字インデントと4文字インデントと8文字インデントが
混在していてもいいってことか。

>>548
>だれが書いても同じようなソースになるのは意図したこと
>汚くないソースを書く癖を付けさせるためにインデントを強制している

中途半端だよなあ。

www.artima.com/weblogs/viewpost.jsp?thread=101968
>All code indented with four spaces. This will also get rid of the tabs problem!

やっぱこれだこれ。


552 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 07:19:59 ]
>>550
他の理由。

飽きれるぐらい繰り返し出てる話だけど、
新しい言語を追加できるんだよ。


553 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 09:40:18 ]
 

554 名前:デフォルトの名無しさん [2006/02/23(木) 21:26:25 ]
>>547
それ程までに、優越感を感じる言語って
一体…?


555 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 22:27:38 ]
習得が難しい言語でなければ
ユーザーが優越感を感じたりはしないだろうな

556 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 22:29:43 ]
>>555
よい言語ではある、でも偉いのは作ったmatzで優越感を感じてる厨房は単なる馬鹿

557 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 00:35:12 ]
>>552
>新しい言語を追加できるんだよ。

新しい言語を「何に」追加するのさ。
542は、AutoCADがAutoLispを組み込んでいるように、アプリケーションにLispを
組み込む話をしてるのかと思ったから550を書いたんだけど、違ってたのかね。

Lispでプログラムをばりばり書きながら、そのなかのある特定の領域について
DSLが欲しいと思ったときにLispだと楽に作れるって話?

だとすれば、それはどんな言語をどんな形態で組み込むことを想定しているの?

(1)Lispでスキャナやパーサを書いて、Lispとはまったく似ていない言語を組み込む。
(2)Lispのリーダを使ってS式を読み込み、自力で評価する。
(3)Lispのマクロで俺言語っぽいものを作る。

どれ?

(2), (3)だと、作れる言語は所詮S式になるな。


558 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 01:16:46 ]
>>557
もちろんLispを使うということはS式ありきだよ。
552じゃないけどLisperの思考なら(1)も結果をS式に変換して、
Lispにそのまま食わせたり(これが(2)や(3)に繋がったり)すると思うよ。
適当に俺言語っぽいものを作ってみたとして、仮にS式で不満に
なったらフロントエンドに俺言語スキャナを追加したりという、
色んな箇所で入出力できるのがLispの使い勝手の良さに繋がってる
のではないかと。

アプリの組み込みについては、とりあえずS式読めるように
Lispコアを埋め込んでおくと便利という意味じゃないかな。


559 名前:デフォルトの名無しさん [2006/02/24(金) 09:22:51 ]
括弧が深くならないLISPってないですか?

560 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 09:29:13 ]
>>559
( ´Д`) キサマ・・・見た目に惑わされているな



561 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 10:53:43 ]
>>559
XML

562 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 20:46:42 ]
括弧開くと括弧閉じるの書き方が違うだけでは

563 名前:デフォルトの名無しさん [2006/02/24(金) 23:13:29 ]
結局は括弧ばかりのカッコウ言語w

564 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 23:46:35 ]
なにその昭和な親父ギャグ


565 名前:デフォルトの名無しさん [2006/02/25(土) 01:44:26 ]
ワンライナーならPythonのPLY。
アプリ組むならC++Boostのspritがデフォなんだけどどうなんだろう。

開発業務における調査・解析の仕事って結構あるのよね。
最終的にはgrep一覧と確認結果をレポートするんだけど、当たりを付ける時は
自前のスクリプト使ってる。
抽象的な入力を対話式に行って解析出来るツールが欲しいなぁと思うこの頃。
誰か作ってません?

566 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 02:25:16 ]
prolog?

567 名前:565 mailto:sage [2006/02/25(土) 02:35:29 ]
>>566
あー、そういうアプローチもあるねw
自分が考えているのは、もっとバカチョンなやつ。
理想は自然言語をINPUTとして扱えるとか。

チームで使うのに、Prolog覚えるのは敷居を上げてしまうので
普及しない希ガス。

568 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 02:40:22 ]
Eliza?

569 名前:565 mailto:sage [2006/02/25(土) 02:53:28 ]
>>568
それやりすぎだしw
つか、相当マニアックだなおい。

文章は命令形式で良いと思うんだ。
list param CFoo::m_bar1 when CFoo::m_bar2 == 0
見たいな感じ。全然自然言語じゃないな。やっぱ形式言語がいいかw
SQLみたいだと良いかも。

すまんな、求めているものが変わってきたw

570 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 10:19:44 ]
死ねよ



571 名前:デフォルトの名無しさん [2006/02/25(土) 11:59:25 ]
こうして、またひとり Ruby ユーザが増えました。
めでたしめでたし。

572 名前:デフォルトの名無しさん [2006/02/25(土) 13:34:49 ]
>>569
こんな感じだろ


もしお金が10億あれ場合
 会社を辞める
それ以外の場合
 銀行を襲う
以上

573 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 15:00:20 ]
>>572
ElizaよりMedicが必要な希ガス

574 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 19:01:55 ]
上のほうにあった
コンパイラ入門 C#で学ぶ理論と実践 ソフトウェア実践講座
冨沢 高明 (著)

www.amazon.co.jp/exec/obidos/ASIN/4797331690/qid=1140946035/sr=1-1/ref=sr_1_10_1/250-3599959-2832238

マクロアセンブラのコードを吐く「ジェネレータ」の説明に60ページほど費やしてました。
このコードをインラインに展開するツールも添付されてます。

現在MS社の上級社員?である著者がアメリカの大学で行っていた講義の中身を再編集した本らしいです。

MS製品の開発環境の使い方から書かれてあるので
手元にC#があれば便利ですが、C++が使える人には多分問題でないでしょう。

Javaのバイトコードを吐く「スモールコンパイラ」本と同程度の内容ですが、
類書でマクロアセンブラのコードジェネレータまで扱う本はあまり無かったのではないでしょうか?

やる気のあるアメリカ人大学生相手の講義が元ネタなので内容はずっと真面目で、
著者は特に情報工学部の実習本・TAのためのガイド本を意識されておられるようです。

ただ、アセンブラ「ジェネレータ」部分ですが、複雑なテクニックは使っていないはず
なので、「俺はCのソースを見るだけでアセンブラのコードが頭に浮かんでくる、
これまでにコンパイラはいくつも書いてきた」、という方やRuby厨は買う必要ないと思います。

インタプリタやスクリプト言語の作成から、コンパイラの作成へとステップアップしたいが
アセンブラの勉強がどーにも…、という方には喜ばれる内容だと思いました。

575 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 19:04:44 ]
上のほうにあった
コンパイラ入門 C#で学ぶ理論と実践 ソフトウェア実践講座
冨沢 高明 (著)

www.amazon.co.jp/exec/obidos/ASIN/4797331690/qid=1140946035/sr=1-1/ref=sr_1_10_1/250-3599959-2832238

マクロアセンブラのコードを吐く「ジェネレータ」の説明に60ページほど費やしてました。
このコードをインラインに展開するツールも添付されてます。

現在MS社の上級社員?である著者がアメリカの大学で行っていた講義の中身を再編集した本らしいです。

MS製品の開発環境の使い方から書かれてあるので
手元にC#があれば便利ですが、C++が使える人には多分問題でないでしょう。

Javaのバイトコードを吐く「スモールコンパイラ」本と同程度の内容ですが、
類書でマクロアセンブラのコードジェネレータまで扱う本はあまり無かったのではないでしょうか?

やる気のあるアメリカ人大学生相手の講義が元ネタなので内容はずっと真面目で、
著者は特に情報工学部の実習本・TAのためのガイド本を意識されておられるようです。

ただ、アセンブラ「ジェネレータ」部分ですが、複雑なテクニックは使っていないはず
なので、「俺はCのソースを見るだけでアセンブラのコードが頭に浮かんでくる、
これまでにコンパイラはいくつも(心の中に)書いてきた」、という方は勿論買う必要ないと思います。

インタプリタやスクリプト言語の作成から、コンパイラの作成へとステップアップしたいが
アセンブラの勉強がどーにも…、という方には喜ばれる内容だと思いました。

576 名前:デフォルトの名無しさん [2006/02/26(日) 22:27:19 ]
上のほうにあった
コンパイラ入門 C#で学ぶ理論と実践 ソフトウェア実践講座
冨沢 高明 (著)

www.amazon.co.jp/exec/obidos/ASIN/4797331690/qid=1140946035/sr=1-1/ref=sr_1_10_1/250-3599959-2832238

マクロアセンブラのコードを吐く「ジェネレータ」の説明に60ページほど費やしてました。
このコードをインラインに展開するツールも添付されてます。

現在MS社の上級社員?である著者がアメリカの大学で行っていた講義の中身を再編集した本らしいです。

MS製品の開発環境の使い方から書かれてあるので
手元にC#があれば便利ですが、C++が使える人には多分問題でないでしょう。

Javaのバイトコードを吐く「スモールコンパイラ」本と同程度の内容ですが、
類書でマクロアセンブラのコードジェネレータまで扱う本はあまり無かったのではないでしょうか?

やる気のあるアメリカ人大学生相手の講義が元ネタなので内容はずっと真面目で、
著者は特に情報工学部の実習本・TAのためのガイド本を意識されておられるようです。

ただ、アセンブラ「ジェネレータ」部分ですが、複雑なテクニックは使っていないはず
なので、「俺はCのソースを見るだけでアセンブラのコードが頭に浮かんでくる、
これまでにコンパイラはいくつも書いてきた」、という方やLisp厨は買う必要ないと思います。

インタプリタやスクリプト言語の作成から、コンパイラの作成へとステップアップしたいが
アセンブラの勉強がどーにも…、という方には喜ばれる内容だと思いました。

577 名前:デフォルトの名無しさん [2006/02/26(日) 22:56:34 ]
上のほうにあった
コンパイラ入門 C#で学ぶ理論と実践 ソフトウェア実践講座
冨沢 高明 (著)

www.amazon.co.jp/exec/obidos/ASIN/4797331690/qid=1140946035/sr=1-1/ref=sr_1_10_1/250-3599959-2832238

マクロアセンブラのコードを吐く「ジェネレータ」の説明に60ページほど費やしてました。
このコードをインラインに展開するツールも添付されてます。

現在MS社の上級社員?である著者がアメリカの大学で行っていた講義の中身を再編集した本らしいです。

MS製品の開発環境の使い方から書かれてあるので
手元にC#があれば便利ですが、C++が使える人には多分問題でないでしょう。

Javaのバイトコードを吐く「スモールコンパイラ」本と同程度の内容ですが、
類書でマクロアセンブラのコードジェネレータまで扱う本はあまり無かったのではないでしょうか?

やる気のあるアメリカ人大学生相手の講義が元ネタなので内容はずっと真面目で、
著者は特に情報工学部の実習本・TAのためのガイド本を意識されておられるようです。

ただ、アセンブラ「ジェネレータ」部分ですが、複雑なテクニックは使っていないはず
なので、「俺はCのソースを見るだけでアセンブラのコードが頭に浮かんでくる、
これまでにコンパイラはいくつも書いてきた」、という方やLisp厨は買う必要ないと思います。

インタプリタやスクリプト言語の作成から、コンパイラの作成へとステップアップしたいが
アセンブラの勉強がどーにも…、という方には喜ばれる内容だと思いました。


578 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 23:57:26 ]
どうした?
どうした?
どうした?
どうした?

579 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 02:52:17 ]
>>574-577
おまえら長文で微妙に書き換える位なら差分だけあげろや惚け


580 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 21:37:29 ]
同じファイル内のdiffを取るツールって時々欲しくなるよね。
エディタ組み込みのスクリプトで書くのも面倒だし。



581 名前:デフォルトの名無しさん [2006/02/27(月) 22:05:37 ]
>>580
perl : Algorithm::Diff
Python : difflib

582 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 22:52:22 ]
>>579
コンパイラ屋なら差分くらい自分で抽出せい

583 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 23:15:05 ]
上の本、買っていいんじゃない?

584 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 23:15:29 ]
>>582
プログラマは無駄を嫌うので、
出来る・出来ないに関わらずやりたくない。
とりあえず最後の577だけ読んだ。

585 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 23:33:55 ]
そんなレスも考えたら凄い無駄だな

そして>>585も…

586 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 03:17:49 ]
「いまどきのプログラム言語の作り方」って本を読んでるんだけど、サンプルコードがJavaで
書かれているにもかかわらず、インターフェースがまったく使われてない。

そういうもの?

587 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 09:59:13 ]
インタフェースは仕様を記述するものだからな
作者は仕様を考えたりできなかったんだろう

588 名前:デフォルトの名無しさん [2006/02/28(火) 11:20:56 ]
名に要ってんだコイツ

589 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 11:47:26 ]
>>588が低脳をさらけ出したw

590 名前:デフォルトの名無しさん [2006/02/28(火) 12:47:34 ]
↑意味不明もここまで来ると病気だろう



591 名前:デフォルトの名無しさん [2006/02/28(火) 14:00:13 ]
2つ上をさす時は
矢印使わないほうが紛れが無くて良いと思うよ。

592 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 14:07:00 ]
そうだな。こういう風にな。

>>591はバカでアホすぎ。死んだ方がいいよ。

593 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 14:47:08 ]
おまえらいい加減にしろ

594 名前:591 [2006/02/28(火) 15:39:26 ]
まぁ相当悔しかったんだろうな。

595 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 16:14:38 ]
お前だろwww悔しかったのww

596 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 16:28:38 ]
wはいい火病メーターだなホント

597 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 17:09:39 ]
ほらww悔しかったから反応しちゃってるwww

598 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 17:39:02 ]
ListやConnectionの仕様をみると、確かにこりゃインタフェースだと思った。
ClonableやAppendableとかはなんかインタフェースとは違う気がする。(使うないう意味じゃなくてね)

599 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 17:54:15 ]
と、過剰反応する>>597の姿
ttp://www.dumpalink.com/media/1140251493/Most_Patient_Guy_In_The_World

600 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 17:58:58 ]
>>599
うざいから火病くんは消えてね



601 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:06:28 ]
という悔しさいっぱいの反応でした

602 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:08:23 ]
自作自演で荒らしてるのか?



603 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:10:59 ]
>>601
うざいから火病くんは消えてね

604 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:12:07 ]
自演じゃないならある意味チキンレースだな
相手に放置されちゃった方の負け

反応が無くて俺のこのレスが最後になったらどうしよう、と
ハラハラしながら送信してるんだろうな、どっちも

605 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 18:49:08 ]
見当違いな意見だ。
逆だ逆。自分が最後じゃないと悔しいんだよ。こういう手合いは。

606 名前:デフォルトの名無しさん [2006/02/28(火) 23:42:26 ]
また、rubier と lisper かw
まったくお前らって(ry

607 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 23:50:10 ]
>>606
もう Ruby や Lisp じゃ釣れない事を学習しろ。

608 名前:デフォルトの名無しさん mailto:sage [2006/02/28(火) 23:52:22 ]
(・∀・)ニヤニヤ

609 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 04:44:59 ]
以前Flex/Bison使うと生書きするより実行速度が遅くなるって誰か言ってたけどいったいなぜ?
それともデマ?

610 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 05:08:00 ]
そりゃターゲット言語に特化すれば速くなるでしょ。何でデマ?



611 名前:デフォルトの名無しさん [2006/03/01(水) 07:17:46 ]
>>606
> rubier

612 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 07:20:32 ]
もうだれかVIPとか言う言語つくるしか


613 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 08:48:37 ]
>>610
よーわからんけどFlex/Bisonに勝てそうな気がしない。
なんかすごい効率的にやってそうじゃん。

614 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 14:02:45 ]
『プログラミング言語を作る』
kmaebashi.com/programmer/devlang/index.html

615 名前:デフォルトの名無しさん mailto:sage [2006/03/02(木) 01:01:49 ]
>614
>381

616 名前:デフォルトの名無しさん mailto:sage [2006/03/02(木) 02:13:51 ]
がいしゅつでしたか (><)

617 名前:デフォルトの名無しさん [2006/03/02(木) 19:41:51 ]
俺言語でなく姫言語というのはないのか?

618 名前:デフォルトの名無しさん [2006/03/02(木) 22:32:39 ]
プログラミング言語 姫

619 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 12:52:34 ]
彼女に捧げるプログラミング言語 Love
そんな彼氏に捧げるプログラミング言語 氏ね

620 名前:デフォルトの名無しさん [2006/03/03(金) 19:52:46 ]
love か、いいネーミングだ。


プログラミング言語 ORZ




621 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 07:42:53 ]
>>620
むしろ OTL?

622 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 11:04:14 ]
>>619
ウィザードしか使えないくせによく言う(都市伝説ですか?)

623 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 11:54:43 ]
>>618
>プログラミング言語 姫

これの勉強を始めるのは「姫はじめ」か。


624 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 13:26:21 ]
入門書「はじめての姫」


625 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 15:40:34 ]
参照カウンタやマークスイープ型より効率のいい方法のGC考えた。

循環参照でも問題ないし、スループット、レスポンスともにほとんど
アプリの動作を邪魔しないし、効率は参照カウンタ方式の99%は
出る見込み(Cで普通にmalloc,freeする程度の負荷以上はかから
ない)

626 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 18:26:21 ]
同じことをやってるヤシはいると思うが、まあガンガレ

627 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:12:42 ]
Cのようにポインタをビット操作できてしまう言語ではGCの実装は無理でOK?

628 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:19:56 ]
コンサバなものならいくらでもあるわけだが…

629 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:20:29 ]
↑C「で」実装するではなく、Cのような言語にGCを搭載する、の意

630 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:42:43 ]
C/C++ 用の GC があるの知らんの?

現状だってプロセスのメモリ空間の中はスタックとか読み込んだライブラリを置く所とか
色々細分化されている訳で、そういう所は好き勝手弄っちゃダメでしょ。同じように GC
ヒープ領域を用意してあげれば良いんじゃないの。



631 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 19:49:14 ]
>C/C++ 用の GC があるの知らんの?
通常のmallocやnewに対応した完全に汎用的なGCがあるの?
原理的に絶対無理だと思うんだが。

やっぱGC専用のポインタが必要ってことだよね。

632 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:01:52 ]
>>628 >>630
ポインタのアライメントを利用して下位1ビットに情報を…
とか、その手の事をやられるとお手上げ。


633 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:03:38 ]
はいはい、C++/CLIでもやってなさいボウヤ

634 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:05:07 ]
>>632
>ポインタのアライメントを利用して下位1ビットに情報を…

もともとこういうことをするのは、C言語でも未定義なのでする奴が悪い、でオワリ

635 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:31:54 ]
JavaでできていることがCで出来ないはずはないだろ。
アセンブラに落とす時にJavaのVMみたいに複雑なメモリ管理を織り込めばいいんだから。

お前ら、言語仕様とABIを混同してないか?


636 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:34:41 ]
この話は仕舞いだな。

637 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:45:38 ]
>>635
>JavaでできていることがCで出来ないはずはない
JavaがGCできるのはCよりも操作の制約が強いからだ

char *a = malloc(100);
int b = (int)a; // これの善悪は別問題として
a = 0;

ってやってaからの参照がなくなった時点でGCが掃除しちゃったら
まずいだろ。プログラムとしてはbから復元して利用することもあり
えるから。

よってこういうことが出来る素のCには、「触らないでねポインタ」を
新たに導入しないとGCは装備できないんじゃねーか?

638 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:53:07 ]
だからコンサバ。

639 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 20:57:37 ]
わかんないおれのためにもっとくわしく。コンサ何とか型のGCって名前は
聞いたことあるけど、そんなにすごいもんなのか?

640 名前:632 mailto:sage [2006/03/05(日) 21:00:00 ]
>>634
その突っ込みは>>627に対して?
何で俺?




641 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:03:26 ]
>>639
homepage2.nifty.com/aito/gc/gc.html
www.donguri.sakura.ne.jp/~shock8/wisper/gc1.html

642 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:18:35 ]
>>641
リンク先見たけど(情報どうも)結局>>637をやられると吹き飛ぶじゃん。
回収し損ねは許容するとして、ポインタを隠蔽して分解して
持っておくようなことはやったら駄目ってことだね。

よって「触らないでねポインタ」を導入しないことには回収しそこねや
ハングアップを防止することは出来ないというのがオレの結論。

643 名前:デフォルトの名無しさん [2006/03/05(日) 21:18:53 ]
まぁ、ばかはどの刷れにもいるけどなw


644 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:21:01 ]
>>637でGCがおかしくなるって言ってる奴は機械語レベルの表現を
全然理解できないんだろうなあ。


645 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:22:43 ]
うむ。

646 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:26:39 ]
まあ、マジックリストに対応できるようなGCは
それなりに大変だろうね

647 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:29:25 ]
たしかCからJavaを呼べるはずだから
JavaはCのManagedコードライブラリと見ることも出来る

648 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:29:34 ]
>>644-646
というかGC使いたかったら泥臭いことはあきらめろってしかいえない。


649 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:30:56 ]
はあ?


650 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:30:59 ]
>>642
スマソ。>>641 の下のリンク先は読まない方が良いや。
適当にググって貼っつけただけだから。何じゃこりゃ。



651 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:41:52 ]
>>644
もうちょっと詳しく。当方アセンブラプログラマだ。

int b = (int)a;
a = 0;

とやったあとでb をビットレベルで分解したらどうにもならんと思うが、
コンサバ型だとそうならない魔法があるのか?

bを再構成してポインタに戻してアクセスしたら開放されてるって
いう状況は起こりうると思うが。

652 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:44:21 ]
だんだん条件が増えていく件。

653 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:52:27 ]
そりゃさすがにどうにもならない。

とはいえ、ビットレベルで分解→後で計算によって得た値が
セマンティクスの面で有効なポインタかどうかは疑問ではある。

>>652
つか、「原理的に無理」で思考停止してるから。


654 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 21:59:47 ]
>>652
議論に勝つために、徐々に条件を変えていくんだよなー。
2chはこういう奴ばかり。

655 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:09:08 ]
議論に勝った所で何があるわけじゃないんだけどね

俺の知らないところで何かあるのかな?w

656 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:13:50 ]
>>654
議論に勝つためというより、物知らずというか
ものの評価基準が幼稚なだけだと思われる。


657 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:21:31 ]
えーと、どこで笑えばいいのかな?

658 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:24:05 ]
>>657の頭の弱さ。


659 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:25:21 ]
ふーん。

660 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:25:56 ]
>>656
コンサバティブ GC を初めて知ったレベルなら仕方が無いんじゃないの。
まだ当たりが付けられないだけだと思う。



661 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:26:56 ]
あのー
>>642の時点で分解って書いてるんですけど

662 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:30:00 ]
>>652
651じゃないが、わざわざポインタを整数として扱おうとするなら、
その後なんらかの演算を行うんじゃないかってのは
容易に想像つきそうなものだが。

ま、演算は演算させておいて、ポインタはポインタのまま
別に持っておくとか手はありそうだけど。

663 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:30:14 ]
元々の命題は >>637 だろ。

664 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:33:40 ]
重箱の済みつつき過ぎ、話も出来やしないよ。
>>662はまともな人だね

665 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:35:08 ]
いや、>>631なんじゃないの。
631を無視して637だけなら対応したGCを書けばいいだけの話。

666 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:35:43 ]
>>662
演算をするかどうかじゃなくて、再代入するかどうかが問題でしょ。
コード辺だけでそこまでケアしろと?

667 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:42:04 ]
再代入というか、計算で合成した任意の値をアドレスとして
アクセスできるかどうかだね。
GCはプログラム中のデータからトレースできるものを残して
それ以外を回収するってことだから、
可能な演算の集合を定義してルートとなる即値だけでなく
その集合に含まれる演算で計算可能な値もアドレスとして
コンサバティブに扱うことをトレースとすればいいだけの話。
だから、むしろ「原理的には」GCは設計可能。「原理的には」だけど。


668 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 22:48:20 ]
ちょっと修正
ルートとなる→アドレスとなる
「原理的には」GCは設計可能→「原理的には」完全に汎用なGCは設計可能



669 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 23:35:17 ]
そのGC、何一つヒープを開放してくれなさそう

670 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 23:42:56 ]
>>666
想像しろよ。書いてるもんが100%だと決めなきゃ話できないようじゃ
CPUと一緒じゃないか。人間だろ? >>662は十分想像可能な範囲。

現に出来てる者が居る以上、それが出来なかった奴は気がまわら
ないということ。

なんで整数に持ってきたいのか用途は色々あるだろ。まあ想像でき
ないかもしれないがな。



671 名前:デフォルトの名無しさん [2006/03/05(日) 23:47:32 ]
まぁなんらかのお約束は必要だよ


672 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 23:48:31 ]
>>669
コンサバだからねw
演算の集合は全域で同一である必要はないわけで、
適当にヒントを与えて限定してもいいし、GCがコードを解析してもいい。
普通はそこまでやってらんないから演算は値をそのまま使う
という一択だと考えるだけで。


673 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 00:34:34 ]
>>670
幾らでも拡大解釈しようはあると思うけど、GC の仕組みを知っていれば
そちらには振れないんじゃないかというのが俺の解釈だっただけだよ。
ま、GC の仕組みを知っていれば、最初からこんな質問も出なかった
だろうけど。

674 名前:デフォルトの名無しさん [2006/03/06(月) 00:36:57 ]
なんか理論の飛躍が Ruby vs Lisp の時と似ているなぁ

675 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 01:06:36 ]
同じ面子でグルグル回してるだけだから

676 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 07:47:45 ]
>〜俺の解釈だっただけだよ
後から言うなよ

677 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 08:30:12 ]
後から想像しろとか言ってきたのアンタじゃん。俺にどうしろと??
もうこの話は終わったんだから絡んで来るなよ。

678 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 10:17:54 ]
>>677
> 俺にどうしろと??
恐らく謝罪を要求してるのでしょう :-)
あなたをやり込めたい一心であらゆる論理を適時付け替えて頑張っているのですから、
彼のプライドを満たすためにも謝ってあげてはどうかと思います。

679 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 10:40:02 ]
>>678
>>657

680 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 10:47:47 ]
>>679
笑えない現実に対する対処の話ですから、笑う箇所などありませんよ。
そんなことも読み取れないのですね :-)



681 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 10:54:51 ]
>>680
ふーん?

682 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 13:07:06 ]
>>680
よし、じゃ俺のプライドを満たすためにおまいが謝れ。

683 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 13:28:21 ]
>>682
ごめんください。

684 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 13:52:59 ]
エェェェェェェ(;´Д`)ェェェェェェェエ

685 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 14:23:03 ]
>>684
ごめんくさい。

686 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 15:32:11 ]
  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < まーた始まって、終わった。
|   ,;‐=‐ヽ   .:::::|    \___________
\  `ニニ´  .:::/
/`ー‐--‐‐―´´\


687 名前:デフォルトの名無しさん mailto:sage [2006/03/07(火) 00:21:33 ]
まけず嫌いで粘着なキチガイが暴れているスレはここですか

688 名前:デフォルトの名無しさん mailto:sage [2006/03/07(火) 00:31:35 ]
ぶるんぶるん体操

ぶるんぶるんと僕は言う
ぷるんぷるんとあなたは笑う
そんな2人は、フォーエバー
世界の端から今日は
そんなあなたはお毎度さん
今日もぶるんぶるん体操始まるよ

ぶるんぶるん、ぷるんぷるん
ぷるんぶるん ぶぷぷぷぷぷ

*四谷街道繰り返し

689 名前:デフォルトの名無しさん mailto:sage [2006/03/07(火) 23:02:33 ]
このスレでオリジナル言語作って公開してる人って何人ぐらいいるの?

690 名前:デフォルトの名無しさん mailto:sage [2006/03/07(火) 23:22:00 ]
俺的には、スクリプトはあくまで手段。目的は別にある。
だからスクリプトだけを公開する事は、俺にはありえん。




691 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 09:09:50 ]
現在の人数=0

>>690
ところで、目的って何ですか?

692 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 09:15:09 ]
現在の人数=1 ←どういうカウントだこれは?

>>690
ぼくちんも知りたい。その手の業界ってけっこうあるのかな?

693 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 10:22:21 ]
>>692
>>689


694 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 10:29:08 ]
>>693
あーそういう意味だったのか。
じゃリセット。

現在の人数=0

695 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 12:58:30 ]
現在の人数=1
でもどこだかは教えない(w

696 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 13:19:30 ]
現在の人数=2
……まあ、趣味の領域ですが。

697 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 19:53:28 ]
>>691-692
単に自分の作りたいソフトを作るために、
下ごしらえでスクリプトを作ってるだけだよ。


698 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 20:06:51 ]
現在の人数=3
……自分専用ツールとしてはじめたのがきっかけです。
私も、どこかは内緒w

699 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 20:17:47 ]
>>697
マクロみたいなの搭載してるって意味だよね。
それとも何か目的のソフトを作るための言語を作ってるって意味?

700 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 21:05:27 ]
>>699
後者。



701 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 21:19:45 ]
>>700
マジで?言語作ってる間に既存の言語でソフト作っちゃったほうが早いんじゃないの?

702 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 22:16:53 ]
>>701
プログラマの癖に手段と目的を取り違えたことがないの?

703 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 22:33:03 ]
>>702
くせにとは何だ!くせにとは!
お前こそ●●のくせに、いい気になるなよ。

704 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 22:54:10 ]
>>702
●2つも使ってるのか?なんて贅沢な。


705 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 23:05:44 ]
>>703
なんだとこの●●●!
お前だって●●●の●●●だろうに!●●●●!

706 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 23:22:18 ]
>>705
うるさい、この●●のろ!

707 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 23:41:49 ]
の●●の

↑鼻と目に見えた orz 以下、何事も無かったかのように再開。・゚・(ノД`)・゚・。↓

708 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 23:53:37 ]
>>702
こいつは、真性の●●●●。
つまり、●●w
あるいみ、●●●●●● ruby ● lisp ●●w

709 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 00:08:50 ]
>>701
理想が高すぎる事と、自分自身の能力不足が原因なんだよ。
オブジェクトが多くなりすぎると、内容を追い切れなくなる。
つか、状態変位やイベントトリブンは、漏れには理解しづらい‥‥orz
で、主に、個々の処理を独立させて、別個にまとめて見られる
ようにするためにスクリプトを使ってる。


710 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 00:40:15 ]
>>709
一言で言い表すと、
「グローバルオブジェクトなんて嫌いだぁ・・・
 全部ローカライズ化してやるぅ・・・・」
ってな感じでつ。orz




711 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 01:50:58 ]
ローカライズ化?

頭痛が痛いだな。

712 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 02:16:15 ]
英語は嫌いだぁ・・・w

713 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 11:44:40 ]
>>709
>つか、状態変位やイベントトリブンは、漏れには理解しづらい‥‥orz
>で、主に、個々の処理を独立させて、別個にまとめて見られる
>ようにするためにスクリプトを使ってる。

ちなみに、エミュレータのレジューム機能が元ネタ。
つ〜か、スレッドの場合は同期の管理が面倒なんだよな。


714 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 12:44:30 ]
OSとエミュレータと、エミュレートされるソフトの動作を、
全部一つの実装で実現させたい、ってな所。

715 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 14:07:36 ]
ネタが特許級に見えるのは気のせいか?
出願前に公開すると無効なはずだが・・・

716 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 14:54:39 ]
レジューム機能付きのエミュレータが出る前なら、可能だったかもね。

717 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 20:09:47 ]
>>714-715
似たようなネタのスクリプトなら実在するから探して味噌。

扱いやすいかどうかは別だが。w


718 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 20:50:04 ]
構文規則で、よくこんな表記つかってるけど
A → B,C
矢印逆じゃないの?

なんか、すげ〜違和感あり。

719 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 21:07:28 ]
なにゆえ

720 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 22:33:32 ]
「生成」規則だからね。もともとのオートマトン理論では
規則によりどういった文章が生成されるかを考えていたから。
構文解析は、逆に与えられた文章がどういう生成規則を
たどって作られたかを求める問題だ。その過程で生成規則を
逆向きに使って還元を行う。
だから構文解析だけを考えていたら、矢印が逆だと思うかも
しれんね。




721 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 22:36:21 ]
>>718
別に逆でもいいけど、たぶんおまいは逆にすると今度はそっちに違和感を感じるんだろ。
A → BC | DE
ってのは
A is defined as BC or DE
A expands to BC or DE
A generates BC or DE
A is rewritten as BC or DE
逆方向には
BC or DE can constitute A
BC or DE can be reduced to be A
などなど、色々な読み方ができる。

722 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 22:39:38 ]
A ← BC | DE

A is defined as BC or DE
と読んじゃいけないのかよ。

723 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 22:42:22 ]
>>722
いいよ別に。咎めはしないけど真似してくれる人は少なそうだね。

724 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 22:43:50 ]
>>722
それを流行らせてくれ!!

725 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 22:50:30 ]
っていうか矢印の向きなんてどーでもいいし。
矢印以外の記号だって使われるわけだし、勝手にしろとしかいいようがない。

726 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 23:04:18 ]
そんなに揉めるくらいならこっちを指せばいい

A m9(^Д^) BC | DE

727 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 23:11:11 ]
>>726
ワロタw

でも、確かに代入文とかも A=B+C は A->B+C とは書かんな
どうみても A<-B+C だな。

728 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 23:12:03 ]
A ブギャー BC or DE と読むのか。勢いがあって好いな。

729 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 00:23:11 ]
A pgr BC or DE

なんかよく分からんが格好良いぞ

730 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 12:21:57 ]
yaccやbisonでは、演算子の順位を指定することができますが、これもLALR(1)で必要なのでしょうか。
コンパイラの本を読むと、LALR(1)の説明では生成規則しか使わず、演算子の順位を含めたaction表やgoto表の作り方は特に書いてないように思います。
もしかして、yaccやbisonではLALR(1)と演算子順位解析法との併用なのかなと思ったりするんですけど、どうなんでしょうか?

なお、やりたいことは自前で簡単なパーサジェネレータを作ることです。LALR(1)のアルゴリズムを勉強しているんですが、演算子の順位がまるででてこないので、どうやるんだろうと疑問に思ってます。



731 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 12:30:17 ]
>>730
コンフリクト時にシフト/還元のどれを選択するかでうまいことやっている。
ドラゴンブックに説明があったかもしれない。

732 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 20:02:39 ]
>>730
> もしかして、yaccやbisonではLALR(1)と演算子順位解析法との併用なのかなと思ったりするんですけど、どうなんでしょうか?

そうです。
expr → expr + expr | expr * expr
っていう生成規則はLALR文法ではないけど使えた方が便利でしょ。

733 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 23:20:04 ]
>>726

734 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 23:52:42 ]
bisonってGLRにならなかったっけ?

735 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 09:18:24 ]
bisonの入力になりえる文法はGLRだろうけど(自信なし)、あいまいさを解決するアルゴリズムが違うからパースした結果が変わっちゃうんじゃないの?
GLRはshift/reduceコンフリクトでreduceを優先するから、あいまいなぶらさがりelseが遠い方のifにくっついちゃう。

736 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 10:42:50 ]
>GLRはshift/reduceコンフリクトでreduceを優先
ちがうよー。
コンフリクトでshiftとreduceの両方追いかけるのがGLR。

>>734
GLRもできるけど>>732をGLRで扱うと
+の優先度が高い場合の構文木と*の優先度が高い場合の構文木の
両方を解析結果として得る話になるから、
演算子の順位指定の話とはからまないと思われ。

737 名前:730 mailto:sage [2006/03/11(土) 22:13:54 ]
>>731,732
どうもありがとうございます。
けっこう複雑なことやってるんですね。
作るの自信なくなってきたな。。。

738 名前:デフォルトの名無しさん mailto:sage [2006/03/12(日) 01:08:18 ]
がんがってくれい
なせばなるよ

739 名前:デフォルトの名無しさん mailto:sage [2006/03/12(日) 23:28:26 ]
既に慣れてしまってる方ばかりだろうが、
還元ということばに違和感を感じる自分。

どうせなら、還元よりも換言だとおもう。

740 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 02:55:26 ]
それだと向きを含意しないから、reduceの語感が出ないなあ。




741 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 03:37:22 ]
これはなかなか面白い (厭味じゃなくて)
>>739 は明治時代辺りに生れてればよかったのに

742 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 03:58:25 ]
コンサバって何?

743 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 04:00:45 ]
松平健が歌ってるヤツだろ。

744 名前:  mailto:sage [2006/03/13(月) 08:44:18 ]
しってる言語はJavaなんでJavaのバイトコードに変換する本当に簡単なコンパイラ?つくりたいんですが、古い本でも大丈夫ですか?
Programming for the Java(TM) Virtual Machineって本見つけたんですが1999年出版なんです。バーチャルマシンの仕様とかは変わってないのですか?

745 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 09:32:08 ]
検索すれ。

The JavaTM Virtual Machine Specification, Second Edition
java.sun.com/docs/books/vmspec/

同 Maintenance Page
java.sun.com/docs/books/vmspec/2nd-edition/jvms-maintenance.html





746 名前:  mailto:sage [2006/03/13(月) 22:17:19 ]
>>745
どうもありがとう。

747 名前:デフォルトの名無しさん [2006/03/17(金) 23:50:51 ]
>>726
1から見てみたが、お前のレスが一番ワロタw

748 名前:730 mailto:sage [2006/03/18(土) 08:20:23 ]
C言語とかで、'*' や '&' がポインタ演算だったり四則演算だったりビット演算だったりするけど、
このように1つの記号が複数の意味を持つ場合、字句解析で別のトークンを返さないといけないのでしょうか。
それとも構文解析時に判断できるものなのでしょうか。

例えば仮引数に *p とあれば、これはポインタを意味するための * であり、四則演算ではないとすぐにわかります。
しかし、*p1 * *p2 などとあった場合、ひとつの式の中でポインタを表す * と四則演算を表す * とが混じってるんですけど、こういったものはどうやって別物であると判断しているのか不思議です。

749 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 11:05:59 ]
>>748
字句解析では区別せず、構文解析で判定する。
教科書で、-1 - -2 のような式を扱う例を探してみて。

750 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 13:14:58 ]
前置子やね



751 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 13:27:13 ]
そういうやり方をするから、vector<vector<int>>がコンパイルできなかったりするw

752 名前:http://www.vector.co.jp/soft/win95/util/se072729.html [2006/03/18(土) 19:03:18 ]
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

753 名前:デフォルトの名無しさん [2006/03/18(土) 19:50:35 ]
なぜ、関係演算子は結合を持たない例が多いんだろうか?
単純に 3<=x<99 とか書けてもいいとは思うんだが、

754 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 19:58:12 ]
C がそうやってるから右に習えだと思う


755 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 20:00:44 ]
10 < x >= y < 20 <= z > 0
とかあったら何なんだか困るじゃん
Lispだと (< 10 x 20) とか書けるけどね

756 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 20:02:06 ]
演算子で思い出したけど
おれは perl の =~ を代入演算子だとばっかり思ってたから
$a =~ s///; はいいけど
$b =~ m//; の意味がわかんなくなって混乱してた…

757 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 21:14:54 ]
>>754
とりあえず、C で 3<=x<99 はコンパイル通るぞ。


758 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 21:18:53 ]
コンパイル通るから何?

759 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 23:30:10 ]
>>752
いっぺん死ねって書いてもよまねぇだろうな(w

760 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 23:51:40 ]
>>753
確かに
Mathematicaは書ける、って言うか書けないと数学ソフトだし不便すぎる。



761 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 02:21:26 ]
スタックマシンでスタックが溢れそうな時、スタックを reallocするのと
別に領域を確保するのとではどっちが一般的ですか?

前者はスタックが一つの領域でないといけないのと reallocのコストが欠点で、
後者はフレームの削除などを絶対アドレスで指定しないといけないので
継続を作る時にちょっとめんどくさいのが欠点だと思います。

762 名前:デフォルトの名無しさん [2006/03/19(日) 20:27:31 ]
>>760
へぇ、書ける言語あるんだね。しらなんだわ


763 名前:デフォルトの名無しさん [2006/03/19(日) 21:19:10 ]
おそらく専用でない一般高級言語だと、Rubyあたりが実装しそうな木ガス

764 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 21:19:29 ]
Pythonがそうだった記憶がかすかに

765 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 21:21:33 ]
>>761
おれなんかは自家製超高速malocを作ってダブルリンクリストでスタック作ってます。
スタックに無茶な要求するにはこれが一番かなとか思ってたりします。

>>762
おれは、例外を作ってもこの表現ができるべきだと思うのですが、みんなどう思っているのだろうか?
絶対見通しいいとおもうんだけどな・・・

766 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 21:27:41 ]
ダブルリンクリストだと継続が困らないか? (スタックがツリーになるから)
継続使わないならシングルリンクリストでも良さそうだが。


767 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 21:28:42 ]
>>766
ダブルでないと削除がややっこしいです。

768 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 22:30:25 ]
単なる好奇心だけど、途中のスタックフレームを削除したいってどういう場合ですか?


769 名前:761 mailto:sage [2006/03/19(日) 23:11:42 ]
セグメント、オフセットを使えば相対アドレスでもスタックを分割できることに
気づきました。

>>765
セグメントテーブルをリストにするってことでしょうか?
最初からセグメントテーブルのサイズを決め打ちして配列にしても良い気がします。
リストだとアクセスにコストがかかりますし。
確かに途中を削除するっていうのならリストの方がいいですが、どういう状況なんでしょうか。

770 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 13:38:41 ]
>>765
ヒープへの参照をスタックに積んでスタックそのものは小容量ですまそうって方向じゃないんだ?




771 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 19:01:49 ]
無知な俺が、話ぶった切って恐縮ですが
リフレクションってどんな構造で作るの?
javaぐらいみっちり仕込まないと不可能?

772 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 19:54:37 ]
>>771
例だけど、
scheme(L)でscheme(L')インタプリタを書いて、L'からLを操作したり、L'自身の環境情報などを
取得できるように作る。このときL'からLをいじったことによってL'の動作に影響が及ぶことを
causal connectionという。

言語、用途により様々だけど、メタレベルに何を求めるのかで、実装や仕様が変わると思う。


773 名前:デフォルトの名無しさん mailto:sage [2006/03/21(火) 20:59:46 ]
>>771
どんな構造っつーか、単にオブジェクトやクラスに関する情報を、実行時に取り出せる(アクセスできる)仕組みを用意するだけ。
ただそれだけだから、あんまり構造がどうとか悩まなくていいよ。

リフレクションの仕組みや構造について考えるなら、まずは言語の仕組みについて知らないと。
それがわかれば、リフレクションの仕組みはおのずとわかる。

774 名前:デフォルトの名無しさん [2006/03/23(木) 14:28:00 ]
dl2.n1e.jp/DATA/MOVIE/1140722907/1140722907.jpg

775 名前:デフォルトの名無しさん [2006/03/26(日) 10:03:01 ]
助けてください。
↓こんな文章があって要はfortran90でない場合一番下のfcに何か入力しろという意味だと思うのですが、
なんと打ちこんだらよいのですか?fortran77なので打ち込まないといけないのはわかっているのですが、
全くこのあたりの知識がないのでわかりません。
--------------------------------------------------------------------
#if your machine's fortran compiler command is not "f90", need to set #
# the following macro to adjust. #
---------------------------------------------------------------------

FC=

776 名前:デフォルトの名無しさん mailto:sage [2006/03/26(日) 10:23:11 ]
>>775

Format C:

777 名前:デフォルトの名無しさん mailto:sage [2006/03/26(日) 10:53:15 ]
FORTRAN より C

778 名前:775 [2006/03/26(日) 13:29:06 ]
ありがとうございます。
ですが入力してもだめでした。
そこで方向転換してfortran90のコンパイラをインストしたいのですが、
どこに転がっているのですか?
windowsです。


779 名前:デフォルトの名無しさん mailto:sage [2006/03/26(日) 17:44:13 ]
書いてあるとおりのことすればいいじゃねぇかよ。
それともネタですか?>>775

780 名前:デフォルトの名無しさん [2006/03/26(日) 17:47:03 ]
FC=f77

じゃあかんの?




781 名前:デフォルトの名無しさん mailto:sage [2006/03/27(月) 07:31:07 ]
ポインタ操作のできるスクリプト言語作りたい
そゆーの既にある?

782 名前:デフォルトの名無しさん mailto:sage [2006/03/27(月) 07:40:26 ]
CINT?

783 名前:デフォルトの名無しさん mailto:sage [2006/03/27(月) 08:23:08 ]
すごい久々にCINTスレのぞいてみたら、まだ落ちてなかったw

C/C++インタプリタ CINT
pc8.2ch.net/test/read.cgi/tech/1114397934/

CINTの需要自体はちと薄そうな印象。
もしもありとあらゆるCのライブラリが元のC言語の文法と比べて違和感なく全て呼び出せたらはやりそうなもんだけどな。

784 名前:デフォルトの名無しさん mailto:sage [2006/03/27(月) 12:53:33 ]
>>775
訳してみた。

-------------------------------------
#手持ちのマシンにおいて、Fortranコンパイラのコマンドが "f90" でない場合は、
#次のマクロを設定する必要があります。
-------------------------------------
FC=


つまりだな、Fortranコンパイラのコマンドが例えばf77とかだったら、
FC=f77
と設定すればよい。

これ以上はスレ違いだから質問はやめたほうがよい。

785 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 03:57:44 ]
とある対話型計算ソフトの入力行を横取りして先に字句構文解析したいんだけど
perlだとParse::RecDescentがメジャーなの?

代入と()のネストくらいを1行ずつ処理できればいいので手で書いてもいいけど
昔yacc+bisonで遊んでたときみたいにまたBNF触りたくなった
割鶏焉用牛刀だが

786 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 12:29:49 ]
>>785
yacc+bisonの経験あるなら、kmyaccはどう?
yaccの書き方そのままで、perlやjavaやjavascriptが使える。

787 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 14:31:40 ]
ひとつ聞きたいんだけど、
2型言語の任意の位置に [] の組を挿入できるようにした文法って1型言語?

例えば 1+2 を変化させた 1[+2] とか [1+]2 とかを許容する文法なんだけど……

788 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 02:59:38 ]
>>785
入力が小さい場合は Parse::RecDescent が手軽だね。外部ツールにくらべると
手軽さが違う。


789 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 07:51:32 ]
>>786
>>788
情報ありがと。しかし構文解析久しぶりで大分忘れてるわ。

790 名前:デフォルトの名無しさん [2006/03/31(金) 18:10:09 ]
よく、他言語のライブラリとか呼べる言語があるけど、
あれって事前に呼ぶ関数名を全て列挙して組み込んでるのですか?



791 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 18:19:49 ]
普通マーシャリングしてるだけじゃないか

792 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 21:28:55 ]
それは結局の所、「事前に呼ぶ関数名を全て列挙して組み込んでる」のでしょうか?

793 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 21:31:42 ]
事前にわかんない場合はどうしてるんだとか思わないのか

794 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 21:32:21 ]
違う

795 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 21:34:54 ]
そういうのもあるし、そうじゃないのもある。

796 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 22:29:35 ]
LALR(1)の文法をLL(k)に変えることって可能ですか?

797 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 22:51:20 ]
>>793
事前にわからない場合でも呼べる方法ってありますか?


798 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 23:00:22 ]
>>797
cvs.sourceforge.net/viewcvs.py/sbcl/sbcl/src/runtime/x86-assem.S?rev=1.32&view=auto

call_into_c の部分とか。C なら引数とか戻りアドレスとか用意して call すれば良い。
あとは dlsym() とかを調べる。

799 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 23:42:34 ]
むむ、アセンブラですか!



















orz

800 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 00:22:44 ]
いや、単なる例として出しただけだから...



801 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 02:40:22 ]
引数の積み上げ方と呼出し後の処置さえ合ってればいんだから
簡単だろ


802 名前:デフォルトの名無しさん mailto:3/32 [2006/03/32(土) 06:02:31 ]
>>796
規則を増やして左再帰を消去して左括り出しするとか地道な方法しかなさそう(自動化するツールもあるのかな?)。
それで衝突が起こるならその文法がそもそもLLじゃない可能性もあるので、文法自体を修正する。

ちなみにLL文法ってLALR文法のサブセットだっけ?
LL(∞)⊂LR(1)は確かだったと思うけど、LR(0)は微妙だったような気が。
誰か教えて。

803 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 14:03:32 ]
>>790,799
その言語のソースを読んでみようとは思わないのかな。
xyzzyのdefine-dll-entryとかRubyのdlモジュールはC++/Cだった。

804 名前:デフォルトの名無しさん [2006/04/03(月) 21:46:49 ]
コンパイラを書くのにオススメな言語を教えてください。
最近は、海外では関数型言語で書くのがはやっているみたいですが・・・
OCamlとか。

自分の一番慣れている言語!というのはなしの方向で。

805 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 23:54:21 ]
>>804
yaccがあるからC! とか、JavaCCがあるからJava! ってのもなしの方向で?

806 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 23:57:15 ]
ある程度以上メヂャーな言語なら、hogeCCの類いは存在するからねえ。

807 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 23:58:13 ]
>>804
自分で作った言語でコンパイラ書くのがおすすめ

808 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 00:26:28 ]
誰も使わないけどな。

809 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 00:46:06 ]
elisp みたいな組み込み言語にすればオケ
emacs 程の神アプリじゃなくても、ちょっと気の利いたツールの拡張言語にすれば
それなりにユーザを獲得出来るんじゃない。

810 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 00:59:31 ]
そういえば、情報処理学会の会誌でコンパイラの連載始まるみたいね。
COINS使うらしい。



811 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 01:17:00 ]
>>809
設計思想による

812 名前:デフォルトの名無しさん [2006/04/04(火) 01:28:00 ]
>>807
そこまでいければ苦労しないw
と思ったけど、それもいいな。

GCCみたいに、最初はどこでもコンパイルできるミニマムなCでコンパイラを生成して、
そのコンパイラで自分自身をまたコンパイルして・・・と。


そういえば、マルチプラットフォームなコンパイラつくりたいと思ったら、
やっぱり、GCCのフロントエンド作るのが正解なんかね。
最初見たとき、中間言語がわけわかめだった。
他に方法ないすか?

813 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 08:29:54 ]
>>812
>他に方法ないすか?

お前の知能じゃドレもムリ。

大人しくHSP使ってろ

814 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 11:20:41 ]
HSPならできるんですか?

815 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 15:35:54 ]
つまり、HSP最強

816 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 17:24:17 ]
はいはいわろすわろす

817 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 18:56:18 ]
>810
COINSはいつJavaに対応するのでしょうか?
図には書かれているのに…

818 名前:デフォルトの名無しさん mailto:sage [2006/04/05(水) 13:09:14 ]
>>817
一応あるみたい。
www.coins-project.org/COINSdoc/frontend/index.html#i-5-1-3

これ以上まともにJavaに対応することには、
苦労に見合うだけの学術的な意味がないからなあ。

819 名前:デフォルトの名無しさん mailto:sage [2006/04/05(水) 18:50:53 ]
>818
> Javaのフロントエンドは以下の方針で開発しているが、デバッグ中であるので、
> リリース版にはまだ入っていない。

だから公開はされてないんですね。いつからデバッグしてるのかちょっと不安…

820 名前:デフォルトの名無しさん [2006/04/11(火) 18:25:41 ]
>>818
参考になります。
ただ、自分の目指しているのは型なし&プロトタイプ指向ですので、やっぱりちょっと
ポイントが違うようですね。まあ、その違いを見るのも楽しいですが。



821 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 18:54:36 ]
なぜ>383

822 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 21:51:35 ]
どこかにJavaでかかれたCの処理系とかない?
自分で作ろうかと思ってるんだけど、結構大変そうだし。
自作するならSableCCあたりで作ろうと思ってる。
ASTを作るまでは楽だろうけど、その後が...。

823 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 01:13:49 ]
www.coins-project.org/

824 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 12:07:17 ]
>>823
どうもありがとう。学習支援用にインタープリタでも作ろうかと思って。

825 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 20:22:45 ]
>>823
情報処理学会誌、今日家に届いたよ。

826 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 21:48:30 ]
>>825
家にも来た。
情処会員相手ということで
初心者本や教科書なら必要な噛み砕いた説明がないから
読むほうとしては面白いことだけさらっと読めていいね。

3月までの連載は
www.ipsj.or.jp/07editj/promenade/index.html
で見れるから、コンパイラの連載も誰でもダウンロードできるようになるかもね。

827 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 22:43:38 ]
学会誌見るまでCOINSなんて知らなかった。

828 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 12:14:03 ]
>>822
構文解析だけなら、JavaCCやANTLRなら有志によってCの文法定義ファイルが用意されている。
Cだけじゃなくて、JavaやXMLも用意されている。
JavaCCやANTLRのサイトをのぞいてみて。

829 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 12:26:48 ]
どんなに遅くてもいいから、実装まで作った処理系のサンプルがほしい

830 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 14:23:00 ]
>>828
感謝。実はSableCC用のgrammarを発見しました。
あとはASTを上からなめるようなものを書けばいいと思う。
あとプリプロセッサがないから手で書くか、IPAのを借りようかと思う。

>>829
完成したらソース公開するから期待しないで待ってて。
Javaで作るつもり。ライブラリはアドオン形式で。

C89も結構複雑だよねぇ。これがC99になったらと思うと・・・。



831 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 14:31:21 ]
今公式サイト見たけどCOINSって錚々たるメンバー参加してるんだね。
国内のコンパイラの書籍で見かける人ばっかり・・・。

832 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 15:45:54 ]
>>830
それを言うならC++0xになったらと思うと…

833 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 16:07:22 ]
>>832
仰る通り。言語が複雑化すると処理系作る人は大変だね。
LL(1)で解析できる言語(Pascalとか)は素晴らしいなあ。
もっともそのせいで":="あたりで賛否両論になるわけだが...。

834 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 16:08:48 ]
> もっともそのせいで":="あたりで賛否両論になるわけだが...。
どういうことですか?kwsk
代入演算子が = で、比較演算子が ==なら済む話?

835 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 16:59:55 ]
>>834
ごめんごめん、深い意味はないのよ。個人的な感想。
個人的には":="が"="で、"<>"が"!="で、"="が"=="だったら
もっと好きになってたかもってことで。
#自分が最初に使った言語にもよるんだろうけど

836 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 18:09:40 ]
>>835
それは、ホントに個人によるな。
俺の場合、= が代入なのはキモく感じる。
今は慣れたが、最初に言語を習うときに、既存の教育(数学)の常識と違うから。
代入は、:= とか <- とかの方がしっくりくる。

837 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 20:23:17 ]
>>836
確かに。a = a + 1 なんて絶対成立しないもんね。
そういう意味では := や <- が支持されるのはわかるなぁ。
ただ、<> が等しくないというのはちょっと違和感?
後輩で「<>って大なりでも小なりでもないから等しいってことですか」って
マジで言ってる奴がいた(w
...なるほど深読みするとそうとも取れるのかと思ったよ。

838 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 21:06:01 ]
<>と!=は好みがでそう。
個人的には!=という記号の対称性のなさが少し嫌かも。
それだったらprologのように=\=の方が好きだ。

839 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 21:16:39 ]
<and>か<or>か、確かにどっちにも取れるよなぁ。

840 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 21:26:26 ]
昔は"#"が不等号って時代もチョロットだけあったよね。




841 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 21:38:37 ]
a := 3 は a: int = 3 の略だったりするのはちょっと萌え。

842 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 22:28:55 ]
俺の知人がアドレスバーにあった
://www.com/?1=1+2
なよーなURL見て、
このサイト足し算もできないとんでもねー馬鹿だなって言ってたの思い出した

この業界はとりあえず普通じゃないよね

843 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 22:31:35 ]
>>842
というかURLの意味がわからないんだけど。

俺のプログラマでない友人も、x=x/3というのを見て、x==0と思い込んでた

844 名前:デフォルトの名無しさん [2006/04/18(火) 23:17:02 ]
洩れは if .. elsif を見て英語音痴だとおもたよw

845 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 23:19:15 ]
"=="を定義の意味にすべきだと思う。

846 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 01:05:41 ]
ウゼー、言語初心者が2,3人迷い込んでガタガタ騒いでやがる

847 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 01:14:13 ]
自称熟練者さんは理論にもさぞお詳しいのでしょう。

848 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 01:25:27 ]
演算子の記号の意味なんか言語の仕様書読めば済む話
スレ違い

849 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 01:29:00 ]
自称熟練者さんは「演算子の記号の意味」が理論だと思っていらっしゃるようです。

850 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 01:44:17 ]
つーか何で = が代入なんだよ



851 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 01:50:13 ]
代入要らない。

852 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 02:31:05 ]
>>851
関数型言語?

853 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 02:38:57 ]
代入って古いんだよね ダサい きもい

854 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 02:47:10 ]
そっか。

855 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 08:55:35 ]
>>850
BASICの頃に作られた定石でつね

856 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 09:04:53 ]
知り合いに「Pascalの代入演算子が:=なのは文法をLL(1)にするためだ」って
力説してるヤツがいたなぁ。
つーか、トークンの切り出しは字句解析の仕事で、
LL(1)は構文解析の話だと思うのだが。

857 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 20:48:54 ]
本によるとLALR(1)文法は手書きには向かないって書いてあるんだけど
Rubyとかの言語がコンパイラコンパイラで作られてるのはその為?

858 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 20:53:30 ]
>>857
その本によるとなんで手書きに向いていないか書いてある?

859 名前:デフォルトの名無しさん mailto:sage [2006/04/20(木) 02:33:51 ]
>>855
FORTRANの頃だろう。

860 名前:デフォルトの名無しさん mailto:sage [2006/04/20(木) 17:53:43 ]
>>857
LALR(1)を手で書こうとすると地獄を見るよ。
再帰下降の文法がどれだけ簡単か感謝するようになる(w



861 名前:デフォルトの名無しさん mailto:sage [2006/04/20(木) 20:15:23 ]
LL(1)は適用範囲が狭いけど書きやすい。
LALR(1)は適用範囲が広いけど書きにくい。
すげージレンマです!

862 名前:デフォルトの名無しさん [2006/04/20(木) 21:58:00 ]
flex 使ってると、このようなメッセージが出るんだけど、
この関数を定義しないようにするにはどうすればいいでしょうか?

lex.yy.c: warning: 'yy_flex_realloc' defined but not used


863 名前:デフォルトの名無しさん mailto:sage [2006/04/21(金) 00:40:11 ]
#undef yy_flex_realloc

864 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 10:06:33 ]
一般教養としての Garbage Collection
ttp://www.logos.t.u-tokyo.ac.jp/~endo/gc/gc.pdf

865 名前:デフォルトの名無しさん [2006/04/22(土) 10:56:10 ]
>>863
違うだろ?

866 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 22:41:57 ]
hiraikenji@t.vodafone.ne.jp

867 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 21:58:09 ]
HSPもyaccとか使ってんのかね?

868 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 11:58:47 ]
>>867
どうでしょう。HSPって文法は何?LALR(1)?

869 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 23:41:05 ]
HSPは字句解析とか構文解析みたいな、まともな理論使ってなさそうな雰囲気
例えるなら紙芝居エロゲのシナリオスクリプト

870 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 18:18:30 ]
エロゲスクリプタもbisonで書いてるの多いと思うが



871 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 13:00:49 ]
コンパイラを書くのに最も適した言語って何ですかね?

872 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 13:08:48 ]
最初の立ち上げの言語のことか?
それともツール込みの事か?

おいらは最後には自己記述するから自分自身とかって事になるもんだと思ってるんだけど。


873 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 14:31:34 ]
コンパイラの仕事ってのは、大半がツリーからツリーへの変換だから、
ツリーを弄りやすく、静的な強い型検査をし、メモリ管理がらくちんな
言語が向く。ML系かHaskellでどうぞ。

874 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 15:34:17 ]
コンパイラの仕事ってのは、大半がツリーからツリーへの変換だから、
ツリーを弄りやすく、強力なマクロを持ち、メモリ管理がらくちんな
言語が向く。LispかSchemeでどうぞ。

875 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 15:52:58 ]
コンパイラの仕事ってのは、大半がツリーからツリーへの変換だから、
ツリーを弄りやすく、すべてがオブジェクトで、メモリ管理がらくちんな
言語が向く。Ruby でどうぞ。


876 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 16:01:31 ]
コンパイラの仕事ってのは、大半がツリーからツリーへの変換だから、 
ツリーを弄りにくく、貧弱なマクロを持ち、メモリ管理がたいへんな 
言語は向かない。CかC++はやめとけ。 

877 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 16:10:52 ]
>>876

 ・・・orz



878 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 16:24:16 ]
でも結局yaccとc使うんでしょ

879 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 16:25:33 ]
yaccとCをつかうと何が有利なのでしょう?

880 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 16:28:07 ]
なにも。



881 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 16:30:19 ]
あれを使えばいい、とか、これを使えばいい、とか言ってるだけのやつはいなくなってもいいよ。

882 名前:デフォルトの名無しさん [2006/04/30(日) 16:31:29 ]
そもそも、ここで具体的なことを質問に来るやつなんていないじゃない?
スレもここで終了してもいいんじゃないかな?
というわけで



======= 終 了 =========




883 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 18:27:01 ]
久しぶりに終了厨を見たな

884 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 19:54:42 ]
時代的にはHaskellですかね?
でも習得が簡単なのはLisp?
うーん迷う。

885 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 19:59:03 ]
>>884
お前が言いたいのはLispじゃなくてSchemeだろ?

886 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 22:30:19 ]
>>875
では、何故Rubyは、Rubyで書かれていないのですか?

887 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 23:22:40 ]
コンパイラはブートストラップできるけど、スクリプタは出来ない希ガス

888 名前:名無しさん@Linuxザウルス mailto:sage [2006/05/01(月) 07:38:23 ]
ほとんどの速いLISP/Schemeはそれ自身で書かれてるけど
コア部分はCだったりする。
移植考えた場合gccでミニ言語構築してからブートストラップかな。
開発者はELFとかPEまで面倒見たくないのが本音。

889 名前:デフォルトの名無しさん [2006/05/01(月) 08:26:55 ]
>>886
こういう馬鹿がたまに湧いてでてくるようだが、
おっとそろそろ連休かぁw

言語にはそれぞれの目的があるのも分からんの?
アセンブラからベン教しなおしたら?


890 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 09:22:19 ]
.o0(下らない煽りを入れるだけなら、書き込まなきゃ良いのに・・・)



891 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 09:45:36 ]
886じゃないけど、ブートストラップする目的の一つには言語の記述力の高さを証明するって意味合いもあるんじゃまいか。
rubyのことはよく知らないけど、もしパフォーマンスに関して考慮しないとしたら、rubyは自己記述できるだけの記述力はあるの?

892 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 10:53:53 ]
ruby で ruby を記述することはできるっしょ。

893 名前:デフォルトの名無しさん [2006/05/01(月) 19:54:21 ]
ruby を用いれば(理論上は)なんでも記述できる。
ただ、パフォーマンスが問題なだけ。


894 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 19:58:44 ]
>>893
>ruby を用いれば(理論上は)なんでも記述できる。
証明は?

895 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 20:07:02 ]
遅いってのは、それだけで罪だと思う

896 名前:デフォルトの名無しさん [2006/05/01(月) 20:09:17 ]
早漏よりはましだと思うけどね

897 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 22:55:01 ]
>>893
あまり良い例じゃないかもしれないけど、GC は Ruby で書けないんじゃない?

898 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 23:46:15 ]
GCも書けないんじゃチューリング完全といえるのか?

899 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 23:49:02 ]
書けるよ^^;

900 名前:897 mailto:sage [2006/05/02(火) 00:07:17 ]
>>898
まぁ、そういう意味では書けそうかな。
仮想的なメモリの様な物を定義して、GC のアルゴリズムを実装したり、
malloc/free/etc. をラップしてゴリゴリ書いたりは出来るだろうね。



901 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 00:15:59 ]
>>898
チューリング完全関係ない^^;

902 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 01:29:53 ]
つーか実装可能かどうかよりも、実装しやすいかどうかが問題なんじゃないの?

903 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 01:38:25 ]
コンパイラ作る側のことは問題じゃない^^;

904 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 01:44:50 ]
ユーザーにコンパイラ作らせるって意味じゃなくて言語の記述力の話だったような気が

905 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 07:01:58 ]
マジレスすると Ruby の記述力はほぼ最強クラス
Ruby と Haskell を学べば他のウンコ言語は不要


906 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 10:12:40 ]
Rubyは型なしライトウェイト言語。Haskellは強い型あり言語。ぜんぜん用途も違うから住み分けが必要だね。

907 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 18:16:08 ]
>>905
いやしかし、ごく普通のPCで
「720x480ピクセルのインターレースの画像データを
デインターレース処理してね。当然60fpsでよろしく」
「ビットレート10MBpsのMPEGデータを・・・」
とか、そういうごく有りがちな応用とかでは C/C++ は捨てがたい。

908 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 22:20:30 ]
この板もID制になればなぁ。
一日中一人で荒らしてるが丸分かりでおもしろいのになぁ

909 名前:デフォルトの名無しさん [2006/05/02(火) 22:57:40 ]
>>907
そろそろrubyでも届く処理になっていると思われ。

910 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 23:04:47 ]
>>909は世間知らず



911 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 23:05:59 ]
Rubyの売りは手軽に書けるということでしょ?
C/C++はシビアな処理が必要なところとか、大規模開発向き。
言語は住み分けが大切なんだって言ってるでしょ。

912 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 23:09:57 ]
Rubyはなんだかうんこくさいんです。

913 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 01:05:19 ]
清濁併せのむって事がわからない馬鹿は死ね


914 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 01:46:15 ]
>>909
またまたご冗談を

>>911
激しく同意

915 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 01:50:51 ]
scheme みたいにミニマム指向で、型付きで、オブジェクト指向をサポートしていて、
repl があって、文法が奇麗な言語って無いですかねぇ。仕様がある程度かっちり
していると嬉しいのですが。

JavaScript に型が付いた様なの、あるいは言語仕様がきちっと決まっている Pike
みたいな感じのキボンヌ。

916 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 01:59:06 ]
>>915
オブジェクト指向はラムダ式の包含的なアプローチなわけだが・・
とりあえずOCamlあたりのことを言っているのかな・・

917 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 02:27:23 ]
ラムダでオブジェクトを作れると言う意味では、syntax sugar としての OO をサポートしている
-- object.method() の様な感じで記述出来る -- 言語が無いかなと思いまして。

OCaml はミニマム指向なのでしょうか?
ML97 みたいな規格があると嬉しいです。

918 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 04:11:54 ]
>>915
Ruby。動的型だけど。


919 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 06:38:26 ]
もうRubyはいいってw

920 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 06:42:15 ]
動的型まで含めたらだめだろ



921 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 06:52:13 ]
>>915
JavaScript 2.0では随所に型情報をつけられるよ。
つーか「型が付いた」ってどういう意味で言ってるの?
静的型付けってこと?

922 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 07:25:26 ]
>>921
JavaScript 2.0 は以前ちょっとだけ見て忘れてました。
もう一度調べてみます。どうもありがとう。

923 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 07:33:02 ]
JavaScript 2.0って昔からドラフトだけは出てたけど、
今はもう実装されてんの?

924 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 07:50:29 ]
誰も実装しないね。草案が固まらないのかな?

925 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 07:54:42 ]
ActionScript3.0は

926 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 08:45:35 ]
>>919
Ruby コンプレックスかよダセw
どうせオブジェクト指向が使いこなせなかった低能だろ?
氏んでくださーい。あっ HSP 厨房?

927 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 10:27:54 ]
926みたいな奴を見るたびに、Ruby使う気が失せていくんだよな。

928 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 13:26:48 ]
レベルの低下が著しいスレですね

929 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 15:30:01 ]
このスレは前からこんなもんだ。

930 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 15:30:40 ]
           j} _ ..∠ ≧=≠ー≒=辷z、_      _メ    }}
          ≠´              `く≠≦´_     〃
.         , '                  〈、⌒ヽ`ヽ=≠"
        /, ,   / ,               キヽ.     ヽ
         ///〃 / / /     }}川 i|!  i  } ハ   ト、 キ
.         jハl|‖{ { {  {     ノノ川 jj|  j / / j}_,メ ヾリ
.        l{八 ヽヽヽ \   //ノノノノノ}  /〃//  `二ニ=- 、
         八 、ヽ、 x≦ミヽ、{ { ≧=ミ.ノ/ノ_厶斗-‐== 二 」
        /  ゝ≧ミyィ゙j:i}  `  ´{゙j:;;!ii}ゞ≧=彡ヘ-‐=≡ ‐= ニコ
.    /  /{ミ辷彡}oー ' ,     ーo' {ミ辷__彡}二ニ=-  jノ
    {  / , ゝー=人""  cっ   "" °{ミ辷__彡}-‐==≡ミ〉
      \{ / /{辷彡}>  .. __    イj从ミ辷_彡ノ==≡ニ≦、
      `{ { f´≧=彡'´ ̄`ヽ_」    jァァ' ゞ=个辷ニニ=-テ′
       `ーァ `≠ x==く(´   /,≠=キテノハミ辷=≦
          ヤ/ 〈く   `'ァfj彡'゙     》/   ヽ_弓
          `{   ヾx、__,≠ハミヽ、    〃   丿 リノ
.             \/´   ̄_/,≠= 、 `'≡彡゙ '⌒'く  ´
             /   _/´~ニ{ニ   Y´   -‐- 、丿
             { /i{   ニ{-    ハr┬- 、   }
              ノイ|  キ  ノ゙T ¬i ! } }   ヽ {
          / {l|  キf´‖{|  j }ノノ    } }
           ‖ ミ{   キ!、リ キ  ///    ′ハ
            人  ヾ、 ヾツ キー' 〃   _ .. イ   ヽ
.        /  `アアア丁! ! `T¨丁 ̄i i |    \
.        /    / / / Ui i U |  U i  i     \


うう・・・・・・・グス・・・・・・・ひっく・・・・・・・・ごめんなさいなのぉ・・・



931 名前:デフォルトの名無しさん [2006/05/03(水) 22:14:41 ]
オブジェクト指向言語って全体のどれぐらいを占めるのでしょうね?
最近流行ってる見たいですが…

932 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 22:23:22 ]
オブジェクト指向言語というのは、オブジェクト指向でプログラミングすることを念頭に置いた言語という意味だって知ってる?

933 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 23:33:12 ]
いまどきアセンブラの仕事している俺っていったい・・・
さすがに紙に穴あけたことはないけど。

934 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 00:48:06 ]
>>933
> いまどきアセンブラの仕事している俺っていったい・・・
1チップ組込用マイコン設計屋で、アセンブラでテストパタン作っていますが、何か?

935 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 00:58:01 ]
アセンブラがかっこいいとか思ってるの?

936 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 01:12:31 ]
>>934
カコイイ!!

937 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 04:32:36 ]
オブジェクト指向が主流の現代にアセンブラかよ。プゲラ

938 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 04:53:01 ]
>>937
disassemble や decompile した事無いの?

939 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 07:20:30 ]
>>934
スゲー!!!

940 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 08:53:20 ]
>>934
FPGA とか CPLD でゴニョゴニョ出来る人はちょっと憧れる。
↓こんなのとか。

crystal.freespace.jp/pgate1/nes/index.html



941 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 09:00:37 ]
>>934
お嫁さんにして下さい。

942 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 10:15:22 ]
>>934
カコイイ

943 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 13:03:21 ]
>>934
m9(^Д^)プギャー!!

944 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 13:18:00 ]
アセンブラに対する評価って、色々なんやね。
そういや、アセンブラやってからCをやると、
ポインタが分かりやすいという話があったな。


945 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 19:21:03 ]
>>944
それ、逆というか本末転倒。
ポインタの概念を理解できないと、そもそもアセンブラを理解できない。
従って、アセンブラをやった者にはポインタは空気のような存在。
使えない事の方が理解しがたい。

946 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 19:33:46 ]
>>945
アセンブラの次にcやった人だと、ポインタに対する
インクリメント(++)で、型によって値が+2されたり+4
されたりするのが理解しづらいとオモ

つ〜か、漏れが昔はそうだった

947 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 19:54:50 ]
へー頭悪かったんだね。

948 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 20:22:54 ]
煽り乙

949 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 20:35:34 ]
スレの本題を忘れるなよ。まぁ今後オブジェクト指向が主流となる事は間違いない

950 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 21:05:25 ]
OO つかクラス指向は 90's 中頃からずっと主流だったし、最早、水や空気と変わらんね。
1チップマイコンは地味に流行ってて面白そう。ARM 基板とか安く手に入るし。



951 名前:デフォルトの名無しさん [2006/05/04(木) 23:18:48 ]
オブジェクト指向はruby以外まともなものは知らない。
みな中途半端

952 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 23:25:02 ]
Ruby 以外の言語を知らないんじゃないの?

953 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 23:56:18 ]
YARV の話しようぜー
今んとこ最強だよね

954 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 04:45:55 ]
大昔 Smalltalk-80 とか Smalltalk/V とかつかってて、
それほど中途半端な感じはしなかったけど・・・

955 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 04:47:52 ]
>>951
rubyも中途半端

956 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 06:04:08 ]
つか、rubyは手続き型の記述が「可能」な時点でオブジェクト指向ぽい言語なのでわ?

957 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 06:50:44 ]
>>956
それを言っちゃうとメジャーな言語でオブジェクト指向を謳ったものはほとんど残らないじゃないか。

958 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 10:24:17 ]
>>954
また古い話だな。でも Ruby は Smalltalk の良い所を継承しつつ、その制限や
不便な部分を改善しているよ。今迄実行環境については構文木を Eval という
Smalltalk に大きく見劣りする形式だったけど YARV によって GC 回りを含め
て大きく改善された。


959 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 10:28:29 ]
一番最後に出来た VM だな。

YARV の詳細は知らんけど、世代別 GC と JIT くらい備えないと
10 年前の Smalltalk にすら追い付いてないのでは。

960 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 11:52:13 ]
>>359
YARV 世代別 GC になるよ。JIT も計画されてるみたいだけど
最初は搭載されないだろうなー



961 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 16:48:22 ]
Ruby関係はIPA採択されやすいのかな
YARVてなんか未踏でもなんでもない気がくぁwせdrftgyふじこ

962 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 16:49:14 ]
国産ですので。

963 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 16:49:49 ]
早っww

964 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 18:47:40 ]
やっぱり「純粋な〜」が好きな国民性ゆえ Ruby と Haskell がブームとなるん
だろう。
純粋な関数型: Haskell
純粋なオブジェクト指向: Ruby
このスレもこの二つメインで良くね?ぶっちゃけのこりの雑種共はいずれ死滅
するだろ。


965 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 18:54:52 ]
YARVって速いの?

966 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 20:15:27 ]
Rubyが純粋なオブジェクト指向て。

孤高の言語 Lisp Prolog > 新しいパラダイム Smalltalk Haskell > 面白いモデル ML Forth
て感じだろ。

Java Perl Ruby Python なんかはカスみたいなもんだ。

967 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 20:21:22 ]
今日はじめて彼女とHしました。記念sage

968 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 20:25:44 ]
>>966
実用言語が一つもない件w

969 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 20:30:53 ]
>>986
まじめな話Forthは実用言語だぞ。

今はあまり使われないがリソースが少なかった頃の組み込み分野じゃ一斉を風靡したもんだ。
(ちなみにforthラブラブな本があったんだけどタイトル失念した)


970 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 20:35:11 ]
でも再帰下降が普及してからforthでなくともスクリプト組み込みは容易になったからなあ



971 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 20:40:43 ]
完全に純粋であることに意味なんか無いしなぁ。

つうか、あるパラダイムに本当に完全に純粋な言語なんて無いよなぁ。

972 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 20:48:04 ]
Microsoft パラダイムに
純粋な言語は幾らでもあるけれど?


973 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 21:09:50 ]
>>972
政治的な話はなしにしないとemacsとviみたいに不毛な話しかでてこなくなる。


#つーか原理主義だけはやめようよ〜

974 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 22:01:34 ]
純粋な言語って使い物にならないよ。
実用的なソフトが作れない

>>969
おお、それは失礼した。
組み込みで使われてたか。知らん分野だった

>>972
どこどこ?

975 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 22:09:58 ]
つVB
つC$

976 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 22:31:03 ]
言語が「純粋」ってどういう意味?

977 名前:デフォルトの名無しさん [2006/05/05(金) 23:07:39 ]
>>976
Vi を使って Ruby スクリプトを書くようなイメージ

978 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:12:09 ]
だーかーら Rubyは「純粋」じゃないのっ
もっとお勉強しましょうねー

979 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:12:40 ]
「実用的」なソフトってどんなの?

980 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:31:46 ]
>>978
お前の言う「純粋」な言語は存在しない。お前がもっと勉強してね。



981 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:34:05 ]
>>974
あと印刷関連の言語 PostScript もほぼ純粋 Forth だよ。

982 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:51:09 ]
>>980
SchemeとSmalltalkはRubyよりは「純粋」だと思うよ
Rubyのアイデンティティってなんなの?

983 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:54:45 ]
>>982
SchemeとSmalltalkが「純粋」?

ブハッツww バカだコイツww

984 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:58:11 ]
>>983
Smalltalk のどのへんが OO 言語として純粋でない部分?
ちょっと通りすがりだけど興味あるんで聞いてみたい。

985 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 23:58:15 ]
だーかーら SchemeとSmalltalkは「純粋」じゃないのっ
もっとお勉強しましょうねー

986 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:05:59 ]
ruby はブロックの扱いが Smalltalk に比べて純粋でないというか、
後付っぽい感じがただよいまくり。

987 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:07:11 ]
クラスの概念はOOとして純粋じゃない。
実用の為に導入されている。

988 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:11:10 ]
>>987
OO の本質が何であるかは人によって様々。
勿論クラス指向でも問題無し。

989 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:11:31 ]
Scheme は最小構文、クロージャ、プログラムがデータ
Smalltalk は全てオブジェクト

Ruby は 、、、 えっ 文字列を evalするの?
ブロックなにそれ?
そんな Rubyのアイデンティは? 、 ないよねー

990 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:14:03 ]
>>988
つまり、人によって純粋の定義は異なる。

よって、純粋かどうかに拘って、アイデンティティがどうとか言ってる982はバカだってことで



991 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:18:15 ]
や、>>977 の発言を見て Rubyを純粋だと信じてやまないピュアな若者を
いじってみたくなっただけなんだ。
正直純粋とかアイデンティティとかどうでもいい。いまは反省している。

992 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:18:35 ]
>>990
>つまり、人によって純粋の定義は異なる。

これはそのとおりだし、「純粋」議論には意味がないと思うが。
で、「純粋なOO言語だっ」と言いたがるのはたいていRuby信者だが、それはさておき。

Rubyが、いろんな言語からつぎはぎした統一感のない言語だってのは事実なんじゃね?
それを「いいとこ取り」と言う奴もいるだろうが、「ぐちゃぐちゃ」とか「アイデンティティがない」とか
思う奴もいてよかろう。


993 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:18:36 ]
>>990
純粋の定義は変わらんよ。どっちの方向に純粋かが変わるだけ。
純粋である事にはそれ程意味がある訳じゃないけどね。

>>989
Ruby のアイデンティティは ad-hoc さとごちゃ混ぜ感じゃないの。
yet another perl だから。

994 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:22:21 ]
そういや、次スレ立てにゃいかんな。
今回は特にテンプレ貼らず、Wikiのまとめページへのリンクだけでもいい気がする。

www6.atwiki.jp/compilerandscriptengine/

995 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:31:26 ]
>Rubyが、いろんな言語からつぎはぎした統一感のない言語だってのは事実なんじゃね?

他の言語のよいところをつぎはぎしない言語は、死んで使われてない言語だけだろ。


>それを「いいとこ取り」と言う奴もいるだろうが、「ぐちゃぐちゃ」とか「アイデンティティがない」とか
>思う奴もいてよかろう。

それは無知だからだろ。  というと怒るか?

では、Rubyも全てオブジェクトだし、純粋だと言うヤツがいてよかろう。
それを否定して、無知だからだと言ってるヤツは何だ?

996 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:39:47 ]
>>995
その話はもう終わり。無駄レスで残り少ないレスを消費するなよ。

997 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:43:12 ]
お前のそのレスがムダだし、その所為でこうしてまたムダレスが書かれる。
浅はかなんだよ。お前は。

998 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:51:28 ]
>>993
アイデンティティがないのがアイデンティティって? まあ否定はしないけど。

>>995
ブロックはオブジェクトじゃないよ。RubyはSchemeに似すぎている。だからこそ中途半端に感じる。
もっと Schemeっぽくして callを applyにしてオブジェクトを evalするようにするのは簡単
だろうけど、それって嬉しいの? ってなる。Schemeでいいじゃんみたいな。
使ってる人もいっぱいいるし、身動きとれなくなって結局 Perlみたくなるんだよ。

999 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:59:00 ]
ブロックはオブジェクトとして扱えばオブジェクトになる。

>RubyはSchemeに似すぎている。だからこそ中途半端に感じる。
最近のLL言語はそらLisp系に似てるだろうけど、それで中途半端に感じる?意味不明すぎ。

>もっと Schemeっぽくして callを applyにしてオブジェクトを evalするようにするのは簡単
>だろうけど、それって嬉しいの? ってなる。Schemeでいいじゃんみたいな。
なんでSchemeっぽくする話にしてんの?しないよ。
Schemeでいいじゃんみたいなって、意味不明な論理からその結論かよ。アホか。

>使ってる人もいっぱいいるし、身動きとれなくなって結局 Perlみたくなるんだよ。
だからなんだってんだ?

1000 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 01:00:07 ]
1:00ちょうどに 1000!



1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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