「コンパイラ・スクリプトエンジン」相談室10

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語処理系の開発に興味のある人達のスレッドです。

字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。

過去スレ
1 http://pc.2ch.net/tech/kako/981/981672957.html
2 http://pc2.2ch.net/test/read.cgi/tech/1021136715/
3 http://pc5.2ch.net/test/read.cgi/tech/1070089173/
4 http://pc5.2ch.net/test/read.cgi/tech/1100097050/
5 http://pc8.2ch.net/test/read.cgi/tech/1106129164/
6 http://pc8.2ch.net/test/read.cgi/tech/1115335709/
7 http://pc8.2ch.net/test/read.cgi/tech/1129287390/
8 http://pc8.2ch.net/test/read.cgi/tech/1131273918/
9 http://pc8.2ch.net/test/read.cgi/tech/1135082582/
関連リンクは多分 >>2-10 あたり
2デフォルトの名無しさん:2006/05/06(土) 01:01:17
Wikiのまとめページ
http://www6.atwiki.jp/compilerandscriptengine/

★コンパイラ一般

・色々なツールの紹介
 http://catalog.compilertools.net/
・コンパイラ関連のリンク集
 http://www.ulis.ac.jp/~nakai/rel_web_compilers.shtml
・スクリプティング言語資料室(仮) (リンク集)
 http://www.kt.rim.or.jp/~kbk/
・Compiler Construction
 http://rananim.ie.u-ryukyu.ac.jp/~kono/lecture/2000/compiler/index.html
・Compiler Construction (1997)
 http://rananim.ie.u-ryukyu.ac.jp/~kono/lecture/1997/compiler/compiler.html
・情報システム工学実験 III コンパイラ・コンパイラ
 http://math.cs.kitami-it.ac.jp/~fuchino/proin/experimentIII-2000/jikken.html
・OS/Programming 簡単な C コンパイラ
 http://www.csg.is.titech.ac.jp/~chiba/lecture/os/
・正規表現
 http://hp.vector.co.jp/authors/VA007799/viviProg/doc_regexp.htm
・コンパイラ研究・開発情報の一集積所
 http://compilers.cs.uec.ac.jp/
・Links and Selected Readings
 http://www.gnu.org/software/gcc/readings.html
・国産のコンパイラ共通インフラストラクチャCOINS
 http://www.coins-project.org/
3デフォルトの名無しさん:2006/05/06(土) 01:02:08
★字句・構文解析

・Lex and YACC primer/HOWTO (邦訳)
 ttp://www.linux.or.jp/JF/JFdocs/Lex-YACC-HOWTO.html
・Turbo Pascal Lex/Yacc
 http://www.musikwissenschaft.uni-mainz.de/~ag/tply/tply.html
・Jim Roskind's LALR(1) C++ Grammar
 ttp://www.empathy.com/pccts/roskind.html
・Flexと Bisonを同時に使う
 http://guppy.eng.kagawa-u.ac.jp/~kagawa/1999/SysProg/both.html
・KITE_ASM (yacc,lex)
 http://www.arch.cs.kumamoto-u.ac.jp/project/kite/kiteasm/
・bison用のC++ LALR skeleton
 ttp://www.bj-ig.de/software/bison/
・ANTLR(非yaccのパーサジェネレータ)
 ttp://www.antlr.org/
・JavaCC(Java Compiler Compiler)
 ttps://javacc.dev.java.net/
 ttp://village.infoweb.ne.jp/~fwif0083/program/java/javacc/javaccgrm.html
 ttp://www.asahi-net.or.jp/~DP8T-ASM/java/tips/JavaCCHelloWorld.html
・CUP, JLex, JFlex
 http://www.cs.princeton.edu/~appel/modern/java/ (JLex, CUP)
 ttp://www.jflex.de/
・SableCC
 ttp://www.sablecc.org/
・¬<><∪∪ (notavacc)LALR(1)
 http://ne.cs.uec.ac.jp/~koto/notavacc/
・boost::spirit(C++のテンプレートでEBNFの構文を模倣)
 http://spirit.sourceforge.net/
 ttp://boost.cppll.jp/HEAD/libs/spirit/index.html(マニュアル日本語化プロジェクト)
 ttp://www.fides.dti.ne.jp/~oka-t/cpplab-boost-spirit.html
4デフォルトの名無しさん:2006/05/06(土) 01:02:39
★ごみ集め

・GC FAQ -- draft
 http://www.iecc.com/gclist/GC-faq.html
・A garbage collector for C and C++
 http://www.hpl.hp.com/personal/Hans_Boehm/gc/
・一般教養としての Garbage Collection
 http://www.is.s.u-tokyo.ac.jp/~vu/01/jugyo/processor/process/soft/compilerresume/gc/gc.html
・Garbage Collection : Algorithms for Automatic Dynamic Memory Management
 http://www.amazon.com/exec/obidos/ASIN/0471941484/

★処理系,スクリプト

・kikyou.info (吉里吉里というゲームのスクリプト)
 http://kikyou.info/
・tiny C コンパイラ (C)
 http://www.watalab.cs.uec.ac.jp/tinyCabs.html
・6809用 Micro C コンパイラ
 http://www.axe-inc.co.jp/pds/mc09.html
・Portable Object Compiler (Obj-C >> C のトランスレータ?)
 http://users.pandora.be/stes/compiler.html
・自作コンパイラの部屋(PL/1, Pascal等)
 http://www.tokumaru.org/
・『Rubyソースコード完全解説』サポートページ
 http://i.loveruby.net/ja/rhg/
・『やさしい Lisp の作り方』『やさしい Java インタプリタ の作り方』
 http://www.okisoft.co.jp/esc/go.html
・MSによるPEフォーマット仕様書(日本語)
 http://www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/intro.html
5デフォルトの名無しさん:2006/05/06(土) 01:03:12
★学会

・PLDI
 http://research.microsoft.com/conferences/pldi06/
 コンパイラの研究に関する最新成果を知りたければまずはここ。
・POPL
 http://www.cs.princeton.edu/~dpw/popl/06/
 PLDIよりは理論寄りだが大いに参考になる。
・ICFP
 http://icfp06.cs.uchicago.edu/
 関数型言語に関する学会。とても難しい。
・OOPSLA
 http://www.oopsla.org/
 オブジェクト指向言語に関する学会。最近はやや低調?
・ICCC
 http://www.st.cs.uni-sb.de/cc/
 ヨーロッパ系。派手さはないが堅実。
6以上テンプレ:2006/05/06(土) 01:03:44
★参考書籍

・コンパイラ 原理・技法・ツール 1&2
 http://www.amazon.co.jp/exec/obidos/ASIN/4781905854/
 http://www.amazon.co.jp/exec/obidos/ASIN/4781905862/
 通称ドラゴンブック。バイブル。
・コンパイラ構成法 原田 賢一
 http://www.amazon.co.jp/exec/obidos/ASIN/4320029224/
 http://www.hara.cs.keio.ac.jp/kCompiler/ (ソース、正誤表のダウンロード)
・プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝
 http://www.amazon.co.jp/exec/obidos/ASIN/4000103458/
 一冊で済ませたい人へ。
・コンパイラの構成と最適化 中田 育男
 http://www.amazon.co.jp/exec/obidos/ASIN/4254121393/
 最適化がメインだが、構文解析からコード生成までの基本事項も解説されている。
・コンパイラの仕組み 渡邊 坦
 http://www.amazon.co.jp/exec/obidos/ASIN/4254127081/
 薄い奴(185p)を読みたい人に。
・21st Century Compilers (Alfred V. Aho, Sethi, Ravi Sethi, Jeffrey D. Ullman, Monica Lam)
 http://www.amazon.co.jp/exec/obidos/ASIN/0321131436/
 まだ出ていない。
・スモールコンパイラの制作で学ぶプログラムのしくみ
 http://www.cbook24.com/bm_detail.asp?sku=4774121770
 初心者向けの優しい解説本。
7デフォルトの名無しさん:2006/05/06(土) 01:09:12
>>1
8デフォルトの名無しさん:2006/05/06(土) 01:22:33
Rubyのブロック渡し+yeildって何のためにあるの?
Proc.new がやたら遅いのを改善すれば存在価値ないよね。
ブロック無くせば Lispの方言くらいに認めてあげるよ。
9デフォルトの名無しさん:2006/05/06(土) 01:42:13
>>8
Ruby らしさのため。それがわかんないようなバカは氏んでください。
まぁ Lisp みたいなユーザビリティの低い言語と同列に語られたくないし。
Haskell と Ruby が今後の必須科目。それ以外は低能か変態向け。
10デフォルトの名無しさん:2006/05/06(土) 01:53:47
ブロック渡しが Rubyのアイデンテテなんだね。
他の言語のよいところをつぎはぎした生きた言語である Rubyは
ユーザイリティが高くて大人気なんだね。
これからの時代Rubyは必須科目だね。
でも純粋だけは名乗らないでね。
11デフォルトの名無しさん:2006/05/06(土) 02:20:00
他言語の良い所でも学ぶべき所は学ぶのが Ruby の良い所。
ユーザビリティを考慮してうまく取り込んでいる。
今後は必修科目は Ruby と Haskell だってんだろド低能がぁぁ
VM としては YARV コンパイラは GHC が鉄板
12デフォルトの名無しさん:2006/05/06(土) 02:23:47
言語設計に全くかかわりのない業界の言葉なんだけど、
Ruby(Rails)に大規模Webアプリの実績がもう少しあれば信用できるんだけれど…
13デフォルトの名無しさん:2006/05/06(土) 02:34:50
必修科目が Ruby と Haskell …
そりゃ無茶だろうw
14デフォルトの名無しさん:2006/05/06(土) 02:37:32
>>13
お前みてーな低能にはなw
実現したらバカが駆逐されて実に爽快だろうなw
15デフォルトの名無しさん:2006/05/06(土) 02:38:22
>>10
また議論で負けたいのか
16デフォルトの名無しさん:2006/05/06(土) 02:40:36
>>14
>実現したらバカが駆逐されて実に爽快だろうなw
実現しっこないって自分で認めちゃだめでしょ?
せめて希望だけは持ち続けねば!
17デフォルトの名無しさん:2006/05/06(土) 02:48:52
議論で負けているように見えるのか。
ここはひどいインターネットですね。
18デフォルトの名無しさん:2006/05/06(土) 02:50:06
アレ?反省したんじゃなかったの?

991 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/06(土) 00:18:15
や、>>977 の発言を見て Rubyを純粋だと信じてやまないピュアな若者を
いじってみたくなっただけなんだ。
正直純粋とかアイデンティティとかどうでもいい。いまは反省している。
19デフォルトの名無しさん:2006/05/06(土) 02:53:33
純粋かどうかは個人の定義による以上、Rubyが純粋なオブジェクト指向と思う奴もいてよかろう。

Smalltalkは人によっては純粋。Rubyも人によっては純粋。
それで何がダメなのか具体的に反論してみろよ?
負けてないならさぁ。
20デフォルトの名無しさん:2006/05/06(土) 02:55:07
個人的には2ちゃんねるのような匿名板で、議論に勝ったり負けたりということに何の意味があるのかさっぱりわからん
21デフォルトの名無しさん:2006/05/06(土) 02:55:39
そりゃレスポンスがあればいじっちゃうだろ。

>>19
Rubyのどこがダメか今までいってきたんだけど...
むしろそれの答が
>Ruby らしさのため。それがわかんないようなバカは氏んでください。
なんだけど。
22デフォルトの名無しさん:2006/05/06(土) 02:57:29
とりあえずだな、俺は21世紀になってこの方、RubyもHaskellも
仕事で使わせて貰ったことはない。
これが現実だ。
23デフォルトの名無しさん:2006/05/06(土) 02:57:29
>>21
ブロックがオブジェクトじゃないからダメとかいう、個人の主観に過ぎないことぐらいしかダメ出ししてねーくせに。
別にオブジェクトと捉えて特に問題も無いのにさぁ。
24デフォルトの名無しさん:2006/05/06(土) 02:59:49
>>22
へー

で、今話題になってる純粋なSmalltalkは、Scheme仕事で使ってんのか?
使ってないなら、それは今関係無い話だ。
25デフォルトの名無しさん:2006/05/06(土) 03:01:32
Rubyは仕事で使っているけど…Railsをね。
不安でたまらん
26デフォルトの名無しさん:2006/05/06(土) 03:01:53
>>24
ほう、RubyやHaskellから話を逸らしたいのかね?
27デフォルトの名無しさん:2006/05/06(土) 03:04:03
>>26
はぁ?そもそも俺は9じゃないんでどうでもいいけど?
28デフォルトの名無しさん:2006/05/06(土) 03:05:31
>>19
Smalltalk が純粋、Java が純粋…ってなら(それぞれが立脚している
「オブジェクト指向」がなんなのか。具体的にはケイのか、ストラウストラップのか)
分かるような気がするけど、

Ruby が純粋ってヤツは、基本的に、オブジェクト指向にはどんなものがあるのかを
分かっていないか、知ってか知らずか俺定義に走っているか、教祖の尻馬に
乗っているだけか…、どれかだね。
29デフォルトの名無しさん:2006/05/06(土) 03:06:40
>>23
ブロックがオブジェトじゃないってのが主観なのかどうか教祖さまに聞いてみれば?

てか今ここで Rubyのブロックのどこがオブジェクトじゃないのか説明しなきゃいかんのか?
その程度の理解で Rubyマンセーしてるやつと議論するのはちょっと...
30デフォルトの名無しさん:2006/05/06(土) 03:08:18
はいはい、じゃあ具体的に何が純粋じゃないのか言ってみ。

何も知らないで俺定義に走ってるのはお前だろ。
31デフォルトの名無しさん:2006/05/06(土) 03:09:02
>>27
なんだ、なんだ、今更逃げ腰かw
32デフォルトの名無しさん:2006/05/06(土) 03:10:07
お前はブロックがオブジェクトかどうかが、純粋かそうじゃないかの全てかよ

Javaなんか挙げてるやつもいるけど、これこそ純粋じゃないだろ。
実用の為に、intなどのプリミティブな値あるしさぁ。
33デフォルトの名無しさん:2006/05/06(土) 03:13:36
「純粋」って何なんだ
さっきからオレには全然理解できん
誰か説明してくれ
34デフォルトの名無しさん:2006/05/06(土) 03:14:46
>>29
>ブロックがオブジェトじゃないってのが主観なのかどうか教祖さまに聞いてみれば?

ドアホかお前は。>23をよく読めよ

ブロックがオブジェトじゃないってのは認めてるだろ。
ブロックがオブジェクトじゃないから、純粋じゃない、というのを主観だっつってんだよ。

もうお前黙れ。レスもちゃんと読めない馬鹿と議論なんか出来るか。
35デフォルトの名無しさん:2006/05/06(土) 03:15:40
>>32
いやいや純粋ってそういうもんじゃんか。
Smalltalkは全部オブジェクト、Rubyはそうじゃない。
だから Rubyは Smalltalkより純粋じゃない。って見方ができる。
そんな潔癖に意味あるかは別としてね。

さっき上げた lisp prolog smalltalk haskell ml forth
なんかは独自のパラダイムを持っていてその世界の中ではかなり純粋なんだ。
で Rubyはなんなのって思うわけよ。

その Rubyらしさとやらを説明してほしいんだけど。
36デフォルトの名無しさん:2006/05/06(土) 03:16:45
>>33
個人の主観に過ぎない幻想

理由は無いけど、SmalltalkやShcemeやJavaはそうで、Rubyはそうじゃないモノ。
37デフォルトの名無しさん:2006/05/06(土) 03:19:24
>>34
オブジェクトと捉えて問題ないか教祖さまに聞いてみれば?

てか今ここで Rubyのブロックのどこがオブジェクトと捉えて問題あるか説明しなきゃいかんのか?
その程度の理解で Rubyマンセーしてるやつと議論するのはちょっと...

あの、どう問題ないのか説明してください。
あと、Rubyはこうだから純粋だっていうのを是非。
38デフォルトの名無しさん:2006/05/06(土) 03:22:38
>>23
>別にオブジェクトと捉えて特に問題も無いのにさぁ。

>>34
>ドアホかお前は。>23をよく読めよ
>ブロックがオブジェトじゃないってのは認めてるだろ。

こいつおもしろいね。
39デフォルトの名無しさん:2006/05/06(土) 03:26:39
>>35
Aの言語より純粋さに多少欠けるから、
Bの言語は純粋と言ってはいけないってか?アホらしい。


>>37>>38
レスもちゃんと読めないアホとは議論できないとさっき言ったろ




40デフォルトの名無しさん:2006/05/06(土) 03:28:43
>さっき上げた lisp prolog smalltalk haskell ml forth
>なんかは独自のパラダイムを持っていてその世界の中ではかなり純粋なんだ。

どう純粋なのか言ってないじゃんw
41デフォルトの名無しさん:2006/05/06(土) 03:29:07
>>39 もなんもないみたいだし
特になんかなければ 終了ってことで。
42デフォルトの名無しさん:2006/05/06(土) 03:29:34
>>39
つまり、お前は自ら議論能力の欠如を吐露したと言う訳だな?
43デフォルトの名無しさん:2006/05/06(土) 03:31:03
>>41
何にも無いのはお互い様。必死になってお互いに相手に証明を求めてるだけ。

>>42
いいや、お前の議論能力の欠如を指摘したまで
44デフォルトの名無しさん:2006/05/06(土) 03:33:26
>>41
じゃ終了だな。
45デフォルトの名無しさん:2006/05/06(土) 03:33:26
>あの、どう問題ないのか説明してください。

これなんかアホの典型。悪魔の証明だ。
普通は問題が「ある」と思うほうが説明する。
46デフォルトの名無しさん:2006/05/06(土) 03:36:05
>>43
おいおい、勝手にお互い様にしちゃいかんだろ。
47デフォルトの名無しさん:2006/05/06(土) 03:36:40
えっと lisp と smalltalkはでてきたと思うけど他は
lisp クロージャ マクロ eval
prolog 一階述語論理 カットによる制御 パターンマッチ
smalltalk オブジェクト指向
haskell 遅延評価 参照透明性
ml 型推論 パターンマッチ カリー化
forth スタック 後置記法

俺の思う純粋は余計なものがないってこと。
48デフォルトの名無しさん:2006/05/06(土) 03:39:44
お前お前って相手がひとりだと勘違いしてないか。43は。
Rubyのブロックはオブジェクトではないし、オブジェクトとして使うには、
別の書き方をしなきゃいけない。そもそも書き方が何通りもあること自体、
Rubyがつぎはぎであることの結果としか思えんのだが。

こんなのを「オブジェクトと捉えて特に問題も無いのにさぁ」といえるのなら、
Javaだって今はWrapperクラスとauto boxingあるから、

>Javaなんか挙げてるやつもいるけど、これこそ純粋じゃないだろ。
>実用の為に、intなどのプリミティブな値あるしさぁ。

こんなことも言えないはずだしね。
49デフォルトの名無しさん:2006/05/06(土) 03:40:52
>>45
ブロックがオブジェクトなんて斬新な意見持ち出す方が説明すべきだと思うぞ。

ブロックは普通の引数と違ってメソッド呼び出しの後ろにくっつけて渡して
それを中から yieldで呼びだせるからオブジェクトじゃないとか説明すればいいのか?
50デフォルトの名無しさん:2006/05/06(土) 03:44:37
>俺の思う純粋は余計なものがないってこと。

「俺の思う」とかつけてる時点で主観だってわかってるんだろ。

>>48
>こんなことも言えないはずだしね。
おいおい、Rubyが純粋じゃないなら、Javaも当然純粋じゃないって意味だ。
つうか、こっちが言いたい台詞だよそれは。お前はJavaが純粋とかのたまったくせに、
Rubyが純粋じゃないとか言ってたアホさに呆れてたんだよ。
51デフォルトの名無しさん:2006/05/06(土) 03:46:28
>>49
アホか。ブロックがオブジェクトと捉えて問題ない、といったんだ。
「ブロックはオブジェクトそのものだ」なんてお前が捏造した意見だろ。
52デフォルトの名無しさん:2006/05/06(土) 03:47:00
どうも脳内毒電波ゆんゆんさんらしいので、言っても意無駄かもしれんが繰り返すぞ。

「お前お前って相手がひとりだと勘違いしてないか。50は」
53デフォルトの名無しさん:2006/05/06(土) 03:49:24
>>50
そうそう、主観なんだよ。
だから Ruby信者の主観を知りたいんだよ。
どういう観点で見たら Rubyが純粋なのかって。
そのレスポンスが期待できないから終了にしたかったんだけど...
なにもないよね?

荷が重ければアイデンティティでもいいけど、
それはいろいろ吸収するってことなんだっけ?
それじゃバランスのいい Perl止まりなんだよな Rubyは。
54デフォルトの名無しさん:2006/05/06(土) 03:50:55
>>52
はぁ?名に言ってんだお前は。

一人一人にレス番号付けてるのに、「お前等は」とか複数形にしろってのか。

馬鹿か黙ってろ
55デフォルトの名無しさん:2006/05/06(土) 03:52:49
結論は20で出ている、という事実を伏せておくのが大人の配慮なんだろうね
56デフォルトの名無しさん:2006/05/06(土) 03:54:04
def foo(&block)
block.call("test")
end

foo{ |it|
p it
}

普通にブロックはそういう風に扱うとオブジェクトになるだろうが。

>>53
じゃあ、ほぼ全てがオブジェクトで、式で、
一見普通の関数呼び出しに見えるものさえ全てメソッド呼び出しモデルとなってる、でいいか?
57デフォルトの名無しさん:2006/05/06(土) 03:56:16
>>53
>だから Ruby信者の主観を知りたいんだよ。

そうだよね。

>>19
>純粋かどうかは個人の定義による以上、Rubyが純粋なオブジェクト指向と思う奴もいてよかろう。

結局これは、「信仰によるもの」というのが結論?
58デフォルトの名無しさん:2006/05/06(土) 03:56:55
59デフォルトの名無しさん:2006/05/06(土) 03:59:45
いや、結論はRuby信者は純粋にヘタレ、でおk
60デフォルトの名無しさん:2006/05/06(土) 03:59:49
>>56
「foo(&block)」は「普通」なのか?

そういや昔はそもそもブロックという言葉もなくて、イテレーターと呼ばれてたような。
さすがはつぎはぎ言語。
61デフォルトの名無しさん:2006/05/06(土) 04:00:30
>>57
992 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/06(土) 00:18:35
>Rubyが、いろんな言語からつぎはぎした統一感のない言語だってのは事実なんじゃね?
>それを「いいとこ取り」と言う奴もいるだろうが、「ぐちゃぐちゃ」とか「アイデンティティがない」とか
>思う奴もいてよかろう。

その一文はお前をパロってるんですけど。
半角?クンだから、コレはおまえだよな?
62デフォルトの名無しさん:2006/05/06(土) 04:03:08
>>59
そのヘタレよりヘタレがお前だけどな

>>60
>「foo(&block)」は「普通」なのか?
何が普通じゃないんだ?

>そういや昔はそもそもブロックという言葉もなくて、イテレーターと呼ばれてたような。
>さすがはつぎはぎ言語。

だから何なのだろう?もう煽りたいだけのアホは困る。
63デフォルトの名無しさん:2006/05/06(土) 04:05:40
>>59
オブジェクト指向はアイデンティティとか恥ずかしげもなく言い切っちゃう
教祖も純粋にヘタレてる。
64デフォルトの名無しさん:2006/05/06(土) 04:07:12
>>62
ブロックがオブジェクトなら&修飾子はいらんだろ?
65デフォルトの名無しさん:2006/05/06(土) 04:07:15
ここまでの話のどこら辺が

> 字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
> CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
> SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
> JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
> 意味論に関する話題も歓迎です。

のうちのどれに関わっているのか教えてくれ。
66デフォルトの名無しさん:2006/05/06(土) 04:08:37
>>54
あのね。
>>52=48 は「俺は >>28じゃねえ」って言いたいんだと思うよ。

>>56
そうもできるけど2個以上渡したい時は Proc.newとかしないと駄目でしょ
そのブロック文法自体いらないともいえる。主観ではいらない。

>じゃあ、ほぼ全てがオブジェクトで、式で、
>一見普通の関数呼び出しに見えるものさえ全てメソッド呼び出しモデルとなってる、でいいか?
その意見を批判するのはちょっと違うと思うので何も言わないが
新しいパラダイムがある訳でもなく特別潔癖でもない、むしろ雑食な言語を
vi で書くのが純粋のイメージってのが違和感あっただけ。
67デフォルトの名無しさん:2006/05/06(土) 04:10:04
>>63
残念。最初にアイデンティティとか言い出したのは、前スレのコイツです

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


>>64
だから、ブロックはオブジェクトだと言ってないって。捏造が好きなアホだな。
便利なための記法なんて、どの言語にもあるだろうに。
68デフォルトの名無しさん:2006/05/06(土) 04:13:13
>>65
>ここまでの話のどこら辺が

もっともだ。じゃあRubyのそういうところについて議論しようか。

・字句解析、構文解析
 →つぎはぎの拡張を繰り返したトンデモ文法のおかげでparserとlexerが
  ごっちゃになってひどいことになってるよな。
・データフロー解析,ループ並列化,データ分散,SSA変換,
 CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
 SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化
 JIT,動的バイナリ変換等の各種最適化, 低消費電力化
 →どれもやってないよな。継続の実装もアレだし。
・VM
 →ようやくYARVが、ってとこか。
