06/05/06 00:59:13
プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。
過去スレ
1 URLリンク(pc.2ch.net)
2 スレリンク(tech板)
3 スレリンク(tech板)
4 スレリンク(tech板)
5 スレリンク(tech板)
6 スレリンク(tech板)
7 スレリンク(tech板)
8 スレリンク(tech板)
9 スレリンク(tech板)
関連リンクは多分 >>2-10 あたり
2:デフォルトの名無しさん
06/05/06 01:01:17
Wikiのまとめページ
URLリンク(www6.atwiki.jp)
★コンパイラ一般
・色々なツールの紹介
URLリンク(catalog.compilertools.net)
・コンパイラ関連のリンク集
URLリンク(www.ulis.ac.jp)
・スクリプティング言語資料室(仮) (リンク集)
URLリンク(www.kt.rim.or.jp)
・Compiler Construction
URLリンク(rananim.ie.u-ryukyu.ac.jp)
・Compiler Construction (1997)
URLリンク(rananim.ie.u-ryukyu.ac.jp)
・情報システム工学実験 III コンパイラ・コンパイラ
URLリンク(math.cs.kitami-it.ac.jp)
・OS/Programming 簡単な C コンパイラ
URLリンク(www.csg.is.titech.ac.jp)
・正規表現
URLリンク(hp.vector.co.jp)
・コンパイラ研究・開発情報の一集積所
URLリンク(compilers.cs.uec.ac.jp)
・Links and Selected Readings
URLリンク(www.gnu.org)
・国産のコンパイラ共通インフラストラクチャCOINS
URLリンク(www.coins-project.org)
3:デフォルトの名無しさん
06/05/06 01:02:08
★字句・構文解析
・Lex and YACC primer/HOWTO (邦訳)
URLリンク(www.linux.or.jp)
・Turbo Pascal Lex/Yacc
URLリンク(www.musikwissenschaft.uni-mainz.de)
・Jim Roskind's LALR(1) C++ Grammar
URLリンク(www.empathy.com)
・Flexと Bisonを同時に使う
URLリンク(guppy.eng.kagawa-u.ac.jp)
・KITE_ASM (yacc,lex)
URLリンク(www.arch.cs.kumamoto-u.ac.jp)
・bison用のC++ LALR skeleton
URLリンク(www.bj-ig.de)
・ANTLR(非yaccのパーサジェネレータ)
URLリンク(www.antlr.org)
・JavaCC(Java Compiler Compiler)
URLリンク(javacc.dev.java.net)
URLリンク(village.infoweb.ne.jp)
URLリンク(www.asahi-net.or.jp)
・CUP, JLex, JFlex
URLリンク(www.cs.princeton.edu) (JLex, CUP)
URLリンク(www.jflex.de)
・SableCC
URLリンク(www.sablecc.org)
・¬<><∪∪ (notavacc)LALR(1)
URLリンク(ne.cs.uec.ac.jp)
・boost::spirit(C++のテンプレートでEBNFの構文を模倣)
URLリンク(spirit.sourceforge.net)
URLリンク(boost.cppll.jp)(マニュアル日本語化プロジェクト)
URLリンク(www.fides.dti.ne.jp)
4:デフォルトの名無しさん
06/05/06 01:02:39
★ごみ集め
・GC FAQ -- draft
URLリンク(www.iecc.com)
・A garbage collector for C and C++
URLリンク(www.hpl.hp.com)
・一般教養としての Garbage Collection
URLリンク(www.is.s.u-tokyo.ac.jp)
・Garbage Collection : Algorithms for Automatic Dynamic Memory Management
URLリンク(www.amazon.com)
★処理系,スクリプト
・kikyou.info (吉里吉里というゲームのスクリプト)
URLリンク(kikyou.info)
・tiny C コンパイラ (C)
URLリンク(www.watalab.cs.uec.ac.jp)
・6809用 Micro C コンパイラ
URLリンク(www.axe-inc.co.jp)
・Portable Object Compiler (Obj-C >> C のトランスレータ?)
URLリンク(users.pandora.be)
・自作コンパイラの部屋(PL/1, Pascal等)
URLリンク(www.tokumaru.org)
・『Rubyソースコード完全解説』サポートページ
URLリンク(i.loveruby.net)
・『やさしい Lisp の作り方』『やさしい Java インタプリタ の作り方』
URLリンク(www.okisoft.co.jp)
・MSによるPEフォーマット仕様書(日本語)
URLリンク(www.interq.or.jp)
5:デフォルトの名無しさん
06/05/06 01:03:12
★学会
・PLDI
URLリンク(research.microsoft.com)
コンパイラの研究に関する最新成果を知りたければまずはここ。
・POPL
URLリンク(www.cs.princeton.edu)
PLDIよりは理論寄りだが大いに参考になる。
・ICFP
URLリンク(icfp06.cs.uchicago.edu)
関数型言語に関する学会。とても難しい。
・OOPSLA
URLリンク(www.oopsla.org)
オブジェクト指向言語に関する学会。最近はやや低調?
・ICCC
URLリンク(www.st.cs.uni-sb.de)
ヨーロッパ系。派手さはないが堅実。
6:以上テンプレ
06/05/06 01:03:44
★参考書籍
・コンパイラ 原理・技法・ツール 1&2
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
通称ドラゴンブック。バイブル。
・コンパイラ構成法 原田 賢一
URLリンク(www.amazon.co.jp)
URLリンク(www.hara.cs.keio.ac.jp) (ソース、正誤表のダウンロード)
・プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝
URLリンク(www.amazon.co.jp)
一冊で済ませたい人へ。
・コンパイラの構成と最適化 中田 育男
URLリンク(www.amazon.co.jp)
最適化がメインだが、構文解析からコード生成までの基本事項も解説されている。
・コンパイラの仕組み 渡邊 坦
URLリンク(www.amazon.co.jp)
薄い奴(185p)を読みたい人に。
・21st Century Compilers (Alfred V. Aho, Sethi, Ravi Sethi, Jeffrey D. Ullman, Monica Lam)
URLリンク(www.amazon.co.jp)
まだ出ていない。
・スモールコンパイラの制作で学ぶプログラムのしくみ
URLリンク(www.cbook24.com)
初心者向けの優しい解説本。
7:デフォルトの名無しさん
06/05/06 01:09:12
>>1
乙
8:デフォルトの名無しさん
06/05/06 01:22:33
Rubyのブロック渡し+yeildって何のためにあるの?
Proc.new がやたら遅いのを改善すれば存在価値ないよね。
ブロック無くせば Lispの方言くらいに認めてあげるよ。
9:デフォルトの名無しさん
06/05/06 01:42:13
>>8
Ruby らしさのため。それがわかんないようなバカは氏んでください。
まぁ Lisp みたいなユーザビリティの低い言語と同列に語られたくないし。
Haskell と Ruby が今後の必須科目。それ以外は低能か変態向け。
10:デフォルトの名無しさん
06/05/06 01:53:47
ブロック渡しが Rubyのアイデンテテなんだね。
他の言語のよいところをつぎはぎした生きた言語である Rubyは
ユーザイリティが高くて大人気なんだね。
これからの時代Rubyは必須科目だね。
でも純粋だけは名乗らないでね。
11:デフォルトの名無しさん
06/05/06 02:20:00
他言語の良い所でも学ぶべき所は学ぶのが Ruby の良い所。
ユーザビリティを考慮してうまく取り込んでいる。
今後は必修科目は Ruby と Haskell だってんだろド低能がぁぁ
VM としては YARV コンパイラは GHC が鉄板
12:デフォルトの名無しさん
06/05/06 02:23:47
言語設計に全くかかわりのない業界の言葉なんだけど、
Ruby(Rails)に大規模Webアプリの実績がもう少しあれば信用できるんだけれど…
13:デフォルトの名無しさん
06/05/06 02:34:50
必修科目が Ruby と Haskell …
そりゃ無茶だろうw
14:デフォルトの名無しさん
06/05/06 02:37:32
>>13
お前みてーな低能にはなw
実現したらバカが駆逐されて実に爽快だろうなw
15:デフォルトの名無しさん
06/05/06 02:38:22
>>10
また議論で負けたいのか
16:デフォルトの名無しさん
06/05/06 02:40:36
>>14
>実現したらバカが駆逐されて実に爽快だろうなw
実現しっこないって自分で認めちゃだめでしょ?
せめて希望だけは持ち続けねば!
17:デフォルトの名無しさん
06/05/06 02:48:52
議論で負けているように見えるのか。
ここはひどいインターネットですね。
18:デフォルトの名無しさん
06/05/06 02:50:06
アレ?反省したんじゃなかったの?
991 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/06(土) 00:18:15
や、>>977 の発言を見て Rubyを純粋だと信じてやまないピュアな若者を
いじってみたくなっただけなんだ。
正直純粋とかアイデンティティとかどうでもいい。いまは反省している。
19:デフォルトの名無しさん
06/05/06 02:53:33
純粋かどうかは個人の定義による以上、Rubyが純粋なオブジェクト指向と思う奴もいてよかろう。
Smalltalkは人によっては純粋。Rubyも人によっては純粋。
それで何がダメなのか具体的に反論してみろよ?
負けてないならさぁ。
20:デフォルトの名無しさん
06/05/06 02:55:07
個人的には2ちゃんねるのような匿名板で、議論に勝ったり負けたりということに何の意味があるのかさっぱりわからん
21:デフォルトの名無しさん
06/05/06 02:55:39
そりゃレスポンスがあればいじっちゃうだろ。
>>19
Rubyのどこがダメか今までいってきたんだけど...
むしろそれの答が
>Ruby らしさのため。それがわかんないようなバカは氏んでください。
なんだけど。
22:デフォルトの名無しさん
06/05/06 02:57:29
とりあえずだな、俺は21世紀になってこの方、RubyもHaskellも
仕事で使わせて貰ったことはない。
これが現実だ。
23:デフォルトの名無しさん
06/05/06 02:57:29
>>21
ブロックがオブジェクトじゃないからダメとかいう、個人の主観に過ぎないことぐらいしかダメ出ししてねーくせに。
別にオブジェクトと捉えて特に問題も無いのにさぁ。
24:デフォルトの名無しさん
06/05/06 02:59:49
>>22
へー
で、今話題になってる純粋なSmalltalkは、Scheme仕事で使ってんのか?
使ってないなら、それは今関係無い話だ。
25:デフォルトの名無しさん
06/05/06 03:01:32
Rubyは仕事で使っているけど…Railsをね。
不安でたまらん
26:デフォルトの名無しさん
06/05/06 03:01:53
>>24
ほう、RubyやHaskellから話を逸らしたいのかね?
27:デフォルトの名無しさん
06/05/06 03:04:03
>>26
はぁ?そもそも俺は9じゃないんでどうでもいいけど?
28:デフォルトの名無しさん
06/05/06 03:05:31
>>19
Smalltalk が純粋、Java が純粋…ってなら(それぞれが立脚している
「オブジェクト指向」がなんなのか。具体的にはケイのか、ストラウストラップのか)
分かるような気がするけど、
Ruby が純粋ってヤツは、基本的に、オブジェクト指向にはどんなものがあるのかを
分かっていないか、知ってか知らずか俺定義に走っているか、教祖の尻馬に
乗っているだけか…、どれかだね。
29:デフォルトの名無しさん
06/05/06 03:06:40
>>23
ブロックがオブジェトじゃないってのが主観なのかどうか教祖さまに聞いてみれば?
てか今ここで Rubyのブロックのどこがオブジェクトじゃないのか説明しなきゃいかんのか?
その程度の理解で Rubyマンセーしてるやつと議論するのはちょっと...
30:デフォルトの名無しさん
06/05/06 03:08:18
はいはい、じゃあ具体的に何が純粋じゃないのか言ってみ。
何も知らないで俺定義に走ってるのはお前だろ。
31:デフォルトの名無しさん
06/05/06 03:09:02
>>27
なんだ、なんだ、今更逃げ腰かw
32:デフォルトの名無しさん
06/05/06 03:10:07
お前はブロックがオブジェクトかどうかが、純粋かそうじゃないかの全てかよ
Javaなんか挙げてるやつもいるけど、これこそ純粋じゃないだろ。
実用の為に、intなどのプリミティブな値あるしさぁ。
33:デフォルトの名無しさん
06/05/06 03:13:36
「純粋」って何なんだ
さっきからオレには全然理解できん
誰か説明してくれ
34:デフォルトの名無しさん
06/05/06 03:14:46
>>29
>ブロックがオブジェトじゃないってのが主観なのかどうか教祖さまに聞いてみれば?
ドアホかお前は。>23をよく読めよ
ブロックがオブジェトじゃないってのは認めてるだろ。
ブロックがオブジェクトじゃないから、純粋じゃない、というのを主観だっつってんだよ。
もうお前黙れ。レスもちゃんと読めない馬鹿と議論なんか出来るか。
35:デフォルトの名無しさん
06/05/06 03:15:40
>>32
いやいや純粋ってそういうもんじゃんか。
Smalltalkは全部オブジェクト、Rubyはそうじゃない。
だから Rubyは Smalltalkより純粋じゃない。って見方ができる。
そんな潔癖に意味あるかは別としてね。
さっき上げた lisp prolog smalltalk haskell ml forth
なんかは独自のパラダイムを持っていてその世界の中ではかなり純粋なんだ。
で Rubyはなんなのって思うわけよ。
その Rubyらしさとやらを説明してほしいんだけど。
36:デフォルトの名無しさん
06/05/06 03:16:45
>>33
個人の主観に過ぎない幻想
理由は無いけど、SmalltalkやShcemeやJavaはそうで、Rubyはそうじゃないモノ。
37:デフォルトの名無しさん
06/05/06 03:19:24
>>34
オブジェクトと捉えて問題ないか教祖さまに聞いてみれば?
てか今ここで Rubyのブロックのどこがオブジェクトと捉えて問題あるか説明しなきゃいかんのか?
その程度の理解で Rubyマンセーしてるやつと議論するのはちょっと...
あの、どう問題ないのか説明してください。
あと、Rubyはこうだから純粋だっていうのを是非。
38:デフォルトの名無しさん
06/05/06 03:22:38
>>23
>別にオブジェクトと捉えて特に問題も無いのにさぁ。
>>34
>ドアホかお前は。>23をよく読めよ
>ブロックがオブジェトじゃないってのは認めてるだろ。
こいつおもしろいね。
39:デフォルトの名無しさん
06/05/06 03:26:39
>>35
Aの言語より純粋さに多少欠けるから、
Bの言語は純粋と言ってはいけないってか?アホらしい。
>>37>>38
レスもちゃんと読めないアホとは議論できないとさっき言ったろ
40:デフォルトの名無しさん
06/05/06 03:28:43
>さっき上げた lisp prolog smalltalk haskell ml forth
>なんかは独自のパラダイムを持っていてその世界の中ではかなり純粋なんだ。
どう純粋なのか言ってないじゃんw
41:デフォルトの名無しさん
06/05/06 03:29:07
>>39 もなんもないみたいだし
特になんかなければ 終了ってことで。
42:デフォルトの名無しさん
06/05/06 03:29:34
>>39
つまり、お前は自ら議論能力の欠如を吐露したと言う訳だな?
43:デフォルトの名無しさん
06/05/06 03:31:03
>>41
何にも無いのはお互い様。必死になってお互いに相手に証明を求めてるだけ。
>>42
いいや、お前の議論能力の欠如を指摘したまで
44:デフォルトの名無しさん
06/05/06 03:33:26
>>41
じゃ終了だな。
45:デフォルトの名無しさん
06/05/06 03:33:26
>あの、どう問題ないのか説明してください。
これなんかアホの典型。悪魔の証明だ。
普通は問題が「ある」と思うほうが説明する。
46:デフォルトの名無しさん
06/05/06 03:36:05
>>43
おいおい、勝手にお互い様にしちゃいかんだろ。
47:デフォルトの名無しさん
06/05/06 03:36:40
えっと lisp と smalltalkはでてきたと思うけど他は
lisp クロージャ マクロ eval
prolog 一階述語論理 カットによる制御 パターンマッチ
smalltalk オブジェクト指向
haskell 遅延評価 参照透明性
ml 型推論 パターンマッチ カリー化
forth スタック 後置記法
俺の思う純粋は余計なものがないってこと。
48:デフォルトの名無しさん
06/05/06 03:39:44
お前お前って相手がひとりだと勘違いしてないか。43は。
Rubyのブロックはオブジェクトではないし、オブジェクトとして使うには、
別の書き方をしなきゃいけない。そもそも書き方が何通りもあること自体、
Rubyがつぎはぎであることの結果としか思えんのだが。
こんなのを「オブジェクトと捉えて特に問題も無いのにさぁ」といえるのなら、
Javaだって今はWrapperクラスとauto boxingあるから、
>Javaなんか挙げてるやつもいるけど、これこそ純粋じゃないだろ。
>実用の為に、intなどのプリミティブな値あるしさぁ。
こんなことも言えないはずだしね。
49:デフォルトの名無しさん
06/05/06 03:40:52
>>45
ブロックがオブジェクトなんて斬新な意見持ち出す方が説明すべきだと思うぞ。
ブロックは普通の引数と違ってメソッド呼び出しの後ろにくっつけて渡して
それを中から yieldで呼びだせるからオブジェクトじゃないとか説明すればいいのか?
50:デフォルトの名無しさん
06/05/06 03:44:37
>俺の思う純粋は余計なものがないってこと。
「俺の思う」とかつけてる時点で主観だってわかってるんだろ。
>>48
>こんなことも言えないはずだしね。
おいおい、Rubyが純粋じゃないなら、Javaも当然純粋じゃないって意味だ。
つうか、こっちが言いたい台詞だよそれは。お前はJavaが純粋とかのたまったくせに、
Rubyが純粋じゃないとか言ってたアホさに呆れてたんだよ。
51:デフォルトの名無しさん
06/05/06 03:46:28
>>49
アホか。ブロックがオブジェクトと捉えて問題ない、といったんだ。
「ブロックはオブジェクトそのものだ」なんてお前が捏造した意見だろ。
52:デフォルトの名無しさん
06/05/06 03:47:00
どうも脳内毒電波ゆんゆんさんらしいので、言っても意無駄かもしれんが繰り返すぞ。
「お前お前って相手がひとりだと勘違いしてないか。50は」
53:デフォルトの名無しさん
06/05/06 03:49:24
>>50
そうそう、主観なんだよ。
だから Ruby信者の主観を知りたいんだよ。
どういう観点で見たら Rubyが純粋なのかって。
そのレスポンスが期待できないから終了にしたかったんだけど...
なにもないよね?
荷が重ければアイデンティティでもいいけど、
それはいろいろ吸収するってことなんだっけ?
それじゃバランスのいい Perl止まりなんだよな Rubyは。
54:デフォルトの名無しさん
06/05/06 03:50:55
>>52
はぁ?名に言ってんだお前は。
一人一人にレス番号付けてるのに、「お前等は」とか複数形にしろってのか。
馬鹿か黙ってろ
55:デフォルトの名無しさん
06/05/06 03:52:49
結論は20で出ている、という事実を伏せておくのが大人の配慮なんだろうね
56:デフォルトの名無しさん
06/05/06 03:54:04
def foo(&block)
block.call("test")
end
foo{ |it|
p it
}
普通にブロックはそういう風に扱うとオブジェクトになるだろうが。
>>53
じゃあ、ほぼ全てがオブジェクトで、式で、
一見普通の関数呼び出しに見えるものさえ全てメソッド呼び出しモデルとなってる、でいいか?
57:デフォルトの名無しさん
06/05/06 03:56:16
>>53
>だから Ruby信者の主観を知りたいんだよ。
そうだよね。
>>19
>純粋かどうかは個人の定義による以上、Rubyが純粋なオブジェクト指向と思う奴もいてよかろう。
結局これは、「信仰によるもの」というのが結論?
58:デフォルトの名無しさん
06/05/06 03:56:55
URLリンク(d.hatena.ne.jp)
59:デフォルトの名無しさん
06/05/06 03:59:45
いや、結論はRuby信者は純粋にヘタレ、でおk
60:デフォルトの名無しさん
06/05/06 03:59:49
>>56
「foo(&block)」は「普通」なのか?
そういや昔はそもそもブロックという言葉もなくて、イテレーターと呼ばれてたような。
さすがはつぎはぎ言語。
61:デフォルトの名無しさん
06/05/06 04:00:30
>>57
992 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/06(土) 00:18:35
>Rubyが、いろんな言語からつぎはぎした統一感のない言語だってのは事実なんじゃね?
>それを「いいとこ取り」と言う奴もいるだろうが、「ぐちゃぐちゃ」とか「アイデンティティがない」とか
>思う奴もいてよかろう。
その一文はお前をパロってるんですけど。
半角?クンだから、コレはおまえだよな?
62:デフォルトの名無しさん
06/05/06 04:03:08
>>59
そのヘタレよりヘタレがお前だけどな
>>60
>「foo(&block)」は「普通」なのか?
何が普通じゃないんだ?
>そういや昔はそもそもブロックという言葉もなくて、イテレーターと呼ばれてたような。
>さすがはつぎはぎ言語。
だから何なのだろう?もう煽りたいだけのアホは困る。
63:デフォルトの名無しさん
06/05/06 04:05:40
>>59
オブジェクト指向はアイデンティティとか恥ずかしげもなく言い切っちゃう
教祖も純粋にヘタレてる。
64:デフォルトの名無しさん
06/05/06 04:07:12
>>62
ブロックがオブジェクトなら&修飾子はいらんだろ?
65:デフォルトの名無しさん
06/05/06 04:07:15
ここまでの話のどこら辺が
> 字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
> CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
> SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
> JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
> 意味論に関する話題も歓迎です。
のうちのどれに関わっているのか教えてくれ。
66:デフォルトの名無しさん
06/05/06 04:08:37
>>54
あのね。
>>52=48 は「俺は >>28じゃねえ」って言いたいんだと思うよ。
>>56
そうもできるけど2個以上渡したい時は Proc.newとかしないと駄目でしょ
そのブロック文法自体いらないともいえる。主観ではいらない。
>じゃあ、ほぼ全てがオブジェクトで、式で、
>一見普通の関数呼び出しに見えるものさえ全てメソッド呼び出しモデルとなってる、でいいか?
その意見を批判するのはちょっと違うと思うので何も言わないが
新しいパラダイムがある訳でもなく特別潔癖でもない、むしろ雑食な言語を
vi で書くのが純粋のイメージってのが違和感あっただけ。
67:デフォルトの名無しさん
06/05/06 04:10:04
>>63
残念。最初にアイデンティティとか言い出したのは、前スレのコイツです
982 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/05(金) 23:51:09
>>980
SchemeとSmalltalkはRubyよりは「純粋」だと思うよ
Rubyのアイデンティティってなんなの?
>>64
だから、ブロックはオブジェクトだと言ってないって。捏造が好きなアホだな。
便利なための記法なんて、どの言語にもあるだろうに。
68:デフォルトの名無しさん
06/05/06 04:13:13
>>65
>ここまでの話のどこら辺が
もっともだ。じゃあRubyのそういうところについて議論しようか。
・字句解析、構文解析
→つぎはぎの拡張を繰り返したトンデモ文法のおかげでparserとlexerが
ごっちゃになってひどいことになってるよな。
・データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化
JIT,動的バイナリ変換等の各種最適化, 低消費電力化
→どれもやってないよな。継続の実装もアレだし。
・VM
→ようやくYARVが、ってとこか。
・GC
→「GC や Thread などのインタプリタの実装のトリックが移植性を損なっている」
URLリンク(pub.cozmixng.org)
…えーっと。
69:デフォルトの名無しさん
06/05/06 04:14:01
>>66
>そうもできるけど2個以上渡したい時は Proc.newとかしないと駄目でしょ
>そのブロック文法自体いらないともいえる。主観ではいらない。
もともとも文法的に2個以上ブロックを渡すのはムリがある。
>Proc.newとかしないと駄目でしょ
あれ? lambda{}と書けるけど。もしこれがダメならschemeはどうすんの?純粋じゃないの?
>vi で書くのが純粋のイメージってのが違和感あっただけ。
俺が書いたんじゃねーから知らんけど、そもそもviなんか使わんし、
そんなことで噛み付くなよ。
70:デフォルトの名無しさん
06/05/06 04:14:08
Ruby 信者が話にならないのは、パクリ元の言語のことをほとんど知らないからだな。
教祖の尻馬に乗って、寄せ集めの機能を自慢げに語ろうとする。
パクリを認めないばかりか、Ruby オリジナルとか言いかねない教祖が悪いんだけどね…。
71:デフォルトの名無しさん
06/05/06 04:14:44
オブジェクト指向はアイデンティティだべ。
Rubyにゃアイデンティティがねえべ。
従ってRubyはヘタレ。
これは三段論法ではないが、立派な連鎖推理だにょ。
72:デフォルトの名無しさん
06/05/06 04:16:22
> オブジェクト指向はアイデンティティ
飛躍
> Rubyにアイデンティティがない
主観
> 従ってRubyはヘタレ。
論拠が無い
73:デフォルトの名無しさん
06/05/06 04:16:28
>>67
URLリンク(www.rubyist.net)
74:デフォルトの名無しさん
06/05/06 04:17:26
>>70
ハイハイ、レッテル張りね。すごいすごい。
>>71
オブジェクト指向はアイデンティティとか恥ずかしげもなく言い切っちゃう
71も純粋にヘタレてる。
75:デフォルトの名無しさん
06/05/06 04:19:15
>>73
お前、その日記の内容見て無いだろ。アホ丸出しだぞ。
今しがた、アイデンティティ Ruby でググッて見つかったのを張ったダケだろ。
76:デフォルトの名無しさん
06/05/06 04:20:36
わかった、わかった、Rubyは純粋。
それも純粋なヘタレ。
77:デフォルトの名無しさん
06/05/06 04:21:22
反論出来ないとコレだw
78:デフォルトの名無しさん
06/05/06 04:22:00
中身が無いのに熱さだけあるってのもすごいよな。
信者ができるものってなにか飛び抜けててカリスマ性があるようなものだと思ってたんだけど
凡庸な rubyに信者がたくさんいるってのが解せない。
rubyしか書けないから、だったりして。
79:デフォルトの名無しさん
06/05/06 04:22:50
Ruby はオブジェクト間の区別ができるから、純粋なオブジェクト指向言語なんだな。w
なるほど! オブジェクト指向するって、案外、お手軽なんだな。知らなかったよ。
80:デフォルトの名無しさん
06/05/06 04:23:21
>>77
おいおい、おまいさんの書き散らしたレスのどこに「論」があったんだ?
論無き所には、反論もまた無しと言う訳だ。
81:デフォルトの名無しさん
06/05/06 04:24:01
今日はここかい?
82:デフォルトの名無しさん
06/05/06 04:26:38
>>78
Rubyは単なる嗜みの一つだが、馬鹿が沸いてたので指摘したまで。
>>79
理解力0と
>>80
確かに相手側も一切の「論」が無かったな。
馬鹿ばかりだった。
83:デフォルトの名無しさん
06/05/06 04:28:31
>>78
>信者ができるものってなにか飛び抜けててカリスマ性があるようなものだと思ってたんだけど
そりゃ作者が正真正銘本職の宣教師(元)だもの。モルモン教の。
84:デフォルトの名無しさん
06/05/06 04:31:38
主観では、一番のアホは、半角の?を付けてる彼でした。
85:デフォルトの名無しさん
06/05/06 04:36:04
自作自演するときは、微妙に書き方を変えなきゃ
自作自演するときは、微妙に書き方を変えないと。
自作自演するときは,書き方を微妙に変えないと。
86:デフォルトの名無しさん
06/05/06 04:37:32
おや>84。どうして「彼」だとわかったんだ。どうして「彼女」では無いと?
87:デフォルトの名無しさん
06/05/06 04:38:08
そうか。半角?は書き分けのためだったのか。やられた。
88:デフォルトの名無しさん
06/05/06 04:40:20
URLリンク(www.rubyist.net)
matz はホントにわかってないんだな…。
副作用がなくったって、オブジェクト指向は成り立ちうるのに…。
これで ruby は純粋とかいっちゃうんだから…。
これじゃ信者も苦労するよ…。
89:デフォルトの名無しさん
06/05/06 04:42:24
>>82
単なる嗜みのひとつレベルで、ここまで熱くなれると言う事に
驚愕すると共に、Rubyはただのヘタレではなく、偉大にして
純粋なヘタレであることを、ここに宣言するものである!
すなわち
language of the ruby, by the ruby, for the ruby.
同胞よ涙せよ!
90:デフォルトの名無しさん
06/05/06 04:42:24
>>86
俺は殺人事件の容疑者で、お前は探偵かよ。
91:デフォルトの名無しさん
06/05/06 04:43:13
>>89
お前もこんな時間まで熱くなってんじゃん。
何の信者なの?
92:デフォルトの名無しさん
06/05/06 04:51:35
>>91
もちろん2chのおちょくり信者でんがな。
ところで「コンパイラ・スクリプトエンジン」て何?
Rubyって多分宝石のルビーとは関係ないだよね?
93:デフォルトの名無しさん
06/05/06 04:55:42
サムッ
94:デフォルトの名無しさん
06/05/06 04:58:48
わかったよ>90。お前が探偵役な。
95:デフォルトの名無しさん
06/05/06 06:18:17
なんか深夜にキチガイが湧いていたようですね…でも >>9 の言うとおり
Haskell と Ruby が今後の主流なのは異論がないと思うので。YARV の話でもし
ましょうか。国も認める未踏な先進的プロジェクトです。税金を出す == 我々
も望む望まぬに関わらず Ruby にお金を出しているわけです。使わないと損で
しょう?
96:デフォルトの名無しさん
06/05/06 06:28:03
未踏は ML 処理系にも Scheme 処理系にも金を出している訳だが。
YARV は金払った上に、貴重な俺の時間まで費やす程の物でもないしな。
97:デフォルトの名無しさん
06/05/06 07:06:38
今後の主流はC#とJavaなんじゃないの?
98:デフォルトの名無しさん
06/05/06 07:21:15
PHPも忘れてはいけない
99:デフォルトの名無しさん
06/05/06 10:28:27
↓これ等以外で、リテラル表現を持っている言語ってありますか?
整数、実数、複素数、配列、文字列、構造体、共用体、列挙型、リスト、タプル、
関数(ラムダ)、正規表現、XML(e4x)
リストの内包表記とかもリテラル表現と言って良いのかな。
Scheme のマクロは文法規則のリテラル表現?
面白いリテラル表現がありましたら教えて下さい。
100:デフォルトの名無しさん
06/05/06 11:07:54
>>99
ぱっと思いつくのは
・文字(Javaとかは文字列とは別扱い)
・辞書/ハッシュ/連想配列
101:デフォルトの名無しさん
06/05/06 11:47:22
Lisp の世界にはプログラマブルなリテラルがあるよ。配列や複素数などがこの
機能を使って実装されてる。ライブラリだと日付とか XML、単位などがこの機
能を使ってリテラル表現されてる。
102:デフォルトの名無しさん
06/05/06 11:53:28
ML しね Scheme しね Lisp しね Prolog しね
これから Haskell しかねーよ低能共
型推論と遅延評価マンセー
103:デフォルトの名無しさん
06/05/06 11:55:31
>>100
文字忘れてました…
ハッシュリテラルは Perl にあるみたいですね。
>>101
リーダーマクロを使っているのでしょうか。
CL は勉強中なのですが、まだマクロは良く分かっていません。
リテラル表現の豊富さはプログラムの簡潔さに大きく寄与すると
思うのですが、リテラルをその場で作り出せる Lisp は凄いですね。
104:デフォルトの名無しさん
06/05/06 12:05:04
>>99
シンボル
105:デフォルトの名無しさん
06/05/06 12:20:30
>>104
シンボルもそうですね。日付、単位(>>101)、それと分数もありました。
106:デフォルトの名無しさん
06/05/06 12:25:07
リテラルになりえないのは実行時にならないと計算できない
クロージャと継続くらいで他は全部 quoteつければリテラル
107:デフォルトの名無しさん
06/05/06 18:50:19
えらい伸びるなw
>>9
低能は違うだろ?
変態向けというのは同意。
108:デフォルトの名無しさん
06/05/06 19:11:37
>>107
お前は俺と同じ低能臭がするw
とりあえずおまえが一番の低能。俺二番。
同じキチガイどうし意味のない不毛なレスのやりとりをしようぜ
109:107
06/05/06 19:17:42
>>108
断る。
俺は純粋な Vi 使いだからな。
110:デフォルトの名無しさん
06/05/06 19:22:14
>>109
そこでemacs使いの俺様の愚痴を聞いてくれ(違!
いい加減貶めあうのはやめないか?
#本当はBriefが好きなんだよ、なんで飼い殺しにしたんだ>>ボーランド
111:デフォルトの名無しさん
06/05/06 19:25:49
>>109
奇遇だな。俺も vi 使いだよw
さすがスレと全然関係ない話題なところが無能っぷりをさらけだしてるな
俺ももっとバカっぽい発言ができるよう精進するよ
とりあえず Ruby 厨房のフリする?それとも Lisp 信者の真似?
112:デフォルトの名無しさん
06/05/06 19:28:27
>>106
クロージャはともかく、継続のリテラル表現はソースコードそのものなんじゃないかと、ふと思った。
113:デフォルトの名無しさん
06/05/07 09:46:33
>>112
ソースコードはレキシカルなもので継続はダイナミックなものなので違うのでは?
114:デフォルトの名無しさん
06/05/07 22:37:28
ゴールデンウィークが終わってきてみれば
何のスレだか分からなくなっているなw
115:107
06/05/08 20:03:37
>>111
お前は何か勘違いしてないか?
116:デフォルトの名無しさん
06/05/08 20:41:02
そんなことより2行目だろ>>111のポイントは
これネタとかじゃなくて本気で興奮して本気で間違ってるよ
117:デフォルトの名無しさん
06/05/08 20:57:28
メアド交換してメッセンジャーでやれ
118:デフォルトの名無しさん
06/05/08 21:59:15
よくわかんないけどさ、
ruby は (perlよりも) 純粋なオブジェクト指向言語だ
ってあたりでみんな同意して次いかないか?
119:デフォルトの名無しさん
06/05/08 22:22:16
×perl よりも
○どの言語よりも
120:デフォルトの名無しさん
06/05/09 02:32:50
Haskell はともかく Ruby は今後も主流に成り得ないと断言できる。
従ってRubyは純粋なヘタレ。
言語と言えるようなもんじゃない。
121:デフォルトの名無しさん
06/05/09 03:11:09
Haskell 最強ーーーーーーーーーーーーーー
122:デフォルトの名無しさん
06/05/09 08:48:22
スレ違いな方向に進んでるのは池沼が原因か?
123:デフォルトの名無しさん
06/05/09 12:33:26
>>122
Rubyの質の高さを認めたくない奴が、いつまでもゴチャゴチャ抜かすせい。
そんな暇があったら勉強すればいいのにね。無能の発想ってよくわからない。
124:デフォルトの名無しさん
06/05/09 12:37:44
Ruby信者が>>119とか>>123みたいな反応している間は争いは終わらないんじゃね?
125:119
06/05/09 22:10:49
俺は別に Ruby 信者でもなんでも無い。
ただの、流しの vi 使い。
お前馬鹿か?
126:デフォルトの名無しさん
06/05/09 22:21:52
>>119
「どの言語よりも」ってことは無いだろう。
rubyと同程度にオブジェクト指向な言語があれば、
その言語より純粋とは言えないから。
127:デフォルトの名無しさん
06/05/09 22:40:53
そういう奴にはsmalltalkとか言っておけばおとなしくなるんじゃないの
128:デフォルトの名無しさん
06/05/10 00:39:04
おまえ様等に問いたい、いい加減にスレ違いはやめようや。
煽りも煽り耐性弱いやつもいい加減にスルーすることおぼえようよ。
もうこのスレ延々と続く度に思うのは1~200位と900~1000の間だけ異常にすれ違い過ぎ!
129:デフォルトの名無しさん
06/05/10 00:40:07
なに気取ってんだバカ野郎スレ違いなんだよ >>119
130:デフォルトの名無しさん
06/05/10 00:48:38
name *(COMMA name)
っていうABNFがあった場合
ab,ac,ew,ae,ae
っていうことだよね?
131:デフォルトの名無しさん
06/05/10 03:45:45
>>1-131
いい加減スレ違いに気づけ!!バカ
132:デフォルトの名無しさん
06/05/10 10:44:14
>>128
単なる無知ゆえの的外れな発言を、
本格的に突っ込まれたあとになって「煽り」だの「釣り」だのと称して
突っ込んだ側に改善点を見出してみせるのは、割とポピュラーなやり方ですよね。
通用しませんけど :-)
133:デフォルトの名無しさん
06/05/10 13:11:52
>>123
Rubyに質などない。
厳選された必要にして十分なものを揃える事を「質が高い」と言う。
しかしRubyは結局「アレモ、コレモ」という謂わば「物量主義」、
質など無視して完全に量で切り抜けようとする姑息なシロモノ。
134:デフォルトの名無しさん
06/05/10 15:58:32
たとえば?
135:デフォルトの名無しさん
06/05/10 21:03:29
おまえらRubyスレに去ってください
136:デフォルトの名無しさん
06/05/10 23:02:05
ほんとそうしてください
137:デフォルトの名無しさん
06/05/10 23:06:18
皆さん tag bits って使ってますか?
fixnum が 32bit にならないのがイヤン。
138:俺もvi使い
06/05/10 23:34:23
>>133
それが新しい言語パラダイムだと気づかないのかね?
石器時代に生きてるような石頭ユーザには、せいぜい lisp がお似合い。
もう、書き込まんでいいよ、
うぜーからw
139:デフォルトの名無しさん
06/05/10 23:36:09
>>138
それ何ていう C++?
140:デフォルトの名無しさん
06/05/10 23:49:36
C++は最強のマルチパラダイム言語
普通に手続き型プログラムできたり
オブジェクト指向できたり
genericsできたり
無理やりラムダとかできたり
プログラマを言語仕様の罠にはめだり
コンパイラ製作者を泣かせたり
141:デフォルトの名無しさん
06/05/11 00:07:02
仕事では使えないC++
142:基地外
06/05/11 00:33:13
>>138
そうだ lisp 氏ねw
vi ! vi !
143:デフォルトの名無しさん
06/05/11 00:35:13
>>141
ここ10年近く、色々バージョン違いはあるけれどVisual C++以外の
仕事はしたことがなく、ソースファイルは*.cppしか書いてない俺が
来ましたよ?
144:デフォルトの名無しさん
06/05/11 00:40:08
ところで「vi使い」という謳い文句を流行らせたい輩が
いるようだが、viは基礎体力養成課程で万人が触れる
初心者用ツールのはずだが、まさか、それしか使え
ないという訳じゃあるまいね?
145:デフォルトの名無しさん
06/05/11 00:59:16
つまりviを使ってrubyでコーディングしてる俺が日本最強。
秀丸を使ってHSPでコーディングしてる奴は日本じゃあ二番目だ。
146:デフォルトの名無しさん
06/05/11 01:01:55
vi を使って Haskell でコーディングしてる俺は世界最強
147:デフォルトの名無しさん
06/05/11 01:09:53
サクラエディタで変なソースコード作成している俺は
ユニークだ
148:デフォルトの名無しさん
06/05/11 01:15:01
サクラエディタで俺言語やってるけど、きちゃだめ?
149:デフォルトの名無しさん
06/05/11 01:19:27
選ばれし vi 使い以外は死滅するというのは本当ですか
150:デフォルトの名無しさん
06/05/11 01:22:13
EmEditor…
151:デフォルトの名無しさん
06/05/11 01:24:21
Viとかサクラエディタとか、本当にプログラミングで使いやすいのか?
152:デフォルトの名無しさん
06/05/11 01:24:23
額にviって入ってる奴だけ救われるんだってな
残りの人間は全部どっか知らんけど死のviに
名前書かれて死んでいくって聞いた
153:デフォルトの名無しさん
06/05/11 01:53:04
>>147
使いやすいにきまってんだろ?頭が不自由な方ですか?
勝ち組は Eclipse で Haskell !!
154:デフォルトの名無しさん
06/05/11 01:54:05
>>153
それ俺が作った・・・
155:デフォルトの名無しさん
06/05/11 02:16:00
何が楽しくてわざわざ糞スレにしようとするんだろう・・・
156:デフォルトの名無しさん
06/05/11 02:49:01
自分の技量でははるかに届かないテーマのスレタイを見て、
あまりの悔しさに滅茶苦茶にしてやろうと思っているんですよ。
通常の議論の場と違って、2chでは能無しは「負けを感じてからが饒舌」ですからね :-)
157:デフォルトの名無しさん
06/05/11 02:53:22
一つ教えてやろう
コンパイラについて勉強しても何の約にも立たないということだ
158:デフォルトの名無しさん
06/05/11 07:28:02
>>157
約?
159:デフォルトの名無しさん
06/05/11 22:57:04
萌えeditor つかってる洩れが来ました。
時計はもちろんエミクロックです。
160:デフォルトの名無しさん
06/05/11 23:04:34
yaccとbison使うと正直勉強になりませんですた
161:デフォルトの名無しさん
06/05/11 23:47:42
>>160
字句解析・構文解析については一回作ればもうそれで十分。
面倒なことは自動化して、重要なのはその後。
162:デフォルトの名無しさん
06/05/12 02:17:28
yaccとかbisionなどのツールって
C言語と独自の構文が混ざって正直キモいんですけど。
163:デフォルトの名無しさん
06/05/13 09:56:22
正直 lisper の方がキモいよw
よくあんなスタイルで(ry
164:デフォルトの名無しさん
06/05/13 11:16:57
>>162-163
お前らの顔の方がキモイ
165:デフォルトの名無しさん
06/05/13 23:28:26
キモイのOKなんだけど慣れるから
臭いのはまじ勘弁
166:デフォルトの名無しさん
06/05/13 23:45:42
>>163 が地沼臭い
167:デフォルトの名無しさん
06/05/14 14:03:54
お前らはいつになったらデレに変化するの?
168:デフォルトの名無しさん
06/05/14 16:09:21
>>167
でもデブは居るはず
169:デフォルトの名無しさん
06/05/14 20:54:24
ツンデブ?
170:デフォルトの名無しさん
06/05/15 23:45:24
>>162
bison って書き方確かにキモイよね。
機能がいいので、仕方無く使ってるけど、
もっとよい書き方のできるWrapperとかないんだろうか?
171:デフォルトの名無しさん
06/05/16 19:56:54
やっぱコンパイラを書くなら
オブジェクト指向言語でinterpreterパターンで書くのが一番だよね。
自分の好きな言語で書けるし。
172:デフォルトの名無しさん
06/05/16 20:01:58
>>171
お前ってリファクタリングのこと何も知らないんだな。
まあ、いいけど。
173:デフォルトの名無しさん
06/05/16 20:18:25
リファクタリングが何か関係があるわけ?
174:デフォルトの名無しさん
06/05/16 20:39:00
>>170
BoostのSpiritでも使ってみれば?
175:デフォルトの名無しさん
06/05/16 22:07:20
>>173
まずは読んでみたら?
176:デフォルトの名無しさん
06/05/16 22:08:44
>>173
デザインパターンっていうのは、型に当てはめるもんじゃないっていうこと。
詳しくは「リファクタリング」を読め。
177:デフォルトの名無しさん
06/05/17 01:33:03
>>176
>デザインパターンっていうのは、型に当てはめるもんじゃないっていうこと。
意味不明なんだが?デザインパターンは型に当てはめるものだろ?
>詳しくは「リファクタリング」を読め。
そういう本があるのか?
178:デフォルトの名無しさん
06/05/17 02:26:10
>>177
>デザインパターンは型に当てはめるものだろ?
型に当てはめるもんだけど、単純に当てはめればいいというものでもないんだな。
179:デフォルトの名無しさん
06/05/17 02:38:42
>>177
何もわかってない。勉強しなおせ。
180:デフォルトの名無しさん
06/05/17 02:42:48
答えも出さずに勉強しなおせもねーだろ。
181:デフォルトの名無しさん
06/05/17 03:08:27
>>180
勉強すればわかるよ。
ここで答えを求めるな。
182:デフォルトの名無しさん
06/05/17 03:09:28
だいたい、読めば良い本を指し示してやってるんだから読めよ。
183:デフォルトの名無しさん
06/05/17 03:44:50
今さっき提示した本を読めるわけねーだろーがボケが。
つーかお前の言ってること的外れなんだけど?
リファクタリングって言葉最近覚えたか?
184:デフォルトの名無しさん
06/05/17 06:10:24
自他共に認める無知、あるいは、自分では一応知識があるつもりだけど
それが本当に試される状況は怖いから避けたい人、
そういう人種が「そのくせ偉そうにしたい」時には便利ですよね<○○読め、勉強しなおせ
185:デフォルトの名無しさん
06/05/17 10:57:43
そこまで分かってるなら絡むなよw
デザパタの話は常に不毛。
186:デフォルトの名無しさん
06/05/17 12:35:10
馬鹿だね
187:デフォルトの名無しさん
06/05/17 12:42:39
デザインパターンって単に良い設計だと多くの人が思ったパターンを集めたに過ぎないのでは?
自分の設計をどうやってそのパターンに当てはめるのかと考えはじめたら、
多種多様なパターンを複合的に使わなくてはいけなくなって、
逆に複雑になりすぎてしまうから良くない、という話だと思うんだけど。
まずはデザインパターンに無理に当てはめようとするのではなく、自分の好きなように設計して、
リファクタリングしながら徐々に人気があるいくつかのデザインパターンの形に近づけて行けばよい。
(もちろん、有名なパターンそのものになるとは限らない)
188:デフォルトの名無しさん
06/05/17 13:15:05
スレタイに即した物なんか何一つ作れない無能なのが
ありありとわかるレスが続けてるなぁ。
ここらで流れと住人レベルが戻ってくれるといいのだけど。
189:デフォルトの名無しさん
06/05/17 13:18:12
>>188
まあ、それなりに書けるやつならお前みたいなことは書かないと思うけど
190:デフォルトの名無しさん
06/05/17 13:26:23
思うのは自由だしね。
191:デフォルトの名無しさん
06/05/17 13:35:52
一度インタプリタのようなものでも作った事があればそんなに難しいことじゃないことぐらい分かるだろうに、
>>188は一度も何も作ったことがないんだろうなあ。
192:デフォルトの名無しさん
06/05/17 13:39:53
そんなに難しいことじゃないから
できないことが無能に該当するんだよ。
限られた人間しかできないことができなくても、それはせいぜい凡人だよね。
無能と呼ぶのは不適切。
無能の二文字があまりにも図星で頭に血が上ってるのはわかったけど、
噛み付く行為によって一層相手の言い分が証明されるのは悲惨の一語だから
気をつけたほうがいいですよ。
193:デフォルトの名無しさん
06/05/17 13:44:29
>>192
顔が真っ赤ですよ
194:デフォルトの名無しさん
06/05/17 13:54:24
それはお気の毒に。
195:デフォルトの名無しさん
06/05/17 14:52:47
>>187
漏れは傍観者だけど、
「インタプリタで実行するようにコードをなぞってオブジェクトを生成する」と
説明的で長くなるところを「interpreterパターン」と一言で言っているわけです。
別に本等で「interpreterパターン」とかを調べてそれに準拠せよ、
と言っているわけではなくて・・・
>デザインパターンって単に良い設計だと多くの人が思ったパターンを集めたに過ぎないのでは?
単にパターンに名前を付けて話をしやすくしたってだけのことでしょう。
よっぽどのバカじゃないと無理に当てはめるなんてあり得ないし。
本末転倒。
196:デフォルトの名無しさん
06/05/17 15:05:18
命名は認識の規格化であり、互換性の最小単位である。
―ガッツ石松
197:デフォルトの名無しさん
06/05/17 17:11:23
質問カキコ
式の正当性って、どうやってチェックすれば良いのでしょうか?
1+2=3が正しい式で、1 2 + 3 =が正しくない式だというのは人間にはすぐに分かるのですが…。
・左右括弧の数をチェックする
・演算子の数=定数や変数の数-1であるかをチェックする(-5等の-の様な単項演算子は除く)
これぐらいしか思いつかないのですが、具体的な方法等あれば教えて頂ければと………m(_ _)m
198:デフォルトの名無しさん
06/05/17 17:12:12
ちなみに、中置記法の場合です。
正当性をチェックしてから、後置記法に変換しようと思っているので。
199:デフォルトの名無しさん
06/05/17 17:32:55
>>197
「正しい式」を定義して、
その定義に従ってパーサを作って、
パーサが受け付けないものが「正しい式でないもの」。
「正しい式」「正しい式でないもの」を判別するのは出来るだろうけど、
「正しい式」「正しくない式」ってのはなんだかよくわからない。
正しくないけど「式」?
200:デフォルトの名無しさん
06/05/17 17:45:43
「正しくない式」という表現を否定するなら
式にいちいち「正しい」とつける意味も無いのでは。
「式」「式でないもの」でじゅうぶん。
201:デフォルトの名無しさん
06/05/17 18:10:00
なんだかよくわからないなりにも、もしかしたら>>197的には
「正しくない式」というのの定義があるのかもしれないと思って・・・
202:デフォルトの名無しさん
06/05/17 18:10:25
正しい式って仕様どおりの式のことでしょ?
203:197
06/05/17 20:00:19
すみません、「正しい」や「正しくない」は中置記法の数式としての観点からです。
204:デフォルトの名無しさん
06/05/17 20:54:08
>197
詳しく知りたかったら形式言語を勉強するといいんじゃない?
205:デフォルトの名無しさん
06/05/17 21:20:12
あなたの中置記法では -1+-2 は正しい式ですか?
206:197
06/05/17 21:37:23
>204
形式言語ですか? 調べてみます。
>205
はい、正しい式です。
207:デフォルトの名無しさん
06/05/17 22:43:55
>>206
「文脈自由文法」「LL構文解析」「LALR構文解析」「lex yacc 電卓」でググれ
208:デフォルトの名無しさん
06/05/17 23:29:00
LR(1)とかLALR(1)を一言であらわすと
「小さなことからコツコツと(Byキー坊)」
ってことでよろしいでしょうか?
209:デフォルトの名無しさん
06/05/18 05:59:46
>>197
演算子優先順位法で十分
210:デフォルトの名無しさん
06/05/18 12:06:22
,.-─ ─-、─-、
, イ)ィ -─ ─- 、ミヽ
ノ /,.-‐'"´ `ヾj ii / Λ
,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
ノ/,/ミ三ニヲ´ ゙、ノi!
{V /ミ三二,イ , -─ Yソ
レ'/三二彡イ .:ィこラ ;:こラ j{
V;;;::. ;ヲヾ!V ー '′ i ー ' ソ
Vニミ( 入 、 r j ,′ お前ら死ねよ
ヾミ、`ゝ ` ー--‐'ゞニ<‐-イ
ヽ ヽ -''ニニ‐ /
| `、 ⌒ ,/
| > ---- r‐'´
ヽ_ |
ヽ _ _ 」
211:デフォルトの名無しさん
06/05/19 01:36:35
>>197
207が言うようにyaccが使えりゃ一発だけど、言語がCじゃないとかの
理由で使えないなら(JavaならJavaCCとか、たいていなんかのパーサジェネレータは
あるけどね)、「再帰下降パーサ」または「再帰下降パーザ」でぐぐればよいかと。
212:デフォルトの名無しさん
06/05/19 02:56:58
再起下降型ならちょっと文法変換しないとだめだよね。
213:デフォルトの名無しさん
06/05/19 10:10:53
下降は負け犬がつかうパーサだからな。
Lisp,Emacs に通じるものがある。
214:デフォルトの名無しさん
06/05/19 11:47:32
>>213
215:デフォルトの名無しさん
06/05/19 16:36:53
>>213
216:デフォルトの名無しさん
06/05/19 16:38:13
このスレでナンセンスなことを言ってるやつはすべてRuby狂信者ということでよろしいですか?>ALL
217:デフォルトの名無しさん
06/05/19 18:16:59
つまりあなたも?
218:デフォルトの名無しさん
06/05/19 20:04:49
>>213
勝ち組はボトムアップってこと?
219:デフォルトの名無しさん
06/05/19 20:22:53
負け犬とか勝ち組とか激しくワラタ
220:デフォルトの名無しさん
06/05/19 21:06:31
というか >>213 が最高にバカだな。本気でいってそうなあたりが。
再帰下降が負け組だって?低能はものを知らないね。
221:デフォルトの名無しさん
06/05/19 22:25:00
>>213 の今後の行動
1. ネタでした
2. 話題をかえて荒す
3. Ruby 狂信者のフリをする
4. Ruby を煽ってごまかす
5. Lisp を煽ってごまかす
バカはどーゆう行動にでるのかな。消えてくれると一番
たすかるけどアホのくせに粘着だからなぁ
222:213
06/05/19 22:33:57
すまん。誤爆した
223:213(リアル)
06/05/20 00:55:22
なんか、馬鹿なレスがついとるけどw
再帰下降ってつまり、パーサーのために文法を変えるでしょ?
そこが負け犬なわけよ。わかる?
言語はツールに縛られてはいかんのよ。
224:デフォルトの名無しさん
06/05/20 01:03:08
>>223
文法を変えるというか、左再帰が起こらないようにBNF的に分解するだけっていうか。実際には文法を変えているわけじゃないんだけど。
文法を変えるって言うと誤解する人がいるから。
225:デフォルトの名無しさん
06/05/20 01:08:07
ちょ www おまっ www
>>213 がいくら馬鹿とはいえ >>223 はありえないだろ?
さすが想像のナナメ上をいくな。え?本物?
226:デフォルトの名無しさん
06/05/20 02:45:58
でも再帰下降で作ってて左再帰回避をするのって負けだよな。
やっぱり上昇型で文脈自由文法に素直に解析したい。
227:デフォルトの名無しさん
06/05/20 02:51:35
>>226
で、それを手で書いてみろと言われたら?
228:デフォルトの名無しさん
06/05/20 03:42:23
CPS変換について、勉強中なのですが、詳しく書いてあるサイトか、書籍を教えてください。
229:デフォルトの名無しさん
06/05/20 04:50:38
#include <vector>
#include <functional>
#include <stdio.h>
#include <ctype.h>
bool expression();
char buf[1000], *pc = buf;
std::vector<int> data; std::vector<bool(*)()> ops;
bool end(int c) { return c == 0 || c == '\n' || c == '\r'; }
bool get(char& c) { while (!end(*pc++)) if (!isspace(c = pc[-1])) return true; return false; }
bool get_digit(char& c) { return get(c) && (isdigit(c) || --pc && false); }
bool is(char c) { char d; return get(d) && (d == c || --pc && false); }
bool number() { char c; if (!get_digit(c)) return false; data.push_back(0); do { data.back() = 10 * data.back() + c - '0'; } while (get_digit(c)); return true; }
template<typename T> bool binary(T t) { int i = data.back(); data.pop_back(); data.back() = t(data.back(), i); return true; }
bool add() { return binary(std::plus<int>()); }
bool subtract() { return binary(std::minus<int>()); }
bool multiply() { return binary(std::multiplies<int>()); }
bool divide() { return binary(std::divides<int>()); }
230:デフォルトの名無しさん
06/05/20 04:52:16
bool no_operation() { return true; }
bool plus() { return true; }
bool minus() { data.back() = -data.back(); return true; }
bool push(bool(*op)() = no_operation) { ops.push_back(op); return true; }
bool pop() { ops.back()(); ops.pop_back(); return true; }
bool additive() { return is('+') && push(add) || is('-') && push(subtract); }
bool multicative() { return is('*') && push(multiply) || is('/') && push(divide); }
bool unary() { return is('-') && push(minus) || (push(plus), is('+')); }
bool factor() { return (number() || is('(') && push() && expression() && is(')')) && pop(); }
bool term() { return unary(), factor() && pop() && (!multicative() || term()); }
bool expression() { return push() && term() && pop() && (!additive() || expression()); }
int main() { while (fgets(pc = buf, sizeof buf, stdin) && push() && expression()) printf(" = %d\n", data.back()); }
231:デフォルトの名無しさん
06/05/20 04:54:38
標準入力から正しい式が入力されたら、計算し、
正しくない場合は、何もせずに終了するプログラムをC++で書いてみた
やっつけですが
232:デフォルトの名無しさん
06/05/20 05:38:51
再帰下降で左再帰を 回避する必要なく ね?
LLじゃないんだから。
そりゃLRよりは制限きついだろうけど。
むしろ再帰下降を避ける理由はバックトラックによる効率の悪さでしょ。
233:デフォルトの名無しさん
06/05/20 05:57:07
スクリプトホストを作っているのですが、IActiveScript::GetScriptDispatch()でわからない所があります。
GetScriptDispatch()でpstrItemNameにNULLを指定した場合には、スクリプトコンテキストのグローバル変数やグローバル関数をスクリプトホストから呼び出す事が可能なIDispatchポインタが取得できます。
しかし、pstrItemNameにNULL以外を指定した場合にはこれはどういう意味があるのでしょうか?
pstrItemNameにはIActiveScript::AddNamedItem()で設定した名前が指定できます。
この名前は一般的にはスクリプトホスト側が提供するオブジェクトの名前ですが、GetScriptDispatch()でこの名前を指定するとやはりIDispatchポインタが取得できます。
このIDispatchポインタにはどういう意味があるのでしょうか?
このIDispatchポインタを使ってもホスト提供のオブジェクトは呼び出すことはできません。まあホスト提供のオブジェクトをわざわざ別のポインタを取得してホストが呼び出す意味は余り無いので、その事は構わないですが、このポインタはいったい何に使えるのでしょうか?
234:デフォルトの名無しさん
06/05/20 08:49:36
スレリンク(win板)
スレリンク(tech板)
235:デフォルトの名無しさん
06/05/20 12:34:45
>>229-231
なかなか、短くて美しいですね
236:デフォルトの名無しさん
06/05/20 14:06:10
>>232
再帰下降=LLだと思ってたんだけど違うの?
237:デフォルトの名無しさん
06/05/20 14:12:22
再帰しない構文解析アルゴリズムもあるよ。自分でスタック管理するだけだけど。
龍書IのP.223参考
238:デフォルトの名無しさん
06/05/20 19:16:56
>>235
ありがと
式の正当性のチェックだけならもっときれいになるかなあ・・・やってみた
#include <ctype.h>
#include <stdio.h>
bool expression();
char buf[1000], *pc;
bool get(char& c) { while (c = *pc++) if (!isspace(c)) return true; --pc; return false; }
bool get_digit(char& c) { return get(c) && (isdigit(c) || --pc && false); }
bool is(char c) { char d; return get(d) && (d == c || --pc && false); }
bool number() { char c; if (!get_digit(c)) return false; while (get_digit(c)); return true; }
bool factor() { return number() || is('(') && expression() && is(')'); }
bool term() { return is('-') || is('+'), factor() && (!is('*') && !is('/') || term()); }
bool expression() { return term() && (!is('+') && !is('-') || expression()); }
int main() { while (fgets(pc = buf, sizeof buf, stdin) && expression() && !*pc) printf("OK\n"); }
239:デフォルトの名無しさん
06/05/21 19:49:25
何言語? bool とかつかってるけど、
240:デフォルトの名無しさん
06/05/21 19:57:21
C++?
241:デフォルトの名無しさん
06/05/21 20:23:24
C++も知らんのか
242:デフォルトの名無しさん
06/05/21 21:56:58
どう見てもCです
243:デフォルトの名無しさん
06/05/21 22:21:37
どう見てもC++です
244:デフォルトの名無しさん
06/05/21 23:01:48
どう見ても>>229,230 はC++ >>238 はCです。本当に有難うございました。
245:デフォルトの名無しさん
06/05/21 23:09:13
boolとtrueとfalseがあるからC++
246:デフォルトの名無しさん
06/05/21 23:13:59
釣れますか?
247:デフォルトの名無しさん
06/05/21 23:25:25
俺のVC++6.0がC99?なにそれ?とおっしゃっているのでC++ですよ
248:デフォルトの名無しさん
06/05/21 23:26:47
入れ食いですな
249:デフォルトの名無しさん
06/05/22 08:22:58
C99を考慮しても使ってるのはC++
Cと言ってるのはキチガイ
250:デフォルトの名無しさん
06/05/22 11:01:30
また釣れた
251:デフォルトの名無しさん
06/05/22 13:37:56
どう見てもC++だろが。アホか。
じゃあCと言うことを証明して見ろ。
252:デフォルトの名無しさん
06/05/22 13:40:51
晒しageとこう
253:デフォルトの名無しさん
06/05/22 19:29:49
何でこんなに、釣れるんだ
書いた本人はC99知らんのでC++ですわw
C99って参照あるの?
254:デフォルトの名無しさん
06/05/22 22:34:27
アフォかお前ら?
Cにboolなんかあるか!ボケw
255:デフォルトの名無しさん
06/05/22 22:39:48
そうだね。ついでにCにはsize_tもあるわけないよ。
256:デフォルトの名無しさん
06/05/22 22:42:40
また釣れましたよ。
257:デフォルトの名無しさん
06/05/22 23:09:18
つか、本気でわかっていないんだけど、なんでboolがCで使えるの?
釣れたつれてないとかではなく、誰かC++だといっている人がなぜ間違っているのか教えて。
258:デフォルトの名無しさん
06/05/22 23:10:28
>>257
どうでもいいから。
259:デフォルトの名無しさん
06/05/23 00:23:23
>つか、本気でわかっていないんだけど、なんでboolがCで使えるの?
C99ではstdbool.hをincludeすればbool型が使える。
>釣れたつれてないとかではなく、誰かC++だといっている人がなぜ間違っているのか教えて。
例えば
bool get(char& c) { while (c = *pc++) if (!isspace(c)) return true; --pc; return false; }
で関数の引数にCには無い参照(&)を使ってる。
260:デフォルトの名無しさん
06/05/23 00:30:19
もしboolがないなら自分で定義すりゃいいじゃん。
どちらにしてもboolはプリミティブじゃないんだからさ。
261:デフォルトの名無しさん
06/05/23 00:31:04
標準ライブラリとかそういうのってCの機能じゃねーだろ。死ねよ。
262:デフォルトの名無しさん
06/05/23 01:21:02
しかしCの仕様書には標準ライブラリも含まれている罠
263:デフォルトの名無しさん
06/05/23 10:51:55
>>262
俺に見られるようなソース出せ
264:デフォルトの名無しさん
06/05/23 10:58:16
言語としての仕様かどうかと言われたら、所詮は「ライブラリ」なわけで・・
265:デフォルトの名無しさん
06/05/23 12:20:47
>>263
図書館行くか通販でJISの規格書読め。
266:デフォルトの名無しさん
06/05/23 18:03:50
WEBで読めるやん
267:デフォルトの名無しさん
06/05/23 18:53:22
そろそろエサが古くなってきたか・・・
268:デフォルトの名無しさん
06/05/23 23:15:05
C99 が bool ?
本当か?
269:デフォルトの名無しさん
06/05/25 00:38:01
λ,,,,,,λ ガオー!
∩`iWi´∩ λ,,,,λ グオー!
ヽ |m| .ノ∩`iWi´∩
|  ̄| ヽ |m| .ノ
| | | |
U⌒U U⌒U
270:デフォルトの名無しさん
06/05/25 15:35:22
C#のパーサーガ必要なので、勉強をかねてLEX、YACCもどきを作ろうかとも考えたのですが、皆さんから見ると無謀でしょうか?
コンパイラ系は素人です。
C#の言語仕様見て、文法定義ファイルをつくってやれば何とかできるかなとも思ったのですが・・・
プロの皆さんの意見を聞きたいです。
271:デフォルトの名無しさん
06/05/25 16:11:49
A parser for C# using flex/bison
URLリンク(www.cs.may.ie)
272:デフォルトの名無しさん
06/05/25 16:44:59
>>271 C#のアウトプットが欲しい・・・
273:デフォルトの名無しさん
06/05/25 17:25:02
C#の言語仕様って出回ってないの???
274:デフォルトの名無しさん
06/05/25 18:01:34
>>273 でてる。
275:デフォルトの名無しさん
06/05/25 22:05:46
関係ないけど「コンパイラコンパイラ」って言葉、いまだに内心違和感アリ (´・∀・`)
意味解析,中間コード生成,最適化処理,目的コード生成は
(当然ながら)別にする必要があるのに、
”コンパイラを作成するためのコンパイラ”は看板に偽りがあるのでは?
実際、使い方の紹介でも、パターンに対応するアクションの処理の都合上
「スクリプトジェネレーター」的な例が大半だったから
勉強はじめた頃は余計にそう思ってた。 (´・д・`)
個人的には「コンパイラ作成用プロセッサ」なら許せるかな…
276:デフォルトの名無しさん
06/05/26 00:12:21
あっそ。
そういうくだらない感想文は、キミのつまんない糞ブログにでも書いてろ。
もう来んな。
277:デフォルトの名無しさん
06/05/26 00:29:29
個人で意味解析以降まで実際手がけてる人はあんまいないみたいよ
中田を買って良書とコメントする人はいぱーいぱーいいるけど
278:デフォルトの名無しさん
06/05/26 00:32:21
一番面白い部分をやらないなんてありえない
279:デフォルトの名無しさん
06/05/26 01:02:58
フフフ…
三平君ってそういうやつなんですよ
280:デフォルトの名無しさん
06/05/26 02:25:18
意味解析以降しかやらない、の間違いじゃないかと思いたい。
281:デフォルトの名無しさん
06/05/26 02:51:26
>>276
同じくくだらない感想でしかない上、さらにコンパイラさえまったく関わってこない
そのご自分のレスを通しちゃったら、なんの説得力も無いですよ :-)
282:デフォルトの名無しさん
06/05/26 03:33:48
ダイナミックトランスレーションってどういう手法なんでしょうか。
QEMUがやってるらしいのですが。
283:デフォルトの名無しさん
06/05/26 03:37:41
機械語を機械語にオンザフライで変換する事じゃない?
コードモーフィングみたいな。
284:デフォルトの名無しさん
06/05/26 03:45:25
あー、そんな面倒なことだったのか。。。
両方のインストラクションに詳しくないと駄目っすね。
285:デフォルトの名無しさん
06/05/26 08:28:46
>>275
現代では普通 parser generator と呼ぶよ。
286:デフォルトの名無しさん
06/05/26 08:42:42
>>281
はいはい。で、キミの足りない脳でブログは作れたか?
287:デフォルトの名無しさん
06/05/26 08:45:25
>>286
> はいはい
己の愚が理解できたようでなによりです。
288:デフォルトの名無しさん
06/05/26 10:59:45
>>287 俺じゃないのに乙
>>285 ありがとう
289:デフォルトの名無しさん
06/05/26 22:21:32
ANTLR使ってる人います?
なんかサンプルからエラー出て動かないんですが・・・
290:デフォルトの名無しさん
06/05/26 23:11:09
とりあえずバージョン (2.7.6とか3.0ea9)とか、
エラーメッセージくらい書いてもばちは当たらないと思うよ。
291:デフォルトの名無しさん
06/05/26 23:19:54
えーと落としなおして
antlr 2.7.5です。
javaの使い方の問題だと思うのですがGettingStarted の
java antlr.tool t.g をしても
Exception in thread "main" java.lang.NoClassDefFoundError:antlr/toolとなります。
292:デフォルトの名無しさん
06/05/26 23:28:02
それはアレだよ。初心者スレに行った方がいいんじゃね?
293:デフォルトの名無しさん
06/05/26 23:30:54
とりあえずJava質問スレで同じことを質問してあります・・・
結果わかり次第報告します。
294:デフォルトの名無しさん
06/05/26 23:32:34
言語ってほとんど枯れてしまったね。
出るのは重箱の隅ばかりw
295:デフォルトの名無しさん
06/05/27 00:14:33
Epigramなんか、めちゃくちゃ熱いと思うんだが。
296:デフォルトの名無しさん
06/05/27 00:38:05
>>295
依存型(dependent type)の利点をキボンヌ
297:デフォルトの名無しさん
06/05/27 00:46:50
>>294
つ[関数型言語]
298:デフォルトの名無しさん
06/05/27 07:07:10
スクリプトホストを作っています。
IActiveScriptSiteWindow::EnableModeless()なのですが、これが何に使うのかがよくわかりません。
VBScriptがMsgBoxやInputBoxを表示する際に呼び出されるという事はわかったのですが、これは何を意味しているのでしょうか?
299:デフォルトの名無しさん
06/05/27 09:36:58
知らない人は答えなくて結構です
300:293
06/05/27 11:12:09
えーとクラスパスの設定と大文字小文字とかをなおすことでうごきました・・・
やりたいことはC#2.0のパーサーを動かすことなんですが、
今kcsparse動かそうとして奮闘中。
301:デフォルトの名無しさん
06/05/27 11:29:17
質問です
グリーンピースでアンコって作れますか?
302:デフォルトの名無しさん
06/05/27 12:35:39
つ 「うぐいす餡」
303:デフォルトの名無しさん
06/05/27 23:00:19
「や…やめてください…」
「へへへ……ラップはもうビリビリだぜ、あとはフタだけだ」
「いやぁ! だめ、フタを開けないで…!」
「ひゃっはあ! なんて嫌らしいノンフライ麺だ!」
「おいおい、スープの素が2袋もあるぜぇ、こいつ誘ってんじゃねえのか?」
「そ、そんなんじゃありません…!」
「『食べる直前に入れてください』だぁ? 待ちきれねえ、今すぐ入れてやるぜ!」
「や、やめてー! ま、まだお湯も沸ききってないのに…!」
「うはぁ、すっげえ、冷えてる油とかやくでグチャグチャだぜ…たまんねえ!」
「そーれ、お次はお湯だ! 中にたっぷり入れてやる!」
「あああ! ぬ、ぬるい…! ……て、れてえ!」
「聞こえねえなあ、はっきりいえよオラッ!」
「せ、線まで! きちんと線まで入れてくださいぃいぃ!!」
「残念だったなあ、俺は1センチ残す派なんだよぉ! ははは!」
304:デフォルトの名無しさん
06/05/28 04:06:42
Persecについて、yaccやlex、boostのspiritしか知らない俺にも
わかる解説が欲しい。ご存知ありませんか?
URLリンク(www.lab2.kuis.kyoto-u.ac.jp)
を読んでもサッパリわかりませんでした。
305:デフォルトの名無しさん
06/05/28 18:25:15
>>303
焼きそばというオチじゃなかったっけ?
別バージョン?
306:デフォルトの名無しさん
06/05/30 18:23:09
>>304
おれもおれも
307:デフォルトの名無しさん
06/05/31 13:36:34
NTTの未来想論2006行く人挙手ノ
308:デフォルトの名無しさん
06/05/31 23:08:42
Parsec, ケ篦ョ、ハ・ウ・モ・ヘ。シ・ソ・ム。シ・オ
確かにさっぱりわからん
309:デフォルトの名無しさん
06/05/31 23:10:18
>>304
そこみて分からんようじゃぁ、何見ても(ry
Lispでもつかとけw
310:デフォルトの名無しさん
06/06/01 09:57:37
>>304
Haskelしらねぇと話にならないってことじゃないのかえ?
311:デフォルトの名無しさん
06/06/01 17:07:35
Persecの仕組みが知りたかったのですが、
Haskel知らないととダメということならあきらめます。
ありがとうございました。
312:デフォルトの名無しさん
06/06/02 03:22:33
>>311
難しくないからおぼえりゃいい。
というかあそこのページ読み下すのにコード例を読めなければ意味が半減じゃろ?
313:デフォルトの名無しさん
06/06/02 16:58:22
あのページ以外にももっとわかりやすい記述
(Haskell以外の言語を使うとか、もっと概念的な説明があるとか)
があればうれしかったのです。
でも、せっかくなのでなんとかHaskellを覚えようと思います。
そもそもParsecがHaskell固有の機能や概念を使ったものかどうかすら
わからないので、とにかくParsecのコード例を読めるよう勉強します。
314:デフォルトの名無しさん
06/06/03 03:09:34
ちょうど Haskell の入門書が出た所だよ。内容は Haskell スレで聞いてみれ。
315:デフォルトの名無しさん
06/06/03 03:28:22
世界一簡単なMonadの説明みたいなのが欲しいかもね
316:デフォルトの名無しさん
06/06/03 03:44:50
ANTLRのチュートリアルでおすすめのものってないですか?
C++のコード吐かせて使いたいんですが、APIがよ~わからん。
317:デフォルトの名無しさん
06/06/03 03:51:10
解ればどうってことない。<モナド
318:デフォルトの名無しさん
06/06/03 06:22:43
そうそう。要は自己関手と自然変換からなる圏にモノイド構造を
入れ込んだものと思えばよい。
319:デフォルトの名無しさん
06/06/03 16:59:28
>>318
あぁ、ナルホド。凄い分かり易い...
わけねーだろw
320:デフォルトの名無しさん
06/06/04 12:36:38
298ですが、299は私ではないです。一応念のため。
それと2chなんでダメ元で聞いておりますので別にレスが無くても特に構わないのです。でわでわ。
321:デフォルトの名無しさん
06/06/04 15:42:55
あ、もともと2chを見てる人に答えがわかるとは期待してないという意味です。でわ。
322:こゆのは晒すべきだろう
06/06/04 16:20:18
2chを見てる人=321
捨て台詞にしても陳腐だな。おまえ心に棚を作り過ぎたんじゃねえのw
323:デフォルトの名無しさん
06/06/04 16:32:47
心の棚はいくつあっても無駄にはならん
324:デフォルトの名無しさん
06/06/04 17:36:10
>>322
相手にすんなって。寂しいだけなんだから。
居座られても困るだろ。
325:デフォルトの名無しさん
06/06/04 19:39:53
>>323
変に数が多いと埃が溜まりやすいけどな
326:デフォルトの名無しさん
06/06/05 03:03:12
320と321が同一人物であるとも限らんわけだが。
いずれにしても、だれかこいつに「スレ違い」という言葉の意味を教えてやれよ。
327:デフォルトの名無しさん
06/06/05 10:15:20
誰かが自分を気にしてるとでも思ってるのかこいつはw
328:デフォルトの名無しさん
06/06/05 14:10:12
>>327
それ、お前が書き込むまでは成立してたんだがなw
329:デフォルトの名無しさん
06/06/05 14:26:02
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
330:デフォルトの名無しさん
06/06/05 20:14:42
反応してる時点で気にしまくり
331:デフォルトの名無しさん
06/06/05 21:03:26
どうしてもそう思うなら別にそれでもいいけど
332:デフォルトの名無しさん
06/06/05 21:53:34
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。
- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
333:デフォルトの名無しさん
06/06/06 06:20:41
>>331
誰もお前のことなんか気にしてないから頑張らなくていいよw
334:デフォルトの名無しさん
06/06/06 08:40:52
>>333
それ、お前が書き込むまでは成立してたんだがなw
335:デフォルトの名無しさん
06/06/06 18:51:13
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
336:デフォルトの名無しさん
06/06/07 00:03:45
反応してる時点で気にしまくり
337:デフォルトの名無しさん
06/06/07 00:11:11
どうしてもそう思うなら別にそれでもいいけど
338:デフォルトの名無しさん
06/06/07 08:25:05
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。
- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
339:デフォルトの名無しさん
06/06/07 21:59:54
>>337
誰もお前のことなんか気にしてないから頑張らなくていいよw
340:デフォルトの名無しさん
06/06/07 23:22:27
>>339
それ、お前が書き込むまでは成立してたんだがなw
341:デフォルトの名無しさん
06/06/07 23:45:31
なにこの強烈なデジャヴ
342:デフォルトの名無しさん
06/06/07 23:53:14
押井守のアレかよ!
343:デフォルトの名無しさん
06/06/08 08:05:27
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
344:デフォルトの名無しさん
06/06/08 08:35:11
明日はコンパイラ祭。でも、俺の夢は、333や334さまや335さま、
336ちゃんや337さんや338さん達とずーっと、ずーっと煽りあって
楽しく過ごすことだ。
345:デフォルトの名無しさん
06/06/08 08:55:38
反応してる時点で気にしまくり
346:デフォルトの名無しさん
06/06/08 19:11:02
どうしてもそう思うなら別にそれでもいいけど
347:デフォルトの名無しさん
06/06/08 19:28:41
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。
- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
348:デフォルトの名無しさん
06/06/08 20:06:07
>>346
誰もお前のことなんか気にしてないから頑張らなくていいよw
349:デフォルトの名無しさん
06/06/08 21:34:03
>>348
それ、お前が書き込むまでは成立してたんだがなw
350:デフォルトの名無しさん
06/06/08 22:09:02
なんかデジャブった
351:デフォルトの名無しさん
06/06/08 22:29:06
押井守のアレかよ!
352:デフォルトの名無しさん
06/06/08 23:36:14
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
353:デフォルトの名無しさん
06/06/09 03:32:30
どうしてもそう思うなら別にそれでもいいけど
354:デフォルトの名無しさん
06/06/09 08:05:10
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。
- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
355:デフォルトの名無しさん
06/06/09 08:58:59
>>353
誰もお前のことなんか気にしてないから頑張らなくていいよw
356:デフォルトの名無しさん
06/06/09 12:26:19
>>355
それ、お前が書き込むまでは成立してたんだがなw
357:デフォルトの名無しさん
06/06/09 16:56:43
なにこの強烈な押井守
358:デフォルトの名無しさん
06/06/09 18:49:18
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
359:デフォルトの名無しさん
06/06/09 20:50:20
反応してる時点で気にしまくり
360:デフォルトの名無しさん
06/06/10 01:45:52
どうしてもそう思うなら別にそれでもいいけど
361:デフォルトの名無しさん
06/06/10 06:34:54
>>360
誰もお前のことなんか気にしてないから頑張らなくていいよw
362:デフォルトの名無しさん
06/06/10 08:07:09
>>361
それ、お前が書き込むまでは成立してたんだがなw
363:デフォルトの名無しさん
06/06/10 08:28:39
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
364:デフォルトの名無しさん
06/06/10 08:30:20
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。
- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
365:デフォルトの名無しさん
06/06/10 08:44:29
反応してる時点で気にしまくり
366:デフォルトの名無しさん
06/06/10 08:45:47
どうしてもそう思うなら別にそれでもいいけど
367:デフォルトの名無しさん
06/06/10 08:46:41
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。
- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
368:デフォルトの名無しさん
06/06/10 08:55:49
>>366
誰もお前のことなんか気にしてないから頑張らなくていいよw
369:デフォルトの名無しさん
06/06/10 11:30:59
>>367
そろそろレポートの締め切りも近いわけだが、がんばってくれ…。
370:デフォルトの名無しさん
06/06/10 11:40:39
>>367 ほれ
URLリンク(www.google.com)
371:デフォルトの名無しさん
06/06/10 11:57:56
どうしてもそう思うなら別にそれでもいいけど
372:デフォルトの名無しさん
06/06/10 12:19:46
>>371
そろそろレポートの締め切りも近いわけだが、がんばってくれ…。
373:デフォルトの名無しさん
06/06/10 14:13:44
>>372
いや、お前が書き込むまでは頑張ってたんだがなw
374:デフォルトの名無しさん
06/06/10 14:50:05
>>373
誰もお前のことなんか気にしてないから頑張らなくていいよw
375:デフォルトの名無しさん
06/06/10 17:58:05
あ、なんかデジャヴった
376:デフォルトの名無しさん
06/06/10 18:12:25
押井守のアレかよ!
377:デフォルトの名無しさん
06/06/10 18:22:55
話すネタ無いし、ループ好きなのわかったからそろそろ
ループしようぜ!
378:デフォルトの名無しさん
06/06/10 19:54:52
どうしてもそう思うなら別にそれでもいいけど
379:デフォルトの名無しさん
06/06/11 00:28:50
シャヨウ分野だなw
380:デフォルトの名無しさん
06/06/13 22:41:32
なんか、この分野の日本人研究者って、
WーCUPサッカーレベルだねw
381:デフォルトの名無しさん
06/06/13 23:39:09
いや、むしろスキーのジャンプって感じじゃないか?
382:デフォルトの名無しさん
06/06/14 08:42:29
そのこころは?
383:デフォルトの名無しさん
06/06/14 18:40:44
体重が軽い人ほど優秀
384:デフォルトの名無しさん
06/06/14 21:53:52
>>383
いつの時代だよw
385:デフォルトの名無しさん
06/06/14 22:54:08
確かにT先生もN先生もひょろひょろだな
386:デフォルトの名無しさん
06/06/17 21:16:46
>>367
まだここを読んでればだけど、370が示したリンクで最初に出てくる
Boehmの解説ページなり、英語が嫌ならRubyの解説ページなんかいいんじゃないか。
URLリンク(i.loveruby.net)
Rubyの手法の場合、Rubyのオブジェクトしか管理できないので、
Cのmalloc()の代替が欲しいということなら役に立たないけど。
387:デフォルトの名無しさん
06/06/17 22:11:57
そしてループが始まった
388:デフォルトの名無しさん
06/06/18 23:52:57
なんか、この分野の日本人研究者って、
WーCUPサッカーレベルだねw
389:デフォルトの名無しさん
06/06/18 23:58:24
サッカーって書かれると吸血鬼を思い出す。
390:デフォルトの名無しさん
06/06/19 00:01:51
そのこころは?
391:デフォルトの名無しさん
06/06/19 00:40:05
sucker でしょ
392:デフォルトの名無しさん
06/06/19 00:41:09
引き分けたで~
日本の言語技術も、よくて引きわ(ry
393:デフォルトの名無しさん
06/06/19 00:43:30
なんか、この分野の日本人研究者って、
WーCUPフットボールレベルだねw
394:デフォルトの名無しさん
06/06/19 18:53:01
>>393
おそらく一番の馬鹿w
395:デフォルトの名無しさん
06/06/19 19:06:55
>>394
いや、お前が書き込むまでは馬鹿だったんだがなw
396:デフォルトの名無しさん
06/06/19 19:09:06
そのこころは?
397:デフォルトの名無しさん
06/06/19 19:10:39
>>395
誰もお前のことなんか気にしてないから頭良くなっていいよw
398:デフォルトの名無しさん
06/06/19 19:12:04
真の馬鹿がレスしてしまったら
そいつを「馬鹿」とは言えないだろ
399:デフォルトの名無しさん
06/06/19 20:29:35
つまりお前が馬鹿ってことだ。
400:デフォルトの名無しさん
06/06/19 23:32:05
ここは出来の悪い荒らしスクリプトの実験場みたいですね
401:デフォルトの名無しさん
06/06/20 02:25:56
荒らしスレとして、削除されたりしてなw
402:デフォルトの名無しさん
06/06/20 20:57:50
>>400
いや、お前が書き込むまでは実験場じゃなかったんだがなw
403:デフォルトの名無しさん
06/06/20 21:04:49
なにこの強烈な鷹村守
404:デフォルトの名無しさん
06/06/21 03:11:29
ようし、ラットをつれてこい
405:デフォルトの名無しさん
06/06/21 15:24:39
ようし、ラットをつれてこい
406:デフォルトの名無しさん
06/06/22 01:19:53
ようし、マッチョつれてこいキュピピンっていうやつな
407:デフォルトの名無しさん
06/06/24 04:11:36
データフロー解析の簡単な例プリーズ
408:デフォルトの名無しさん
06/06/25 21:04:50
たとえばリンクリスト内にサイクルがあるかを解析するデータフロー方程式は
以下のように書ける。
記号が出なかったので、やっぱりやめ。
409:デフォルトの名無しさん
06/06/26 19:39:40
結論として、Rubyは糞!でよろしかったですか?
410:デフォルトの名無しさん
06/06/26 20:36:14
RubyもLispも糞
411:デフォルトの名無しさん
06/06/26 20:37:19
JavaがBEST
412:デフォルトの名無しさん
06/06/26 20:37:19
それでは、結論として、RubyもLispも糞!でよろしかったですか?
413:デフォルトの名無しさん
06/06/26 23:28:29
それでいいよ。
Haskellに比べたら、それぞれ「不純物」「いい加減」でしかないし。
414:デフォルトの名無しさん
06/06/26 23:44:40
いえ、Haskellは、元々問題外でしたから…
415:デフォルトの名無しさん
06/06/28 21:26:27
質問です、一版論として文字列中への変数値の文字列展開は、どのタイミング
で行うのが一般的でしょうか?
PATH="$PAHT:/etc"
として、文字列リテラルを認識したとき?
それとも左辺へ代入したとき?
それとも左辺値を評価するとき?
416:デフォルトの名無しさん
06/06/28 22:32:20
>文字列リテラルを認識したとき
実装の容易さで大抵これになる。
>左辺値を評価するとき
でもLazy実装もいいかも。
文字列オブジェクトが不変であれば
本当の最後になるまでは展開しなくてもよさげ。
417:デフォルトの名無しさん
06/06/28 23:59:39
>>416
横やりだが、例えば、
x=3
Sample="#x is three."
x+=1
p Sample
のときの表示って、考え方によって異なるね。
418:デフォルトの名無しさん
06/06/29 02:25:02
もし、その表示が異なるなら、考え方の違いと言うより、仕様の違いだと思う>>417
419:デフォルトの名無しさん
06/06/29 23:26:31
設定ファイルを解析し
ソースコードをC、JAVA、C++用に自動出力したいのですが
構造解析までは終わったのですが、そのデータをもとに中間言語を
吐き出したいのです。中間言語のみを作るソフトってありませんか?
420:デフォルトの名無しさん
06/06/30 00:00:48
javac
421:デフォルトの名無しさん
06/06/30 00:02:09
>>419
・設定ファイルって一体なんだ
・中間言語のみを作るソフトはいっぱいあるが、それがどうしたのか
・というか、あんたは一体何をしたいのか
422:デフォルトの名無しさん
06/06/30 00:08:27
>>421
設定ファイルには制御機器のパラメタとかそんな情報が入ってます。
この設定ファイルを読み込み各機器に合わせた設定を行う
Cのソースを吐かせたいのですよ。
中間言語だけ作るソフト教えてくれませんか?
423:デフォルトの名無しさん
06/06/30 00:13:06
> ソースコードをC、JAVA、C++用に自動出力したいのですが
> Cのソースを吐かせたいのですよ。
JAVAとC++は何処へ行った
424:デフォルトの名無しさん
06/06/30 00:18:34
>>422
設定ファイル C/C++/Java のプログラム
→→→→→→→→→→→→→→→→→→→→
変換機
この 「変換機」 が作りたいという判断でOK?
んで、求めているのは
設定ファイル 中間言語 C/C++/Java のプログラム
→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
中間言語作るソフト 自作の変換機
これか?
425:デフォルトの名無しさん
06/06/30 00:23:05
うんうんそうそう
俺なんか>>424が神様に見えてきたよ
ありがたやありがたや。
>>423
最初から欲張るなとか怒られそうなので控えめな
最小限の希望を最後に書きました
426:デフォルトの名無しさん
06/06/30 00:26:22
>>425
とりあえず 「設定ファイルの仕様」 「変換後の C/C++/Java ソースコードのサンプル」 だけでも教えてくれ。
それが分からないと、どうにも言いようがない罠w
427:デフォルトの名無しさん
06/06/30 00:33:03
まだファイルの仕様とか決めていないのですよ
中間言語作るソフトって具体的にどんなソフトなのでしょうか
428:デフォルトの名無しさん
06/06/30 00:37:29
求めてるソフトに望んでる仕様は何なんだ?
多分そんなソフトはないし全部作ることになると思うけど。
429:デフォルトの名無しさん
06/06/30 00:38:11
>>427
バカスwwwwwwwwwwww
お前が求めているソフトは未来人でしか作れんわwwwwwwwww
どうだろうね。.NET の CodeDOM とか参考になるかも。
430:デフォルトの名無しさん
06/06/30 00:45:53
えーと、gccのRTLという中間言語どうやって出来たんだろう
なんかツールで文法とか作ったのかな
431:デフォルトの名無しさん
06/06/30 01:02:23
>>430
もしかして、中間言語の仕様を自動生成しようとか思ってるw?
432:デフォルトの名無しさん
06/06/30 02:51:42
言語をいくつか嗜んでくうち野心に満ちてきました。
俺言語作りたい!!
ポインタをハッシュテーブルで包んであげたらOOPなる?
そんなあまかないですね。
質問であります。俺言語作る人って出回ってるライブラリとか使わないの?
433:デフォルトの名無しさん
06/06/30 03:00:01
>>432
新しく作った言語は、Red-Sapphire と命名しましょう。
434:デフォルトの名無しさん
06/06/30 03:20:35
>>432
命名の参考までに
宝石の一覧
URLリンク(ja.wikipedia.org)
鉱物の一覧
URLリンク(ja.wikipedia.org)
神の一覧
URLリンク(ja.wikipedia.org)
悪魔の一覧
URLリンク(ja.wikipedia.org)
伝説の生物一覧
URLリンク(ja.wikipedia.org)
Category:一覧
URLリンク(ja.wikipedia.org)
435:デフォルトの名無しさん
06/06/30 03:22:48
>>432
>ポインタをハッシュテーブルで包んであげたらOOPなる?
Io をオススメしてみる。
436:デフォルトの名無しさん
06/06/30 04:58:18
スロットの問い合わせにハッシュを使わない動的型付けな OOPL の実装ってある?
437:デフォルトの名無しさん
06/06/30 06:15:36
>>432
名前はダイナモンドにしろ
438:デフォルトの名無しさん
06/06/30 10:16:15
それいけそれいけガイコッツー うんうん ガァ~イコツー
439:デフォルトの名無しさん
06/06/30 20:31:34
命名の参考にもっとも必要なのは、
プログラム言語名称の一覧ではないかと愚考する
440:デフォルトの名無しさん
06/06/30 21:32:11
>>439
それもそうだな。
プログラミング言語一覧 - Wikipedia
URLリンク(ja.wikipedia.org)
ABC's Song - kMonos.NET
URLリンク(www.kmonos.net)
Hello, World Page!
URLリンク(www2.latech.edu)
もっと詳しいのなかったっけ?
441:デフォルトの名無しさん
06/07/01 01:06:27
>>440
2つ目のリンクがオッパイのflashかと思ってしまいましたorz
442:デフォルトの名無しさん
06/07/01 02:05:09
>有志の皆様
ふれてない命名だけこんな濃いアドバイス頂きありがとうございます。
>435
io をちょろっといじくってますけど、
他の言語手を出せば出すほど車輪が頭を過ぎりました
関係ないですけど、flexとbisonをいじり倒してみて思った事があります。
サンプルの使い方から馴染むと苦労する。そんな事無い?