・GC
 →「GC や Thread などのインタプリタの実装のトリックが移植性を損なっている」
 http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby%A4%CE%B7%E7%C5%C0

…えーっと。
69デフォルトの名無しさん:2006/05/06(土) 04:14:01
>>66
>そうもできるけど2個以上渡したい時は Proc.newとかしないと駄目でしょ
>そのブロック文法自体いらないともいえる。主観ではいらない。
もともとも文法的に2個以上ブロックを渡すのはムリがある。

>Proc.newとかしないと駄目でしょ
あれ? lambda{}と書けるけど。もしこれがダメならschemeはどうすんの?純粋じゃないの?

>vi で書くのが純粋のイメージってのが違和感あっただけ。
俺が書いたんじゃねーから知らんけど、そもそもviなんか使わんし、
そんなことで噛み付くなよ。
70デフォルトの名無しさん:2006/05/06(土) 04:14:08
Ruby 信者が話にならないのは、パクリ元の言語のことをほとんど知らないからだな。
教祖の尻馬に乗って、寄せ集めの機能を自慢げに語ろうとする。
パクリを認めないばかりか、Ruby オリジナルとか言いかねない教祖が悪いんだけどね…。
71デフォルトの名無しさん:2006/05/06(土) 04:14:44
オブジェクト指向はアイデンティティだべ。
Rubyにゃアイデンティティがねえべ。
従ってRubyはヘタレ。
これは三段論法ではないが、立派な連鎖推理だにょ。
72デフォルトの名無しさん:2006/05/06(土) 04:16:22
> オブジェクト指向はアイデンティティ
飛躍

> Rubyにアイデンティティがない
主観

> 従ってRubyはヘタレ。
論拠が無い
73デフォルトの名無しさん:2006/05/06(土) 04:16:28
74デフォルトの名無しさん:2006/05/06(土) 04:17:26
>>70
ハイハイ、レッテル張りね。すごいすごい。

>>71
オブジェクト指向はアイデンティティとか恥ずかしげもなく言い切っちゃう
71も純粋にヘタレてる。
75デフォルトの名無しさん:2006/05/06(土) 04:19:15
>>73
お前、その日記の内容見て無いだろ。アホ丸出しだぞ。

今しがた、アイデンティティ Ruby でググッて見つかったのを張ったダケだろ。
76デフォルトの名無しさん:2006/05/06(土) 04:20:36
わかった、わかった、Rubyは純粋。
それも純粋なヘタレ。
77デフォルトの名無しさん:2006/05/06(土) 04:21:22
反論出来ないとコレだw
78デフォルトの名無しさん:2006/05/06(土) 04:22:00
中身が無いのに熱さだけあるってのもすごいよな。
信者ができるものってなにか飛び抜けててカリスマ性があるようなものだと思ってたんだけど
凡庸な rubyに信者がたくさんいるってのが解せない。

rubyしか書けないから、だったりして。
79デフォルトの名無しさん:2006/05/06(土) 04:22:50
Ruby はオブジェクト間の区別ができるから、純粋なオブジェクト指向言語なんだな。w
なるほど! オブジェクト指向するって、案外、お手軽なんだな。知らなかったよ。
80デフォルトの名無しさん:2006/05/06(土) 04:23:21
>>77
おいおい、おまいさんの書き散らしたレスのどこに「論」があったんだ?
論無き所には、反論もまた無しと言う訳だ。
81デフォルトの名無しさん:2006/05/06(土) 04:24:01
今日はここかい?
82デフォルトの名無しさん:2006/05/06(土) 04:26:38
>>78
Rubyは単なる嗜みの一つだが、馬鹿が沸いてたので指摘したまで。

>>79
理解力0と

>>80
確かに相手側も一切の「論」が無かったな。
馬鹿ばかりだった。
83デフォルトの名無しさん:2006/05/06(土) 04:28:31
>>78
>信者ができるものってなにか飛び抜けててカリスマ性があるようなものだと思ってたんだけど

そりゃ作者が正真正銘本職の宣教師(元)だもの。モルモン教の。
84デフォルトの名無しさん:2006/05/06(土) 04:31:38
主観では、一番のアホは、半角の?を付けてる彼でした。
85デフォルトの名無しさん:2006/05/06(土) 04:36:04
自作自演するときは、微妙に書き方を変えなきゃ
自作自演するときは、微妙に書き方を変えないと。
自作自演するときは,書き方を微妙に変えないと。
86デフォルトの名無しさん:2006/05/06(土) 04:37:32
おや>84。どうして「彼」だとわかったんだ。どうして「彼女」では無いと?
87デフォルトの名無しさん:2006/05/06(土) 04:38:08
そうか。半角?は書き分けのためだったのか。やられた。
88デフォルトの名無しさん:2006/05/06(土) 04:40:20
ttp://www.rubyist.net/~matz/20030808.html#p02

matz はホントにわかってないんだな…。
副作用がなくったって、オブジェクト指向は成り立ちうるのに…。
これで ruby は純粋とかいっちゃうんだから…。

これじゃ信者も苦労するよ…。
89デフォルトの名無しさん:2006/05/06(土) 04:42:24
>>82
単なる嗜みのひとつレベルで、ここまで熱くなれると言う事に
驚愕すると共に、Rubyはただのヘタレではなく、偉大にして
純粋なヘタレであることを、ここに宣言するものである!

すなわち

language of the ruby, by the ruby, for the ruby.

同胞よ涙せよ!
90デフォルトの名無しさん:2006/05/06(土) 04:42:24
>>86
俺は殺人事件の容疑者で、お前は探偵かよ。
91デフォルトの名無しさん:2006/05/06(土) 04:43:13
>>89
お前もこんな時間まで熱くなってんじゃん。

何の信者なの?
92デフォルトの名無しさん:2006/05/06(土) 04:51:35
>>91
もちろん2chのおちょくり信者でんがな。
ところで「コンパイラ・スクリプトエンジン」て何?
Rubyって多分宝石のルビーとは関係ないだよね?
93デフォルトの名無しさん:2006/05/06(土) 04:55:42
サムッ
94デフォルトの名無しさん:2006/05/06(土) 04:58:48
わかったよ>90。お前が探偵役な。
95デフォルトの名無しさん:2006/05/06(土) 06:18:17
なんか深夜にキチガイが湧いていたようですね…でも >>9 の言うとおり
Haskell と Ruby が今後の主流なのは異論がないと思うので。YARV の話でもし
ましょうか。国も認める未踏な先進的プロジェクトです。税金を出す == 我々
も望む望まぬに関わらず Ruby にお金を出しているわけです。使わないと損で
しょう?
96デフォルトの名無しさん:2006/05/06(土) 06:28:03
未踏は ML 処理系にも Scheme 処理系にも金を出している訳だが。
YARV は金払った上に、貴重な俺の時間まで費やす程の物でもないしな。
97デフォルトの名無しさん:2006/05/06(土) 07:06:38
今後の主流はC#とJavaなんじゃないの?
98デフォルトの名無しさん:2006/05/06(土) 07:21:15
PHPも忘れてはいけない
99デフォルトの名無しさん:2006/05/06(土) 10:28:27
↓これ等以外で、リテラル表現を持っている言語ってありますか?

整数、実数、複素数、配列、文字列、構造体、共用体、列挙型、リスト、タプル、
関数(ラムダ)、正規表現、XML(e4x)

リストの内包表記とかもリテラル表現と言って良いのかな。
Scheme のマクロは文法規則のリテラル表現?

面白いリテラル表現がありましたら教えて下さい。
100デフォルトの名無しさん:2006/05/06(土) 11:07:54
>>99
ぱっと思いつくのは
・文字(Javaとかは文字列とは別扱い)
・辞書/ハッシュ/連想配列
101デフォルトの名無しさん:2006/05/06(土) 11:47:22
Lisp の世界にはプログラマブルなリテラルがあるよ。配列や複素数などがこの
機能を使って実装されてる。ライブラリだと日付とか XML、単位などがこの機
能を使ってリテラル表現されてる。
102デフォルトの名無しさん:2006/05/06(土) 11:53:28
ML しね Scheme しね Lisp しね Prolog しね
これから Haskell しかねーよ低能共
型推論と遅延評価マンセー
103デフォルトの名無しさん:2006/05/06(土) 11:55:31
>>100
文字忘れてました…
ハッシュリテラルは Perl にあるみたいですね。

>>101
リーダーマクロを使っているのでしょうか。
CL は勉強中なのですが、まだマクロは良く分かっていません。

リテラル表現の豊富さはプログラムの簡潔さに大きく寄与すると
思うのですが、リテラルをその場で作り出せる Lisp は凄いですね。
104デフォルトの名無しさん:2006/05/06(土) 12:05:04
>>99
シンボル
105デフォルトの名無しさん:2006/05/06(土) 12:20:30
>>104
シンボルもそうですね。日付、単位(>>101)、それと分数もありました。
106デフォルトの名無しさん:2006/05/06(土) 12:25:07
リテラルになりえないのは実行時にならないと計算できない
クロージャと継続くらいで他は全部 quoteつければリテラル
107デフォルトの名無しさん:2006/05/06(土) 18:50:19
えらい伸びるなw

>>9
低能は違うだろ?
変態向けというのは同意。
108デフォルトの名無しさん:2006/05/06(土) 19:11:37
>>107
お前は俺と同じ低能臭がするw
とりあえずおまえが一番の低能。俺二番。
同じキチガイどうし意味のない不毛なレスのやりとりをしようぜ
109107:2006/05/06(土) 19:17:42
>>108

断る。
俺は純粋な Vi 使いだからな。
110デフォルトの名無しさん:2006/05/06(土) 19:22:14
>>109
そこでemacs使いの俺様の愚痴を聞いてくれ(違!


いい加減貶めあうのはやめないか?
#本当はBriefが好きなんだよ、なんで飼い殺しにしたんだ>>ボーランド
111デフォルトの名無しさん:2006/05/06(土) 19:25:49
>>109
奇遇だな。俺も vi 使いだよw
さすがスレと全然関係ない話題なところが無能っぷりをさらけだしてるな
俺ももっとバカっぽい発言ができるよう精進するよ
とりあえず Ruby 厨房のフリする?それとも Lisp 信者の真似?
112デフォルトの名無しさん:2006/05/06(土) 19:28:27
>>106
クロージャはともかく、継続のリテラル表現はソースコードそのものなんじゃないかと、ふと思った。
113デフォルトの名無しさん:2006/05/07(日) 09:46:33
>>112
ソースコードはレキシカルなもので継続はダイナミックなものなので違うのでは?
114デフォルトの名無しさん:2006/05/07(日) 22:37:28
ゴールデンウィークが終わってきてみれば
何のスレだか分からなくなっているなw
115107:2006/05/08(月) 20:03:37
>>111
お前は何か勘違いしてないか?
116デフォルトの名無しさん:2006/05/08(月) 20:41:02
そんなことより2行目だろ>>111のポイントは

これネタとかじゃなくて本気で興奮して本気で間違ってるよ
117デフォルトの名無しさん:2006/05/08(月) 20:57:28
メアド交換してメッセンジャーでやれ
118デフォルトの名無しさん:2006/05/08(月) 21:59:15
よくわかんないけどさ、

 ruby は (perlよりも) 純粋なオブジェクト指向言語だ

ってあたりでみんな同意して次いかないか?
119デフォルトの名無しさん:2006/05/08(月) 22:22:16
×perl よりも
○どの言語よりも
120デフォルトの名無しさん:2006/05/09(火) 02:32:50
Haskell はともかく Ruby は今後も主流に成り得ないと断言できる。
従ってRubyは純粋なヘタレ。
言語と言えるようなもんじゃない。
121デフォルトの名無しさん:2006/05/09(火) 03:11:09
Haskell 最強ーーーーーーーーーーーーーー
122デフォルトの名無しさん:2006/05/09(火) 08:48:22
スレ違いな方向に進んでるのは池沼が原因か?
123デフォルトの名無しさん:2006/05/09(火) 12:33:26
>>122
Rubyの質の高さを認めたくない奴が、いつまでもゴチャゴチャ抜かすせい。
そんな暇があったら勉強すればいいのにね。無能の発想ってよくわからない。
124デフォルトの名無しさん:2006/05/09(火) 12:37:44
Ruby信者が>>119とか>>123みたいな反応している間は争いは終わらないんじゃね?
125119:2006/05/09(火) 22:10:49
俺は別に Ruby 信者でもなんでも無い。
ただの、流しの vi 使い。

お前馬鹿か?
126デフォルトの名無しさん:2006/05/09(火) 22:21:52
>>119
「どの言語よりも」ってことは無いだろう。
rubyと同程度にオブジェクト指向な言語があれば、
その言語より純粋とは言えないから。
127デフォルトの名無しさん:2006/05/09(火) 22:40:53
そういう奴にはsmalltalkとか言っておけばおとなしくなるんじゃないの
128デフォルトの名無しさん:2006/05/10(水) 00:39:04
おまえ様等に問いたい、いい加減にスレ違いはやめようや。
煽りも煽り耐性弱いやつもいい加減にスルーすることおぼえようよ。

もうこのスレ延々と続く度に思うのは1〜200位と900〜1000の間だけ異常にすれ違い過ぎ!
129デフォルトの名無しさん:2006/05/10(水) 00:40:07
なに気取ってんだバカ野郎スレ違いなんだよ >>119

130デフォルトの名無しさん:2006/05/10(水) 00:48:38
name *(COMMA name)
っていうABNFがあった場合
ab,ac,ew,ae,ae
っていうことだよね?
131デフォルトの名無しさん:2006/05/10(水) 03:45:45
>>1-131
いい加減スレ違いに気づけ!!バカ
132デフォルトの名無しさん:2006/05/10(水) 10:44:14
>>128
単なる無知ゆえの的外れな発言を、
本格的に突っ込まれたあとになって「煽り」だの「釣り」だのと称して
突っ込んだ側に改善点を見出してみせるのは、割とポピュラーなやり方ですよね。

通用しませんけど :-)
133デフォルトの名無しさん:2006/05/10(水) 13:11:52
>>123
Rubyに質などない。
厳選された必要にして十分なものを揃える事を「質が高い」と言う。
しかしRubyは結局「アレモ、コレモ」という謂わば「物量主義」、
質など無視して完全に量で切り抜けようとする姑息なシロモノ。
134デフォルトの名無しさん:2006/05/10(水) 15:58:32
たとえば?
135デフォルトの名無しさん:2006/05/10(水) 21:03:29
おまえらRubyスレに去ってください
136デフォルトの名無しさん:2006/05/10(水) 23:02:05
ほんとそうしてください
137デフォルトの名無しさん:2006/05/10(水) 23:06:18
皆さん tag bits って使ってますか?
fixnum が 32bit にならないのがイヤン。
138俺もvi使い:2006/05/10(水) 23:34:23
>>133
それが新しい言語パラダイムだと気づかないのかね?
石器時代に生きてるような石頭ユーザには、せいぜい lisp がお似合い。



もう、書き込まんでいいよ、
うぜーからw
139デフォルトの名無しさん:2006/05/10(水) 23:36:09
>>138
それ何ていう C++?
140デフォルトの名無しさん:2006/05/10(水) 23:49:36
C++は最強のマルチパラダイム言語
普通に手続き型プログラムできたり
オブジェクト指向できたり
genericsできたり
無理やりラムダとかできたり

プログラマを言語仕様の罠にはめだり
コンパイラ製作者を泣かせたり
141デフォルトの名無しさん:2006/05/11(木) 00:07:02
仕事では使えないC++
142基地外:2006/05/11(木) 00:33:13
>>138
そうだ lisp 氏ねw
vi ! vi !
143デフォルトの名無しさん:2006/05/11(木) 00:35:13
>>141
ここ10年近く、色々バージョン違いはあるけれどVisual C++以外の
仕事はしたことがなく、ソースファイルは*.cppしか書いてない俺が
来ましたよ?
144デフォルトの名無しさん:2006/05/11(木) 00:40:08
ところで「vi使い」という謳い文句を流行らせたい輩が
いるようだが、viは基礎体力養成課程で万人が触れる
初心者用ツールのはずだが、まさか、それしか使え
ないという訳じゃあるまいね?
145デフォルトの名無しさん:2006/05/11(木) 00:59:16
つまりviを使ってrubyでコーディングしてる俺が日本最強。
秀丸を使ってHSPでコーディングしてる奴は日本じゃあ二番目だ。
146デフォルトの名無しさん:2006/05/11(木) 01:01:55
vi を使って Haskell でコーディングしてる俺は世界最強
147デフォルトの名無しさん:2006/05/11(木) 01:09:53
サクラエディタで変なソースコード作成している俺は
ユニークだ
148デフォルトの名無しさん:2006/05/11(木) 01:15:01
サクラエディタで俺言語やってるけど、きちゃだめ?
149デフォルトの名無しさん:2006/05/11(木) 01:19:27
選ばれし vi 使い以外は死滅するというのは本当ですか
150デフォルトの名無しさん:2006/05/11(木) 01:22:13
EmEditor…
151デフォルトの名無しさん:2006/05/11(木) 01:24:21
Viとかサクラエディタとか、本当にプログラミングで使いやすいのか?
152デフォルトの名無しさん:2006/05/11(木) 01:24:23
額にviって入ってる奴だけ救われるんだってな
残りの人間は全部どっか知らんけど死のviに
名前書かれて死んでいくって聞いた
153デフォルトの名無しさん:2006/05/11(木) 01:53:04
>>147
使いやすいにきまってんだろ?頭が不自由な方ですか?
勝ち組は Eclipse で Haskell !!
154デフォルトの名無しさん:2006/05/11(木) 01:54:05
>>153
それ俺が作った・・・
155デフォルトの名無しさん:2006/05/11(木) 02:16:00
何が楽しくてわざわざ糞スレにしようとするんだろう・・・
156デフォルトの名無しさん:2006/05/11(木) 02:49:01
自分の技量でははるかに届かないテーマのスレタイを見て、
あまりの悔しさに滅茶苦茶にしてやろうと思っているんですよ。

通常の議論の場と違って、2chでは能無しは「負けを感じてからが饒舌」ですからね :-)
157デフォルトの名無しさん:2006/05/11(木) 02:53:22
一つ教えてやろう
コンパイラについて勉強しても何の約にも立たないということだ
158デフォルトの名無しさん:2006/05/11(木) 07:28:02
>>157
約?
159デフォルトの名無しさん:2006/05/11(木) 22:57:04
萌えeditor つかってる洩れが来ました。
時計はもちろんエミクロックです。
160デフォルトの名無しさん:2006/05/11(木) 23:04:34
yaccとbison使うと正直勉強になりませんですた
161デフォルトの名無しさん:2006/05/11(木) 23:47:42
>>160
字句解析・構文解析については一回作ればもうそれで十分。
面倒なことは自動化して、重要なのはその後。
162デフォルトの名無しさん:2006/05/12(金) 02:17:28
yaccとかbisionなどのツールって
C言語と独自の構文が混ざって正直キモいんですけど。
163デフォルトの名無しさん:2006/05/13(土) 09:56:22
正直 lisper の方がキモいよw
よくあんなスタイルで(ry
164デフォルトの名無しさん:2006/05/13(土) 11:16:57
>>162-163
お前らの顔の方がキモイ
165デフォルトの名無しさん:2006/05/13(土) 23:28:26
キモイのOKなんだけど慣れるから
臭いのはまじ勘弁
166デフォルトの名無しさん:2006/05/13(土) 23:45:42
>>163 が地沼臭い
167デフォルトの名無しさん:2006/05/14(日) 14:03:54
お前らはいつになったらデレに変化するの?
168デフォルトの名無しさん:2006/05/14(日) 16:09:21
>>167
でもデブは居るはず
169デフォルトの名無しさん:2006/05/14(日) 20:54:24
ツンデブ?
170デフォルトの名無しさん:2006/05/15(月) 23:45:24
>>162
bison って書き方確かにキモイよね。
機能がいいので、仕方無く使ってるけど、
もっとよい書き方のできるWrapperとかないんだろうか?
171デフォルトの名無しさん:2006/05/16(火) 19:56:54
やっぱコンパイラを書くなら
オブジェクト指向言語でinterpreterパターンで書くのが一番だよね。
自分の好きな言語で書けるし。
172デフォルトの名無しさん:2006/05/16(火) 20:01:58
>>171
お前ってリファクタリングのこと何も知らないんだな。
まあ、いいけど。
173デフォルトの名無しさん:2006/05/16(火) 20:18:25
リファクタリングが何か関係があるわけ?
174デフォルトの名無しさん:2006/05/16(火) 20:39:00
>>170
BoostのSpiritでも使ってみれば?
175デフォルトの名無しさん:2006/05/16(火) 22:07:20
>>173
まずは読んでみたら?
176デフォルトの名無しさん:2006/05/16(火) 22:08:44
>>173
デザインパターンっていうのは、型に当てはめるもんじゃないっていうこと。
詳しくは「リファクタリング」を読め。
177デフォルトの名無しさん:2006/05/17(水) 01:33:03
>>176
>デザインパターンっていうのは、型に当てはめるもんじゃないっていうこと。
意味不明なんだが?デザインパターンは型に当てはめるものだろ?

>詳しくは「リファクタリング」を読め。
そういう本があるのか?
178デフォルトの名無しさん:2006/05/17(水) 02:26:10
>>177
>デザインパターンは型に当てはめるものだろ?
型に当てはめるもんだけど、単純に当てはめればいいというものでもないんだな。
179デフォルトの名無しさん:2006/05/17(水) 02:38:42
>>177
何もわかってない。勉強しなおせ。
180デフォルトの名無しさん:2006/05/17(水) 02:42:48
答えも出さずに勉強しなおせもねーだろ。
181デフォルトの名無しさん:2006/05/17(水) 03:08:27
>>180
勉強すればわかるよ。
ここで答えを求めるな。
182デフォルトの名無しさん:2006/05/17(水) 03:09:28
だいたい、読めば良い本を指し示してやってるんだから読めよ。
183デフォルトの名無しさん:2006/05/17(水) 03:44:50
今さっき提示した本を読めるわけねーだろーがボケが。
つーかお前の言ってること的外れなんだけど?
リファクタリングって言葉最近覚えたか?
184デフォルトの名無しさん:2006/05/17(水) 06:10:24
自他共に認める無知、あるいは、自分では一応知識があるつもりだけど
それが本当に試される状況は怖いから避けたい人、
そういう人種が「そのくせ偉そうにしたい」時には便利ですよね<○○読め、勉強しなおせ
185デフォルトの名無しさん:2006/05/17(水) 10:57:43
そこまで分かってるなら絡むなよw
デザパタの話は常に不毛。
186デフォルトの名無しさん:2006/05/17(水) 12:35:10
馬鹿だね
187デフォルトの名無しさん:2006/05/17(水) 12:42:39
デザインパターンって単に良い設計だと多くの人が思ったパターンを集めたに過ぎないのでは?
自分の設計をどうやってそのパターンに当てはめるのかと考えはじめたら、
多種多様なパターンを複合的に使わなくてはいけなくなって、
逆に複雑になりすぎてしまうから良くない、という話だと思うんだけど。
まずはデザインパターンに無理に当てはめようとするのではなく、自分の好きなように設計して、
リファクタリングしながら徐々に人気があるいくつかのデザインパターンの形に近づけて行けばよい。
(もちろん、有名なパターンそのものになるとは限らない)
188デフォルトの名無しさん:2006/05/17(水) 13:15:05
スレタイに即した物なんか何一つ作れない無能なのが
ありありとわかるレスが続けてるなぁ。
ここらで流れと住人レベルが戻ってくれるといいのだけど。
189デフォルトの名無しさん:2006/05/17(水) 13:18:12
>>188
まあ、それなりに書けるやつならお前みたいなことは書かないと思うけど
190デフォルトの名無しさん:2006/05/17(水) 13:26:23
思うのは自由だしね。
191デフォルトの名無しさん:2006/05/17(水) 13:35:52
一度インタプリタのようなものでも作った事があればそんなに難しいことじゃないことぐらい分かるだろうに、
>>188は一度も何も作ったことがないんだろうなあ。
192デフォルトの名無しさん:2006/05/17(水) 13:39:53
そんなに難しいことじゃないから
できないことが無能に該当するんだよ。

限られた人間しかできないことができなくても、それはせいぜい凡人だよね。
無能と呼ぶのは不適切。

無能の二文字があまりにも図星で頭に血が上ってるのはわかったけど、
噛み付く行為によって一層相手の言い分が証明されるのは悲惨の一語だから
気をつけたほうがいいですよ。
193デフォルトの名無しさん:2006/05/17(水) 13:44:29
>>192
顔が真っ赤ですよ
194デフォルトの名無しさん:2006/05/17(水) 13:54:24
それはお気の毒に。
195デフォルトの名無しさん:2006/05/17(水) 14:52:47
>>187
漏れは傍観者だけど、
「インタプリタで実行するようにコードをなぞってオブジェクトを生成する」と
説明的で長くなるところを「interpreterパターン」と一言で言っているわけです。

別に本等で「interpreterパターン」とかを調べてそれに準拠せよ、
と言っているわけではなくて・・・

>デザインパターンって単に良い設計だと多くの人が思ったパターンを集めたに過ぎないのでは?
単にパターンに名前を付けて話をしやすくしたってだけのことでしょう。
よっぽどのバカじゃないと無理に当てはめるなんてあり得ないし。
本末転倒。
196デフォルトの名無しさん:2006/05/17(水) 15:05:18
命名は認識の規格化であり、互換性の最小単位である。
                           ――ガッツ石松
197デフォルトの名無しさん:2006/05/17(水) 17:11:23
質問カキコ

式の正当性って、どうやってチェックすれば良いのでしょうか?
1+2=3が正しい式で、1 2 + 3 =が正しくない式だというのは人間にはすぐに分かるのですが…。

・左右括弧の数をチェックする
・演算子の数=定数や変数の数-1であるかをチェックする(-5等の-の様な単項演算子は除く)

これぐらいしか思いつかないのですが、具体的な方法等あれば教えて頂ければと………m(_ _)m
198デフォルトの名無しさん:2006/05/17(水) 17:12:12
ちなみに、中置記法の場合です。
正当性をチェックしてから、後置記法に変換しようと思っているので。
199デフォルトの名無しさん:2006/05/17(水) 17:32:55
>>197
「正しい式」を定義して、
その定義に従ってパーサを作って、
パーサが受け付けないものが「正しい式でないもの」。

「正しい式」「正しい式でないもの」を判別するのは出来るだろうけど、
「正しい式」「正しくない式」ってのはなんだかよくわからない。
正しくないけど「式」?
200デフォルトの名無しさん:2006/05/17(水) 17:45:43
「正しくない式」という表現を否定するなら
式にいちいち「正しい」とつける意味も無いのでは。

「式」「式でないもの」でじゅうぶん。
201デフォルトの名無しさん:2006/05/17(水) 18:10:00
なんだかよくわからないなりにも、もしかしたら>>197的には
「正しくない式」というのの定義があるのかもしれないと思って・・・
202デフォルトの名無しさん:2006/05/17(水) 18:10:25
正しい式って仕様どおりの式のことでしょ?
203197:2006/05/17(水) 20:00:19
すみません、「正しい」や「正しくない」は中置記法の数式としての観点からです。
204デフォルトの名無しさん:2006/05/17(水) 20:54:08
>197
詳しく知りたかったら形式言語を勉強するといいんじゃない?
205デフォルトの名無しさん:2006/05/17(水) 21:20:12
あなたの中置記法では -1+-2 は正しい式ですか?
206197:2006/05/17(水) 21:37:23
>204
形式言語ですか? 調べてみます。
>205
はい、正しい式です。
207デフォルトの名無しさん:2006/05/17(水) 22:43:55
>>206
「文脈自由文法」「LL構文解析」「LALR構文解析」「lex yacc 電卓」でググれ
208デフォルトの名無しさん:2006/05/17(水) 23:29:00
LR(1)とかLALR(1)を一言であらわすと
「小さなことからコツコツと(Byキー坊)」
ってことでよろしいでしょうか?
209デフォルトの名無しさん:2006/05/18(木) 05:59:46
>>197
演算子優先順位法で十分
210デフォルトの名無しさん:2006/05/18(木) 12:06:22
        ,.-─ ─-、─-、
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ , -─        Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′ お前ら死ねよ
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    > ---- r‐'´
      ヽ_         |
         ヽ _ _ 」
211デフォルトの名無しさん:2006/05/19(金) 01:36:35
>>197
207が言うようにyaccが使えりゃ一発だけど、言語がCじゃないとかの
理由で使えないなら(JavaならJavaCCとか、たいていなんかのパーサジェネレータは
あるけどね)、「再帰下降パーサ」または「再帰下降パーザ」でぐぐればよいかと。
212デフォルトの名無しさん:2006/05/19(金) 02:56:58
再起下降型ならちょっと文法変換しないとだめだよね。
213デフォルトの名無しさん:2006/05/19(金) 10:10:53
下降は負け犬がつかうパーサだからな。
Lisp,Emacs に通じるものがある。
214デフォルトの名無しさん:2006/05/19(金) 11:47:32
215デフォルトの名無しさん:2006/05/19(金) 16:36:53
216デフォルトの名無しさん:2006/05/19(金) 16:38:13
このスレでナンセンスなことを言ってるやつはすべてRuby狂信者ということでよろしいですか?>ALL
217デフォルトの名無しさん:2006/05/19(金) 18:16:59
つまりあなたも?
218デフォルトの名無しさん:2006/05/19(金) 20:04:49
>>213
勝ち組はボトムアップってこと?
219デフォルトの名無しさん:2006/05/19(金) 20:22:53
負け犬とか勝ち組とか激しくワラタ
220デフォルトの名無しさん:2006/05/19(金) 21:06:31
というか >>213 が最高にバカだな。本気でいってそうなあたりが。
再帰下降が負け組だって?低能はものを知らないね。
221デフォルトの名無しさん:2006/05/19(金) 22:25:00
>>213 の今後の行動
1. ネタでした
2. 話題をかえて荒す
3. Ruby 狂信者のフリをする
4. Ruby を煽ってごまかす
5. Lisp を煽ってごまかす
バカはどーゆう行動にでるのかな。消えてくれると一番
たすかるけどアホのくせに粘着だからなぁ
222213:2006/05/19(金) 22:33:57
すまん。誤爆した
223213(リアル):2006/05/20(土) 00:55:22
なんか、馬鹿なレスがついとるけどw

再帰下降ってつまり、パーサーのために文法を変えるでしょ?
そこが負け犬なわけよ。わかる?

言語はツールに縛られてはいかんのよ。
224デフォルトの名無しさん:2006/05/20(土) 01:03:08
>>223
文法を変えるというか、左再帰が起こらないようにBNF的に分解するだけっていうか。実際には文法を変えているわけじゃないんだけど。
文法を変えるって言うと誤解する人がいるから。
225デフォルトの名無しさん:2006/05/20(土) 01:08:07
ちょ www おまっ www

>>213 がいくら馬鹿とはいえ >>223 はありえないだろ?
さすが想像のナナメ上をいくな。え?本物?
226デフォルトの名無しさん:2006/05/20(土) 02:45:58
でも再帰下降で作ってて左再帰回避をするのって負けだよな。
やっぱり上昇型で文脈自由文法に素直に解析したい。
227デフォルトの名無しさん:2006/05/20(土) 02:51:35
>>226
で、それを手で書いてみろと言われたら?
228デフォルトの名無しさん:2006/05/20(土) 03:42:23
CPS変換について、勉強中なのですが、詳しく書いてあるサイトか、書籍を教えてください。
229デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/05/20(土) 04:54:38
標準入力から正しい式が入力されたら、計算し、
正しくない場合は、何もせずに終了するプログラムをC++で書いてみた
やっつけですが
232デフォルトの名無しさん:2006/05/20(土) 05:38:51
再帰下降で左再帰を 回避する必要なく ね?
LLじゃないんだから。
そりゃLRよりは制限きついだろうけど。
むしろ再帰下降を避ける理由はバックトラックによる効率の悪さでしょ。
233デフォルトの名無しさん:2006/05/20(土) 05:57:07
スクリプトホストを作っているのですが、IActiveScript::GetScriptDispatch()でわからない所があります。
GetScriptDispatch()でpstrItemNameにNULLを指定した場合には、スクリプトコンテキストのグローバル変数やグローバル関数をスクリプトホストから呼び出す事が可能なIDispatchポインタが取得できます。
しかし、pstrItemNameにNULL以外を指定した場合にはこれはどういう意味があるのでしょうか?
pstrItemNameにはIActiveScript::AddNamedItem()で設定した名前が指定できます。
この名前は一般的にはスクリプトホスト側が提供するオブジェクトの名前ですが、GetScriptDispatch()でこの名前を指定するとやはりIDispatchポインタが取得できます。
このIDispatchポインタにはどういう意味があるのでしょうか?
このIDispatchポインタを使ってもホスト提供のオブジェクトは呼び出すことはできません。まあホスト提供のオブジェクトをわざわざ別のポインタを取得してホストが呼び出す意味は余り無いので、その事は構わないですが、このポインタはいったい何に使えるのでしょうか?
234デフォルトの名無しさん:2006/05/20(土) 08:49:36
235デフォルトの名無しさん:2006/05/20(土) 12:34:45
>>229-231
なかなか、短くて美しいですね
236デフォルトの名無しさん:2006/05/20(土) 14:06:10
>>232
再帰下降=LLだと思ってたんだけど違うの?
237デフォルトの名無しさん:2006/05/20(土) 14:12:22
再帰しない構文解析アルゴリズムもあるよ。自分でスタック管理するだけだけど。
龍書IのP.223参考
238デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/05/21(日) 19:49:25
何言語? bool とかつかってるけど、
240デフォルトの名無しさん:2006/05/21(日) 19:57:21
C++?
241デフォルトの名無しさん:2006/05/21(日) 20:23:24
C++も知らんのか
242デフォルトの名無しさん:2006/05/21(日) 21:56:58
どう見てもCです
243デフォルトの名無しさん:2006/05/21(日) 22:21:37
どう見てもC++です
244デフォルトの名無しさん:2006/05/21(日) 23:01:48
どう見ても>>229,230 はC++ >>238 はCです。本当に有難うございました。
245デフォルトの名無しさん:2006/05/21(日) 23:09:13
boolとtrueとfalseがあるからC++
246デフォルトの名無しさん:2006/05/21(日) 23:13:59
釣れますか?
247デフォルトの名無しさん:2006/05/21(日) 23:25:25
俺のVC++6.0がC99?なにそれ?とおっしゃっているのでC++ですよ
248デフォルトの名無しさん:2006/05/21(日) 23:26:47
入れ食いですな
249デフォルトの名無しさん:2006/05/22(月) 08:22:58
C99を考慮しても使ってるのはC++
Cと言ってるのはキチガイ
250デフォルトの名無しさん:2006/05/22(月) 11:01:30
また釣れた
251デフォルトの名無しさん:2006/05/22(月) 13:37:56
どう見てもC++だろが。アホか。
じゃあCと言うことを証明して見ろ。
252デフォルトの名無しさん:2006/05/22(月) 13:40:51
晒しageとこう
253デフォルトの名無しさん:2006/05/22(月) 19:29:49
何でこんなに、釣れるんだ
書いた本人はC99知らんのでC++ですわw
C99って参照あるの?
254デフォルトの名無しさん:2006/05/22(月) 22:34:27
アフォかお前ら?
Cにboolなんかあるか!ボケw
255デフォルトの名無しさん:2006/05/22(月) 22:39:48
そうだね。ついでにCにはsize_tもあるわけないよ。
256デフォルトの名無しさん:2006/05/22(月) 22:42:40
また釣れましたよ。
257デフォルトの名無しさん:2006/05/22(月) 23:09:18
つか、本気でわかっていないんだけど、なんでboolがCで使えるの?
釣れたつれてないとかではなく、誰かC++だといっている人がなぜ間違っているのか教えて。
258デフォルトの名無しさん:2006/05/22(月) 23:10:28
>>257
どうでもいいから。
259デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/05/23(火) 00:30:19
もしboolがないなら自分で定義すりゃいいじゃん。
どちらにしてもboolはプリミティブじゃないんだからさ。
261デフォルトの名無しさん:2006/05/23(火) 00:31:04
標準ライブラリとかそういうのってCの機能じゃねーだろ。死ねよ。
262デフォルトの名無しさん:2006/05/23(火) 01:21:02
しかしCの仕様書には標準ライブラリも含まれている罠
263デフォルトの名無しさん:2006/05/23(火) 10:51:55
>>262
俺に見られるようなソース出せ
264デフォルトの名無しさん:2006/05/23(火) 10:58:16
言語としての仕様かどうかと言われたら、所詮は「ライブラリ」なわけで・・
265デフォルトの名無しさん:2006/05/23(火) 12:20:47
>>263
図書館行くか通販でJISの規格書読め。
266デフォルトの名無しさん:2006/05/23(火) 18:03:50
WEBで読めるやん
267デフォルトの名無しさん:2006/05/23(火) 18:53:22
そろそろエサが古くなってきたか・・・
268デフォルトの名無しさん:2006/05/23(火) 23:15:05
C99 が bool ?
本当か?
269デフォルトの名無しさん:2006/05/25(木) 00:38:01
   λ,,,,,,λ ガオー!
  ∩`iWi´∩ λ,,,,λ グオー!
  ヽ |m| .ノ∩`iWi´∩
   |  ̄| ヽ |m| .ノ
   |   | |  |
   U⌒U  U⌒U
270デフォルトの名無しさん:2006/05/25(木) 15:35:22
C#のパーサーガ必要なので、勉強をかねてLEX、YACCもどきを作ろうかとも考えたのですが、皆さんから見ると無謀でしょうか?
コンパイラ系は素人です。
C#の言語仕様見て、文法定義ファイルをつくってやれば何とかできるかなとも思ったのですが・・・
プロの皆さんの意見を聞きたいです。
271デフォルトの名無しさん:2006/05/25(木) 16:11:49
272デフォルトの名無しさん:2006/05/25(木) 16:44:59
>>271 C#のアウトプットが欲しい・・・
273デフォルトの名無しさん:2006/05/25(木) 17:25:02
C#の言語仕様って出回ってないの???
274デフォルトの名無しさん:2006/05/25(木) 18:01:34
>>273 でてる。
275デフォルトの名無しさん:2006/05/25(木) 22:05:46
関係ないけど「コンパイラコンパイラ」って言葉、いまだに内心違和感アリ (´・∀・`)

意味解析,中間コード生成,最適化処理,目的コード生成は
(当然ながら)別にする必要があるのに、
”コンパイラを作成するためのコンパイラ”は看板に偽りがあるのでは?

実際、使い方の紹介でも、パターンに対応するアクションの処理の都合上
「スクリプトジェネレーター」的な例が大半だったから
勉強はじめた頃は余計にそう思ってた。 (´・д・`)

個人的には「コンパイラ作成用プロセッサ」なら許せるかな…
276デフォルトの名無しさん:2006/05/26(金) 00:12:21
あっそ。

そういうくだらない感想文は、キミのつまんない糞ブログにでも書いてろ。
もう来んな。
277デフォルトの名無しさん:2006/05/26(金) 00:29:29
個人で意味解析以降まで実際手がけてる人はあんまいないみたいよ
中田を買って良書とコメントする人はいぱーいぱーいいるけど
278デフォルトの名無しさん:2006/05/26(金) 00:32:21
一番面白い部分をやらないなんてありえない
279デフォルトの名無しさん:2006/05/26(金) 01:02:58
フフフ…
三平君ってそういうやつなんですよ
280デフォルトの名無しさん:2006/05/26(金) 02:25:18
意味解析以降しかやらない、の間違いじゃないかと思いたい。
281デフォルトの名無しさん:2006/05/26(金) 02:51:26
>>276
同じくくだらない感想でしかない上、さらにコンパイラさえまったく関わってこない
そのご自分のレスを通しちゃったら、なんの説得力も無いですよ :-)
282デフォルトの名無しさん:2006/05/26(金) 03:33:48
ダイナミックトランスレーションってどういう手法なんでしょうか。
QEMUがやってるらしいのですが。
283デフォルトの名無しさん:2006/05/26(金) 03:37:41
機械語を機械語にオンザフライで変換する事じゃない?
コードモーフィングみたいな。
284デフォルトの名無しさん:2006/05/26(金) 03:45:25
あー、そんな面倒なことだったのか。。。
両方のインストラクションに詳しくないと駄目っすね。
285デフォルトの名無しさん:2006/05/26(金) 08:28:46
>>275
現代では普通 parser generator と呼ぶよ。
286デフォルトの名無しさん:2006/05/26(金) 08:42:42
>>281
はいはい。で、キミの足りない脳でブログは作れたか?
287デフォルトの名無しさん:2006/05/26(金) 08:45:25
>>286
> はいはい
己の愚が理解できたようでなによりです。
288デフォルトの名無しさん:2006/05/26(金) 10:59:45
>>287 俺じゃないのに乙
>>285 ありがとう
289デフォルトの名無しさん:2006/05/26(金) 22:21:32
ANTLR使ってる人います?
なんかサンプルからエラー出て動かないんですが・・・
290デフォルトの名無しさん:2006/05/26(金) 23:11:09
とりあえずバージョン (2.7.6とか3.0ea9)とか、
エラーメッセージくらい書いてもばちは当たらないと思うよ。
291デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/05/26(金) 23:28:02
それはアレだよ。初心者スレに行った方がいいんじゃね?
293デフォルトの名無しさん:2006/05/26(金) 23:30:54
とりあえずJava質問スレで同じことを質問してあります・・・
結果わかり次第報告します。
294デフォルトの名無しさん:2006/05/26(金) 23:32:34
言語ってほとんど枯れてしまったね。
出るのは重箱の隅ばかりw
295デフォルトの名無しさん:2006/05/27(土) 00:14:33
Epigramなんか、めちゃくちゃ熱いと思うんだが。
296デフォルトの名無しさん:2006/05/27(土) 00:38:05
>>295
依存型(dependent type)の利点をキボンヌ
297デフォルトの名無しさん:2006/05/27(土) 00:46:50
>>294
つ[関数型言語]
298デフォルトの名無しさん:2006/05/27(土) 07:07:10
スクリプトホストを作っています。
IActiveScriptSiteWindow::EnableModeless()なのですが、これが何に使うのかがよくわかりません。
VBScriptがMsgBoxやInputBoxを表示する際に呼び出されるという事はわかったのですが、これは何を意味しているのでしょうか?
299デフォルトの名無しさん:2006/05/27(土) 09:36:58
知らない人は答えなくて結構です
300293:2006/05/27(土) 11:12:09
えーとクラスパスの設定と大文字小文字とかをなおすことでうごきました・・・

やりたいことはC#2.0のパーサーを動かすことなんですが、
今kcsparse動かそうとして奮闘中。
301デフォルトの名無しさん:2006/05/27(土) 11:29:17
質問です

グリーンピースでアンコって作れますか?
302デフォルトの名無しさん:2006/05/27(土) 12:35:39
つ 「うぐいす餡」
303デフォルトの名無しさん:2006/05/27(土) 23:00:19
「や…やめてください…」
「へへへ……ラップはもうビリビリだぜ、あとはフタだけだ」
「いやぁ! だめ、フタを開けないで…!」
「ひゃっはあ! なんて嫌らしいノンフライ麺だ!」
「おいおい、スープの素が2袋もあるぜぇ、こいつ誘ってんじゃねえのか?」
「そ、そんなんじゃありません…!」
「『食べる直前に入れてください』だぁ? 待ちきれねえ、今すぐ入れてやるぜ!」
「や、やめてー! ま、まだお湯も沸ききってないのに…!」
「うはぁ、すっげえ、冷えてる油とかやくでグチャグチャだぜ…たまんねえ!」
「そーれ、お次はお湯だ! 中にたっぷり入れてやる!」
「あああ! ぬ、ぬるい…! ……て、れてえ!」
「聞こえねえなあ、はっきりいえよオラッ!」
「せ、線まで! きちんと線まで入れてくださいぃいぃ!!」
「残念だったなあ、俺は1センチ残す派なんだよぉ! ははは!」
304デフォルトの名無しさん:2006/05/28(日) 04:06:42
Persecについて、yaccやlex、boostのspiritしか知らない俺にも
わかる解説が欲しい。ご存知ありませんか?
ttp://www.lab2.kuis.kyoto-u.ac.jp/~hanatani/tmp/Parsec.html
を読んでもサッパリわかりませんでした。
305デフォルトの名無しさん:2006/05/28(日) 18:25:15
>>303
焼きそばというオチじゃなかったっけ?
別バージョン?
306デフォルトの名無しさん:2006/05/30(火) 18:23:09
>>304
おれもおれも
307デフォルトの名無しさん:2006/05/31(水) 13:36:34
NTTの未来想論2006行く人挙手ノ
308デフォルトの名無しさん:2006/05/31(水) 23:08:42
Parsec, ケ篦ョ、ハ・ウ・モ・ヘ。シ・ソ・ム。シ・オ

確かにさっぱりわからん
309デフォルトの名無しさん:2006/05/31(水) 23:10:18
>>304
そこみて分からんようじゃぁ、何見ても(ry
Lispでもつかとけw
310デフォルトの名無しさん:2006/06/01(木) 09:57:37
>>304
Haskelしらねぇと話にならないってことじゃないのかえ?
311デフォルトの名無しさん:2006/06/01(木) 17:07:35
Persecの仕組みが知りたかったのですが、
Haskel知らないととダメということならあきらめます。
ありがとうございました。
312デフォルトの名無しさん:2006/06/02(金) 03:22:33
>>311
難しくないからおぼえりゃいい。
というかあそこのページ読み下すのにコード例を読めなければ意味が半減じゃろ?

313デフォルトの名無しさん:2006/06/02(金) 16:58:22
あのページ以外にももっとわかりやすい記述
(Haskell以外の言語を使うとか、もっと概念的な説明があるとか)
があればうれしかったのです。

でも、せっかくなのでなんとかHaskellを覚えようと思います。
そもそもParsecがHaskell固有の機能や概念を使ったものかどうかすら
わからないので、とにかくParsecのコード例を読めるよう勉強します。
314デフォルトの名無しさん:2006/06/03(土) 03:09:34
ちょうど Haskell の入門書が出た所だよ。内容は Haskell スレで聞いてみれ。
315デフォルトの名無しさん:2006/06/03(土) 03:28:22
世界一簡単なMonadの説明みたいなのが欲しいかもね
316デフォルトの名無しさん:2006/06/03(土) 03:44:50
ANTLRのチュートリアルでおすすめのものってないですか?
C++のコード吐かせて使いたいんですが、APIがよ〜わからん。
317デフォルトの名無しさん:2006/06/03(土) 03:51:10
解ればどうってことない。<モナド
318デフォルトの名無しさん:2006/06/03(土) 06:22:43
そうそう。要は自己関手と自然変換からなる圏にモノイド構造を
入れ込んだものと思えばよい。
319デフォルトの名無しさん:2006/06/03(土) 16:59:28
>>318
あぁ、ナルホド。凄い分かり易い...



わけねーだろw
320デフォルトの名無しさん:2006/06/04(日) 12:36:38
298ですが、299は私ではないです。一応念のため。
それと2chなんでダメ元で聞いておりますので別にレスが無くても特に構わないのです。でわでわ。
321デフォルトの名無しさん:2006/06/04(日) 15:42:55
あ、もともと2chを見てる人に答えがわかるとは期待してないという意味です。でわ。
322こゆのは晒すべきだろう:2006/06/04(日) 16:20:18
2chを見てる人=321
捨て台詞にしても陳腐だな。おまえ心に棚を作り過ぎたんじゃねえのw
323デフォルトの名無しさん:2006/06/04(日) 16:32:47
心の棚はいくつあっても無駄にはならん
324デフォルトの名無しさん:2006/06/04(日) 17:36:10
>>322
相手にすんなって。寂しいだけなんだから。
居座られても困るだろ。
325デフォルトの名無しさん:2006/06/04(日) 19:39:53
>>323
変に数が多いと埃が溜まりやすいけどな
326デフォルトの名無しさん:2006/06/05(月) 03:03:12
320と321が同一人物であるとも限らんわけだが。
いずれにしても、だれかこいつに「スレ違い」という言葉の意味を教えてやれよ。
327デフォルトの名無しさん:2006/06/05(月) 10:15:20
誰かが自分を気にしてるとでも思ってるのかこいつはw
328デフォルトの名無しさん:2006/06/05(月) 14:10:12
>>327
それ、お前が書き込むまでは成立してたんだがなw
329デフォルトの名無しさん:2006/06/05(月) 14:26:02
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
330デフォルトの名無しさん:2006/06/05(月) 20:14:42
反応してる時点で気にしまくり
331デフォルトの名無しさん:2006/06/05(月) 21:03:26
どうしてもそう思うなら別にそれでもいいけど
332デフォルトの名無しさん:2006/06/05(月) 21:53:34
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。

- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
333デフォルトの名無しさん:2006/06/06(火) 06:20:41
>>331
誰もお前のことなんか気にしてないから頑張らなくていいよw
334デフォルトの名無しさん:2006/06/06(火) 08:40:52
>>333
それ、お前が書き込むまでは成立してたんだがなw
335デフォルトの名無しさん:2006/06/06(火) 18:51:13
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
336デフォルトの名無しさん:2006/06/07(水) 00:03:45
反応してる時点で気にしまくり
337デフォルトの名無しさん:2006/06/07(水) 00:11:11
どうしてもそう思うなら別にそれでもいいけど
338デフォルトの名無しさん:2006/06/07(水) 08:25:05
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。

- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
339デフォルトの名無しさん:2006/06/07(水) 21:59:54
>>337
誰もお前のことなんか気にしてないから頑張らなくていいよw
340デフォルトの名無しさん:2006/06/07(水) 23:22:27
>>339
それ、お前が書き込むまでは成立してたんだがなw
341デフォルトの名無しさん:2006/06/07(水) 23:45:31
なにこの強烈なデジャヴ
342デフォルトの名無しさん:2006/06/07(水) 23:53:14
押井守のアレかよ!

343デフォルトの名無しさん:2006/06/08(木) 08:05:27
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
344デフォルトの名無しさん:2006/06/08(木) 08:35:11
明日はコンパイラ祭。でも、俺の夢は、333や334さまや335さま、
336ちゃんや337さんや338さん達とずーっと、ずーっと煽りあって
楽しく過ごすことだ。
345デフォルトの名無しさん:2006/06/08(木) 08:55:38
反応してる時点で気にしまくり
346デフォルトの名無しさん:2006/06/08(木) 19:11:02
どうしてもそう思うなら別にそれでもいいけど
347デフォルトの名無しさん:2006/06/08(木) 19:28:41
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。

- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
348デフォルトの名無しさん:2006/06/08(木) 20:06:07
>>346
誰もお前のことなんか気にしてないから頑張らなくていいよw
349デフォルトの名無しさん:2006/06/08(木) 21:34:03
>>348
それ、お前が書き込むまでは成立してたんだがなw
350デフォルトの名無しさん:2006/06/08(木) 22:09:02
なんかデジャブった
351デフォルトの名無しさん:2006/06/08(木) 22:29:06
押井守のアレかよ!
352デフォルトの名無しさん:2006/06/08(木) 23:36:14
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
353デフォルトの名無しさん:2006/06/09(金) 03:32:30
どうしてもそう思うなら別にそれでもいいけど
354デフォルトの名無しさん:2006/06/09(金) 08:05:10
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。

- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
355デフォルトの名無しさん:2006/06/09(金) 08:58:59
>>353
誰もお前のことなんか気にしてないから頑張らなくていいよw
356デフォルトの名無しさん:2006/06/09(金) 12:26:19
>>355
それ、お前が書き込むまでは成立してたんだがなw
357デフォルトの名無しさん:2006/06/09(金) 16:56:43
なにこの強烈な押井守
358デフォルトの名無しさん:2006/06/09(金) 18:49:18
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
359デフォルトの名無しさん:2006/06/09(金) 20:50:20
反応してる時点で気にしまくり
360デフォルトの名無しさん:2006/06/10(土) 01:45:52
どうしてもそう思うなら別にそれでもいいけど
361デフォルトの名無しさん:2006/06/10(土) 06:34:54
>>360
誰もお前のことなんか気にしてないから頑張らなくていいよw
362デフォルトの名無しさん:2006/06/10(土) 08:07:09
>>361
それ、お前が書き込むまでは成立してたんだがなw
363デフォルトの名無しさん:2006/06/10(土) 08:28:39
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
364デフォルトの名無しさん:2006/06/10(土) 08:30:20
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。

- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
365デフォルトの名無しさん:2006/06/10(土) 08:44:29
反応してる時点で気にしまくり
366デフォルトの名無しさん:2006/06/10(土) 08:45:47
どうしてもそう思うなら別にそれでもいいけど
367デフォルトの名無しさん:2006/06/10(土) 08:46:41
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。

- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
368デフォルトの名無しさん:2006/06/10(土) 08:55:49
>>366
誰もお前のことなんか気にしてないから頑張らなくていいよw
369デフォルトの名無しさん:2006/06/10(土) 11:30:59
>>367
そろそろレポートの締め切りも近いわけだが、がんばってくれ…。
370デフォルトの名無しさん:2006/06/10(土) 11:40:39
371デフォルトの名無しさん:2006/06/10(土) 11:57:56
どうしてもそう思うなら別にそれでもいいけど
372デフォルトの名無しさん:2006/06/10(土) 12:19:46
>>371
そろそろレポートの締め切りも近いわけだが、がんばってくれ…。
373デフォルトの名無しさん:2006/06/10(土) 14:13:44
>>372
いや、お前が書き込むまでは頑張ってたんだがなw
374デフォルトの名無しさん:2006/06/10(土) 14:50:05
>>373
誰もお前のことなんか気にしてないから頑張らなくていいよw
375デフォルトの名無しさん:2006/06/10(土) 17:58:05
あ、なんかデジャヴった
376デフォルトの名無しさん:2006/06/10(土) 18:12:25
押井守のアレかよ!
377デフォルトの名無しさん:2006/06/10(土) 18:22:55
話すネタ無いし、ループ好きなのわかったからそろそろ











ループしようぜ!
378デフォルトの名無しさん:2006/06/10(土) 19:54:52
どうしてもそう思うなら別にそれでもいいけど
379デフォルトの名無しさん:2006/06/11(日) 00:28:50
シャヨウ分野だなw
380デフォルトの名無しさん:2006/06/13(火) 22:41:32
なんか、この分野の日本人研究者って、
WーCUPサッカーレベルだねw
381デフォルトの名無しさん:2006/06/13(火) 23:39:09
いや、むしろスキーのジャンプって感じじゃないか?
382デフォルトの名無しさん:2006/06/14(水) 08:42:29
そのこころは?
383デフォルトの名無しさん:2006/06/14(水) 18:40:44
体重が軽い人ほど優秀
384デフォルトの名無しさん:2006/06/14(水) 21:53:52
>>383
いつの時代だよw
385デフォルトの名無しさん:2006/06/14(水) 22:54:08
確かにT先生もN先生もひょろひょろだな
386デフォルトの名無しさん:2006/06/17(土) 21:16:46
>>367
まだここを読んでればだけど、370が示したリンクで最初に出てくる
Boehmの解説ページなり、英語が嫌ならRubyの解説ページなんかいいんじゃないか。

http://i.loveruby.net/ja/rhg/book/gc.html

Rubyの手法の場合、Rubyのオブジェクトしか管理できないので、
Cのmalloc()の代替が欲しいということなら役に立たないけど。
387デフォルトの名無しさん:2006/06/17(土) 22:11:57
そしてループが始まった
388デフォルトの名無しさん:2006/06/18(日) 23:52:57
なんか、この分野の日本人研究者って、
WーCUPサッカーレベルだねw
389デフォルトの名無しさん:2006/06/18(日) 23:58:24
サッカーって書かれると吸血鬼を思い出す。
390デフォルトの名無しさん:2006/06/19(月) 00:01:51
そのこころは?
391デフォルトの名無しさん:2006/06/19(月) 00:40:05
sucker でしょ
392デフォルトの名無しさん:2006/06/19(月) 00:41:09
引き分けたで〜
日本の言語技術も、よくて引きわ(ry
393デフォルトの名無しさん:2006/06/19(月) 00:43:30
なんか、この分野の日本人研究者って、
WーCUPフットボールレベルだねw
394デフォルトの名無しさん:2006/06/19(月) 18:53:01
>>393
おそらく一番の馬鹿w
395デフォルトの名無しさん:2006/06/19(月) 19:06:55
>>394
いや、お前が書き込むまでは馬鹿だったんだがなw
396デフォルトの名無しさん:2006/06/19(月) 19:09:06
そのこころは?
397デフォルトの名無しさん:2006/06/19(月) 19:10:39
>>395
誰もお前のことなんか気にしてないから頭良くなっていいよw
398デフォルトの名無しさん:2006/06/19(月) 19:12:04
真の馬鹿がレスしてしまったら
そいつを「馬鹿」とは言えないだろ
399デフォルトの名無しさん:2006/06/19(月) 20:29:35
つまりお前が馬鹿ってことだ。
400デフォルトの名無しさん:2006/06/19(月) 23:32:05
ここは出来の悪い荒らしスクリプトの実験場みたいですね
401デフォルトの名無しさん:2006/06/20(火) 02:25:56
荒らしスレとして、削除されたりしてなw
402デフォルトの名無しさん:2006/06/20(火) 20:57:50
>>400
いや、お前が書き込むまでは実験場じゃなかったんだがなw
403デフォルトの名無しさん:2006/06/20(火) 21:04:49
なにこの強烈な鷹村守
404デフォルトの名無しさん:2006/06/21(水) 03:11:29
ようし、ラットをつれてこい
405デフォルトの名無しさん:2006/06/21(水) 15:24:39
ようし、ラットをつれてこい
406デフォルトの名無しさん:2006/06/22(木) 01:19:53
ようし、マッチョつれてこいキュピピンっていうやつな
407デフォルトの名無しさん:2006/06/24(土) 04:11:36
データフロー解析の簡単な例プリーズ
408デフォルトの名無しさん:2006/06/25(日) 21:04:50
たとえばリンクリスト内にサイクルがあるかを解析するデータフロー方程式は
以下のように書ける。




記号が出なかったので、やっぱりやめ。
409デフォルトの名無しさん:2006/06/26(月) 19:39:40
結論として、Rubyは糞!でよろしかったですか?
410デフォルトの名無しさん:2006/06/26(月) 20:36:14
RubyもLispも糞
411デフォルトの名無しさん:2006/06/26(月) 20:37:19
JavaがBEST
412デフォルトの名無しさん:2006/06/26(月) 20:37:19
それでは、結論として、RubyもLispも糞!でよろしかったですか?
413デフォルトの名無しさん:2006/06/26(月) 23:28:29
それでいいよ。
Haskellに比べたら、それぞれ「不純物」「いい加減」でしかないし。
414デフォルトの名無しさん:2006/06/26(月) 23:44:40
いえ、Haskellは、元々問題外でしたから…
415デフォルトの名無しさん:2006/06/28(水) 21:26:27
質問です、一版論として文字列中への変数値の文字列展開は、どのタイミング
で行うのが一般的でしょうか?

PATH="$PAHT:/etc"

として、文字列リテラルを認識したとき?
それとも左辺へ代入したとき?
それとも左辺値を評価するとき?
416デフォルトの名無しさん:2006/06/28(水) 22:32:20
>文字列リテラルを認識したとき
実装の容易さで大抵これになる。

>左辺値を評価するとき
でもLazy実装もいいかも。

文字列オブジェクトが不変であれば
本当の最後になるまでは展開しなくてもよさげ。
417デフォルトの名無しさん:2006/06/28(水) 23:59:39
>>416
横やりだが、例えば、

x=3
Sample="#x is three."
x+=1
p Sample

のときの表示って、考え方によって異なるね。
418デフォルトの名無しさん:2006/06/29(木) 02:25:02
もし、その表示が異なるなら、考え方の違いと言うより、仕様の違いだと思う>>417
419デフォルトの名無しさん:2006/06/29(木) 23:26:31
設定ファイルを解析し
ソースコードをC、JAVA、C++用に自動出力したいのですが

構造解析までは終わったのですが、そのデータをもとに中間言語を
吐き出したいのです。中間言語のみを作るソフトってありませんか?
420デフォルトの名無しさん:2006/06/30(金) 00:00:48
javac
421デフォルトの名無しさん:2006/06/30(金) 00:02:09
>>419
・設定ファイルって一体なんだ
・中間言語のみを作るソフトはいっぱいあるが、それがどうしたのか
・というか、あんたは一体何をしたいのか
422デフォルトの名無しさん:2006/06/30(金) 00:08:27
>>421
設定ファイルには制御機器のパラメタとかそんな情報が入ってます。
この設定ファイルを読み込み各機器に合わせた設定を行う
Cのソースを吐かせたいのですよ。

中間言語だけ作るソフト教えてくれませんか?
423デフォルトの名無しさん:2006/06/30(金) 00:13:06
> ソースコードをC、JAVA、C++用に自動出力したいのですが

> Cのソースを吐かせたいのですよ。

JAVAとC++は何処へ行った
424デフォルトの名無しさん:2006/06/30(金) 00:18:34
>>422
設定ファイル     C/C++/Java のプログラム
→→→→→→→→→→→→→→→→→→→→
        変換機

この 「変換機」 が作りたいという判断でOK?
んで、求めているのは

設定ファイル          中間言語       C/C++/Java のプログラム
→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
       中間言語作るソフト    自作の変換機

これか?
425デフォルトの名無しさん:2006/06/30(金) 00:23:05
うんうんそうそう
俺なんか>>424が神様に見えてきたよ
ありがたやありがたや。

>>423
最初から欲張るなとか怒られそうなので控えめな
最小限の希望を最後に書きました
426デフォルトの名無しさん:2006/06/30(金) 00:26:22
>>425
とりあえず 「設定ファイルの仕様」 「変換後の C/C++/Java ソースコードのサンプル」 だけでも教えてくれ。
それが分からないと、どうにも言いようがない罠w
427デフォルトの名無しさん:2006/06/30(金) 00:33:03
まだファイルの仕様とか決めていないのですよ
中間言語作るソフトって具体的にどんなソフトなのでしょうか
428デフォルトの名無しさん:2006/06/30(金) 00:37:29
求めてるソフトに望んでる仕様は何なんだ?
多分そんなソフトはないし全部作ることになると思うけど。
429デフォルトの名無しさん:2006/06/30(金) 00:38:11
>>427
バカスwwwwwwwwwwww
お前が求めているソフトは未来人でしか作れんわwwwwwwwww


どうだろうね。.NET の CodeDOM とか参考になるかも。
430デフォルトの名無しさん:2006/06/30(金) 00:45:53
えーと、gccのRTLという中間言語どうやって出来たんだろう
なんかツールで文法とか作ったのかな
431デフォルトの名無しさん:2006/06/30(金) 01:02:23
>>430
もしかして、中間言語の仕様を自動生成しようとか思ってるw?
432デフォルトの名無しさん:2006/06/30(金) 02:51:42
言語をいくつか嗜んでくうち野心に満ちてきました。
俺言語作りたい!!

ポインタをハッシュテーブルで包んであげたらOOPなる?
そんなあまかないですね。
質問であります。俺言語作る人って出回ってるライブラリとか使わないの?
433デフォルトの名無しさん:2006/06/30(金) 03:00:01
>>432
新しく作った言語は、Red-Sapphire と命名しましょう。
434デフォルトの名無しさん:2006/06/30(金) 03:20:35
435デフォルトの名無しさん:2006/06/30(金) 03:22:48
>>432
>ポインタをハッシュテーブルで包んであげたらOOPなる?
Io をオススメしてみる。
436デフォルトの名無しさん:2006/06/30(金) 04:58:18
スロットの問い合わせにハッシュを使わない動的型付けな OOPL の実装ってある?
437デフォルトの名無しさん:2006/06/30(金) 06:15:36
>>432
名前はダイナモンドにしろ
438デフォルトの名無しさん:2006/06/30(金) 10:16:15
それいけそれいけガイコッツー うんうん ガァ〜イコツー
439デフォルトの名無しさん:2006/06/30(金) 20:31:34
命名の参考にもっとも必要なのは、
プログラム言語名称の一覧ではないかと愚考する
440デフォルトの名無しさん:2006/06/30(金) 21:32:11
>>439
それもそうだな。

プログラミング言語一覧 - Wikipedia
ttp://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E4%B8%80%E8%A6%A7
ABC's Song - kMonos.NET
ttp://www.kmonos.net/alang/abc/
Hello, World Page!
ttp://www2.latech.edu/~acm/HelloWorld.shtml

もっと詳しいのなかったっけ?
441デフォルトの名無しさん:2006/07/01(土) 01:06:27
>>440
2つ目のリンクがオッパイのflashかと思ってしまいましたorz
442デフォルトの名無しさん:2006/07/01(土) 02:05:09
>有志の皆様
ふれてない命名だけこんな濃いアドバイス頂きありがとうございます。

>435
io をちょろっといじくってますけど、
他の言語手を出せば出すほど車輪が頭を過ぎりました

関係ないですけど、flexとbisonをいじり倒してみて思った事があります。
サンプルの使い方から馴染むと苦労する。そんな事無い?
443デフォルトの名無しさん:2006/07/01(土) 09:43:31
最近の流行は手書きだぞ
gcc4.1だってフルスクラッチで書いてあるんだぞ
444デフォルトの名無しさん:2006/07/01(土) 14:37:43
C++のfrontも?
445デフォルトの名無しさん:2006/07/01(土) 14:41:46
>>444
front?
446デフォルトの名無しさん:2006/07/01(土) 18:46:45
お客様frontは、3階になっております
447デフォルトの名無しさん:2006/07/07(金) 01:10:43
正規表現のRFCってどこにあったっけ?
448デフォルトの名無しさん:2006/07/07(金) 01:58:58
POSIX じゃ駄目?
449デフォルトの名無しさん:2006/07/07(金) 02:01:57
完全にサポートしているソフトがない規格
450デフォルトの名無しさん:2006/07/08(土) 08:05:00
>>449
アフォ?
ふつうフルサポートされてますが、
451デフォルトの名無しさん:2006/07/08(土) 09:39:59
されてないよ

ケーパビリィティとか

つうかPOSIXったって細かく色々あるわけで
452デフォルトの名無しさん:2006/07/08(土) 16:03:26
POSIXのどれか指定しないと意味のない議論だね。
453デフォルトの名無しさん:2006/07/09(日) 18:02:50
ん?アフォ?
正規表現の話でしょ?
Posixで確定できるよ。
454デフォルトの名無しさん:2006/07/09(日) 18:37:58
そうですね
455デフォルトの名無しさん:2006/07/09(日) 19:01:20
なんだよいいともかよ
456デフォルトの名無しさん:2006/07/12(水) 04:44:30
POSIXよりPerlの正規表現が強力な件
457デフォルトの名無しさん:2006/07/12(水) 04:57:22
N88BASICみたいな初心者向けの言語で、広く使われている言語ってありますかね?
458デフォルトの名無しさん:2006/07/12(水) 09:34:29
すぐ思いつくのは Python かな。もともと教育用言語だった。
459デフォルトの名無しさん:2006/07/12(水) 12:04:09
>>458
なるほど、教育用言語は間違いなく初心者向けですね
教育用言語と言われるとPascalも思い出しますね
ありがとうございます

ただ、プログラミングの教育用言語というようなもの以外に、
普段プログラミングをしない人が初めてのプログラミングが必要になる、
そういう場合に適した言語を探しています。
VisualBasicは書いたことがないけど、感覚的にはそういうのです
460デフォルトの名無しさん:2006/07/12(水) 18:23:21
教育用=初心者用 ということならば、

Lisperは皆初心者ってことでOK?
461デフォルトの名無しさん:2006/07/12(水) 18:42:35
>>459
そういうことならTcl/TKが適しているように思う。
必須となる概念が少ない、GUI作成が容易、環境非依存等々。
462デフォルトの名無しさん:2006/07/12(水) 21:00:07
>>459
JavaScript か Python かなぁ。
色んなツールのマクロ言語として良く使われているから、非プログラマにも
受け入れられ易いんじゃないかな。

>>460
Lisp が対象としている初心者は、将来 Wizard になる事を期待されている
理工系の学生とかじゃないかな。
463デフォルトの名無しさん:2006/07/12(水) 21:57:37
>>462
ECMAScriptは初心者用とは違うでしょう。Pythonは知らないけど。

N88BASICかVisualBasicかでいいんじゃないかと思う
464デフォルトの名無しさん:2006/07/12(水) 22:28:44
初心者専用という意味ではなく、初心者にも取っ付き易い言語って事で挙げたんだけどな。
ドキュメントが多いし、インストール不要だし、エディタマクロやちょっとしたウェブページの装飾
にも使われているし。

後は用途次第かな。
465デフォルトの名無しさん:2006/07/12(水) 22:37:57
皆さんありがとうございます。

>>464
用途としては、実はJavaScriptを書かせるのが難しすぎるため、
もっと簡単な言語を用意してあげられないか、という話なのです。
プログラマじゃない人間にとってはJavaScriptも難しすぎるようです。
466デフォルトの名無しさん:2006/07/12(水) 22:52:17
さあどんどん後出し設定がでてきますよ
467デフォルトの名無しさん:2006/07/12(水) 22:56:58
実は生徒は日本語が(ry
468デフォルトの名無しさん:2006/07/12(水) 23:02:20
>>465
JavaScript がダメなら Python もダメだろうね。
普通の人なら半日も教えれば自習出来るようになるとは思うけど...
469デフォルトの名無しさん:2006/07/12(水) 23:24:35
>>468
はい。実はPythonも試してみましたが難しすぎるようでした。
470デフォルトの名無しさん:2006/07/12(水) 23:36:19
BASICでいいじゃん。

変数の宣言もいらないし、関数の概念すらないし、
GOTOは直感的にわかりやすいだろうし、
初めてプログラムを書く人にとっては良いと思うよ
471デフォルトの名無しさん:2006/07/12(水) 23:41:01
ttp://ja.wikipedia.org/wiki/BASIC
Full BASICという標準化されたベーシックがあるらしいな
でも行番号のないベーシックはベーシックでない気がする
472デフォルトの名無しさん:2006/07/13(木) 00:02:23
BASICの肝ってインタラクティブ環境だってことだと思うんだけどなぁ。
言語がlispでエディタ機能がグッとよくなったらemacsって言うのかもしれないけど
473デフォルトの名無しさん:2006/07/13(木) 00:26:39
>>472
インタラクティブ、懐かしいね。すっかり忘れてた
474デフォルトの名無しさん:2006/07/13(木) 02:44:19
Javascriptのどこが難しいんだよ
奥は深いけど、軽く使う分にはお手軽じゃんよ

いきなり「プロトタイプ指向の〜」とか教えてないよな
475デフォルトの名無しさん:2006/07/13(木) 03:34:49
>>474
例外的な文法が多くて混乱させる悪質な言語だと思う。
・グローバルスコープでは変数の宣言が必要なくて、関数スコープでは必須
・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
・o["name"]とo.nameが同じにも関わらず、o["123abc"]は問題なくo.123abcは文法違反
476デフォルトの名無しさん:2006/07/13(木) 09:31:05
>>475
>・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ

これは良いんじゃないの。同じなんだから。
477デフォルトの名無しさん:2006/07/13(木) 09:50:37
>>476
var a = []; a[0] = 0; a[1] = 1; window.alert(a.length);
var o = {}; o[0] = 0; o[1] = 1; window.alert(o.length);
478デフォルトの名無しさん:2006/07/13(木) 10:28:25
javascript は with が邪悪に感じるよ
with ("") toString = toString();
こんなよーなのに殺意を抱く
あと
this[0]
this["0"]
this[00]
this["00"]
this[false]
this["false"]
ここらへん違和感
479デフォルトの名無しさん:2006/07/13(木) 13:42:41
>>475にとっては自分自身で設計した言語じゃないと全て例外ありまくりだな。


> ・グローバルスコープでは変数の宣言が必要なくて、関数スコープでは必須

グローバルスコープでも宣言すりゃあいいんでは。
「宣言したら宣言のあったところのスコープになる。なければグローバル」
と理解すればいいんじゃないの。

> ・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ

どこが例外的なのかさっぱり理解できん。

> ・o["name"]とo.nameが同じにも関わらず、o["123abc"]は問題なくo.123abcは文法違反

後者でo.123abcを許す方が例外的だと思う。
480デフォルトの名無しさん:2006/07/13(木) 15:24:27
>>475
>・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
ECMAScript のArrayは「配列型」みたいな専用の型じゃなくて「Arrayオブジェクト」だもの…
オブジェクト型である以上他のオブジェクトと同じようにアクセスできるのが自然.

# だからといってECMAScript がそれほど初心者向き言語だとは思わないが…
481デフォルトの名無しさん:2006/07/13(木) 15:29:51
>>479

> 後者でo.123abcを許す方が例外的だと思う。

実装屋さんからすればその通りだが、俺が初めてCに触ったときに
void 3kaku() {}
という関数が受け入れられない理由がさっぱりわからなかった。

技術者の発想では、初心者用の言語は出来ないだろうね。
482デフォルトの名無しさん:2006/07/13(木) 20:56:59
言語の方からすべて初心者の要望にあわせた言語を作るなら
使い物にならん日本語言語が出来るか
VBやHSPをはるかに超えたクソ言語ができるだろう。
483デフォルトの名無しさん:2006/07/13(木) 21:10:24
コンパイラに入門をしたいのですが、
最低限動かしながら覚えていく手段はありませんでしょうか?
コンパイラの簡単な理論の本は読んだんですが、
コンパイラが動くための全ての理論を理解して全て実装してから
というのは膨大な時間が必要なようで困っています。
484デフォルトの名無しさん:2006/07/13(木) 21:23:27
まずRubyの一行スクリプトから初めて、
次の日に二行スクリプト、
次には三行スクリプト。
485デフォルトの名無しさん:2006/07/13(木) 21:26:07
Intelにインターンとして行ってみたら?
486デフォルトの名無しさん:2006/07/13(木) 23:04:30
>>478
どこが?

お前の感覚では、100円と100Kg が違うのも違和感だろうなぁ
487デフォルトの名無しさん:2006/07/13(木) 23:16:05
>>486
あれ、478は100円と100kgが同じであることに違和感を感じているんでしょ?
488デフォルトの名無しさん:2006/07/13(木) 23:55:05
>>485
Intelとは技術展で飴もらうくらいしか関わり合いがないれすorz。
489デフォルトの名無しさん:2006/07/14(金) 00:17:48
>>483
仮想マシンつくってそのマシン用のコンパイラを今の自分の環境で作って
その次にその新しい言語のコンパイラを自己記述してから仮想マシンに持って行く
という方法が一番学習には向いてるとおもう。

古い文献(30年位前?)でμplanって言語の紹介がbitにあったけどああいうもので始めるのはある意味正解かもしれない
planのvmは4Kバイトのアドレス空間しかない16ビットの仮想スタックマシン.

つかコンパイラ系の処理の何を会得したいのか不明じゃあんまり示唆のしようもないんだけどな。
490デフォルトの名無しさん:2006/07/14(金) 02:30:37
>>483

機械語コードを吐くコンパイラ作成の入門としては、昔こんなのがあったんだけど、

yaccによるCコンパイラプログラミング (単行本)
近藤 嘉雪
http://www.amazon.co.jp/gp/product/4890521364/249-1753832-7052360?v=glance&n=465392

今はもう手に入らないしねえ。

>>489の言うとおり、最初は簡単な仮想マシン上で動くものを作るほうがいいように思う。

yacc/lex―プログラムジェネレータonUNIX (単行本)
五月女 健治
http://www.amazon.co.jp/gp/product/4924998141/249-1753832-7052360?v=glance&n=465392

この本では、簡単なスタックマシン上で動作するCライクな処理系の
フルソースが載ってたはず。でもこれも絶版…と思ったら、Amazonで中古が
手に入るのか。

レビューでは星ひとつになってるが、俺には結構役に立ったんだがなあ。
# でもやっぱり説明は役に立たずに、ひたすらサンプルコードを読んでたが。

491デフォルトの名無しさん:2006/07/14(金) 16:08:20
全部持ってるけどさわり以外まったく読んでないな
492デフォルトの名無しさん:2006/07/14(金) 23:19:36
本読んで理解するより、自分で作った方が早い
BNFと再帰程度の知識で、コンパイラは書ける
493デフォルトの名無しさん:2006/07/14(金) 23:35:12
コンパイラ作れない香具師はプログラマとして認められず
494デフォルトの名無しさん:2006/07/14(金) 23:50:47
どっちの人にもメール送ったけど原稿は紙だし再販する気は
ないみたい
495デフォルトの名無しさん:2006/07/15(土) 01:18:14
────────────────────────────────
参加者:筑紫 鳥越 古舘 小倉 田原  閲覧(1)
────────────────────────────────
筑紫 : ROMってる奴ってネットウヨなんじゃないの?
────────────────────────────────
鳥越 : インターネッツのゴミ貯め・2chに生息するあの連中ですかww
────────────────────────────────
古舘 : 怖い怖い、我々も論破されちゃうんですかね〜(藁
────────────────────────────────
田原 : 論破して貰おうじゃないの、ホラ、入ってきなさいよ
────────────────────────────────
小倉 : さっさと入って来いよ、ハゲ!
────────────────────────────────
『櫻井よしこ』が入室しました
────────────────────────────────
『筑紫』が退室しました
────────────────────────────────
『鳥越』が退室しました
────────────────────────────────
『古舘』が退室しました
────────────────────────────────
『田原』が退室しました
────────────────────────────────
『小倉』が退室しました
496デフォルトの名無しさん:2006/07/15(土) 12:13:26
497デフォルトの名無しさん:2006/07/15(土) 15:52:21
498デフォルトの名無しさん:2006/07/15(土) 21:07:09
なんでどっちも、圧縮形式で何十キロもあるんだよ
最低限のことしかやってなかったら、そんなに大きいはずない
俺が暇つぶしに書いたヤツ、圧縮しなくても18キロだよ?
499デフォルトの名無しさん:2006/07/15(土) 21:25:16
このスレで IActiveScript 系の質問するとスルーされるようなのですが、
他に専用スレでもあるんでしょうか?
500デフォルトの名無しさん:2006/07/15(土) 21:59:54
>>498
vtlの方はしょうがないんじゃないの、実行ランタイムもついてたし。
なにしろvtlでvtlコンパイラ書いてあるの初めてみた(近いものでgameコンパイラ以来かも、つってもラベル使えるvtlってのはvtlと認めたくないけど)
501デフォルトの名無しさん:2006/07/16(日) 09:44:55
DQN玄子はするーされまつ
502デフォルトの名無しさん:2006/07/17(月) 22:36:41
インタプリタつくってるんだけど、実行部分のクラス名をExecutorにするかEvaluatorにするかで迷ってます。
どっちがいいと思う?
つまらん質問でごめん!
503デフォルトの名無しさん:2006/07/17(月) 22:40:00
古の REPL に倣うなら Eval... の方。
504デフォルトの名無しさん:2006/07/17(月) 23:07:54
小さいコンパイラシリーズもっとキボンヌ
505デフォルトの名無しさん:2006/07/18(火) 01:33:43
>>498
496のほうだけど、圧縮ファイルほどくとドキュメントが一番でかいよ。
506デフォルトの名無しさん:2006/07/19(水) 19:42:17
りんごタン
507デフォルトの名無しさん:2006/07/20(木) 14:27:02
>>499
IActiveScriptのIDispatch の話なら、

http://alpha.sourceforge.jp/diary/0602.html
この辺見たら何かわかるかも。

「自分のグローバルメンバを公開するか」ということと、
「他の言語のグローバルメンバにアクセスできるか」ということに分けて考えられる。
前者については IActiveScript::GetScriptDispatch で得られる
IDispatch (IDispatchEx で実装していることが多いみたい) ポインタがグローバルオブジェクトになり、

等とかいてあるけど。

508デフォルトの名無しさん:2006/07/20(木) 17:52:38
あ?ケンカう
509デフォルトの名無しさん:2006/07/21(金) 13:26:41
>>502
Executor インタプリタ の検索結果 約 1,520 件中 1 - 10 件目 (1.46 秒)
Evaluator インタプリタ の検索結果 約 279 件中 1 - 10 件目 (0.83 秒)
Executor interpreter の検索結果 約 147,000 件中 1 - 10 件目 (0.14 秒)
Evaluator interpreter の検索結果 約 554,000 件中 1 - 10 件目 (0.33 秒)
日本だと、Executor 国際的にはEvaluatorが多いみたい。
510デフォルトの名無しさん:2006/07/21(金) 19:32:04
executorは殺されそうで怖い
511デフォルトの名無しさん:2006/07/21(金) 22:08:03
executeだとVMのようなバイトコードエンジンのイメージがある
evalだと値の評価って感じなのでノードを扱ってるイメージかも

>>510
死刑執行人だっけ?
512デフォルトの名無しさん:2006/07/21(金) 22:22:17
えくせきゅーしょなー
513デフォルトの名無しさん:2006/07/21(金) 23:26:24
evaluator の方は validate 噛ましてるようなイメージない?
514デフォルトの名無しさん:2006/07/25(火) 22:41:35
一方ロシアはawkを使った。
515デフォルトの名無しさん:2006/07/25(火) 23:48:30
それ、元ネタなんだっけ?
516デフォルトの名無しさん:2006/07/25(火) 23:58:22
安西先生
517デフォルトの名無しさん:2006/07/26(水) 00:49:16
>>515
鉛筆を使ったって奴じゃろ。
518デフォルトの名無しさん:2006/07/26(水) 22:58:00
しかし、日本はRubyを選んだ。
519デフォルトの名無しさん:2006/07/27(木) 03:06:29
しかし島根は Ruby を選んだ



ttp://www.rubyist.net/~matz/20041210.html#p04
520デフォルトの名無しさん:2006/07/28(金) 16:59:13
アンチRuby房は、竹島を韓国領土とでもいうのでしょうな。

521デフォルトの名無しさん:2006/07/28(金) 22:35:19
>>520
言おうものなら自分の立脚している大地をぶちこわすだけだよ(笑

#国民は総統の(元台湾のw)声を聞く!
#元ネタわかる人は原語で書いてみよう
522デフォルトの名無しさん:2006/07/28(金) 22:37:02
台湾の総統って4人しかいないんか
523デフォルトの名無しさん:2006/07/29(土) 13:28:59
>>520
そんなアンチ「Ruby房」は君の妄想の中にしかいないから安心しろ。

Rubyの実装が腐ってるのは事実だし、これは作者も認めるだろう。
言語仕様は結局好みの問題だろうが。
524デフォルトの名無しさん:2006/07/29(土) 15:47:47
実装が腐っているとか、作者も認めているとか
言いたい放題言いやがって、

脳内玄子お宅馬鹿は、すっこんでろ!
525デフォルトの名無しさん:2006/07/29(土) 18:19:21
とまぁこんな風にRuby信者は頭が悪いわけです
526デフォルトの名無しさん:2006/07/29(土) 18:34:14
こういうのって安置rubyが意図的に書き込んでるじゃなかったの?w
527デフォルトの名無しさん:2006/07/29(土) 19:52:43
使う側にとっては実装が腐ってても別にかまわんわけで
でもbeginとendで囲むのはめんど(ry
528デフォルトの名無しさん:2006/07/29(土) 21:36:44
beginとendで囲むと言ってる時点でruby使って無いのがバレている訳で
529デフォルトの名無しさん:2006/07/29(土) 21:38:59
python使いです
530デフォルトの名無しさん:2006/07/29(土) 23:15:18
{}でも大丈夫です
531デフォルトの名無しさん:2006/07/29(土) 23:36:34
> Rubyの実装が腐ってるのは事実だし、これは作者も認めるだろう。

おい、ソース出してみろよw
ふざけたこと書き込むなよな。馬鹿が信じるだろw
532デフォルトの名無しさん:2006/07/29(土) 23:47:43
>>531
ttp://www.rubyist.net/~matz/20060718.html#p02
>まあ、自分のことを言語実装者としてよりも言語設計者と考えている私としては

ttp://www.rubyist.net/~matz/20040724.html#p01
>これでRiteの実行系は任せることができるかもしれない。楽できる。
>というか、モノをつくり出す能力が減退しているので、笹田くんのような若い力はありがたい


ぱっと思い出せるフレーズとしてはこんな感じ。
まあ、これは自虐じゃなくて謙遜だろうけど。
533デフォルトの名無しさん:2006/07/30(日) 00:06:49
それだけの情報で「腐ってる」とは・・・
534デフォルトの名無しさん:2006/07/30(日) 00:21:07
どの行間読んだら、作者が認めていることになるんだw
535532:2006/07/30(日) 00:25:53
>>534
あ、俺 >>523 じゃないから注意ね。言っても信じてもらえんとは思うが。
536デフォルトの名無しさん:2006/07/30(日) 01:03:43
どうにもこうにも、Rubyの実装が腐っていることは事実なんだけどな。

いまどきVMでもない、再帰で構文木を下降するような実装で、
本質的に速度を追求できない構造であるにもかかわらず、
いらんところでCの低レベルな機能に頼りすぎ。
breakごときでlongjmp()するし、GCはスタックの構造に依存してるし、
Fixnumの持ち方なんかなんだありゃ。
スレッドがアレなのは、時代からするとしょうがないのかもしれないけれど。

それ以前に、ソース自体グローバル変数使いすぎだし。

ちなみにPerlの実装はもっと腐ってるが。つかあれのソースは読めない。
537デフォルトの名無しさん:2006/07/30(日) 03:33:11
Fixnumはオブジェクトとして扱いながら即値としても扱えるというメリットがあって好きだけど
538デフォルトの名無しさん:2006/07/30(日) 04:41:31
最近VMベースのruby実装もできてきてるがな。
539デフォルトの名無しさん:2006/07/30(日) 11:23:35
>>537
タグつきで数値とポインタを切り分けること自体は
Lispとかじゃあたり前にやってることで
別におかしくない

Ruby自体知らんから、Fixnumの何処が悪いかは知らんが
540デフォルトの名無しさん:2006/07/30(日) 11:33:59
>本質的に速度を追求できない構造であるにもかかわらず、
>いらんところでCの低レベルな機能に頼りすぎ。

これ一行目と二行目で言ってること矛盾してるんだよね。

本質的に速度を追求できない構造であるからこそ
いらんところでCの低レベルな機能に頼ってるんだよ。
541デフォルトの名無しさん:2006/07/30(日) 11:35:18

あ、漏れ一応 >540 だけど

Fixnum は良いと思うよ
542デフォルトの名無しさん:2006/07/30(日) 15:10:07
>>539
Lispどころか、コンパイルするのが前提のMLなんかでも普通に
タグつけてる。
543デフォルトの名無しさん:2006/07/30(日) 18:22:30
だんだんと、Ruby 擁護スレになりつつありま(ry
544デフォルトの名無しさん:2006/07/30(日) 19:46:53
>>568
お前はよくこのスレの流れを変えれたよな
すごい尊敬するよ
545デフォルトの名無しさん:2006/07/30(日) 19:57:41
さすがだよな>>568
546デフォルトの名無しさん:2006/07/30(日) 19:58:14
すげーや>>568
547デフォルトの名無しさん:2006/07/30(日) 20:07:01
オレも>>568はやってくれると思っていたよ。
548デフォルトの名無しさん:2006/07/30(日) 20:21:42
>>568に嫉妬
549デフォルトの名無しさん:2006/07/30(日) 20:26:16
また厨房大好き未来安価か
550デフォルトの名無しさん:2006/07/30(日) 20:36:58
>>551
また「もう夏休みか」って聞き飽きたよ!
551デフォルトの名無しさん:2006/07/30(日) 20:44:45
>>540
>本質的に速度を追求できない構造であるからこそ
>いらんところでCの低レベルな機能に頼ってるんだよ。

rubyの実装の詳細を全く知らないあたしには、
一行目と二行目が全くつながりません

速度的に絶望な上に、プログラム的にも汚くて
どうしようもない実装には、なんとなく聞こえますが
552デフォルトの名無しさん:2006/07/30(日) 20:57:53
「知らないからわかりません」
そりゃそうでしょうな。

次の方どうぞ。
553デフォルトの名無しさん:2006/07/30(日) 21:42:23
そりゃ、おまいもしらんもんなw
554デフォルトの名無しさん:2006/07/30(日) 21:47:13
よくわかんないけどさ、

 ruby は (perlよりも) 純粋なオブジェクト指向言語だ

ってあたりでみんな同意して次いかないか?
555デフォルトの名無しさん:2006/07/30(日) 21:52:34
話題なんかねーんだからムリして話流そうとしてもムダだよ
556デフォルトの名無しさん:2006/07/31(月) 10:48:07
lispは主にリスト処理だけど、リストは線形探索とかで効率悪い。
配列を主に処理する言語としてarraypというのはどうだろう。
arraypでは語呂悪いのでrayp。




そこのあなた、
レイプじゃなくてレイピーと読みます。
557デフォルトの名無しさん:2006/07/31(月) 16:51:41
XMLなんてlispがあれば必要ない、って言ってた馬鹿はまだいますかね?
558デフォルトの名無しさん:2006/07/31(月) 17:18:22
559あばよ:2006/07/31(月) 18:10:54
明日コンパイラの試験があるんだが
無理
560デフォルトの名無しさん:2006/07/31(月) 22:17:22
配列も探索は線形だろアホ
561デフォルトの名無しさん:2006/07/31(月) 23:54:09
いや、ハッシュとか使えるじゃん
リストは苦しいっしょw
562デフォルトの名無しさん:2006/08/01(火) 00:04:12
lispでもhash使えることも知らんからアホ扱いされるんだよ
563デフォルトの名無しさん:2006/08/01(火) 00:06:44
>>561
わけわかめ。
配列はメモリ上に連続するデータ構造で、リストはポインタでつなげて順番を保つデータ構造って感じのイメージなんだが、違うんか?
ハッシュとか言い出したら、ハッシュ表からそれぞれの要素へのポインタ張れば、配列にでもリストにでも組み込めるじゃん。
564デフォルトの名無しさん:2006/08/01(火) 00:24:51
>リストはポインタでつなげて
厳密には、それは 『線形連結リスト』 だと思う。
565デフォルトの名無しさん:2006/08/01(火) 00:39:02
ArrayListとかあるしな
566デフォルトの名無しさん:2006/08/01(火) 00:57:51
つうかリストは悪者にされすぎだと思うんだ
使い方間違えなければ配列よりも適した場面だって多々ある
567デフォルトの名無しさん:2006/08/01(火) 01:03:56
>>562
Lispで配列もハッシュも使えること知ってて
わざとぼけたの
ネタにマジレスすんな
568デフォルトの名無しさん:2006/08/01(火) 01:07:13
>>567
文字列も使えるよ
569デフォルトの名無しさん:2006/08/01(火) 01:10:01
>>563
配列しかデータ構造がない場合でも
配列があれば、配列を使ってハッシュ表を実装することができる
そうすれば、線形探索以外の探索ができる

リストしかデータ構造がない場合は、
ちょっと思いつかねえや
まあ、苦しいでしょ
570デフォルトの名無しさん:2006/08/01(火) 01:31:22
>>567
はいはい、いつものネタでした宣言ですね。
まいどありー。もう来ないでくださいねー。
571デフォルトの名無しさん:2006/08/01(火) 01:59:19
だからそのリストしかデータ構造がないってのはどこ系の思い込みなのかと
572デフォルトの名無しさん:2006/08/01(火) 16:52:33
もうネタはいいよw
Lisp は List Processor だろ。もう来るな!
573デフォルトの名無しさん:2006/08/01(火) 17:29:47
luaはテーブル操作主体の言語だけど、どうだろうか。
574デフォルトの名無しさん:2006/08/01(火) 17:40:54
配列厨はAPL使ってろ
575デフォルトの名無しさん:2006/08/01(火) 20:47:10
>>571
556がそれっぽいこといってるから
適当にそういう状況を想定して書いただけだけだ
殆どのヤツが、ついて来れなかったみたいだな
576デフォルトの名無しさん:2006/08/01(火) 21:50:27
はいはい。お子様はよそで遊んでおいで

577デフォルトの名無しさん:2006/08/01(火) 22:57:11
ネタとしては非常に分かり難かったから仕方が無いでしょう。
578デフォルトの名無しさん:2006/08/02(水) 07:11:13
リスト構造を使わない速いschemeを作ろう
http://pc8.2ch.net/test/read.cgi/tech/1153459498/
579デフォルトの名無しさん:2006/08/03(木) 10:02:43
パーサってテキストをパースしてアクションを起こすものだと思うんですが、
オブジェクトの状態をパースしてアクションを起こしたいと思ったら、
オブジェクトをテキスト表現に変換して、そのテキストをパーサに食わせる

って考え方でいいんでしょうか?

rubyでたとえると「p obj」で得られたテキスト表現を
raccで書いたパーサに食わせるとか、p()じゃなくて
YAML形式にしてYAMLのサブセットのパーサを書いて食わせるとか
580デフォルトの名無しさん:2006/08/03(木) 14:19:25
オブジェクトのままじゃダメなの?
581デフォルトの名無しさん:2006/08/03(木) 15:54:59
テキストである必然性はないので、dump/loadとか
582579:2006/08/03(木) 17:49:21
>>580
オブジェクトのままでいいんです。
でもオブジェクトをパースしてアクション起こすものって、
結局rubyでゴリゴリプログラムを書かないとダメじゃないですか。
raccなら文法を専用の記法で書けるし、メンテ楽だし。
raccの入力がテキストである以上、いちどオブジェクトを
テキスト表現にしないといけないのかな、と。
583デフォルトの名無しさん:2006/08/04(金) 02:15:26
Rubyでゴリゴリってのと
専用の記法というのの違いがわからない。

Rubyじゃなくて他の記法でparserを書きたい、
けどparseする対象はRubyのオブジェクトですよ、ってこと?
584デフォルトの名無しさん:2006/08/04(金) 03:04:59
なんとなく有限状態マシン的なコードを楽に書ける方法ない?ってだけな希ガス
585デフォルトの名無しさん:2006/08/04(金) 03:42:13
オブジェクトをパース
っていう意味がわからない
説明よろ
586デフォルトの名無しさん:2006/08/05(土) 00:44:41
普通にEnumとかのデータ読み込んで次のオブジェクト作ったり
読んだりするだけじゃね?
587デフォルトの名無しさん:2006/08/05(土) 01:16:30
だけじゃね?厨はスルーでよろ
588デフォルトの名無しさん:2006/08/05(土) 10:50:40
オブジェクト脳で無い奴にはあまりピンとこないかもしれないが、
オブジェクト思考はこれからの言語の基本となることは確か。
589デフォルトの名無しさん:2006/08/05(土) 10:56:42
お前らが言ってることがさっぱり分からない。
具体的に語れ。
590デフォルトの名無しさん:2006/08/05(土) 12:31:14
10年前からタイムスリップしてきた奴が見受けられるな・・・
具体的に語ると>>588とか
591デフォルトの名無しさん:2006/08/05(土) 12:35:26
時代はMQだしなMQサイコーMQは素晴らしい
592デフォルトの名無しさん:2006/08/06(日) 08:40:24
「すべてがオブジェクト」って、意訳すると「手抜きしました」
ってことだよね?
593デフォルトの名無しさん:2006/08/06(日) 11:08:43
O(log n) であくせすできるリスト構造
ttp://www.informatik.uni-bonn.de/~ralf/publications/FingerTrees.pdf
594デフォルトの名無しさん:2006/08/06(日) 14:06:21
>>593
ざっと読んでみようと思ったけどさっぱりわからんかったorz
ハッシュ表作ればO(1)でアクセスできるけど、それ以上のメリットって何なの?
595デフォルトの名無しさん:2006/08/06(日) 14:23:09
>>594

ゴキブリみたいなデータ構造になって気持ち悪くなるってメリットあると思う
596デフォルトの名無しさん:2006/08/06(日) 16:00:12
>>594 abstractも読んでないのかよ。

597デフォルトの名無しさん:2006/08/06(日) 16:27:48
>>594
いいハッシュ関数がないときはどうするの。
598デフォルトの名無しさん:2006/08/06(日) 16:41:18
そこそこいいハッシュ関数を探す
599デフォルトの名無しさん:2006/08/06(日) 17:24:04
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 先輩。ハッシュならいいのがありますよ

   ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( ・∀・)  ∧ ∧ <  MD5とかいうなよ
 (  ⊃ )  ( ゚Д゚)  \____________
 ̄ ̄ ̄ ̄ ̄ (つ_つ__
 ̄ ̄ ̄日∇ ̄\| DELL |\
       ̄   =======  \
600デフォルトの名無しさん:2006/08/06(日) 17:28:04
配列のが速いよ絶対
601デフォルトの名無しさん:2006/08/06(日) 17:51:31
関数型言語でリスト的にアクセスできるってのが目的じゃない?
602デフォルトの名無しさん:2006/08/06(日) 20:04:44
2-3木っつーから平衡木の話かと思ったらそうじゃなかったのか。
誰か日本語に翻訳してくれ。
リストに対するアドバンテージは何なのかな。
603デフォルトの名無しさん:2006/08/06(日) 20:33:18
いやだからゴキブリみたいな構造がキモイだけって
だけのはなしなんだが
604デフォルトの名無しさん:2006/08/07(月) 15:09:34
私は英語苦手なんだけど、皆さんはどうやって訳してます?
PDF→テキスト→辞書を英次郎で引く→テキストに1個書くってやってるんだけど。
機械翻訳は補助には使うけど。結局使えないし。
605デフォルトの名無しさん:2006/08/07(月) 15:45:53
普通に読んでるけど。量をこなせば日本語と同じように読めると思う
606デフォルトの名無しさん:2006/08/07(月) 16:06:55
>>604
俺も大学のときはそんな感じでやってた。
先輩風吹かすと、
技術書の場合、予備知識なしに英文だけ読んでも分からない場合があるので、
その技術に関する日本語の本も並行して読むといい。
一言一句を表面的に和文に置き換える能力は基礎の基礎で、
こなれた訳文を作る能力をみがきたい(文章の内容を理解して、それを表現する能力)。
辞書は英英も使いたい。英英なら言葉の意味が文章で説明されているが、
英和は(項目によっては?)あたらずとも遠からずな日本語の単語が羅列されてるだけ。
お勧めはOALD。(ホントは英英を和訳した辞書があればいいのにと思う)
余裕があれば、将来英文を書くときのために、使えそうな言い回しをメモっておくとよい。
607デフォルトの名無しさん:2006/08/07(月) 16:17:06
ある程度、自己解決しました。
最近はブラウザでピロっと出てくれるけど、
すぐ忘れるので頭に残ってくれない。
出たテキストがブラウザに貼り付いててくれるといいんだがと思って、
TrEditっての見つけて、辞書引く効率UPしました。
VBで作られてて良く落ちるんだけどまぁいいや。
今までに比べはるかに、スピードUPしました。ありがとうございました。
勝手に嬉しくなって読んで見てます。

とりあえず内容は遅延評価前提だけど、
今までは一般的に速いリストの操作はあったけど、複雑だったのが
簡潔に一般的に書けるようになったってことでしょうか?

前提となる知識として、モノイドとRight and left reductions 右と左還元があるとか。

モノイド自体よくわからないけど、、、書いてある式はこれだけ。
class Monoid a where
0 :: a
(c) :: a → a → a

このモノイドの+と○を合体させたような演算子は結合演算子?
++のこと?
aは0か、++の2項演算子があるってだけなのでしょうか???
608デフォルトの名無しさん:2006/08/07(月) 16:31:21
超基本的な質問なんだけど、プログラミング言語の処理系で使うハッシュ表ってエントリーがどんどん増えていく場合も考慮して、動的にテーブルを大きくする必要あるじゃん。
そのコストを踏まえてもO(1)なの?
609デフォルトの名無しさん:2006/08/07(月) 17:50:01
コスト的にもO(1)
hashでコリジョン多いならTrieの方が速いかも
ただし、単なるTrieは遅く、Ternary Search Trieというのが速いらしい
http://pc8.2ch.net/test/read.cgi/tech/1086272325/121-
610デフォルトの名無しさん:2006/08/07(月) 18:43:59
>>609
お前、2chのどこのダレかもわかんない、どんな実装を使ったのかもわからない
そんなベンチマークを盲目的に信じてるのかよ。馬鹿すぎだ。
611デフォルトの名無しさん:2006/08/07(月) 18:55:43
「盲目的に信じてる」というほど断定してるようにも見えんが・・・。
暑いからってめちゃくちゃな八つ当たりするのはどんなもんかね。
612デフォルトの名無しさん:2006/08/07(月) 19:50:46
>>609
>O(1)
テーブル拡大のポリシーによると思うが、
どういうポリシーならO(1)になるか教えてちょ。
613デフォルトの名無しさん:2006/08/07(月) 20:24:01
最大nビットのデータに対して2n-1ビットのハッシュ値を使う
614デフォルトの名無しさん:2006/08/07(月) 21:55:19
>>611
暑いからって、根拠の乏しいレスを信じる馬鹿よりマシかと
615デフォルトの名無しさん:2006/08/07(月) 22:10:07
なんで素直に 2ch の外で裏を取らないのだろう...
616609:2006/08/07(月) 23:16:29
>>610
すんません
そのスレの121、実は俺なのですよ・・・
あれから色々試したけど、tstが検索においては
hashよりだいぶ速いのは検証済みです
ただしデータ構造上メモリを結構食います
TrieはO(1)に加えてインクリメンタルなので、
途中の結果も無駄にならなかったりするメリットもあります
ちなみにうちのコンパイラはtst使ってます
617610:2006/08/08(火) 01:12:48
2chのベンチマークなんて信じる奴は馬鹿。
俺は住所氏名年齢電話番号までわかってる奴じゃなきゃ
一切信用しない。
618デフォルトの名無しさん:2006/08/08(火) 01:22:43
>>606
英英辞書ですか。人生長いし買ってみようかな。CD付いてるらしいし。
619デフォルトの名無しさん:2006/08/08(火) 03:44:18
>>606

>(ホントは英英を和訳した辞書があればいいのにと思う)


それだ!

620デフォルトの名無しさん:2006/08/08(火) 08:40:39
>>617
当然の話だな
621デフォルトの名無しさん:2006/08/08(火) 12:22:17
>>617
そんなんで信用できるのか?

俺はソースコードと追試手順があって自分で追試できて追試したものしか信用しない.
住所氏名年齢電話番号がわかってても意味ないだろ…
622デフォルトの名無しさん:2006/08/08(火) 14:32:30
あからさまな釣りにひっかかっといて
慎重な姿勢とか見せても笑えるだけw
623デフォルトの名無しさん:2006/08/08(火) 16:21:53
>>606
http://www.zkai.co.jp/books/search/book_detail.asp?ID=44201
ワードパワー英英和辞書とケンブリッジ英英和がありました。
624デフォルトの名無しさん:2006/08/08(火) 16:39:23
>>623
あるんかい!
けどサンプル見た感じジーニアスとか例文豊富な英和辞書とあんま変わらなくね?
625デフォルトの名無しさん:2006/08/08(火) 19:14:56
>622
単に真面目な性格なだけじゃないの?
626デフォルトの名無しさん:2006/08/08(火) 23:25:35
ここはLinux板みたいに嫌な雰囲気ですね
627デフォルトの名無しさん:2006/08/08(火) 23:54:56
ハッシュ表やSTL vectorの拡張のコストについては
amortized complexity analysis (償却計算量解析)について勉強すれば納得がいく
628デフォルトの名無しさん:2006/08/09(水) 23:25:34
やべ、Ternary Search Trieすごい速いねw
629デフォルトの名無しさん:2006/08/10(木) 13:28:06
Linuxみたいな嫌な雰囲気ってどんな感じ?
630デフォルトの名無しさん:2006/08/11(金) 01:30:06
世界の宗教の原理主義派を集めたようなギスギスした
息の詰まる雰囲気だと思うよ。
Windowsを目の敵にしないと生きていけない。そうゆうゴミの集まり
631デフォルトの名無しさん:2006/08/11(金) 07:52:05
それは何?
もっと構って欲しいのにって事?
632デフォルトの名無しさん:2006/08/11(金) 10:36:08
意味不明です。
633デフォルトの名無しさん:2006/08/14(月) 19:10:55
flexでCのコードを出力すると、yy_acceptやyy_ecといったテーブルが作成されますが、
このテーブルの作成アルゴリズムみたいなものはあるのでしょうか?
634デフォルトの名無しさん:2006/08/14(月) 19:28:24
あります
635633:2006/08/14(月) 20:35:45
それは、何というものでしょうか?よかったら教えてください。
636デフォルトの名無しさん:2006/08/15(火) 00:34:08
非決定性有限オートマトン (NFA) → 決定性有限オートマトン (DFA) 、
だったかな?
637デフォルトの名無しさん:2006/08/15(火) 00:48:43
flexが実際どうやってるか知らないけど、NFA→DFAの変換は大学でやったな。
subset constructionだっけ?
実際の手順をノートに手書きでいっぱい書いた記憶があるw
638デフォルトの名無しさん:2006/08/15(火) 01:36:45
>>637
この前取材に行った某高校のクラブ活動でやっていた事を自慢げに語られてもw
639デフォルトの名無しさん:2006/08/15(火) 01:41:09
やったな。
だっけ?
w     ←どこ笑う所?


何が楽しいの?
640デフォルトの名無しさん:2006/08/15(火) 02:20:46
>>639
昔を懐かしんでるんじゃないのか?

電車で思い出し笑いしてる人とかいるぢゃん
641デフォルトの名無しさん:2006/08/16(水) 00:12:21
Coins はどうなったんかな…
642デフォルトの名無しさん:2006/08/18(金) 19:15:55
なんだか、子難しい話して、話せないようにされてるような希ガス。
NFA→DFAの変換とかすごいじゃん。
643デフォルトの名無しさん:2006/08/18(金) 21:49:40
そーでもない
大学で情報科学取った人なら大体やったんじゃまいか
644デフォルトの名無しさん:2006/08/18(金) 22:25:39
講義の内容的には、序の口もいいところ。
645デフォルトの名無しさん:2006/08/19(土) 01:13:32
オートマトン最小化とポンピング補題は中間試験の必出問題ですな。
646Flex:2006/08/19(土) 21:27:44
初めまして、宜しくお願いします。50の手習いでFlexを勉
強しています。早速の質問ですが、お手柔らかにお願いしま
す。

Flexではinputの再定義は、#undefと#defineで出来ます。
unputの再定義はどうすれば良いでしょうか?

最初から、いきなりの質問で迷惑をかけるかと思いますが、
宜しくお願いします。
647デフォルトの名無しさん:2006/08/20(日) 09:29:13
flexには詳しくないですが、unputの再定義は不可能のよう。
(The `unput()' routine is not redefinable.
This restriction is in accordance with POSIX. )

自前のunputを利用したければ、%option unputを指定して、
最初からunputが生成されないようにすれば良いのかも。
648デフォルトの名無しさん:2006/08/22(火) 12:02:27
LLやLRの構文解析表なんかも大学の講義などでは手書きでたくさん書くことになる。
flex/bisonをいじれるだけで満足な奴は知らないんだろうけど、コンパイラコンパイラで楽してる背景にはけっこう面白いアルゴリズムがいくつも使われてて、理解するには手書きでこつこつやるのが近道だったりする。
649デフォルトの名無しさん:2006/08/22(火) 13:18:32
LL(k)とLALRの違いについて調べてます。
文法的にLL(k)だと不可能になるもの。エラー処理の煩雑さなどで違いを教えてもらえませんか。
650デフォルトの名無しさん:2006/08/22(火) 13:53:43
A -> ( B
B -> A ) | ) A | )

括弧の対応を取るだけの文法だが、任意のkについてLL(k)でない。
651デフォルトの名無しさん:2006/08/22(火) 21:48:04
おまいらJavaのパーサー作るとしたらどのぐらい時間かかるんですか?
652デフォルトの名無しさん:2006/08/22(火) 21:55:21
>>651
ざっと走査するだけなら楽
653デフォルトの名無しさん:2006/08/22(火) 22:07:36
うそつけw
ホントなら書いてみろ
654652:2006/08/22(火) 22:16:08
分かった。嘘だから書かない。
655デフォルトの名無しさん:2006/08/22(火) 23:33:28
>>653
Generics無しの頃(swing無かった頃だが)に一度書いた。
Generics使えばもっと楽に書けるだろうがGenerics自体の文法は入れたくない(w


656デフォルトの名無しさん:2006/08/22(火) 23:33:41
口だけ君はこれだから困る
657デフォルトの名無しさん:2006/08/23(水) 00:09:38
○だけ君はこれだから困る
658デフォルトの名無しさん:2006/08/23(水) 00:21:23
△だけ君はこれだから困る
659デフォルトの名無しさん:2006/08/23(水) 03:20:08
656 :デフォルトの名無しさん :sage :2006/08/22(火) 23:33:41
口だけ君はこれだから困る

657 :デフォルトの名無しさん :sage :2006/08/23(水) 00:09:38
○だけ君はこれだから困る

658 :デフォルトの名無しさん :sage :2006/08/23(水) 00:21:23
△だけ君はこれだから困る

659 :デフォルトの名無しさん :sage :2006/08/23(水) 03:20:15
|だけ君はこれだから困る
660デフォルトの名無しさん:2006/08/23(水) 07:48:57
>>655
yaccとか使う場合だと、
specificationの内容を全部BNF文法に直す。
うまくあわないところ少し小細工する
意味解析ルーチンつける
て感じですか?
・・・・なんか気の遠くなりそうな作業だな・・・・
・・・・Genericsとかやりたくないな・・・・
661デフォルトの名無しさん:2006/08/23(水) 08:16:39
>>651
パーサだから意味解析は置いといていいのね?
>>3の¬<><∪∪なら、
言語仕様書からシンタックス部分をまる写しするだけだから簡単。
というかサンプルについてるけど。
>>3ではLALR(1)になってるけどLALR(∞)。
662デフォルトの名無しさん:2006/08/23(水) 23:09:21
663デフォルトの名無しさん:2006/08/23(水) 23:50:56
ついにJavaにもクロージャ? - James Gosling氏らJDK7へ導入提案
http://journal.mycom.co.jp/articles/2006/08/23/java7closuer/

Javaもなんでもかんでも取り込むようになったもんだ
664デフォルトの名無しさん:2006/08/24(木) 01:44:02
その記事、単に匿名ローカル関数のことをクロージャと呼んでるようだが
カリー化しなくてもそう呼んでいいものなのか?
665デフォルトの名無しさん:2006/08/24(木) 02:36:45
>>664
クロージャは語の通り囲い込みしか指さないので(ry
666デフォルトの名無しさん:2006/08/24(木) 04:36:54
関数型言語の本で封入って訳を見たことあるな
667デフォルトの名無しさん:2006/08/24(木) 06:06:41
ふみゅ〜ん
668デフォルトの名無しさん:2006/08/24(木) 10:37:04
>>664
>>665も書いてるが
カリー化とクロージャは、全く無関係な概念
関数からその関数を囲む環境にアクセスできればクロージャと言ってよい
669デフォルトの名無しさん:2006/08/24(木) 21:10:06
じゃあ、単に匿名ローカル関数のことをクロージャと呼ぶのは間違いでよろしいか?
記事、ろくに読んでないが、ラムダ式のことをクロージャと呼んでるように見えたモナ
670デフォルトの名無しさん:2006/08/24(木) 21:40:35
>>669
ラムダ式はクロージャを持つけど、クロージャはラムダ式じゃない
671デフォルトの名無しさん:2006/08/24(木) 21:43:14
チョットワカッテキタ...
672デフォルトの名無しさん:2006/08/24(木) 22:37:34
C#の匿名メソッドはクロージャとは別物ですか?
673デフォルトの名無しさん:2006/08/24(木) 22:44:38
「匿名メソッド is-a クロージャ」 あるいは 「匿名メソッド has-a クロージャ」 な関係
674デフォルトの名無しさん:2006/08/24(木) 23:20:30
記事、も一回読んでみたけど
Cの関数へのポインタ程度のものを、導入するぐらいにしか見えん
そしてそのCの関数へのポインタのようなものを、クロージャといってるような
カリー化とかできそうに見えない、高階クロージャ(?)すらあやしい
675デフォルトの名無しさん:2006/08/24(木) 23:30:18
まぁ糞JAVA言語がそろそろ行き詰まってきたってことだろうなw
676デフォルトの名無しさん:2006/08/24(木) 23:41:03
>>674
int func int(int x) {
    return (int y) { x + y; };
};
int result = func(2)(3);

こういうのならできるんじゃね?
実際の java で動くかどうかはしらないけど、一応カリー化できてるはず。
677デフォルトの名無しさん:2006/08/24(木) 23:47:51
>>674
おまえはカリー化とクロージャの意味をわかってるのかと
今回提案された仕様のローカル関数及び匿名ローカル関数は
れっきとしたクロージャだし、関数型も導入されるので、
カリー化するのも容易なはず

>>676

ホワイトペーパーの例からだと、たぶんこんな感じではないかと

int(int) add(int x){
 return (int y) : x + y;
}
int result = add(2)(3); // => 5
678デフォルトの名無しさん:2006/08/24(木) 23:52:34
>>677
いや、その例からだと add は有名関数だから、宣言は int(int) じゃなくて int では?
4ページ目の一番上。

さすがに、OCaml ばりの厳密で容易なカリー化は期待できないっすよ。
let add fun x y -> x + y;
で宣言して add 1 2 で 3、add 1 で fun y -> 2 + y みたいなのは java では無理でしょ。
679デフォルトの名無しさん:2006/08/24(木) 23:53:13
あ、間違えた。まあ良いや。
680デフォルトの名無しさん:2006/08/25(金) 00:17:56
>>678
addはカリー化された加算関数で、型はint(int) (int)なので
これでOKなはず。4ページ目の一番上の例は、int (int)な関数だよね

> さすがに、OCaml?ばりの厳密で容易なカリー化は期待できないっすよ。

そりゃOCamlほど容易ではないけど、厳密かどうかで言えば同程度には厳密でしょ
681デフォルトの名無しさん:2006/08/25(金) 00:25:58
>>680 上段
ほんとだー。すまねー orz

>>下段
あ、すいません。『厳密』 ってのは 『制約』 ってのと同じような意味で使いました。
OCaml ではカリー化された関数しか扱えないみたいっスから。

int add(int x, iny y) { return x + y; }

「こんな感じに定義して add(1) ってしても 1 + y が帰ってこないじゃないかー」
って >>674 は想像しているのでは? って思いましたんで (^-^;;
682デフォルトの名無しさん:2006/08/25(金) 00:27:23
オーバーロードとカリー化の共存は難しい。
683デフォルトの名無しさん:2006/08/25(金) 00:39:23
すみません。某スレから誘導されてきました。
yaccやlexで生成したソースはどうやって使ったらいいのでしょうか?
684デフォルトの名無しさん:2006/08/25(金) 01:00:40
>>683
きっとお前も質問だけして居なくなるんだろうな…>646みたいに。
685デフォルトの名無しさん:2006/08/25(金) 01:23:18
>>684
いえ、ホント基本的な動作からわかってないので藁にもすがる思いですよ。
yyparseやyylexなんかがどういう動作をしてるのか?とかそっからわかっていません。
とりあえず、まず、大まかな流れが知りたいのですが、日本語でいいサイトないでしょうか?
なんかyacc lexが独自に吐き出す関数とか変数とかわかってないです。

やりたいことはプログラムである文字列をパーサに渡して解析結果を取得することなんですが
yacc lexの吐き出したソースが何をどこまでやってくれるのかってそこからいってわかってないです。
686デフォルトの名無しさん:2006/08/25(金) 05:18:48
そうですか
687デフォルトの名無しさん:2006/08/25(金) 05:55:38
>>683
main() {
  yyparse();
}

yylexはyyparseのなかで勝手に呼ばれる
688デフォルトの名無しさん:2006/08/25(金) 09:38:52
>>677
どうも、そういうことが出来そうに見えなかったんだよね
Javaにクロージャ導入なんて記事を書くんなら
俺なら絶対カリー化の例をあげる
でも、カリー化どころか高階関数の例もないので、どうもな
まあ、ライターのレベルが低いだけかもしれんが
689デフォルトの名無しさん:2006/08/25(金) 15:34:59
>>688
匿名関数も関数型変数も導入されるらしいのに、
なんで高階関数がないと予想したの?
690デフォルトの名無しさん:2006/08/25(金) 21:09:50
読解力のない阿呆 (>>688) のつまらん言い訳だよ
691デフォルトの名無しさん:2006/08/25(金) 22:16:14
ライターのレベル以上に、リーダーのレベルが低すぎた悲劇だな。
692デフォルトの名無しさん:2006/08/26(土) 01:30:04
つまりLISP最強ってことか。
693デフォルトの名無しさん:2006/08/26(土) 02:07:02
なんでじゃ
694デフォルトの名無しさん:2006/08/26(土) 04:25:26
Lisp触ってれば間違いようがないものな。
695デフォルトの名無しさん:2006/08/26(土) 06:02:16
Lispの処理系をLispで書くのって無謀?
696デフォルトの名無しさん:2006/08/26(土) 06:27:23
>>695
ものすごく簡単(数行しかない)なやつから、
きちんと機能を実装して、自分で自分を実行できるやつ、
もっと凄いやつ、と様々なので、答えようがない。
697デフォルトの名無しさん:2006/08/26(土) 06:48:53
>>696
> ものすごく簡単(数行しかない)なやつから、

数行はないだろw
698デフォルトの名無しさん:2006/08/26(土) 06:52:06
スーパー手抜きlisp
( loop (eval (read)) )
699デフォルトの名無しさん:2006/08/26(土) 10:50:14
LISPってライブラリたくさんあるの?
700デフォルトの名無しさん:2006/08/26(土) 12:31:04
>>699
君のレスは見ていて痛々しい。
701デフォルトの名無しさん:2006/08/26(土) 12:48:32
しらねーなら書き込むなこの池沼が
702デフォルトの名無しさん:2006/08/26(土) 13:08:21
ちょこっとLisp調べてみたけど、本当にこの言語で自己記述できるの?
字句解析とか構文解析のコード大体どんな感じになるのか情報orソースきぼんぬ
703デフォルトの名無しさん:2006/08/26(土) 14:14:21
>>702
大昔の論文や書籍くらい読め


#とか思ったら良書は絶版かYo!
704デフォルトの名無しさん:2006/08/26(土) 14:57:32
>>701
聞けば答えてもらえると思うな、厨房。
705デフォルトの名無しさん:2006/08/26(土) 16:47:29
けちくせーやつだな。だったらスレみてんじゃないよ。
Take,TakeでGiveはなしか。
706デフォルトの名無しさん:2006/08/26(土) 16:53:24
言いたがりが勝手に口を滑らせるだけだよ。
そんなものでも、最新の情報なら役に立つ。
707デフォルトの名無しさん:2006/08/26(土) 17:12:04
>>689
出来ると書いてないから
それにつきますな
708デフォルトの名無しさん:2006/08/26(土) 20:46:44
>>702
っSICP
後ろのほうに自己記述に1章裂いてるお
709デフォルトの名無しさん:2006/08/27(日) 01:19:54
Schemeを最初からCで書くより、一通りSchemeで書いてから必要な部分だけ
Cにする方が楽だよね。
710デフォルトの名無しさん:2006/08/27(日) 07:43:17
今、M$のVisualStudio2005いじってるんだが、GC付きで64bitポインタ、メモリ管理サポートの
ランタイム上で、C#、C++、VisualBasicが走るなんて、Lisp系言語を載せてくださいと言ってる
ようなもんだな、と思った。Javaは過去にやろうとして16MBでギブアップしやがったので、
M$のCLIには少し期待している。
711デフォルトの名無しさん:2006/08/27(日) 13:02:07
>>710
HotSpot以降のJVMならパラメータでメモリ量の調整きくよ。

web上のappletが廃れかけた頃にはいろんな言語のコンパイラがjvm用のクラス吐くようになったけど
今ははやらないのかねぇ。

712デフォルトの名無しさん:2006/08/27(日) 14:01:08
>>711
むしろ最近になって流行ってきてると思うのだが
JDK6でJava VM用のスクリプト言語をJavaから呼び出すための
APIが標準化されるのも、Java VM用のスクリプト言語が流行ってきたからだろうし
ちなみに先に言っておくと、GroovyもJava VM用のJavaScript処理系であるRhinoも
Pnutsも単なるインタプリタではなく、JVM用のクラスファイルを内部で生成して、実行してる
713デフォルトの名無しさん:2006/08/27(日) 16:15:07
>>712
スクリプト処理系が実行時にclassファイル吐いてるのはしらなかったな。
外部ファイルコンパイル実行する時にclassローダ的にはどういう扱いするんだろう?

714デフォルトの名無しさん:2006/08/27(日) 18:10:57
今のJVMならメモリの調整効くとかいってるが
そんなことねーよただ確保してるだけでなんも有効には使ってない。
そのへんM$のは賢い。
715デフォルトの名無しさん:2006/08/27(日) 20:13:16
>>713
いくつかのスクリプト処理系のソース読んだ限りでは、基本的に、
java.lang.ClassLoaderをサブクラス化して、スクリプトをコンパイルしたクラスは
それに読み込ませるようにしてる
ちなみに、自作のJVM上で動作するJavaライクなスクリプト言語でも、同じような手法で
実装してる
716デフォルトの名無しさん:2006/08/27(日) 20:15:58
>>713
あと、わかっているかもしれないけど、念のため追記しておくと、クラスファイルを
生成するといっても、スクリプトを直接実行するときは、別に実際にファイルが
生成されるわけではなく、オンメモリにbyte配列としてクラスファイルを生成して、
それをClassLoaderで読み込むようになってる
717デフォルトの名無しさん:2006/08/28(月) 08:56:44
>j ava.lang.ClassLoaderをサブクラス化して

これが必要ってことはclassfileの仕様を拡張してるってこと?
718デフォルトの名無しさん:2006/08/28(月) 12:32:30
>>717
いや、そういうわけじゃない
java.lang.ClassLoaderのAPI見ればわかるんだが、
byte配列からClassオブジェクトを構築するためのメソッドなどはprotected
になってるので、プログラムからこのメソッドを呼び出したいなら、サブクラス化
しなければいけないということ
719デフォルトの名無しさん:2006/08/31(木) 03:43:18
>>714
>そんなことねーよただ確保してるだけでなんも有効には使ってない。

そんなわけねーだろw
720デフォルトの名無しさん:2006/09/07(木) 15:26:38
ちょっと質問。
スタックを使って実装する言語についてです。
JavaのようにGCを持っていて、オブジェクトへの参照とプリミティブの
両方をスタックに積むことが出来る場合に、
スタック上のプリミティブはGCの邪魔になりました。
オブジェクトはクラス情報を持っていますが、プリミティブには持たせていません。
なぜなら高速性を期待してプリミティブはオブジェクトと区別したからです。
そこでどうしたらいいかと考え、オブジェクト用とプリミティブ用の
個別のスタックを用意したらどうだろうと考えたのですが、
何か考えられる問題点はありますか?
また、ほかにいい方法はありますか?
よろしく。
721デフォルトの名無しさん:2006/09/07(木) 19:57:05
>>720
ここはお前専用の相談室だ。
よろしく。
722デフォルトの名無しさん:2006/09/07(木) 20:25:02
>>720
GCの実装は?
723デフォルトの名無しさん:2006/09/07(木) 20:53:31
つーか>>720の言ってることよくわからんな。
スタックって何に使うスタックのこと言ってるのかわからないし、なんでそのスタックに積んであるものがGCされるのかもさっぱり。
プリミティブ値が邪魔になるってのも意味がわからん。
724デフォルトの名無しさん:2006/09/07(木) 21:09:47
>>723
……(;´Д`)アチャー
725デフォルトの名無しさん:2006/09/07(木) 21:16:00
>>723
( ゚д゚ )
726デフォルトの名無しさん:2006/09/07(木) 22:52:51
>>723
(笑)
727デフォルトの名無しさん:2006/09/07(木) 23:06:54
>>720
型システムが堅いなら系列分けたスタック持っても良いかもしれないが
もし引数がバリアントみたいに使える言語処理なら徒労におわると思う

728デフォルトの名無しさん:2006/09/07(木) 23:20:08
>>727
スタック上のプリミティブとオブジェクトを区別できないことから考えて、
構文として静的に区別できるような言語なんじゃないだろうか。
だったら分けても良いかも知れない。
729デフォルトの名無しさん:2006/09/07(木) 23:27:16
>>728
ボクシングとかほしくなったら困るんじゃなかろうか(関数呼び出しフレーム作る時ね)
730デフォルトの名無しさん:2006/09/07(木) 23:29:51
ボクシングしたものは全てオブジェクト扱いでイイような気がする。
箱に入れてさ。
731デフォルトの名無しさん:2006/09/08(金) 06:09:40
素直にプリミティブにタグ付けした方が良い希ガス。
732デフォルトの名無しさん:2006/09/08(金) 07:46:50
オブジェクトのメンバの、ポインタと即値はどうやって区別してんだ?
733デフォルトの名無しさん:2006/09/08(金) 12:00:11
>>732
型のある言語ならコンパイル時にGC対象を列挙できるので問題はないでしょ?
734デフォルトの名無しさん:2006/09/09(土) 02:18:41
>>720がもどってこなくてショボーン(´・ω・`)
どんな言語なのか聞きたかったのに
735デフォルトの名無しさん:2006/09/09(土) 02:31:01
>>734
ねー
736デフォルトの名無しさん:2006/09/09(土) 09:46:37
質問のレベルから察するとだな
737デフォルトの名無しさん:2006/09/09(土) 19:25:02
チン子もえもえどぴゅーってレベルだな
738デフォルトの名無しさん:2006/09/09(土) 20:27:29
スタックに積む量次第だけど、スタックに積むときだけプリミティブにタグ付けるのが
実装的には一番楽な気がする。
739デフォルトの名無しさん:2006/09/09(土) 20:34:15
で、もうちょい話が進むと、プリミティブは常にタグつきがいいという話になる
ちなみに、L(ry も R(ry も、そうなってたような
740デフォルトの名無しさん:2006/09/09(土) 20:47:24
もう手抜きして保守的GCにしちまおうぜ
741デフォルトの名無しさん:2006/09/09(土) 21:20:50
可算無限個のメモリを用意するのが最近のトレンド。
742デフォルトの名無しさん:2006/09/09(土) 23:20:12
>>739
LispとRuby?

Rubyのprimitiveは最下位ビットが1になっているので
保守的GCに引っかからない、というものだったと思う。

Lispの実装は山ほどあるんでわからん。
743デフォルトの名無しさん:2006/09/09(土) 23:42:47
>>741
黙れニート
744デフォルトの名無しさん:2006/09/13(水) 20:20:23
LISPは今風の書き方ができない。
やっぱa.b.c.d().e.f.gとかしたいわけよ。

LISPで同じことしようとするとオペレータ毎いちいち括弧でくくらないとな。
(dot(dot(dot(call(dot(dot a b)c)d)e)f)g)
もうなんだかわからん。
おっと、マクロにすりゃいいとか言い出すなよ。
俺はLISPを長年研究してきたから嘘は通じんぞ。
745デフォルトの名無しさん:2006/09/13(水) 20:39:58
CLOSみたいにaccessorで触る仕組みにすると
(g (f (e (d (c (b a)))))) のような感じになるかな。
746デフォルトの名無しさん:2006/09/13(水) 21:07:10
(chain
 (a obj)
 (b it)
 (c it)
 (d it)
 (e it arg1 arg2))

みたいに書けるようにするのはマクロでできるよ。
Rubyでselectやらmapやらを繋げて配列を引き回していたりなんかすると、
ブロック+ドットよりもこっちの方がむしろ見易い気がする。
747デフォルトの名無しさん:2006/09/13(水) 21:14:01
>>744
そういう風に華麗にかけるのはいいんだけど、デバッグするときにめんどくさくなんね?
gの呼び出しで値がおかしくなってるんだけどどこで値がおかしくなってるのかわかんないみたいな。
748デフォルトの名無しさん:2006/09/13(水) 21:28:46
>>746
で、誰がそんなアホなマクロ使うの?
プロジェクト全体でそのマクロ使うように、
ルール決めしたりできる?www
749デフォルトの名無しさん:2006/09/13(水) 21:55:53
>>744
引数を沢山とれるようにして
(dot (call (dot a 'b 'c 'd)) 'e 'f 'g) でいいじゃん。
750デフォルトの名無しさん:2006/09/13(水) 22:01:13
だから、んな誰も使うはずのないゴミを書いてみても
自己満足以外の意味ないだろ
751デフォルトの名無しさん:2006/09/13(水) 23:26:44
vimのマクロはなにに影響されてできたもんなの?
752デフォルトの名無しさん:2006/09/14(木) 00:00:43
>>744
| LISPは今風の書き方ができない。
| やっぱa.b.c.d().e.f.gとかしたいわけよ。

いや。そんな書き方したいと思ったことは一度もないんだが。
753744:2006/09/14(木) 00:03:24
ふむ、ふむ。
予想通りのレスだな。

おれは結局フロントエンドを書いた。
しかし、それはもはやLISPではなく、
>>750の言う通りでもあった。
LISPはリスト処理が得意なはずなのに、
こういった階層表現のオペレートが苦手なのは意外だった。

素直にLISPとして表現するならば、
(defvar a '(b (c (d (e (f (g value)))))))
というタグ付きリスト階層を作り、
(cdadadadadadadar a) => value
という操作を行う事だろうか。
754デフォルトの名無しさん:2006/09/14(木) 00:34:25
>>744-753
マクロにする必要すらないんじゃ?
ドットで繋ぐんだから実装はハッシュか何かだよね?
Schemeで申し訳ないが

(define (pp obj r)
 (if (null? r)
    obj
    (pp (ref obj (car r)) (cdr r))))
(define (p obj . r) (pp obj r))


 (p a 'b 'c 'd)
と書けるよ。

あとはgauche限定?になるけど
(define-method object-apply ((b <hash-table>) . c) (pp b c))

 (a 'b 'c 'd)
と書ける。
755デフォルトの名無しさん:2006/09/14(木) 01:45:33
だから、ゴミの実装の詳細なんぞ、
興味ねえから、チラシの裏にでも書いてろ
756デフォルトの名無しさん:2006/09/14(木) 01:57:39
744=750=755 ?
757デフォルトの名無しさん:2006/09/14(木) 02:06:28
Lisp に絡んでいた奴がまた粘着してるのかねぇ?
↓のようなマクロじゃ気にくわないわけ?

例1: #{ a.b.c.d().e.f.g }
例2: #[ a b c #[ d ] e f g ]

どっちでも好きなほうを選べ.
758デフォルトの名無しさん:2006/09/14(木) 02:47:35
>>755ではないが、>>744の質問はスレ違いじゃないのか?
特定の実装(Lisp)の問題なんだから、Lispスレでやればいいじゃんと思った。
759デフォルトの名無しさん:2006/09/14(木) 02:54:08
Lisper に喧嘩売ってる俺ってスゲー、みたいな奴が出てくるのは Lisp の功罪だな。
こんな事が後何回繰り返されるのだろうか。
760デフォルトの名無しさん:2006/09/14(木) 03:23:00
Lisp スレで相手にしてもらえなかったんじゃないの?
だからって関係ないこっちに来られても困るわけではあるが。
761デフォルトの名無しさん:2006/09/14(木) 06:04:36
>>759
相対性理論が長きにわたって物理系のトンデモさんを
無数に相手にしてきたのと、ちょっと似てるね。
762デフォルトの名無しさん:2006/09/14(木) 06:30:52
だーから相手にすんなって…すぐにまた LISP 最強!! とか暴れはじめる気配がする
763デフォルトの名無しさん:2006/09/14(木) 06:51:13
相対性理論、やっぱ無敵ってこと?それともダサダサってこと?
文章からどっちの意味か見えなかった。
764デフォルトの名無しさん:2006/09/14(木) 07:05:01
相対性理論とLispはどっちが難しいんだ?
765デフォルトの名無しさん:2006/09/14(木) 07:52:51
それ自体がどうのではなく、名の通り方の問題だろう。
「挑戦者」達は、まず何より名前に噛み付いてる。
766デフォルトの名無しさん:2006/09/14(木) 22:03:26
Lispの話になっても、Lisperのオナニーが多少見えるぐらいで、話は何にも広がらんのな
767デフォルトの名無しさん:2006/09/14(木) 22:09:54
Lispのマクロってどんな感じなんでせう?
文法を自分で定義してシンタックスシュガーを作れるってイメージ?
768デフォルトの名無しさん:2006/09/14(木) 22:25:34
ググれタコ
769デフォルトの名無しさん:2006/09/14(木) 22:28:54
レス数増えたと思ったらやっぱりこれか
770デフォルトの名無しさん:2006/09/15(金) 01:12:03
>>767
構文抽象ってやつだね。でも粘着が暴れるから別のスレで聞いたほうがいいとおもう。
771デフォルトの名無しさん:2006/09/15(金) 01:16:34
>>767
後はコンパイル時にデータを生成したりとか。
772デフォルトの名無しさん:2006/09/15(金) 03:25:42
>>744
俺は、a.b.c.d().e.f.gって書けるような
S式みたいというかM式の一種というかC言語風の
データ形式を考えてるけど、なかなか、難しいです。
簡単なschemeへのトランスレータは書いてみたけど、
なんか納得がいってません。
こう、ごちゃごちゃと考えがスパゲッティになってて
どう考えを積み上げていったらいいのかわからない段階です。
とりあえず、c言語のセミコロンやカンマがどうして必要なのか?
とか考えてます。
773772:2006/09/15(金) 03:49:02
なんか、話が長くなりそうだし、
スレ作ってしまいました。
http://pc8.2ch.net/test/read.cgi/tech/1158259643/
774デフォルトの名無しさん:2006/09/15(金) 13:24:14
>>772
>とりあえず、c言語のセミコロンやカンマがどうして必要なのか?
カンマがないと、 1, -1 が 1-1 になっちゃうでしょ。
775デフォルトの名無しさん:2006/09/15(金) 16:15:57
スペースをデリミタにすればカンマは必要ないと思うけど?
776デフォルトの名無しさん:2006/09/15(金) 17:25:25
スペースをデリミタにするなよ
777デフォルトの名無しさん:2006/09/15(金) 21:57:36
改行をデリミタにすればセミコロンは必要ないと思うけど?
778デフォルトの名無しさん:2006/09/15(金) 23:19:37
>>777
EcmaScriptとかはその戦略を採用しているな。
おかげで構文解析が死ぬほどめんどい。
779772:2006/09/16(土) 02:44:14
>>774
2項演算子あるいは後置演算子と前置演算子に使われる演算子があった場合に
何らかのデリミタ(セパレータ?)が必要である。

てことですかねぇ。

他に、

名前のない括弧が前のカッコに結合しないようにする。

f()(1+2)と f();(1+2)みたいなかんじで。

みやすくするためにも存在してますよね。
780デフォルトの名無しさん:2006/09/16(土) 03:40:14
java で実装されたスクリプトエンジンで、コルーチンの yield に相当する機能を実装したものはありますか?
Jython がジェネレータの名称で実装していることは知っているのですが、他の実装も見てみたいのです。
781デフォルトの名無しさん:2006/09/16(土) 15:48:29
>>776
forth
782デフォルトの名無しさん:2006/09/16(土) 20:02:26
FORTHって絶対メジャーになれない言語の筆頭だよな。
783デフォルトの名無しさん:2006/09/16(土) 20:10:41
>>782
PostScriptはメジャーじゃない、とおっしゃる?
784デフォルトの名無しさん:2006/09/16(土) 20:21:13
>>782
となると、LISPもだな。
785デフォルトの名無しさん:2006/09/16(土) 22:58:15
java仮想マシンもたしかFORTHだよな?
786デフォルトの名無しさん:2006/09/16(土) 23:54:15
はい、違いますよ
787デフォルトの名無しさん:2006/09/16(土) 23:56:54
>>785 誰に聞いたのよw
788デフォルトの名無しさん:2006/09/17(日) 00:01:31
スタックマシンがすべてFORTHだというのであれば
789デフォルトの名無しさん:2006/09/17(日) 00:15:31
PDFを書く言語ってあったか?
それ。
790デフォルトの名無しさん:2006/09/17(日) 03:22:01
FORTHをアーキテクチャとか言語分類とかのことだと思ってる奴がいるのか?
791デフォルトの名無しさん:2006/09/17(日) 03:49:48
OpenFirmware も Forth だよ。
792デフォルトの名無しさん:2006/09/18(月) 01:35:09
FORTHを信じても意味がなかった
793デフォルトの名無しさん:2006/09/18(月) 02:08:16
>>792
そりゃFORCEじゃないのか?ルーク
794デフォルトの名無しさん:2006/09/18(月) 02:09:45
Use the Force, 792.
>>792, trust me.
Remember, the Force will be with you always.
795デフォルトの名無しさん:2006/09/18(月) 12:37:38
Lisp最強!!!!!!
796デフォルトの名無しさん:2006/09/18(月) 14:30:56
はいはい。
LISPは面白いもんを沢山残してったけど、
FORTHは言葉遊びが出てくる程度だったな。

797デフォルトの名無しさん:2006/09/18(月) 14:33:37
FORTHって、普通に使われてる言語やん。
798デフォルトの名無しさん:2006/09/18(月) 14:34:32
Lispは今では遊びと教育用の言語でしかなくて、実際に使われているのは知らない。
799デフォルトの名無しさん:2006/09/18(月) 14:53:41
スタックが複数本必要な言語はロクなのがないね。
800デフォルトの名無しさん:2006/09/18(月) 21:56:30
>>798
emacs 知らんの?
珍しいやっちゃな。
801デフォルトの名無しさん:2006/09/18(月) 22:05:13
emacsが実際に使われていないということなんだろうけどな
802デフォルトの名無しさん:2006/09/19(火) 01:53:34
PCLの2章より:

An even more impressive instance of remote debugging occurred on NASA's
1998 Deep Space 1 mission. A half year after the space craft launched, a
bit of Lisp code was going to control the spacecraft for two days while
conducting a sequence of experiments. Unfortunately, a subtle race
condition in the code had escaped detection during ground testing and
was already in space. When the bug manifested in the wild--100 million
miles away from Earth--the team was able to diagnose and fix the running
code, allowing the experiments to complete.14 One of the programmers
described it as follows:

    Debugging a program running on a $100M piece of hardware that is 100
    million miles away is an interesting experience. Having a
    read-eval-print loop running on the spacecraft proved invaluable in
    finding and fixing the problem.

ドキドキもんだろうけど、楽しそうな体験ではある。
803デフォルトの名無しさん:2006/09/19(火) 04:03:57
>>801
何が?
804デフォルトの名無しさん:2006/09/19(火) 07:49:42
この程度の流れも読めない馬鹿は書き込まないで下さい :-P
805デフォルトの名無しさん:2006/09/19(火) 10:01:17
>>802
さらに衝撃的な遠隔デバッグが行われたのは、NASAが98年に打ち上げた、ディープ・スペース1号機におけるミッションでのことだった。
ロケットの打ち上げから半年、Lispの短いコードにロケットの制御を2日間委ねることになった時、ある一連の実験が進行中だった。
不運にも、わずかな競合状態がコードの中に含まれていたためで、地上での検査時に見つからないまま、宇宙空間に放たれてしまっていたのだ。
バグ発見の過酷な状況は、地球から1億マイルも離れた場所であったが、担当チームは稼動中のプログラムにメスを入れ、問題の修復に成功したことで、今回の実験は完遂されることになった。

担当したプログラマの一人が、当時の様子を次のように語った。
「あの時デバッグしたプログラムは、1億ドルのハードウェア上で、1億マイルも離れた場所で稼動していたんだけど、おもしろい経験になったよ。
read-eval-printループがあれば、ロケットの中で問題が起きても、発見したり修復するのに、量り知れないほど役立つことが証明されたってわけさ。」
806デフォルトの名無しさん:2006/09/19(火) 12:44:29
むしろLispなんかで制御したから地上での検査時に
見つからなかったという恥ずべき歴史だな。
807デフォルトの名無しさん:2006/09/19(火) 12:47:00
「みんながLispに近づいているんじゃない!
 みんながLispを不必要にしているんだ!!」

808デフォルトの名無しさん:2006/09/19(火) 13:16:59
PHPでいいです
809デフォルトの名無しさん:2006/09/19(火) 16:07:51
いくない
810デフォルトの名無しさん:2006/09/19(火) 16:09:57
>>806
本当にそう思うなら、匿名掲示板以外でも声高に言ってみろよ。
誰も相手にしてくれないけどな。
811デフォルトの名無しさん:2006/09/19(火) 16:11:36
JavaScriptでいいです><
812デフォルトの名無しさん:2006/09/19(火) 16:15:37
>>810
確かに、Lispなんていう死んだ言語の話をする相手が見つかるのは
夢想に責任をまったく持たなくていい匿名掲示板くらいでしょうね。
813デフォルトの名無しさん:2006/09/19(火) 16:22:13
>>810
静的型付けのないLispが今でも一番だと思っている奴がいたら
それこそお笑いだ。
スクリプティング言語の主流はいわゆるP言語だし、大学での
教育に使われる言語もMLやHaskellなど静的型付け&型推論の
ある言語に移っている。
814デフォルトの名無しさん:2006/09/19(火) 17:19:40
>>813
SICPを教科書に使う学科は多いだろうし、今でもLispは教育用言語として使われることが多い。
ラムダ計算のお勉強でも型なし→型ありという風に遷移・比較して教えられる事もあるだろうし、
教育用という意味では今でもLispは利用価値がある。
815デフォルトの名無しさん:2006/09/19(火) 17:55:27
>>814
それが最近はSICPの評価は昔ほど高くない。
SICPの内容を最初からMLなどで教えているところもある。
つまるところ静的型付けがない言語をわざわざ大学で教える
必要性が薄らいでいるのさ。
にも関わらず
Lisp is nice, so we are nice.
な方の多いこと。(Rubyスレで見たレスのもじりだが。)
816デフォルトの名無しさん:2006/09/19(火) 18:14:29
いい加減スレ違いだと思うんだけどな。
817デフォルトの名無しさん:2006/09/19(火) 18:19:12
>>815
Lispはともかく、
型なしラムダ計算については?
818デフォルトの名無しさん:2006/09/19(火) 18:33:09
>>817
形無しラムダ計算を教えるためにはLispが必要と考える理由が
むしろ知りたい。
819デフォルトの名無しさん:2006/09/19(火) 20:39:42
形無しラムダ計算の本質はLispでないと表せない
820デフォルトの名無しさん:2006/09/19(火) 21:36:04
>>818
型なしの関数型言語の代表格だからだよ。
821デフォルトの名無しさん:2006/09/19(火) 21:37:13
別に言語は何だっていいけど、Lispは勉強するのに必要な資料が一番多いんじゃないかな。
822デフォルトの名無しさん:2006/09/19(火) 21:38:40
紙と鉛筆で十分だが
823デフォルトの名無しさん:2006/09/19(火) 21:41:26
Lisperの一部は鼻持ちならない選民思想の持ち主だが、
そうでない者も多い。
「Lisp一番!!」なレスはスルーでヨロ。
824デフォルトの名無しさん:2006/09/19(火) 22:04:01
カステラ一番、Lispは二番!!
825デフォルトの名無しさん:2006/09/19(火) 22:26:08
>>819
んじゃあ、形無しラムダ計算は発明から何十年もの間、
その本質は表現されなかったんだw
826デフォルトの名無しさん:2006/09/19(火) 22:51:12
実際Lispがなかったら埋まったままだったろうなあ
827デフォルトの名無しさん:2006/09/20(水) 00:51:30
>>825
ここプログラム技術板だから。
(と、この説明で恥ずかしくならないようなら問題外 :-) )
828デフォルトの名無しさん:2006/09/20(水) 02:00:59
>>825
Lisp はクソだが見当違いの叩きを展開するアホはもっとクソだ。
ここは叩くスレじゃねーんだ。バカは↓でも抱いて海に消えろ。
文句は直接開発者にでもメールしてろ。

強い型付き LISP: ttp://www.lambdassociates.org/qiml.htm
829デフォルトの名無しさん:2006/09/20(水) 06:28:07
言語ネタは叩き厨がファビョって荒れるんで Code Generation でも語ろうぜ
JIT なんだけど GNU Liblightning ってどうなん?使ってるプロジェクトって
qu 以外にある?
830デフォルトの名無しさん:2006/09/20(水) 07:37:14
>>827
>>828
おまえらこそ流れを読まず見当違いのレスをするんじゃねーよ。
>>827よ、お前が一番恥ずかしい。
>>828よ、もはやLispではないものを持ってきてなんのつもりだ?
Lispを叩いているんじゃない。
Lispが至高のものと信じて疑わず、言語開発者でもないくせに
多言語使用者を見下すだけの輩が日本に増えるのは有害だ。
もっと先を見ろ。SICPなんて初学者向けの本だ。
世界はもっと進んでいるぞ。
831デフォルトの名無しさん:2006/09/20(水) 08:08:32
>>830
そのコピペどこかで見たな。元ネタは何だっけ?
832デフォルトの名無しさん:2006/09/20(水) 08:16:50
世界はもっと進んでいるぞのガイドライン
ttp://ex13.2ch.net/test/read.cgi/gline/1139460483/
833デフォルトの名無しさん:2006/09/20(水) 08:53:17
型付きの LISP よりも、副作用がバンバン書ける SML が欲すぃ。
834デフォルトの名無しさん:2006/09/20(水) 10:11:04
>>830
大学って初学者向きの授業をするところだと思うんですけど・・
835デフォルトの名無しさん:2006/09/20(水) 17:30:18
>>830
もうちょっと「論理的に見えるこじつけ」を期待したんだけどなぁ。
それじゃあ自意識に潰されて暴走する中学生だよ、キミぃ。
836デフォルトの名無しさん:2006/09/20(水) 17:41:19
やっぱり>>835のように、経験者の言葉は一味違うね。
837デフォルトの名無しさん:2006/09/20(水) 18:11:42
Currying and Partial Applications

Qi permits currying

(10-) ((* 7) 8)
56

and also partial applications, which generate Lisp closures.

(11-) (* 7)
#<CLOSURE :LAMBDA (Z100983) (* 7 Z100983)>


スゴス
838デフォルトの名無しさん:2006/09/20(水) 18:22:46
Lisp (というよりS式)は中間言語に最適です、gcc でも使われてますし。
839デフォルトの名無しさん:2006/09/20(水) 19:12:18
S式というよりツリー形式が本質なのでは?
840デフォルトの名無しさん:2006/09/20(水) 22:51:54
何でツリーの形式になるのか値?
841デフォルトの名無しさん:2006/09/22(金) 16:20:44
http://squirrel-lang.org/

なんか、配列の中に、変数とか書ける。
どういう感じで実装しトンのかな。
Hash?
842デフォルトの名無しさん:2006/09/22(金) 18:41:44
単に statement というか block がファーストクラスオブジェクとして扱えるってことでは?
843デフォルトの名無しさん:2006/09/28(木) 23:31:27
ttp://www.amazon.co.jp/gp/product/0321486811
これってさ、いつ出るんだかわからなかった21st Century Compilersが遂に出ました、ってこと?
844デフォルトの名無しさん:2006/09/28(木) 23:46:18
うん。予定より章が減ってる気のせいがするけどね。
845デフォルトの名無しさん:2006/10/06(金) 03:41:19





























このスレはLISPの話題が出ないと回らないんだな
846デフォルトの名無しさん:2006/10/06(金) 10:00:22
つか、>>1に書いてある話題のほとんどは全然出てこないw
847デフォルトの名無しさん:2006/10/06(金) 10:17:02
じゃ、質問してみる。
どうせ過疎ってることだし、あわよくば神が現れることを期待して。

>>1に書いてある内容、どれでもいいから語ってください。
なぜそんなものが必要なのか。どんな意義があるのか。どこまで研究が進んでいるか。どこまで実装されているか。身近に有用な具体例はあるか。社会や倫理に与える影響はあるか。おまいはなぜそんなことまで知っているのか。LispやRubyとの関k(ry。などなど。
848デフォルトの名無しさん:2006/10/06(金) 15:05:36
それは質問とは言わん
849デフォルトの名無しさん:2006/10/06(金) 15:18:20
言い出しっぺが語れよ
850デフォルトの名無しさん:2006/10/06(金) 21:21:36
>>843について語るとか。
851デフォルトの名無しさん:2006/10/06(金) 22:33:06
>>850
Amazonに登録された当初、14,000円弱だったが日々値下がりしているので様子見中。
852デフォルトの名無しさん:2006/10/06(金) 22:39:44
俺言語ってどのくらいの人が作ってて、どれくらい完成してる?
ちょっと前は俺言語作ってるって人webで良く見たんだが、
最近自分の見る範囲では現れない。

また、作ってるって人も全然進んでなさげ。
853デフォルトの名無しさん:2006/10/07(土) 01:37:35
みんなもう飽きたんだよ
854デフォルトの名無しさん:2006/10/07(土) 02:16:02
手続き型にしか触らないで秋田とか言う人
Scheme面白いよ
Lisperが何故偉そうに語るのかわかる
855デフォルトの名無しさん:2006/10/07(土) 02:38:36
手続き型にしか触らないで山形とか言う人
Prolog面白いよ
世界が変わるから一度試してみるといい


いや、マジで
856デフォルトの名無しさん:2006/10/07(土) 03:30:20
>>854
schemeおもしろいって・・
お前素人だろ?まるわかり。
857デフォルトの名無しさん:2006/10/07(土) 03:31:08
>>855
学部2年生だろ?まるわかり。
858デフォルトの名無しさん:2006/10/07(土) 03:31:45
>>852
高校生乙
859デフォルトの名無しさん:2006/10/07(土) 03:32:49
2chはもはや素人の集まりか。
860デフォルトの名無しさん:2006/10/07(土) 04:40:42
>>859
はじめからなキガス

>>852
組み込み用のUIハンドリング言語なら俺言語(つか社用言語)あるよ
861デフォルトの名無しさん:2006/10/07(土) 06:09:48
prologみたいな変な言語って
>>1に書いてある様な即物的な技術と関係あるの?
862デフォルトの名無しさん:2006/10/07(土) 07:59:55
prologのことは知らないが、>>1にある技術って実際に世の中に広まってる処理系に使われてるの?
863デフォルトの名無しさん:2006/10/07(土) 08:02:51
即物的かどうかはしらんが、Prolog といえば David Warren が設計したWAM つー
仮想マシンが有名だよ。述語論理を直接マシンコードに〜とかやってるなかで、
「こんな機械があればいいじゃん」というアプローチは新鮮だった。興味があ
るなら調べてみては。
864デフォルトの名無しさん:2006/10/07(土) 09:32:39
>>862
prologのことだけじゃなく、何にも知らないんじゃん
865デフォルトの名無しさん:2006/10/07(土) 09:38:52
prologのことは知らないが、>>1にある技術がすべて実用化されていることは確かだ
866デフォルトの名無しさん:2006/10/07(土) 11:47:42
>>862
当たり前じゃん
867デフォルトの名無しさん:2006/10/07(土) 11:48:23
>>861
prologは定理証明支援系だから。
868デフォルトの名無しさん:2006/10/08(日) 06:10:21
だから?
869デフォルトの名無しさん:2006/10/08(日) 09:08:11
伊代はまだ、16だから。
870デフォルトの名無しさん:2006/10/08(日) 21:01:57
未だにかよ>>869

871デフォルトの名無しさん:2006/10/09(月) 14:53:20

じゃ〜、>>900 を取ったやつが言語を作る!
872デフォルトの名無しさん:2006/10/09(月) 14:56:25
型付きオブジェクト指向言語でオープンクラスが可能な言語が良いのぅ
873デフォルトの名無しさん:2006/10/09(月) 16:10:45
公開授業?
874デフォルトの名無しさん:2006/10/09(月) 16:33:38
オープンクラスってなんだよww

ちなみに俺言語作ってる奴は、俺自身を除いて2人知っている。
ただ単に話題にならないから、無いものと思ったのかもね >>852 は。
875デフォルトの名無しさん:2006/10/09(月) 16:38:29
俺言語なんて無意味の極み
876デフォルトの名無しさん:2006/10/09(月) 16:50:46
>>875
普通のアプリ作ってる分にはあんまり関係ないかもしれないが
マイナーな環境だと俺言語(別に何かとコンパチでもいいが)じゃないと困る事もある。
つか困った事がある。
877デフォルトの名無しさん:2006/10/09(月) 16:57:20
Open-Class considered harmful.
878デフォルトの名無しさん:2006/10/09(月) 16:57:53
>>876
GAS使え
879デフォルトの名無しさん:2006/10/09(月) 17:10:25
俺言語っつーか、DSL(DSL:Domain Specific Language)はいるよね。
880デフォルトの名無しさん:2006/10/09(月) 17:11:20
ゲームのスクリプト程度のものまで含めたら、結構みんな色々作ってるだろうけどね。
「言語」なる表現に並々ならぬ神聖性を見出している方々にも一切の難癖を付けられない、
いわゆる本格的な「言語」となると、なかなか居ないだろうなぁ。
881デフォルトの名無しさん:2006/10/09(月) 17:16:52
Rubyは、代表的な俺言語なわけだがw
882デフォルトの名無しさん:2006/10/09(月) 17:48:11
>>878
そうやって全部バイナリごりごり作ると入り切らない。
で、vmで処理単位を大きくした命令を処理するのだけど、そのままじゃやっていられない。
結局俺言語が導入されそのvmをエミュレートするPCを用意してそっちでデバッグ完了してから
実機へ導入になる。

つか組み込みで吝いCPUとメモリとかだとどうしようもない。
組み込み以外で極端だったのはポケットステーションくらいだが。
883デフォルトの名無しさん:2006/10/09(月) 18:02:21
それって、俺言語じゃねえよ
俺言語ってのはやっぱり、
「これが俺の言語だ!どうだ!!」ってなやつのことだもん

「この環境で言語いるから、お前作れよ!」
ってな感じで作らされるのは、『お前言語』ってところだ
884デフォルトの名無しさん:2006/10/09(月) 18:03:59
「代表的な俺言語」っていうのは、宿命的に難しい定義だな。
こういう場で代表になれるような言語が、果たして今もなお俺言語の名にふさわしいかって点で。
885デフォルトの名無しさん:2006/10/09(月) 18:05:32
>>883
チョトワロタ
886デフォルトの名無しさん:2006/10/09(月) 18:05:38
>>883
それはつまり「開発することが手段ではなく目的である言語」というような感じかな。
887デフォルトの名無しさん:2006/10/09(月) 18:10:32
俺言語って、我流言語って事じゃないの?
ちゃんと勉強した人が作った言語は、その人がアマチュアであっても俺言語じゃない。
888デフォルトの名無しさん:2006/10/09(月) 18:13:30
↑はい、「俺ローカル定義」でました
889デフォルトの名無しさん:2006/10/09(月) 18:15:18
>>886
その定義に一票
890デフォルトの名無しさん:2006/10/09(月) 18:16:45
「俺」と「ローカル」はまぁ同義語ってわけじゃないけど、
この場合の「比喩的に用いられるローカル」は「俺」とかなりかぶってるから、
「俺ローカル定義」ってのはどうだろうなぁ。ちょっと響きがヌケてるかもしれないな。
891デフォルトの名無しさん:2006/10/09(月) 18:35:11
>>886
じゃあ、やっぱり、Rubyは俺言語だw
892デフォルトの名無しさん:2006/10/09(月) 18:37:09
886の定義だと、ほとんどの言語が俺言語だろ。
893デフォルトの名無しさん:2006/10/09(月) 18:43:21
すべては俺言語から始まった
894デフォルトの名無しさん:2006/10/09(月) 18:52:29
>>891
Rubyはそれっぽいね。
Perlはラリーの仕事道具として生まれたみたいだけど。

>>892
んー、それはどうだろう。
「ここでこういうのがあると便利だから」っていう理由(これは「手段」だよね)が
一番多いような気がするけどなぁ。いや、気がするだけね、あくまで。
895デフォルトの名無しさん:2006/10/09(月) 18:56:19
>>871

>>900 俺言語作れよ〜

896デフォルトの名無しさん:2006/10/09(月) 18:57:02
>>894
>Perlはラリーの仕事道具として生まれたみたいだけど。

はぁ?じゃあ「開発することが手段ではなく目的である言語」じゃないじゃん。

「開発を始める時の動機が手段ではなく目的だった言語」だろ。
897デフォルトの名無しさん:2006/10/09(月) 18:59:46
>>896
ごめんなさい。

君がキチガイにしか見えません。
898デフォルトの名無しさん:2006/10/09(月) 19:01:43
使えたら何でもいいのと違う?
899デフォルトの名無しさん:2006/10/09(月) 19:03:31
>>897
大丈夫。キチガイはお前だよ。
900デフォルトの名無しさん:2006/10/09(月) 19:04:03
>>896
だから、「Rubyは>>886の定義に該当するね。Perlは違うけど」って言ってるんだろ>>894は。
901デフォルトの名無しさん:2006/10/09(月) 19:10:11
>>900
何いってんの?

886の定義 「開発することが手段ではなく目的である言語」
にPerlも該当するよ。昔はどうだか知らんが今はそうだろ?


Perlはラリーの仕事道具として産まれたから俺言語の定義から外れるっつーなら、
886の定義は正しくは「開発を始める時の動機が手段ではなく目的だった言語」だろっていってんの。
902デフォルトの名無しさん:2006/10/09(月) 19:12:28
不毛な。
903デフォルトの名無しさん:2006/10/09(月) 19:14:19
>>901
> っていってんの
今言ったのはわかるけど、さっきは言ってなかったね。
904デフォルトの名無しさん:2006/10/09(月) 19:15:59
>>902
Perlの現状に関する自分の価値観を
どさくさ紛れにアピールしてるだけの抵抗レスだからな。

「あんなのSFじゃない!」とかそういうのの仲間。
905デフォルトの名無しさん:2006/10/09(月) 19:16:15
>>903
さっきも言ってるよ。
906デフォルトの名無しさん:2006/10/09(月) 19:16:56
>>904
文盲?
907デフォルトの名無しさん:2006/10/09(月) 19:21:53
>>906
寒いよお前。
908デフォルトの名無しさん:2006/10/09(月) 19:25:56
相変わらずスレタイから外れると伸びが良くなるな。

自分のレベルに落ちてきた途端に水を得た魚のように振る舞うのって、
露骨すぎると超笑えるぜ?w
909デフォルトの名無しさん:2006/10/09(月) 19:26:21
文盲に「寒いよ」といわれてもなぁ
910デフォルトの名無しさん:2006/10/09(月) 19:31:38
文盲って言葉が好きなんだなぁ、ボク。
911デフォルトの名無しさん:2006/10/09(月) 19:33:11
>>908
「超笑えるぜ?」なんて、そんな水を得た魚のように言われると


              超 笑 え る ぜ ? w
912デフォルトの名無しさん:2006/10/09(月) 19:36:20
そんなに悔しかったのか。どおどおどお。とにかく落ち着こう。

興奮するともっと馬鹿に見えちゃうからねw
913デフォルトの名無しさん:2006/10/09(月) 19:39:15
流石に「超笑えるぜ?w」で悔しがる人は居ない。

どっちかというと、「超笑えるぜ?w」と言った人間が悔しいだろうな。
914デフォルトの名無しさん:2006/10/09(月) 19:41:43
>>910
一度設定を固めたら、絶対その物語の中からしか言葉を紡ぎ出さない。
まぁ頭の弱い奴が最後まで場に立っていようとしたら、そういう
「"頭を使わないナンセンス"をまき散らして、相手に放置されるのを待つ」方法しか無いよw

お前のその子供扱い設定も同じだな。まぁこうして指摘したから変えるかもしれんが、
そのままだったらその路線でずっと行ってたろどうせw
915デフォルトの名無しさん:2006/10/09(月) 19:44:03
>>913
> 流石に「超笑えるぜ?w」で悔しがる人は居ない。
だよなぁ。
俺もまさか、こんなに悔しがる奴が現れるなんて思ってもみなかった。
いまどき字間なんか開けちゃうしさぁ。「あちゃ〜」みたいな失笑すら出てくるし。
916デフォルトの名無しさん:2006/10/09(月) 19:45:13
俺は超笑えるぜ路線でずっと行こう
917デフォルトの名無しさん:2006/10/09(月) 19:45:15
水を差すようで悪いけど、この不毛のスレは何時まで続くの?
918デフォルトの名無しさん:2006/10/09(月) 19:46:23
>>915
残念だけど、そのレス悔しさがにじみ出てて、超笑えるぜ?w
919デフォルトの名無しさん:2006/10/09(月) 19:48:13
Perlの歴史を語るスレに変わりました。
920デフォルトの名無しさん:2006/10/09(月) 19:48:41
>>917
面白いのでずっと続きます
921デフォルトの名無しさん:2006/10/09(月) 19:53:38
歴史は誰も語ってないな。
922デフォルトの名無しさん:2006/10/09(月) 20:09:03
>>921
そろそろ語られ始めると思う
923デフォルトの名無しさん:2006/10/09(月) 20:22:05
Perlは1973年に産声を上げた。
924デフォルトの名無しさん:2006/10/09(月) 20:56:40
俺言語の話題が出てから凄い伸びてるな
このスレの存在意義に関わるだけあるな
925デフォルトの名無しさん:2006/10/09(月) 21:06:49
もう少し有意義なことを語ろうぜ。
perlについて語ってもしょうがないだろ?
926デフォルトの名無しさん:2006/10/09(月) 21:16:13
>>844-845のタイムスタンプみてもわかるように、話すことが無いんだよね
927デフォルトの名無しさん:2006/10/09(月) 21:31:34
じゃ〜、C#について語ろうよ。
928デフォルトの名無しさん:2006/10/10(火) 00:27:45
スレの流れを無視して書き込むけどANTLR v3ってまだC++のターゲット吐けないの?
Javaな連中はもう移行始めてるみたいなのに、リリース時にはサポートしてくれんのかな。
929デフォルトの名無しさん:2006/10/10(火) 11:00:53
何でもいいから >>900 は言語作ってくれよ〜
930デフォルトの名無しさん:2006/10/10(火) 16:33:59
Accessにテキストで格納された簡易な式を計算して、その結果をレポートに
印刷したいのですが、簡単にできる方法ないですか?
VB版、lex/yaccみたいなの。または、MSXMLParserみたいな感じのものが
どっかにあるはずだーと思って探してるんですけど、なかなか、、、
無ければ再帰下降パーサ書くんですけど、今後拡張ありだと思うので、
なるべくメンテし安い方法で作りたいのです。。。

何かアドバイスを!

931デフォルトの名無しさん:2006/10/10(火) 16:42:23
MSXMLParserでいいなら、MSXMLParserをVBで使えばいいじゃないか
932デフォルトの名無しさん:2006/10/10(火) 18:30:38
違った、、、MSXMLParserじゃダメなんです、、、

933デフォルトの名無しさん:2006/10/10(火) 21:31:10
MSX-ML-Parser








に見えた
934デフォルトの名無しさん:2006/10/10(火) 22:10:10
>>933
俺もそう見えた
935デフォルトの名無しさん:2006/10/11(水) 11:35:35
ついにMSXでもMLが動く時代になったということでOK?
936デフォルトの名無しさん:2006/10/11(水) 13:45:21
>>935
いやいや、あくまでParserだけというところがポイントではないかと
937デフォルトの名無しさん:2006/10/11(水) 14:38:18
パーズして終わり?つかパーズだけかよっ!
938デフォルトの名無しさん:2006/10/11(水) 16:37:46
>>722
マークアンドスイープ。
939デフォルトの名無しさん:2006/10/11(水) 16:51:44
サーチアンドデストロイ
940デフォルトの名無しさん:2006/10/11(水) 16:53:08
>>727-739
ありがとう参考にします。
>>727
型システムは硬いです。
>>728
そういうものを想定しています。
>>732
ポインタはありません。すべて参照という形にしています。
オブジェクトはクラス情報を持っています。
>>734
実は言語についてほとんど何も考えていません。
というか実装できていません。実験している程度の状態です。

動的に機械語を生成して実行する実験をしてみました。
実用的な速度で動くように感じました。
プリミティブ用のスタックをマシンスタックに統合できないかと考えています。
動的に機械語を生成する場合、コンパイルよりもリンクのほうが
難しいと感じました。(コーディング、実行に要する時間、双方について)

皆さんどうもありがとう。
941デフォルトの名無しさん:2006/10/11(水) 18:54:13
次まだ〜?
942デフォルトの名無しさん:2006/10/12(木) 06:22:28
schemeで効率的な継続の実装の参考になるような論文はありますか?
943930:2006/10/12(木) 17:24:52
いや、まじで。VBで構文解析するとき皆どうしてんの、、、
JavaのStringTokenizerみたいなの無いの??

944デフォルトの名無しさん:2006/10/12(木) 17:52:37
俺はJavaScriptで構文解析したときは自分で書いたけど…
945デフォルトの名無しさん:2006/10/12(木) 20:10:47
>>943
ちゃちゃだが、StringTokenizer相当のものだと貧弱過ぎて、あっても大して構文解析の
助けにはならんと思うのだが。

それはともかく、VB用のParser Generatorはちょっと探した限りでは無いようだから、
自前で再帰下降の構文解析器書くか、既存のParser GeneratorをVBのコード吐く
ように改造するかくらいしか無いんじゃない?もしもVB.NETだったら、C#用のParser
Generatorを間接的に使うこともできるだろうけど。
946デフォルトの名無しさん:2006/10/13(金) 11:16:23
再帰下降くらい手で書いたほうが効率よさそう
947デフォルトの名無しさん:2006/10/13(金) 11:37:24
遅い梅速度にモルチョンペンポロストンカロスな気分です
948デフォルトの名無しさん:2006/10/13(金) 17:41:17
VBはまったく知らないんだけど、eval()とかいうのを使うのじゃダメなの?
949初心者:2006/10/13(金) 18:30:12
スレ違いかとは思いますが質問させて下さい

楽天などの注文ホームに住所など必要事項が瞬時に書き込めるスクリプトってありますか?
950デフォルトの名無しさん:2006/10/13(金) 18:33:13
951デフォルトの名無しさん:2006/10/13(金) 18:38:11
スレ違いも甚だしいなw
952デフォルトの名無しさん:2006/10/13(金) 18:51:26
3分で的確な誘導をする950に感動
953デフォルトの名無しさん:2006/10/13(金) 20:37:57
3分で的確な次スレをたてる950に期待
954デフォルトの名無しさん:2006/10/13(金) 21:27:15
>>949
どうしてここに来たの?それがすごく疑問なんだけど・・
955デフォルトの名無しさん:2006/10/13(金) 21:39:27
>>954
「スクリプトエンジン」を勘違いしたのでは?
956デフォルトの名無しさん:2006/10/14(土) 00:09:17
コンパイラと関係ない話ばっかりじゃつまんね〜
957デフォルトの名無しさん:2006/10/14(土) 00:46:12
じゃあLISPコンパイラについてでも語ってみようか。
どぞ!
958デフォルトの名無しさん:2006/10/14(土) 00:54:32
結局はオレ様ヴァーチャル・マシンを作れってことに収まる。
959デフォルトの名無しさん:2006/10/14(土) 05:54:10
そしてオレ様命令セットの半分も組み込まない内に飽きるんだな
960デフォルトの名無しさん:2006/10/14(土) 08:28:58
96124:2006/10/14(土) 23:11:13
サーバーはWIN2003デスデスクトップに2500のフォルダーの中のファイルをファイル単位で
一定時間経過(10日間)したファイルを自動削除するスクリプト
を教えてください
素人より
962デフォルトの名無しさん:2006/10/15(日) 00:02:37
>>961 そういう質問は例えば↓に誘導

WSH(・∀・)スレッド!
http://pc8.2ch.net/test/read.cgi/tech/1055075469/l50
963デフォルトの名無しさん:2006/10/15(日) 08:22:24
ちょっと質問です。
ニモニック, オペランド, コード
見たいな感じで並んだia32用のcsvファイルってどこかにないですか?
インテルのマニュアルに沿ったものがいいんですけど。
手作業に疲れてきました。
964デフォルトの名無しさん:2006/10/15(日) 09:08:17
CSVファイルになるように自分でツール作れよ。
手作業とか、お前とってもアホだな。
965デフォルトの名無しさん:2006/10/15(日) 09:17:28
>>964
PDFからコピペしてるんだけど、なんかいい方法ある?
今やってるのは、コピペ→VSで正規表現使って整形。
966デフォルトの名無しさん:2006/10/15(日) 09:21:31
PDFはインテルのマニュアルのこと。
もしかするとマニュアルのどこかに表があったりする?
今は、目次からコピペしてニモニックを取り出す。
ニモニックごとのページからさらにコピペ。
VSで整形。
こういう方法。
CSVに出来たらエクセルでさらに整形しようと考えていたけど、
飽きてきた。
967デフォルトの名無しさん:2006/10/15(日) 09:27:09
pdf2text
968デフォルトの名無しさん:2006/10/15(日) 09:36:02
なんだ、単なる愚痴かよ。
確かに人間がやると退屈になるけどさ。
969デフォルトの名無しさん:2006/10/15(日) 09:42:59
>>967
いや、テキストにしたいだけならテキスト形式で保存するだけなんだけど、
そこから表にする方法が無いでしょ。

>>968
愚痴じゃなくって、表を探してる。
マシンコード生成→実行まで作ったんだけど、
今生成できるコードは20種類だけ。
プレフィックスごとに別のコードと考えるようにしたので、
本来は1000種類以上生成できないといけない。
で、表だけあれば生成できるようになるはずなんだけど、
っていうか、20種類までは実際に生成して実行できることを確かめてて
自信ある。
で、表がほしい。
970デフォルトの名無しさん:2006/10/15(日) 09:46:17
perlやらawkやらでスクリプト書いてcsvにすればいいじゃまいか
971デフォルトの名無しさん:2006/10/15(日) 09:48:26
>>970
どういうアルゴリズムで?
人工知能とかそういうやつ?
972デフォルトの名無しさん:2006/10/15(日) 09:53:33
as のソースとかに載ってるんじゃねーの?
973デフォルトの名無しさん:2006/10/15(日) 09:57:24
思うんだけどさ、コンパイラ?作れるのに、この程度の表を作れないってどういうことだ。
一時的にしか使わないような捨てスクリプト(正規表現)を使えばいいだろ?
その程度のスキルなら、1000種類とか欲張らずに20種類でニンマリ満足していろ。
974デフォルトの名無しさん:2006/10/15(日) 09:59:46
>>971
・・・( ^ω^)
おまいさんの言うニモニック,オペランド,コードってのはどーいうものかちょい説明してくれ
インストラクションマニュアルから手作業でコピペというから別に凝ったもの作ろうと
してるわけじゃないと解釈してたのだが、もっと込み入った表つくろうとしてるのか?
975デフォルトの名無しさん:2006/10/15(日) 10:02:30
>>973
C言語のスレからCの予約語表とBNFを自動生成するのと同じような命題でしょ?
簡単に出来るならやり方教えて。
やってみる。
976デフォルトの名無しさん:2006/10/15(日) 10:10:29
>>974
CALL "CALL" "E8 cw" "rel16"
こういう表。
977デフォルトの名無しさん:2006/10/15(日) 10:12:04
すっかり雰囲気が悪くなったな。
978デフォルトの名無しさん:2006/10/15(日) 10:12:47
ニモニックを定数として扱うためのリストは、
目次から生成済み。
何か規則性があれば、このリストを使って何とかできそうだけどなぁ。
979デフォルトの名無しさん:2006/10/15(日) 10:15:56
ふと思ったんだけど、
正規表現でどうにかなるってどういうことなんだろ?
正規表現で形態素解析できるとかなんか新技法なのか?
980デフォルトの名無しさん:2006/10/15(日) 10:20:09
正規表現でどうにかなるってことは正規表現がなくてもどうにかなるってことだ。
なぜなら正規表現は正規表現がなくても実装できるからだ!
981デフォルトの名無しさん:2006/10/15(日) 10:24:05
なんで形態素解析が必要なんだ・・・
ある程度の法則に従って書かれてる文書から、必要部分を抽出したいだけだろ
982デフォルトの名無しさん:2006/10/15(日) 10:24:20
>>973見て思った。
コンパイラ作るのに特別な技術なんていらないでしょ。
むしろ力仕事なのに。
983デフォルトの名無しさん:2006/10/15(日) 10:26:50
>>981
いやいや、マニュアルだから普通に日本語で書かれた説明書。
法則性はたぶん無いと思う。

日本語を処理するなら形態素解析とかかな〜〜って。
984デフォルトの名無しさん:2006/10/15(日) 10:28:27
nasm やら gas やらのソースコードを見るのじゃダメなのか?
985デフォルトの名無しさん:2006/10/15(日) 10:30:26
>>984
見たことある?
986デフォルトの名無しさん:2006/10/15(日) 10:30:38
次の人次スレたてて

プログラミング言語処理系の開発に興味のある人達のスレッドです。

字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。

過去スレ
1 http://pc.2ch.net/tech/kako/981/981672957.html
2 http://pc2.2ch.net/test/read.cgi/tech/1021136715/
3 http://pc5.2ch.net/test/read.cgi/tech/1070089173/
4 http://pc5.2ch.net/test/read.cgi/tech/1100097050/
5 http://pc8.2ch.net/test/read.cgi/tech/1106129164/
6 http://pc8.2ch.net/test/read.cgi/tech/1115335709/
7 http://pc8.2ch.net/test/read.cgi/tech/1129287390/
8 http://pc8.2ch.net/test/read.cgi/tech/1131273918/
9 http://pc8.2ch.net/test/read.cgi/tech/1135082582/
10 http://pc8.2ch.net/test/read.cgi/tech/1146844753/
関連リンクは多分 >>2-10 あたり
987デフォルトの名無しさん:2006/10/15(日) 10:32:35
>>985
今 tcc のソースを見て来た。これで何が不満か分からん。
988デフォルトの名無しさん:2006/10/15(日) 10:40:47
>>983
あーすまん、説明不足
例えば
Instruction:
Description:
Operands:
(その他色々)
みたいに表題にしたがって、ずらずらと命令が書かれてるものなら
表題だけ見て抽出、いらんとこは無視とかできるでそって話
989デフォルトの名無しさん:2006/10/15(日) 10:46:07
>>987
i386-asm.h見たけど、これからはちょっと無理じゃないかなぁ。

あと、今作ってるマシンコード生成機って、
ぶっちゃけアセンブラそのものなんだけど、
アセンブラって呼んでいないのは、
スクリプト言語風味を作るために作ってるからなんだよね。
990デフォルトの名無しさん:2006/10/15(日) 10:55:06
>>988
それそれ、その表題に従ってずらずらと命令が書かれているのってどこにあるの?
それがあればエクセルでどうにかなる。
991デフォルトの名無しさん:2006/10/15(日) 10:59:17
992デフォルトの名無しさん:2006/10/15(日) 11:02:21
>>990
一部しか載ってないね。
でも、ありがと。
993デフォルトの名無しさん:2006/10/15(日) 11:03:03
>>982
>コンパイラ作るのに特別な技術なんていらないでしょ。

テキストからトークンを取り出して表にする処理よりも
コンパイラを作るのは大変だと思わないか?
もしかしてyaccとか想定してるのか?

力仕事なら1000種類でも手作業でやればいいだろ。
994デフォルトの名無しさん:2006/10/15(日) 11:05:57
>>993
それ力仕事でしょ。
しこしこがんばって書けば済むだけ。
別に特別な技術じゃない。
大学で習う程度のことだよ。
そうじゃない?

で、力仕事はめんどくさい。
それだけ。
995デフォルトの名無しさん:2006/10/15(日) 11:06:26
マシン語を吐く所までは楽勝だが、本当に大変なのはライブラリ作成やオプティマイズだと
誰かが書いてたな。
996デフォルトの名無しさん:2006/10/15(日) 11:06:31
intelのpdfマニュアルって上中下3つあるIA-32の解説でしょ?
昔落として(日本語)持ってるんだけど、もうインテルのサイトから落とせないでしょ。
新しいアーキテェクチャ用はどうやって手に入れるの?
997デフォルトの名無しさん:2006/10/15(日) 11:10:03
>>996
上中下4巻のやつ今でも見れるよ。

>>995
そうなんだろうね。
998デフォルトの名無しさん:2006/10/15(日) 11:10:03
>>992
それ、検索して一番最初に出て来た奴を適当に貼っただけ。
ちょっと調べりゃ直ぐ出て来るのに、何で自分で調べないんだろうか。
どうでもいい事には饒舌なのに。
999デフォルトの名無しさん:2006/10/15(日) 11:11:00
>>998
いや、出てきてないから。
1000デフォルトの名無しさん:2006/10/15(日) 11:12:09
↓次スレよろ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。