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

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

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

前スレ
1 http://pc.2ch.net/tech/kako/981/981672957.html
2 http://pc2.2ch.net/test/read.cgi/tech/1021136715/ (dat落ち)
3 http://pc5.2ch.net/test/read.cgi/tech/1070089173/
4 http://pc5.2ch.net/test/read.cgi/tech/1100097050/ (前スレ)
関連リンクは多分 >>2-10 あたり
2デフォルトの名無しさん:05/01/19 19:06:33
コンパイラ等を扱ったドキュメント

色々なツールの紹介
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
3デフォルトの名無しさん:05/01/19 19:06:53
4デフォルトの名無しさん:05/01/19 19:07:16
その他のパーサジェネレータ等

ANTLR(非yaccのパーサジェネレータ)
http://www.antlr.org/

JavaCC(Java Compiler Compiler)
https://javacc.dev.java.net/
http://village.infoweb.ne.jp/~fwif0083/program/java/javacc/javaccgrm.html
http://www.asahi-net.or.jp/~DP8T-ASM/java/tips/JavaCCHelloWorld.html

CUP & JLEX or CUP & JFlex
CUP http://www.cs.princeton.edu/~appel/modern/java/CUP/why.html
JLEX http://www.cs.princeton.edu/~appel/modern/java/JLex/
JFlex http://www.jflex.de/

SableCC
http://www.sablecc.org/

¬<><∪∪ (notavacc)LALR(1)
http://ne.cs.uec.ac.jp/~koto/notavacc/

JavaCCはLL(k)だけど、上のはANTLR以外はLALR(1)
でもANTLRはC++なんかにも対応。

boost::spirit(C++のテンプレートでEBNFの構文を模倣)
http://spirit.sourceforge.net/
http://boost.cppll.jp/HEAD/libs/spirit/index.html(マニュアル日本語化プロジェクト)
http://www.fides.dti.ne.jp/~oka-t/cpplab-boost-spirit.html
5デフォルトの名無しさん:05/01/19 19:07:38
ごみ集め

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/
6デフォルトの名無しさん:05/01/19 19:07:57
参考書籍

●コンパイラ 原理・技法・ツール 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/0321210913/
ハードカバー版: http://www.amazon.co.jp/exec/obidos/ASIN/0321131436/

●スモールコンパイラの制作で学ぶプログラムのしくみ
http://www.cbook24.com/bm_detail.asp?sku=4774121770
7デフォルトの名無しさん:05/01/19 19:08:15
処理系,スクリプト

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 インタプリタ の作り方』見つけた。
Java と C# で実装。
ttp://www.okisoft.co.jp/esc/go.html
ttp://www.okisoft.co.jp/esc/go2.html
ttp://www.okisoft.co.jp/esc/go3.html
ttp://www.okisoft.co.jp/esc/go4.html

MSによるPEフォーマット仕様書(日本語)
http://www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/intro.html
8デフォルトの名無しさん:05/01/19 19:10:03
>>1お疲れさま。
前スレ埋め厨お疲れさま。
9デフォルトの名無しさん:05/01/19 19:14:47
以上です。

関連リンクは前スレッドのものをそのまま利用しました(手抜きです)。
追加があればお願いします。

>8
ありがとうございます。
10デフォルトの名無しさん:05/01/19 19:34:25
寂しいので学会紹介を少し。

○ PLDI: http://research.ihost.com/pldi2005/
  コンパイラの研究に関する最新成果を知りたければまずはここ。

○ POPL: http://www.cs.princeton.edu/~dpw/popl/05/
  PLDIよりは理論寄りだが大いに参考になる。

○ ICFP: http://www.brics.dk/~danvy/icfp05/
  関数型言語に関する学会。とても難しい。

○ OOPSLA: http://www.oopsla.org/2005/ShowPage.do?id=Home
  オブジェクト指向言語に関する学会。最近はやや低調?

このスレッドから、この辺の学会にacceptされる人がでてくることを祈って…
11デフォルトの名無しさん:05/01/19 19:49:20
>>4
JavaCCはLOOKAHED使った場合、手続き型プログラムで選択肢を自由に選べるので、
LL(k)より強力。
https://javacc.dev.java.net/doc/lookahead.htmlのboolean_expression
ANTLRも同じだったと思う。
¬<><∪∪は強いて言えばLALR(∞)。
ちなみに最近のbisonはGLRも選択できる。
http://www.gnu.org/software/bison/manual/html_mono/bison.html#GLR-Parsers
¬<><∪∪も論文だとGLRサポート版も発表されてるけど、
webに乗ってるのは違うみたい。
12デフォルトの名無しさん:05/01/19 20:57:15
前スレ最後の方で話題になってた、文と式だけど
expressions を式と日本語当てたのは、まずかったかもな。
まぁ専門用語にはよくあることだけど。
13デフォルトの名無しさん:05/01/19 21:09:53
>>10
PLDIのページをみたが,topicsの先頭がlanguage support for security and safetyなんだね。
時代が変わったなー。

Topics of Interest
* language support for security and safety
* languages and compilers for parallel computing
* design and processing of domain-specific languages
* effective implementation of advanced language features
* program representations
* program analysis
* program optimizations and transformations
* dynamic compilation and optimization techniques
* storage management techniques
* compilation for distributed heterogeneous systems
* techniques for embedded and of mobile code
* interactions between compilers and architectures
* software development tools
* techniques for effective compiler construction
14デフォルトの名無しさん:05/01/19 21:50:42
>>12

ハァ?
15デフォルトの名無しさん:05/01/19 23:32:02
>>10
このスレッドでこれを忘れちゃいかんだろ。

International Conference on Compiler Construction
http://cc05.cs.berkeley.edu/
16デフォルトの名無しさん:05/01/19 23:38:07
>>14
WordNetからの引用
> 1. (23) expression, look, aspect, facial expression, face -- (the expression on a person's face; "a sad expression"; "a look of triumph"; "an angry face")
> 2. (18) expression, manifestation, reflection, reflexion -- (expression without words; "tears are an expression of grief"; "the pulse is a reflection of the heart's condition")
> 3. (15) expression -- (the communication (in speech or writing) of your beliefs or opinions; "expressions of good will"; "he helped me find expression for my ideas")
> 4. (6) saying, expression, locution -- (a word or phrase that particular people use in particular situations; "pardon the expression")
> 5. (4) formulation, expression -- (the style of expressing yourself; "he suggested a better formulation"; "his manner of expression showed how much he cared")
> 6. (4) formula, expression -- (a group of symbols that make a mathematical statement)
> 7. expression -- ((genetics) the process of expressing a gene)
> 8. construction, grammatical construction, expression -- (a group of words that form a constituent of a sentence and are considered as a single unit; "I concluded from his awkward constructions that he was a foreigner")
> 9. expression -- (the act of forcing something out by squeezing or pressing; "the expression of milk from her breast")
17デフォルトの名無しさん:05/01/19 23:40:01
CISCアーキテクチャでの効率的なレジスタ割付けアルゴリズムってありませんか?
RISCみたいにレジスタがatomicでない上、命令ごとの制約がたくさんあるため
今はものすごくad hocな実装になってしまってます。
18デフォルトの名無しさん:05/01/19 23:40:58
ちなみにターゲットはH8です。
19デフォルトの名無しさん:05/01/19 23:45:01
後これも。

http://compilers.iecc.com/

ニュースグループcomp.compilersの記事がアーカイブされている。
今年で20周年らしい。fjは死亡同然だが、こちらは元気だね。
20デフォルトの名無しさん:05/01/19 23:54:45
>>17
CISCでのレジスタ割付けに関しては、最近だと
Andrew W. Appel, Lal George, Optimal Spilling for CISC Machines with Few Registers, PLDI, 2000.
がある(http://citeseer.ist.psu.edu/appel00optimal.html)。

けど、結局ぐちゃぐちゃになるのは仕方ない気もする。
21デフォルトの名無しさん:05/01/20 02:18:41
うんこw
22デフォルトの名無しさん:05/01/20 02:33:00
・知能障害を起こす
23デフォルトの名無しさん:05/01/20 02:34:40
うんこage
24デフォルトの名無しさん:05/01/20 03:04:49
25デフォルトの名無しさん:05/01/20 05:25:02
ん?
26デフォルトの名無しさん:05/01/20 05:32:43
27デフォルトの名無しさん:05/01/20 06:09:51
28デフォルトの名無しさん:05/01/20 06:11:09
俺は今起きたとこだが
君らは何時寝るんだい?
29デフォルトの名無しさん:05/01/20 06:13:52
今から ノツ
30デフォルトの名無しさん:05/01/20 06:15:14
31デフォルトの名無しさん:05/01/20 07:19:01
32デフォルトの名無しさん:05/01/20 07:29:21
レジスタ割付ならRamseyの
A Generalized Algorithm for Graph-Coloring Register Allocation(PLDI)
も面白そう。
確かλRTLとかいう、gcc風のRTLとλ式をあわせたような中間語を設計してた人だね。
33デフォルトの名無しさん:05/01/20 08:08:55
死ねよ
34デフォルトの名無しさん:05/01/20 08:11:53
35デフォルトの名無しさん:05/01/20 08:51:25
>>19
これ面白いですね。出勤前なのに読み耽ってしまいました。
日本語版があるといいのに。
36デフォルトの名無しさん:05/01/20 08:56:54
いま地震があった!
37デフォルトの名無しさん:05/01/20 09:01:58
38デフォルトの名無しさん:05/01/20 09:20:47
国産のコンパイラ共通インフラストラクチャCOINS

http://www.coins-project.org/
39デフォルトの名無しさん:05/01/20 09:33:16
貼るならもっと使えるサイト貼れよな…
40デフォルトの名無しさん:05/01/20 09:37:14
>>39
ならお前が張れ、詭弁厨の荒らしが。
41デフォルトの名無しさん:05/01/20 10:05:07
結局あの詭弁コピペの人って2ch初心者だったのかな?
42デフォルトの名無しさん:05/01/20 10:06:52
それにしても詭弁認定厨はうざかったな。
詭弁でもなんでもないものを、詭弁のガイドラインに
無理矢理あてはめようとしてるところが笑えた。
43デフォルトの名無しさん:05/01/20 10:07:34
GCの気持ちがよく分かる。
せっかくsweepしても、どんどん(ry
44デフォルトの名無しさん:05/01/20 10:10:49
>>41-42
スルーできない初心者ウザ
45デフォルトの名無しさん:05/01/20 10:14:16
荒らしと同一人物だったとは思えん。
46デフォルトの名無しさん:05/01/20 10:31:15
今前スレ見てきたが、なるほど、デビューしたての純粋クンが来てたのかよ。
47デフォルトの名無しさん:05/01/20 10:39:21
オレの推理では前スレ955が
956が自分へのレスだと思い込んだ。
(時間と文脈からみてたぶん954へのレス)
その後964を無視られ、968で煽られ、971あたりから暴走開始。
41-42も前スレ955。
どう呼ぼうと作者の勝手の人とは別人。
48デフォルトの名無しさん:05/01/20 10:47:14
どうやら図星された詭弁厨の自己弁護が始まったみたいね。
49デフォルトの名無しさん:05/01/20 10:50:36
まだやるのかよ、ウザ
50デフォルトの名無しさん:05/01/20 10:54:21
そこまで詭弁荒らしを擁護する47っていったい…
51デフォルトの名無しさん:05/01/20 11:05:19
普通、赤の他人は時間とか詳しく見ねーだろ。興味ねーし。
47=前スレ荒らしの当事者。
52デフォルトの名無しさん:05/01/20 11:44:02
うんこ
53デフォルトの名無しさん:05/01/20 11:52:49
詭弁厨の人が焦点をうんこ厨に移すためにガンガリ始めた様子です。
54デフォルトの名無しさん:05/01/20 11:54:34
もういらないと思うので削除依頼を出してきた。
55デフォルトの名無しさん:05/01/20 12:00:32
↑詭弁荒らしの傍若無人振りって、正直凄まじいと思う。。。
56デフォルトの名無しさん:05/01/20 12:43:56
まあ、詭弁荒らしとか興味ないけど、作者の勝手という言い分は
正しいな。詭弁ではなく。それだけは確か。
57デフォルトの名無しさん:05/01/20 12:51:10
ウルフが心と身体・メンタルヘルス板から帰ってこられた御様子です。
58デフォルトの名無しさん:05/01/20 13:20:28
>>57
Rubyでは文が値を持ちますが、それについてどう思われますか?
Rubyの作者は詭弁でしょうか?
59デフォルトの名無しさん:05/01/20 13:24:17
こうして新スレは
詭弁厨とうんこ厨と
放置できない厨に占拠されました。
おわり。
60デフォルトの名無しさん:05/01/20 13:58:33
死ね。
61デフォルトの名無しさん:05/01/20 14:08:27
62デフォルトの名無しさん:05/01/20 14:27:44
Rubyにはif式とかif文とかある。
   ↓
総てのプログラム言語で、「式」とか「文」とか他の言葉とかも
意味は作者が主観で勝手に定義していい。
   ↓
ゆえに俺は詭弁荒らしでないし、
俺が昔作って人に使わせた糞言語もうんこじゃない。

( c´,_ゝ`) .。oO(モイチド心と身体・メンタルヘルス板逝ッテコイ クスクス
63デフォルトの名無しさん:05/01/20 14:40:58
荒らし方は変わっても、やっぱり中身はRuby厨ですか…。
64デフォルトの名無しさん:05/01/20 14:47:29
>>62
反論があるなら煽りではなく論理的にどうぞ。
それから、議論とは関係ないが、「昔言語作ってた人」は別人。

>>63
文が値を持つのは、Rubyだけではない、Ioだと、文は式の一種で、全ての文は値を持つ。
探せば、文が値を持つ場合がある言語って結構あるんじゃないかな。

それと、値を持とうが持つまいが、仕様で何を文と呼ぶのか
決めているというのはいろんな言語に共通のことだね。
65デフォルトの名無しさん:05/01/20 15:15:09
evalがあれば何でも式にはなるな。
あと言葉の定義だが、プログラミング言語は言語、つまり言葉だから文もあれば文法エラーもあるってだけで、
「文」という言葉には、数学的に深い意味はあんまないような気もするし。
どっちにしろ言語のことは言語学者の領分だな、字面の「言語」を尊重すれば。
66デフォルトの名無しさん:05/01/20 15:16:44
>>64
なにか美味しいものでも食べて落ち着け。
トートロジー、意味の無い言葉、主観に基づく言葉に対して反論することは
それ自体ナンセンスだし、暇つぶしとしても漏れはお勧めできない。
67デフォルトの名無しさん:05/01/20 15:22:41
>>66
主観ではない。
多くの言語で、仕様で何を文と呼ぶか決定している。
これは客観的事実。
68デフォルトの名無しさん:05/01/20 15:27:47
COBOLはもろ言語学者が作った言語だよな。
昔のCOBOLは足し算でさえ英語の文法そのままにADDだしよ。
APLはその対極。
69デフォルトの名無しさん:05/01/20 15:31:55
>>65
式や、文という言葉に対しては、仕様で数学のようにきっちり定義
されてることが多いよ。
こういう、厳密な定義をする場合って、学問の世界では
当たり前のことなんだけど、既分野によって定義が違うなんてよくあることだな。
同じように、言語によって用語の意味が違う。まさかこのことを
わからない奴がいるなんて思わなかったよ。
70デフォルトの名無しさん:05/01/20 15:33:14
プログラムがそのままドキュメントになるというのかコンセプトだったね >COBOL
最近はどれも似たり寄ったりな言語ばかりで、コンセプトのしっかりした言語が少ないな。
71デフォルトの名無しさん:05/01/20 16:17:57
>>67
漏れは64を主観だっていってるんじゃないよ。「・・・には反論しても無意味だから落ち着け」って言っただけ。
人の言動がなんでも自分への攻撃に見えてしまうっていうのは、何らかのストレス状態だと思うよ。
72デフォルトの名無しさん:05/01/20 17:15:27
何でも攻撃に見えてる分けじゃなく君が文脈を考慮しなかったため
誤解されただけのこと
わかりやすい日本語を心がけよう
73デフォルトの名無しさん:05/01/20 19:02:39
>>67
「多くの言語で、仕様で何を文と呼ぶか決定している。
 これは客観的事実。」

とあるが、その多くの言語の仕様は数学的な基盤に沿って
設計されているのが「客観的事実」では? その意味で
仕様書は用語の意味を勝手に改竄できる魔法の書ではないよ。

それにあなたが理論的基盤にしているRubyの仕様ってのは
実際テキトーかも…と言ったら、また暴れだすかなぁ? ドキドキ

まぁ、大好きなRubyの投影から計算理論(?)を構築するのは
人様の自由だけど…。その出発点は「客観」ではないですね。
74デフォルトの名無しさん:05/01/20 19:24:06
>>67
スルーすればいいからな。
いやスルーしてくれ、頼む。
75デフォルトの名無しさん:05/01/20 19:24:37
>>73
Ruby狂信者に何言っても無駄だからヤメレ。

ここまでの展開で物事の正誤が奴の眼中にないの、分かるだろう?
詭弁でもなんでもいいからRubyにまつわるすべては正しくないと希ガスマンのだ。
コワイネ
76デフォルトの名無しさん:05/01/20 19:34:31
スレ住人がココロ一つに爆発物処理班の気分で以下ドウゾ
77デフォルトの名無しさん:05/01/20 19:37:33
だからあ
Rubyのリファレンスを全部修正すれば解決するだろ
誰かMLで言ってこいよ

「ここで使う用語はRuby信者(キチガイ含む)が勝手に定義したもので
世間一般のそれとは全く異なる場合があります。」

とでも補足しとけ、と

つーかここ見てるよな?>いつも修正してる人
78デフォルトの名無しさん:05/01/20 19:45:13
仕様書は用語の意味を勝手に改竄できる魔法の書ですが何か?
79デフォルトの名無しさん:05/01/20 19:45:25
爆弾バッファリング中・・・
80デフォルトの名無しさん:05/01/20 19:46:59
つうか、Rubyは文が値を持つ一例としてあげただけで、
Ruby信者でもなんでもないしな。
まあ、だんだん本物の馬鹿で納得させることは無理だって
事はわかったからまともに議論する気はなくなってきた。
81デフォルトの名無しさん:05/01/20 19:55:17
仕様書に、「文とは〜を指します。」と書いてあったら、
その言語においては文はそういう意味になる。
何でこんな当たり前の常識もわからないんだろうか?
82デフォルトの名無しさん:05/01/20 19:58:33
まあ文や式の完全に一般的な定義は存在しないし、ここで決めるのも難しいだろうな。

式は値を持つことが多い。
文は値を持たないことが多い。
正確な定義は言語によって異なる。

としか言えんでしょ。
前スレでdenotational semanticsから明らかと言ってた人は何か勘違いしてるとしか
思えない。
83デフォルトの名無しさん:05/01/20 20:37:46
>>82 でファイナルアンサー。

そもそも文や式の「定義」は、大抵の言語では文法の上で定義するよね (厳密には BNF とか) 。
意味 (値を返すとか返さないとか) から「説明」することはできるけど、
それは「定義」じゃないし。
# もちろん「文とは値を返さないものです」とか定義されてる謎な仕様の言語を除く

今調べたところ、仕様書じゃないけど Ruby のチュートリアルによると
> Rubyでは任意の式をセミコロン(;)または改行で区切った並びを文とします.
らしい。なので Ruby の式は文でもあるということらしい。

メジャーな言語しか知らない香具師は
世の中には Ruby に限らずいろんな言語があるということを
肝に銘じておいてくださーい。
# とかいうと「Ruby はメジャーだ」って怒られるかな。
84デフォルトの名無しさん:05/01/20 20:55:20
「文脈自由文法」の名前の意味がよくわかりません。
「文脈」とは何を意味しているんでしょう。
それから「自由」は「文脈に対して自由」?「文脈から自由」?「文脈が自由」?
おせーて。
85デフォルトの名無しさん:05/01/20 21:04:29
>>84
英語は "Context-free grammar" 。
つまり「文脈がない」ってこと。

といっても、どこに何を書いてもいいということではなく、例えば
「整数が式であるならば、式を書いてもいいところには例外なく整数を書いてもいい」
って感じ。
86デフォルトの名無しさん:05/01/20 21:23:05
【問】
文(Statement)と式(Expression)の違いは何ですか?
2つの違いは言語に依存しますか?

【答】
なにを式と呼ぼうが、なにを文と呼ぼうが作者の勝手。
言語に依存する。
87デフォルトの名無しさん:05/01/20 21:26:43
凄いスレ発見
88デフォルトの名無しさん:05/01/20 21:27:42
>>85
duty freeとかと同じだね。
関係ないが、よくwebページにある「リンクフリー」宣言は、「リンクはないよ」と言ってる
ことになるのだろうか。
89デフォルトの名無しさん:05/01/20 21:29:29
>>88
英語だとそうなるね。まあ和製英語だし。
90デフォルトの名無しさん:05/01/20 21:30:41
>>85
「isは動詞だけど、主語が三人称単数のときしか使えない」(特定の文脈でしか使えない)
って文法はcontext-freeじゃないってことか。

>>87
頼むからほっといて(´・ω・`)
91デフォルトの名無しさん:05/01/20 21:38:06
Cの文はCの規格が主張する文。
Cの式はCの規格が主張する式。
Cの関数はCの規格が主張する関数。
数学用語は借り物だし、日本語訳の言葉の定義は規格による。
これが現実だな。
92デフォルトの名無しさん:05/01/20 21:38:45
>>82はともかくとして、>>83は何か話がずれてる。
93デフォルトの名無しさん:05/01/20 21:40:29
>>86>>91が結局正しい答えだな。
94デフォルトの名無しさん:05/01/20 21:44:13
>>83
話がずれてるが、ちょっと突っ込むと、BNFで定義してるのは、構文規則であって
意味じゃない。
意味を定義するには普通は人間の言葉を使う(意味論などを使うこともある)。
95デフォルトの名無しさん:05/01/20 21:45:50
Ruby厨だからどうしても斜めにずれるの >>92
96デフォルトの名無しさん:05/01/20 21:48:21
>>86>>87の煽りだろ・・イイのか(w?
97デフォルトの名無しさん:05/01/20 21:53:57
意味を定義するには普通は人間の言葉を使う

自然言語の話かよ
98デフォルトの名無しさん:05/01/20 21:54:50
文や式は一段落がついたので、次は関数の定義でお願いします。
99デフォルトの名無しさん:05/01/20 21:55:41
>>96
はぁ?
100デフォルトの名無しさん:05/01/20 21:56:06
>>91
なるほど、関数も考えるとその通りだね。(数学or一般的な関数とは明らかに
意味が違う。)
101デフォルトの名無しさん:05/01/20 21:56:41
式=Expression は和声英語?
102デフォルトの名無しさん:05/01/20 21:59:48
>>98
関数=プログラム
103デフォルトの名無しさん:05/01/20 22:01:22
お前らのスレでは情報数学の用語は借り物でイイのか(w?

カッコいい言語出来そうだな。最高はやっぱRubyか?
104デフォルトの名無しさん:05/01/20 22:02:41
関数fとは、定義域dom(f)と値域cod(f)の間の関係であって、

∀x ∈ dom(f). ∀y, z ∈ cod(f). f x = y ∧ f x = z ⇒ y = z

を満たすものを言う。
105デフォルトの名無しさん:05/01/20 22:07:43
void function(void)
106デフォルトの名無しさん:05/01/20 22:08:22
>>86は凄スレアンカーのつもりだったんだが・・イイヨイイヨ〜
107デフォルトの名無しさん:05/01/20 22:11:49
>104と>105は別に矛盾しないな。
108デフォルトの名無しさん:05/01/20 22:14:46
そしてmonadやstate transformerの話になるか。
109デフォルトの名無しさん:05/01/20 22:24:20
Cの関数は最強。
だって数学厨でもCには文句つけない。
110デフォルトの名無しさん:05/01/20 22:25:29
アッタマワルソーなスレ

、と思ったら実は中身はRubyスレか。

                     ,riTl|l.il|..ll..|ll.i..lli、
                     ril l!|.|l|.l||!.l|.|l|lil.l|l|l
                     ||l!i!|州l|l|ll||lllミillll|l|
                    !|||ラ''' '´!|ll||l!lソ|||l||                         こ
                      `t'_,,,ヽ   i´l州                     の
                       ゙iー ''  /i',ノ'゙入                   荒 ス
                       `ー'、´ /,r'´ ,>、                れ レ
                         ,イy' /  /,r ヽ,                見 て
                       ,r'// /  /,i' '  i ゙、              え い
                         /,/li,/ ,/,i',i' ,r ,r7' ヽ,i.           奥 る る
                      〃,//l/ .// ,' /'´ /   ハ.         が が. よ
                    /,' / l./  ,i'i l//  /   / l          深     う
                   / ,i ,i ,!/  ,i' l // ,/   ,/  l.         い 案. に
                  ,/ l l i l./  !i .l / _,/  /   l!         . ・ .外
                 ,r'=‐、_ll_!j'_,_、-‐、‐'   __,,.     !l.       . ・
                /ノ /´/ ``ヽ、 `  ``''''"´      ,! l          ・
               /´ ,/-/     ``  ``ヽ、、___,,   i  l
                / ,.イl /       ,.r‐ ``ヽ、,__    ,! ./!l
             /  jly'     - '´           i i !.|
111デフォルトの名無しさん:05/01/20 22:27:08
値はvoidだし…
112デフォルトの名無しさん:05/01/20 22:29:54
わざわざvoid用意するってことは…そういうことだな。
113デフォルトの名無しさん:05/01/20 22:37:39
void関数だけ使う数学に厳しい数学厨。
文法エラーのような気もするが。
114デフォルトの名無しさん:05/01/20 22:39:37
プログラムの実行過程に応じて関数の解釈が変化すると考えれば、値の一意性は
保たれるな。evolving algebraなんてのもあったっけ。
11583:05/01/20 22:39:52
>>94
そう言ったつもりなんだけど……。
116デフォルトの名無しさん:05/01/20 22:40:56
【結論】
日本人はコンパイラ・スクリプトエンジンを開発するには向いてない。
117デフォルトの名無しさん:05/01/20 22:42:14
bison++2.0マダー?
118デフォルトの名無しさん:05/01/20 22:43:29
Kripke構造を用いたpossible worlds semanticsとかもあるな。
60年代も今も余り苦労は変わらない。
119デフォルトの名無しさん:05/01/20 22:47:48
>>115
だから、、普通、プログラミング言語の用語の意味は人間の言葉で「定義」してる。
これが間違い。↓

>そもそも文や式の「定義」は、大抵の言語では文法の上で定義するよね (厳密には BNF とか) 。
>意味 (値を返すとか返さないとか) から「説明」することはできるけど、
>それは「定義」じゃないし。
120デフォルトの名無しさん:05/01/20 22:52:29
>>109
そりゃ、数学の関数とCの関数は別物なんだから当たり前。
分野によって言葉の定義が違うのが当たり前。
言語によっても定義が違うのが当たり前。
121デフォルトの名無しさん:05/01/20 22:56:22
>>119
あ、ひょっとして

BNF exp ::= digit+ | exp + exp | exp - exp | ...

ではなくて

「『式』とは上の exp のことである」

この日本語が「定義」だ、って言ってる?
それとも、用語は普通こんな日本語では定義しない、って言ってるのかな。
122デフォルトの名無しさん:05/01/20 23:00:02
>>121
>BNF exp ::= digit+ | exp + exp | exp - exp | ...

これは一応定義の一部と解釈できるかもしれないが、どちらにせよ、
「構文規則」を定義してるだけ。
意味を完全に定義してるわけじゃない。

用語の意味を定義するには、「これはここを繰り返す」「これは値を返す」
「この値がtrueの時にここを実行」等、人間の言葉で定義するのが普通。
Cもそう。
123デフォルトの名無しさん:05/01/20 23:05:42
>>122
えーと。
だから「式と文の違いを意味で説明することはできるかもしれないが、
それは別に式と文それぞれの定義ではない」とゆーたんですよ。
124デフォルトの名無しさん:05/01/20 23:08:36
>>121ではないが、>>122の想定してる定義は
http://swissnet.ai.mit.edu/~jaffer/r5rs-formal.pdf
の7.2節みたいな内容か?
まあすべての言語がalgolやsmlやschemeみたいな意味定義は持ってないわな。
125123:05/01/20 23:12:34
あー!わかった。
漏れ「式とはこういう構文のことだ。そのように定義される式はこういう意味をもつ(これは式の定義ではなく式の意味の定義、のつもり)」
>122「式とはこういう構文であり、かつこういう意味をもつものだ」
とそれぞれ主張していたのか。多分。
この辺は趣味じゃないかなー。
126デフォルトの名無しさん:05/01/20 23:17:12
>>123 >>125
あのね、

>そもそも文や式の「定義」は、大抵の言語では文法の上で定義するよね (厳密には BNF とか) 。
>漏れ「式とはこういう構文のことだ。そのように定義される式はこういう意味をもつ(これは式の定義ではなく式の意味の定義、のつもり)」

これがとりあえず間違いなのね。文や式の定義って言う時は、普通、「意味」の定義のこと、あるいは、意味を含んだ定義を
言ってるわけで、文法上では定義されないの。

>意味 (値を返すとか返さないとか) から「説明」することはできるけど、
>それは「定義」じゃないし。

この「それ」は「違いを意味で説明すること」だったわけね・・・・
それはこちらが誤解してました。スマソ。
俺が定義だといってるのは、「値を返す」とかの説明がまさに意味の
定義だから。定義と言ってたわけ。

>>124
そうだよ。そういうふうに意味論で定義するか、もしくは自然言語で定義するわけだけど、
これは文法とは別物。
127デフォルトの名無しさん:05/01/20 23:23:28
>>124
しかしそれも今となっては古めかしいな。
言語に並行性を取り込もうとすると全面書き直しになりそうだ。
128デフォルトの名無しさん:05/01/20 23:25:43
激論のとこ今更で悪いが、そもそもCの式は厳密には、値を”返さない”ぞ
operatorや関数が値を返すだけでなw

式は値を返すが、文は値を返さないとか言ってる奴はCでも間違いだぞw
129123:05/01/20 23:31:17
>>126
うーん、考え直すとやっぱ
>122「式とはこういう構文であり、かつこういう意味をもつものだ」
の方が自然ですね。ごめん。

>>128
今度は「返す」「返さない」の意味定義の話?
130デフォルトの名無しさん:05/01/20 23:32:35
どうせ例をあげるならvoid型関数の呼び出し式にでもすればよかったのに。
131デフォルトの名無しさん:05/01/20 23:45:26
値を持つ・値が定まる
132デフォルトの名無しさん:05/01/20 23:53:46
>>127
7.2節は意味関数で定義されてるが
それは人間の言葉で定義してるということでいいのか?
133デフォルトの名無しさん:05/01/20 23:56:42
Ruby厨の脳内仕様では値を持つも値を返すも同じ
134デフォルトの名無しさん:05/01/21 00:00:49
>>128
そうなのか?orz

ところで、式と文の関係は言語に関係なく、

式⊂文

でいいんだよなぁ?
これに反する言語ってある?
135デフォルトの名無しさん:05/01/21 00:00:58
void がイカンのは
( void ∈ dom(f) ) = false ∧ ( void ∈ ∈ cod(f) ) = false
が常に成立するからだとおもふ
136デフォルトの名無しさん:05/01/21 00:01:44
あっ、∈が一個多すぎた、まあ気にするな。
137デフォルトの名無しさん:05/01/21 00:05:20
>>126
煽りじゃなくて単に見解を聞きたいんだけど、

式のセマンティクスを定義するのに式という言葉を使いたくて
式という言葉をとりあえずBNFとかで定義しておいて、
「式は値を持つ」とかいう形でセマンティクス上の意味を付加していくことがある
(特に数学的にセマンティクスを定義したい場合)。
こういう場合、「式という言葉(の意味)」はBNFで定義され
「式の(セマンティクス上の)意味」は日本語とかで定義される、
といったことになると思うんだけど、どう?
138デフォルトの名無しさん:05/01/21 00:08:08
こんだけ暴れて何も学んでないんだなぁ。
139デフォルトの名無しさん:05/01/21 00:10:12
「式という言葉(の意味)」はBNFで定義され

「式という言葉(の字面・パターン)」はBNFで定義され
じゃない?
140デフォルトの名無しさん:05/01/21 00:11:38
>>137
俺の見解としては、それは普通に間違い。
「式の意味」という言葉を人間が使う時、普通は「式の(セマンティクス上の)意味」を指すから。
あくまで、BNFで使っている名前は、構文規則を定義するための記号にすぎず、
人間が「式という言葉(の意味)」と言っているときでも、そのBNF上の記号を
指しているということはまず無い。
ここでのもともとの議論も無論、前者の意味で皆「式は〜」と言っていた。
141デフォルトの名無しさん:05/01/21 00:12:58
>>134
「 ところで、式と文の関係は言語に関係なく、

  式⊂文
」はいいの? またRuby論理?
142デフォルトの名無しさん:05/01/21 00:13:45
(゚∈゚ )
143デフォルトの名無しさん:05/01/21 00:15:59
>>132
127じゃないが、良くないよ。
人間の言葉で定義している場合が多いというだけで、
Schemeの7.2節は例外。
Schemeは人間の言葉と、形式的な意味論と両方の定義が存在するな。
後者の方がより厳密かもしれない。
144123:05/01/21 00:16:58
>>137
僕もそんな風に考えてたんだけど、どっちも「式」の定義だし、
「普通」は式の定義というと意味論的な意味のことを指すと言われれば
反論できないし、そんな気もしてきた。

>>141
漏れがそうでない言語を定義してあげよう。
145123:05/01/21 00:18:22
×意味論的な意味
○意味論的な定義
146デフォルトの名無しさん:05/01/21 00:19:04
形式的意味論で定義していないプログラム言語は
意味関数で定義できないということを意味しているの?
147デフォルトの名無しさん:05/01/21 00:20:41
意味関数の定義自体は人間の言葉で定義してるんだから
結局は人間の言葉で定義してることにならん?

>>146
意味関数で定義できるけどしてないだけの場合も。
148デフォルトの名無しさん:05/01/21 00:21:10
>>144
極端なこと言えば、式の構文を定義するのに、式という言葉を使わなくてもいいわけで。
もちろん、わかりにくいからそんなことは普通しないんだけど、例えば、stmtって略したり
する時もある。
だから、BNF上の記号はあくまで言葉の(意味の)定義とは別。
構文規則を定義するために便宜上わかりやすい名前をつけた記号に過ぎない。
149デフォルトの名無しさん:05/01/21 00:22:39
>>147
まあ、間接的には結局そういうことだよ。
数学だってそう言えてしまう。
でも、普通はそういう直接自然言語で定義してないものを
自然言語で定義してるとは言わないわな。
150デフォルトの名無しさん:05/01/21 00:23:43
Rubyの人が言うように仕様書で自由に決めたとき
意味関数に落とすと矛盾が発生することはないの?
151デフォルトの名無しさん:05/01/21 00:24:41
>>150
あるに決まってるだろ。その場合はもちろん無効だよ。
そういうバグが無いことを前提にみんな議論してるんだろ。
152デフォルトの名無しさん:05/01/21 00:25:27
>>150
矛盾が発生しないように意味関数を定義していくんじゃないかな。
ひょっとして意味関数を「日本語->意味」みたいな関数だと思ってる?
153デフォルトの名無しさん:05/01/21 00:26:22
Schemeの意味関数とRubyを形式意味論を用いて意味関数に落としたものは
互いに矛盾するってことはある?
154デフォルトの名無しさん:05/01/21 00:27:01
>>153
意味がわからない。矛盾するもなにも、別の言語の別の定義だからなんの関係もない。
155デフォルトの名無しさん:05/01/21 00:27:53
http://swissnet.ai.mit.edu/~jaffer/r5rs-formal.pdf
の7.2節の形式の意味関数を念頭においてますよ。
156デフォルトの名無しさん:05/01/21 00:30:16
>>154
同じ状態機械を想定して
同じ形式の意味関数を用いたらどうです?
157デフォルトの名無しさん:05/01/21 00:30:34
で?何が聞きたいの?
SchemeとRubyの間の矛盾って?
158デフォルトの名無しさん:05/01/21 00:32:59
一方では文は値を持ち、他方では持たないと自由に定義されてると
抽象機械の遷移状態が異なってくることはないですか?
159デフォルトの名無しさん:05/01/21 00:34:43
言語が違うんだから、形式(?)なるものが同じだとしても、意味関数や状態遷移機械は
もちろん違うし、全く関係ないんだが。
160デフォルトの名無しさん:05/01/21 00:37:01
>>159
なんだか見えない相手と戦っているドンキホーテのようだな。がんがれ。
161デフォルトの名無しさん:05/01/21 00:37:24
すみません、「形式(?)」って具体的にお願いします。
162デフォルトの名無しさん:05/01/21 00:38:43
>>161
俺が聞きたいよ。
お前が「形式が同じだとどうです?」と言ってるだろ。
察するに、表示的意味論なら表示的意味論、操作的意味論なら操作的意味論で、
似たような記号使うということか?
163デフォルトの名無しさん:05/01/21 00:38:46
意味関数の記述形式のことでいいですか?
164デフォルトの名無しさん:05/01/21 00:39:38
>>163
いいですか?てなんだよ。お前が使ってる言葉だろ。
165デフォルトの名無しさん:05/01/21 00:40:23
とりあえず、俺に聞く前に意味論の本読んでください。
166137:05/01/21 00:42:11
>>140
了解。dクス。
>>139
うーんと、式=加算or減算etcって感じ。
数学的には
式の集合=加算の集合∪減算の集合∪etc
みたいな。
167デフォルトの名無しさん:05/01/21 00:44:58
言語が違っても処理が同じなら、ターゲットの抽象機械が同じで
同じ意味関数を用いれば、おなじ記述になるはずですが、
文の定義が異なるのなら両者の遷移状態は異なることになりませんか?



168デフォルトの名無しさん:05/01/21 00:49:34
同じ記述結果が出来るはずなのに、遷移状態が異なるのは
問題ではないのか?ということだな。
169デフォルトの名無しさん:05/01/21 00:52:16
言質を確かめられてるだけで、意味論のことをおまえに
聞いてる訳じゃなさそうだから答えてやれ >>165
170デフォルトの名無しさん:05/01/21 00:54:09
文の定義とは勿論「文」の意味論的定義な
171デフォルトの名無しさん:05/01/21 00:54:20
>>167-168
偶然同じ処理で同じ記述になろうが、別の処理で別の記述になろうが、
別の世界の別の定義同士は何の関係も無いぞ。

あと、表示的意味論と操作的意味論ごっちゃになってるだろ。
172デフォルトの名無しさん:05/01/21 00:57:37
同じ抽象機械で同じ目的の処理なら関係ないとホントにいえるのか?
173デフォルトの名無しさん:05/01/21 01:04:53
ていうか、SchemeとRuby全然違うだろ。
同じ目的の処理とかほとんどありえない。そもそもSchemeに文なんて無いだろ。
174デフォルトの名無しさん:05/01/21 01:06:46
>>173
ふふん??
175デフォルトの名無しさん:05/01/21 01:10:15
仮に、操作的意味論で、同じ抽象機械が対象で同じ目的の処理なら、同じ記述にできるよ。
違う目的なら違う記述になるよ。
で?それが何?
176デフォルトの名無しさん:05/01/21 01:13:17
gcでlazy sweepについて知りたいんだけど
なにかいい文献ない?
177デフォルトの名無しさん:05/01/21 02:03:20
くだらない質問なんですが、
構文解析器のことを英語で"parser"と言いますが、
字句解析器は英語で何と言うのでしょうか?
178デフォルトの名無しさん:05/01/21 02:04:36
>>177
lexer

# 数時間でえらい書き込みだと思ったら案の定・・・
179デフォルトの名無しさん:05/01/21 03:03:07
scannerてのも見るけど
180デフォルトの名無しさん:05/01/21 03:09:37
スキャナだと意味が広すぎるんでは
知らんけど
181デフォルトの名無しさん:05/01/21 03:47:45
死ね。
182デフォルトの名無しさん:05/01/21 03:53:25
lexというツールもあるくらいだし、lexerですかね。
ありがとうございます。
183デフォルトの名無しさん:05/01/21 03:56:15
そういえば、Schemeに文はありませんでしたね。
184デフォルトの名無しさん:05/01/21 03:59:22
185デフォルトの名無しさん:05/01/21 04:04:47
>>176
定番のあの青い本にのってない?
186デフォルトの名無しさん:05/01/21 04:49:21
187デフォルトの名無しさん:05/01/21 05:02:26
188デフォルトの名無しさん:05/01/21 05:14:58
なんでもいいから早く誰か俺言語さらせよ
189デフォルトの名無しさん:05/01/21 07:38:01
俺言語I(cbt)

[syntax]
x ∈ Var
n ∈ Nat
Exp e ::= n | x | e1 e2 | e(x)

[semantics]
s ∈ State = Var -> Exp
[[e]]s = n iff s |- e => n

s |- n => n
s |- x => s(x)
s |- e1(x) e2 => e1[e2/x] <- capture avoiding substitution
s |- e(x) => e(x)
190デフォルトの名無しさん:05/01/21 08:29:37
ぜんぜん意味わかんないから説明キボン。
∈ってなん?
191デフォルトの名無しさん:05/01/21 08:34:52
くちばし
192デフォルトの名無しさん:05/01/21 09:18:57
ちぃ言語
193デフォルトの名無しさん:05/01/21 09:47:11
>190
数学、集合論の「集合に属する」を表す記号
194デフォルトの名無しさん:05/01/21 09:50:13
使い道なさそう
195デフォルトの名無しさん:05/01/21 09:56:53
なんか前スレにも増して役に立たないスレになってるな
196デフォルトの名無しさん:05/01/21 10:00:30
最近中間言語を作るのが流行りらしいな
197デフォルトの名無しさん:05/01/21 10:01:41
中間言語なんて大昔からあるけどな
198デフォルトの名無しさん:05/01/21 10:02:26
VB1から使われてるpcodeも中間コードだしね
199デフォルトの名無しさん:05/01/21 10:05:43
x86とJavaVMの中間言語は?
200デフォルトの名無しさん:05/01/21 10:06:04
バイトコード
201デフォルトの名無しさん:05/01/21 10:07:21
相変わらずの糞スレぶりだな(wwwwwwwww
202デフォルトの名無しさん:05/01/21 10:11:36
Rubyyyy!の中間言語は?
203デフォルトの名無しさん:05/01/21 10:19:39
無い
204デフォルトの名無しさん:05/01/21 10:22:33
ただ荒らしたいだけのバカだからそんな長文は読まないよ
205デフォルトの名無しさん:05/01/21 10:48:06
ψプロセッサーやOSを選ばないユニバーサル・エミュレーター登場か
http://pc5.2ch.net/test/read.cgi/pcnews/1095309232/
206デフォルトの名無しさん:05/01/21 22:07:59
expression を 式 ではなく、「値」とか「表現」と読んでしまったらいいんでない?
statement は(値のある文なんて無いから)文のままでもいいよな。
207デフォルトの名無しさん:05/01/21 22:08:32
代入文
208デフォルトの名無しさん:05/01/21 22:19:29
>>206
「詭弁のガイドライン」より。

・自分に有利な将来像を予想する
・主観で決め付ける
・ありえない解決策を図る

今のあなたはこの辺が該当します。
予想しうる今後の展開は、

・レッテル貼りをする
・勝利宣言をする
・知能障害を起こす

辺りです。
209デフォルトの名無しさん:05/01/21 22:21:07
それにしても詭弁認定厨はうざかったな。
詭弁でもなんでもないものを、詭弁のガイドラインに
無理矢理あてはめようとしてるところが笑えた。
210デフォルトの名無しさん:05/01/21 23:15:13
ハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハ
211デフォルトの名無しさん:05/01/21 23:28:31
保守になってねーんだよ!!!!!!!
212デフォルトの名無しさん:05/01/22 10:24:34
式は y=3 のようなものが式。
y とか 3 とかを式と呼ぶのは、確かにおかしい罠
213デフォルトの名無しさん:05/01/22 10:47:09
>>212
if(y)
などよく使うがな
214デフォルトの名無しさん:05/01/22 11:12:48
C言語で言えばセミコロンがあれば文、なければ式です。
215デフォルトの名無しさん:05/01/22 11:19:06
y = 3;



0;

216デフォルトの名無しさん:05/01/22 11:20:37
yや3は式の構成要素の1つ
これらの構成要素と演算子を組み合わせたものが式
文というのは必ず特定のキーワードや記号が必要だと考えたら?

C言語
複文なら { ... }
if文なら if ( 式 ) ...
式文なら 式 ; // 式の後にセミコロン
ぬる文なら ; //セミコロンだけ

Ruby
知らん

RubyのBNFみたいなのある?
217デフォルトの名無しさん:05/01/22 11:23:07
てかなんで知らないのにRubyが出てくるの?
218デフォルトの名無しさん:05/01/22 11:24:13
219デフォルトの名無しさん:05/01/22 11:25:25
>>218
無茶苦茶だな
不完全だし
信者が混乱するのもよくわかる
220デフォルトの名無しさん:05/01/22 11:26:56
と、とりあえずBNFすら読めないけど書いてみた煽り屋
221デフォルトの名無しさん:05/01/22 11:28:43
演算子の優先順位もそれじゃわかんないね。
222デフォルトの名無しさん:05/01/22 11:29:25
よく釣れます
223デフォルトの名無しさん:05/01/22 11:31:11
*1このBNFはまだ完全に1.6対応していません。執筆者募集

古すぎ
224デフォルトの名無しさん:05/01/22 11:31:55
>より詳しくは parse.y を参照してください

結局これが悪いんだよ。
平たく言えばソース読めってこと。
Ruby理解するにはC言語とyaccの知識が必要だとさ。
225デフォルトの名無しさん:05/01/22 11:33:13
↑藻前池沼以下だな。bison定義ファイルなんてそのまんまEBNFなのに
226デフォルトの名無しさん:05/01/22 11:34:04
てかbisonも使えないのになんでこのスレにいるのかな
227デフォルトの名無しさん:05/01/22 11:35:34
煽り屋だからさ
228デフォルトの名無しさん:05/01/22 11:37:36
よく釣れますね
229デフォルトの名無しさん:05/01/22 11:39:07
それは釣りなのか?
このスレと直接関係ないんだけどさ、俺「釣り」とか「釣り師」っていうのは、
   釣り師→ ○  /|←竿
          ト/  |
          │.  ~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          八   §←餌(疑似餌)     >゚++<

の組み合わせだと思ってたんだけど、
最近自称釣り師がダイレクトで自分の本音を攻撃されて「釣れた!」とか
言ってるの多いよね。
 これは、どっちかというと、

      ..釣れたよ〜・・・│
      ────y──┘

       ・゚・。 ○ノノ。・゚・
    ~~~~~~~~~~│~~~~~~~~~~~~~~~
           ト>゚++< ミ パクッ
     ジタバタ  ハ
         ノ ノ

かと思うんだけど、どうだろう?
230デフォルトの名無しさん:05/01/22 11:41:48
>>221
perse.y見てもわかんないですよ。

>>223
同期取れよってことですね。
あんな古いのなら置かないほうがいい。

>>225
あい、C言語の知識は必要ですね。
知っててもコード混ざってて読みにくい。
少しでも常識があればこれ見て文法わかれとはいえませんね。
231デフォルトの名無しさん:05/01/22 11:43:27
↑コードなんて書かれる場所決まってるんだから
正規表現置き換えかflexでも使って機械的に除けるだろ池沼
232デフォルトの名無しさん:05/01/22 11:44:53
じゃあこの機会を利用してRubyの文法誰かまとめて
233デフォルトの名無しさん:05/01/22 11:46:45
>>230
parse.y見ても分からないのは勉強不足。
勉強しようとしないのはただの怠慢。
234デフォルトの名無しさん:05/01/22 11:47:08
池沼に池沼と言われてもなあ
235デフォルトの名無しさん:05/01/22 11:48:14
てかコードも隣に有った方が分かりやすいよ池沼ども
236デフォルトの名無しさん:05/01/22 11:48:15
まあまともな言語だったらいきなりperse.y読めとはいわないよな。
237デフォルトの名無しさん:05/01/22 11:49:04
rubyもそんな事は言ってない。
お客さんはリファレンスでも読みながらママのおっぱいでもしゃぶってな
238デフォルトの名無しさん:05/01/22 11:49:30
pythonの文法はどうよ?
239デフォルトの名無しさん:05/01/22 11:49:45
なんでスクリプトばっかなんだ?
240デフォルトの名無しさん:05/01/22 11:50:30
そんな重箱の隅をつついたような言語の話ばっかりしてないで
LISPとかSmalltalkの話しようぜ
241デフォルトの名無しさん:05/01/22 11:50:51
>>230
RubyはいまのとこC言語も読めない人は対象にしてないから大丈夫
242デフォルトの名無しさん:05/01/22 11:52:08
てかparse.y見れば演算子の優先順位もちゃんと分かりやすく定義されてるし
煽ってる香具師はやっぱ池沼だな
243デフォルトの名無しさん:05/01/22 11:53:09
C言語も読めないのになんでこのスレにいるの?
244デフォルトの名無しさん:05/01/22 11:54:50
perse.y開いてprecedence tableで検索すれば優先度はわかるよ。
245デフォルトの名無しさん:05/01/22 11:55:04
このスレの対象者
・flexが使える
・bisonが使える
・C言語くらいは使える
・何らかのアーキテクチャを対象としたアセンブラが使える(COMETとかの仮想環境以外の)

上記を全て満たす物のみ書込可
246デフォルトの名無しさん:05/01/22 11:55:06
yaccを少しでもかじったことがあれば優先順位が分からないなんて言わないよなぁ
247デフォルトの名無しさん:05/01/22 11:55:38
Ruby関係で用のある人は出てってください。
248デフォルトの名無しさん:05/01/22 11:55:57
>>245
スクリプトエンジンにアセンブラの知識は必要ありませんから。
残念。
249デフォルトの名無しさん:05/01/22 11:57:24
>>245
・Ruby関係者・信者以外
も加えといて
荒れるから
250デフォルトの名無しさん:05/01/22 11:58:07
Ruby煽ってるような香具師はそもそも>>245の条件さえ満たしてないので
追加しなくてOK
251デフォルトの名無しさん:05/01/22 11:59:12
>>243
Cは別に必須じゃないだろ。
MLでもPascalでも、とにかくコンピュータ言語が解かればよい。
252デフォルトの名無しさん:05/01/22 11:59:15
bison使えないけどspiritとかANTLRとかJavaCC使える香具師もいるかもしれないぞ。
253デフォルトの名無しさん:05/01/22 12:00:31
spiritはゴミ未満。C++マニアのオナニー。
使いにくい重い生成実行コードが巨大の3拍子そろってる有害廃棄物。
254デフォルトの名無しさん:05/01/22 12:01:22
・flex(のようなもの)が使える
・bison(のようなもの)が使える
255デフォルトの名無しさん:05/01/22 12:04:51
>>253
漏れもspiritは見切ったね。ありゃboost信者でもヤバイと思うもん。
256デフォルトの名無しさん:05/01/22 12:07:55
でもbisonはC++のコードまともに吐けないからねえ。
グローバルに色々宣言しまくるから、なんか列挙子が他と被ってむかつく。

bison++は5年以上更新が無いし、bisonも一応オプションでC++のコード吐けるけど、
flexが吐くC++コードと連携できないんじゃ話にならないね。
257デフォルトの名無しさん:05/01/22 12:09:17
GNUツールはお話にならないね。
258デフォルトの名無しさん:05/01/22 12:09:32
bisonはいつの間にかGLR(1)すら吐けるようになってるし、
デストラクタまで自動化されてる。
日本にそういう資料無さ過ぎ。
259デフォルトの名無しさん:05/01/22 12:10:19
>>257
吐いたコードはGPL適用外なんで
260デフォルトの名無しさん:05/01/22 12:12:28
spiritはミニ言語のコンパイルに30分かかって5MB位の実行ファイル吐き出したワロス
261デフォルトの名無しさん:05/01/22 12:12:52
日本人お話にならないね。
262デフォルトの名無しさん:05/01/22 12:13:15
三国人よりマシだけどな
263デフォルトの名無しさん:05/01/22 12:14:43
それがspiritクオリティ
264デフォルトの名無しさん:05/01/22 12:17:42
てめーらどのコンパイラコンパイラなら満足なんだよ
265デフォルトの名無しさん:05/01/22 12:20:22
bisonでいいや('A`)
266デフォルトの名無しさん:05/01/22 12:25:10
ANTLRならC++コード吐けるぞ。使った事無いから誰か使って使い方教えてくれ。
267デフォルトの名無しさん:05/01/22 12:28:57
ANTLRは左再帰駄目らしいぞ。spiritもそうだけど
文法考えるのに余計なストレスが増えて使ってられんな。
勝手に文法置き換えてくれたりはしないのかね?
268デフォルトの名無しさん:05/01/22 12:30:36
bison最強論
269デフォルトの名無しさん:05/01/22 12:33:03
てか紛らわしいからANTLLに改名しろよ(w
270デフォルトの名無しさん:05/01/22 12:34:45
CCなんかなくてもコンパイラぐらい作れるっちゅうねん。
271デフォルトの名無しさん:05/01/22 12:35:19
使った方が楽だ
272デフォルトの名無しさん:05/01/22 12:35:59
禿同
273デフォルトの名無しさん:05/01/22 12:38:48
てかANTLR使うくらいなら手書きでいくね?
テーブルも作らない単なる再帰下降らしいし。
274デフォルトの名無しさん:05/01/22 12:39:51
もうCCの話飽きた。結局bison+flex最強って事でファイナルアンサー。
275デフォルトの名無しさん:05/01/22 12:40:53
bisonはC++との親和性が…
クラスの実体渡せないのが…
276デフォルトの名無しさん:05/01/22 12:41:40
↑バーカ実体毎回渡してたら重くて使ってられネーヨ。おとなしくポインタ渡しとけ。
277デフォルトの名無しさん:05/01/22 12:43:15
解放するのマンドクセ
278デフォルトの名無しさん:05/01/22 12:43:50
そこでBoehmですよ
279デフォルトの名無しさん:05/01/22 12:54:14
bison用のC++ LALR skeletonらしいんだけど、使ったことある方いますか?

http://www.bj-ig.de/software/bison/
280デフォルトの名無しさん:05/01/22 12:57:53
てか標準で付いてるlalr1.ccとなんか違うのか?
281デフォルトの名無しさん:05/01/22 13:03:49
Lexerが字句解析をしてる間にParserがブロッキングされないらしい…?
良く読んでないからワガンネ('A`)
282デフォルトの名無しさん:05/01/22 14:06:44
いまのyacc/bisonだと、取りたいアクションが同じでも
還元の条件後とに、このように(↓)書かないと行けませんよね?

L1: R1 {
Action1();
}
| R2 {
Action1();
}

単純に考えて、

L1: R1
| R2 {
Action1();
}

見たいに書けない理由って何かありますか?
283デフォルトの名無しさん:05/01/22 14:12:40
R1のときに何もしないという規則が書けない。
普通はルールをガーっと書いて文法がある程度できてることを確認してから
コードを入れていくし。
284デフォルトの名無しさん:05/01/22 20:34:40
BNFってファイルとして持っていて、
それをコンパイル時に読み込むんですか?
それともただの設計図的なもの?
285デフォルトの名無しさん:05/01/22 20:38:15
>>284 が何を言いたいのか
全然わからん。
286デフォルトの名無しさん:05/01/22 20:44:28
>>284
はい。
287デフォルトの名無しさん:05/01/22 20:46:51
>>286
     ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < んなわきゃーない
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |
288デフォルトの名無しさん:05/01/22 20:48:12
>284
実行時に有限時間内に再構成可能なparserを読み込んで使えたら、君も人工知能の進化に貢献できる…とだけ伝えておこう。
289デフォルトの名無しさん:05/01/22 20:48:29
>>287
いや、取り合えず返事しとこうかと。
290デフォルトの名無しさん:05/01/22 21:01:20
>288
これを世界征服に使うかどうかは君たちの哲学次第。健闘を祈る。
291282:05/01/22 22:07:24
>>283
R1の時に何もしないではなく、R1とR2に同じアクションを取らせたいのです。
292デフォルトの名無しさん:05/01/22 23:50:53
>>282
yaccの書き方でそう決まってるだけ。
L1: R1 | R2 {A}

L1: R1 {A} | R2 {A}
に変換するプリプロセッサでも書け。
293デフォルトの名無しさん:05/01/23 00:03:55
>>288
EarleyやCKY
294デフォルトの名無しさん:05/01/23 00:12:25
>>292
LALR(1)か何かの制約だとおもてたよW
295デフォルトの名無しさん:05/01/23 01:23:17
なんだ、ルールとアクションの区別もつかないアホだったんかよ。
296デフォルトの名無しさん:05/01/23 02:02:44
>>285
お前馬鹿だろ?
コンパイラの前に母国語を何とかしたら?
297デフォルトの名無しさん:05/01/23 02:22:23
6時間近く前の書き込みをよく煽れるな。
俺だったら恥ずかしくて絶対できねぇw
298デフォルトの名無しさん:05/01/23 09:22:40
時間差攻撃というやつですね。
299デフォルトの名無しさん:05/01/23 10:38:07
けなしはするが根拠は示さない、それが2chクオリティー
300デフォルトの名無しさん:05/01/23 12:23:38
6時間前に対してのレスなんて全く普通だろ。
301デフォルトの名無しさん:05/01/23 13:42:18
さすが、24時間張り付きは違うね
302デフォルトの名無しさん:05/01/23 15:31:17
24時間張り付き即レスできるにもかかわらず敢えて数時間放置して焦らすのがここでのたしなみ。
もちろん、dat落ちギリギリで保守するなどといった、はしたない住人など存在しない。
303デフォルトの名無しさん:05/01/23 15:56:22
http://www.fuka.info.waseda.ac.jp/~washi/SPathCC/

> SPathCC とは?
>
> Augmented BNF に従って記述された文法定義を用いて、文法定義に従って
> 文書の字句・構文解析を行う解析器(Parser)を生成する解析器生成系(Parser Generator)と、
> XPath に類似する構文経路表現 SPath(Syntax Path Language)を用いて構文木に対して
> 内容を伴う構造問合わせを実行可能な SPath 処理系の統一パッケージです。

見つけただけで、まったく使ったことない。
304デフォルトの名無しさん:05/01/23 19:30:26
ちょっと戻るが、Cの関数(function)は、
関数でなくて機能として訳した方がよかったね。
305デフォルトの名無しさん:05/01/23 19:37:35
引数取るんだから関数でいいじゃん
306デフォルトの名無しさん:05/01/23 19:39:45
また馬鹿が舞い降りたか
307デフォルトの名無しさん:05/01/23 19:41:41
戻り値voidでも関数?
308デフォルトの名無しさん:05/01/23 19:42:40
>>304
あほなことを・・・

もし"function" を「機能」なんて訳したら、
それこそボコボコに叩かれるだろうが。

そんなことをした奴には、二度と翻訳の
仕事は廻ってこないだろう。
それどころか、頭脳労働の職に就けるか
どうかも怪しいね。
309デフォルトの名無しさん:05/01/23 19:54:50
【@】ファンクション、【変化】《動》functions | functioning | functioned、【大学入試】
【名-1】機能、作用、働き
【名-2】関数
【名-3】儀式、社交的会合
【名-4】職務
【自動】機能する、働く
310デフォルトの名無しさん:05/01/23 19:57:15
だから?
311デフォルトの名無しさん:05/01/23 20:15:32
お前は池沼だなってことじゃないか?
312デフォルトの名無しさん:05/01/23 20:19:26
わざわざ区別するためにfunctionality
なんて単語もある
313デフォルトの名無しさん:05/01/24 21:44:00
りんご畑読んだ香具師いる?
314デフォルトの名無しさん:05/01/24 21:46:39
文の定義も最新の言語では変わって来てるんだね。
勉強になった。(例:Ruby)

315デフォルトの名無しさん:05/01/24 21:48:21
316デフォルトの名無しさん:05/01/24 21:59:24
りんご畑は読んでるうちにあほらしくなってきた
317デフォルトの名無しさん:05/01/25 00:23:30
古い定義は新しい言語によって進化する。
318デフォルトの名無しさん:05/01/25 21:17:47
りんご畑を例えに使うこと自体かなり苦しい感じだった。
初めてスクリプトだのに触る人には全然イメージ湧かなそう。

勉強には向かないわ、iアプリ向けなんかに書くからソースも読みづらいわでお勧めできない。
319デフォルトの名無しさん:05/01/25 23:43:38
>>318
そうか?俺は結構面白かったけどな。といっても最後まではまだ読んでない。
例えがちょっと苦しいのは同感だが、女の子らしくって説明が可愛い。
夜中でも何か目が冴えて頭に入る感じw

まぁ、全体を初心者が見通すにはいいんでない?
320デフォルトの名無しさん:05/01/26 22:25:15
この手の本で、女性がかいてるのって珍しくない?
321デフォルトの名無しさん:05/01/26 22:25:44
朝菜タソは?
322デフォルトの名無しさん:05/01/26 22:26:41
りんご畑ってどの本?
323デフォルトの名無しさん:05/01/26 23:45:16
>>322
スモールコンパイラ、結構可愛い
324デフォルトの名無しさん:05/01/27 23:20:15
>>321
だれそれ?
325デフォルトの名無しさん:05/01/27 23:29:44
>>324
私です
326デフォルトの名無しさん:05/01/27 23:58:54
そんなエサで俺様が(ry
327デフォルトの名無しさん:05/01/28 17:17:20
クマー!
328デフォルトの名無しさん:05/01/29 00:16:01
>>321
りんご畑のねーちゃんのこと?
329デフォルトの名無しさん:05/01/29 23:24:43
再帰下向きって学習や研究にはいいけど、実用的なのかな?
330デフォルトの名無しさん:05/01/29 23:27:49
ANTLRは再帰下向き
331デフォルトの名無しさん:05/01/30 10:41:07
>>329
CFGから外れる処理を行いたい場合超有効。
332デフォルトの名無しさん:05/01/30 13:05:09
本流は、再帰上向き
333デフォルトの名無しさん:05/01/30 20:28:06
>>332
同意。特に実用的なプログラムでは、多少の例外を除いてまずそう。

334デフォルトの名無しさん:05/01/30 20:41:16
手書き?
335デフォルトの名無しさん:05/01/30 21:36:48
>>333
「再帰」上向きってどんなプログラムだよ
336デフォルトの名無しさん:05/01/30 22:09:44
再帰下向きで解析できないような構文ってどんなのですか?
337デフォルトの名無しさん:05/01/30 22:16:23
>>329
331ではないが、
新しい構文を追加するときに、
LALRの制限とかCFGの限界とかに縛られなくていいのは
ある意味実用的。
338デフォルトの名無しさん:05/01/30 22:28:33
左再帰も出来ない時点でウンコ
339デフォルトの名無しさん:05/01/31 04:50:48
>>1の内容とは無関係のシンタックスの話ばかりですね
340デフォルトの名無しさん:05/01/31 06:36:05
字句解析・構文解析から,
字句解析・構文解析から,
字句解析・構文解析から,
字句解析・構文解析から,
字句解析・構文解析から,
字句解析・構文解析から,
341デフォルトの名無しさん:05/01/31 07:34:35
まぁ、2ちゃんねるっていう掲示板の型式で、この参加者のレベルで
盛りあがれるのは、せいぜい、字句解析・構文解析までってことだな。
そこら辺りまでなら、学部レベルの授業で皆なじみがあるし。
342デフォルトの名無しさん:05/01/31 12:43:02
あくまで勉強として、独自スクリプトを作ってみたいんですが、
どういうアプローチで始めるのが良いでしょうか。
中間言語を生成するコンパイラと、実行用アプリケーションにわけようかと思っています。

なお、経験はJavaサーブレットを使ったシステム開発程度で、
文字列の解析はあまり経験がないです。数式程度。
343デフォルトの名無しさん:05/01/31 12:45:00
っていうか、自分の研究分野のことを語り出すと身元ばれるし、誰も知らないような
有益な情報は匿名で出したらもったいないし。
344デフォルトの名無しさん:05/01/31 13:00:46
プッ
345デフォルトの名無しさん:05/01/31 13:04:37
>>344
オナラ禁止。
346デフォルトの名無しさん:05/01/31 17:03:05
研究といえるほどの分野かよ
有益な情報とはなんだよ
知る人ぞ知るマイナー知識というだけで、難しい内容なんかあるかっちゅーの
処理系作る気ないならどっか行ってくれ
読んでいてクソも詰らん
347デフォルトの名無しさん:05/01/31 18:20:46
>>342
綾本のサンプルをダウンロードしていじるとか
http://www.gihyo.co.jp/books/support.php/4-7741-2177-0
348デフォルトの名無しさん:05/01/31 20:39:21
>>346
実は、研究と言えるほどの分野だよ。
今もコンパイラに関する論文はかなり出てる。
349デフォルトの名無しさん:05/01/31 21:05:55
(笑
350デフォルトの名無しさん:05/01/31 21:39:40
>>346
面白い人ですね。芸人の方ですか?
351デフォルトの名無しさん:05/01/31 21:42:25
>>346
処理系作るだけしか興味がないのか。
こんなところではまともな議論にはなるわけがない、というのは納得できるな。

…専門学校生かな?
352デフォルトの名無しさん:05/01/31 21:53:12
>>351
ちょっとやればサルでも分る事を偉そうに語りまくるから、何だコイツと思ってるだけ、
それだけ。
353デフォルトの名無しさん:05/01/31 21:57:00
>>342
なるほど、綾本というのはスレの頭にも載ってる本ですね。
amazon評価だと○動くサンプルコードが載ってる ×たとえがわかりにくい
とのことなので、パーサ初心者にはいいのかも。
店頭で探してみます。
354デフォルトの名無しさん:05/01/31 22:01:08
>>352
ほう、サルでも解かることを一生懸命研究している人が滑稽だな。
355デフォルトの名無しさん:05/01/31 22:05:19
(爆
356デフォルトの名無しさん:05/01/31 22:05:48
偉そうなこと言うと、僻む奴が漏れなくセットでついてきますw
357デフォルトの名無しさん:05/01/31 22:19:41
>>356
押売の断りかた:
要らないものは要らないとハッキリ言うこと。
358デフォルトの名無しさん:05/01/31 22:29:17
妬みスレ
359デフォルトの名無しさん:05/02/01 00:41:26
煽りと取られると心外だんだが、
言語系の技術って、そうめったに新しいものは出て来ていないよね。
論文にしても然り。

いろんなものは何時の時代にも出て繰るけど、
良いものは皆無。

ある意味、IT技術の窓際族かもw
360359:05/02/01 00:42:02
すまん、最後の1行は無視してくれ。
(単なる煽りになる。)
361デフォルトの名無しさん:05/02/01 00:49:02
>>359が何をもって新しいと認識するのかまるで解らないが、
少なくとも、まともな学会・会議や論文誌に掲載される全ての
論文に、必ず新規性がある。

>>359がその事実を否定できる程の人物である可能性は
限りなく低い。
362sage:05/02/01 01:18:20
特定の規格やデータ仕様から別の規格へデータを変換するようなもんは
インタプリタででも作ったほうがさっさと作れるのだろうか。
363デフォルトの名無しさん:05/02/01 01:32:53
>>359
ちなみに、どんな分野なら新しいものが出てるの?
364デフォルトの名無しさん:05/02/01 13:25:02
>>362
俺は単純にデータ仕様を構造体にして、パース次第そこへ突っ込んで書き出すだけで、
インタプリタなんて考えた事も無いな。
365デフォルトの名無しさん:05/02/01 19:50:55
チミ達はどういう目的でコンパイラの勉強をしてるの?
1、新しい言語を作って有名人になる為。
2、仕事でコンパイラを作ることがあるから。
3、ただの趣味・勉強。
366デフォルトの名無しさん:05/02/01 20:11:40
トンでもない駄スレになってるな、ここ。
過去スレ読んだ方が勉強になる...
367デフォルトの名無しさん:05/02/01 20:30:33
ここに限らずどこもそうだろ。
368デフォルトの名無しさん:05/02/01 20:39:46
>>365
ゲーム屋さんなので演出家が使いやすい記述ができるスクリプトコンパイラとか作りますです。
369デフォルトの名無しさん:05/02/01 20:42:08
HSPね
370デフォルトの名無しさん:05/02/01 20:44:18
>>368
もう来なくて結構です。
371365:05/02/01 21:01:35
なんか荒れる事言いましたかねぇ。
372デフォルトの名無しさん:05/02/01 21:29:10
>>371
選択肢全てが厨房じみている。
373デフォルトの名無しさん:05/02/01 21:32:17
HSP程度といっしょにされるとは悲しい物だな。
374デフォルトの名無しさん:05/02/01 21:32:51
>>1に騙された…
375デフォルトの名無しさん:05/02/02 00:38:29
>>370
(´・ω・`)
376デフォルトの名無しさん:05/02/02 00:40:20
>>375
もう来なくて結構です。
と言ったはずですが?
377370:05/02/02 00:42:58
>>376
なんだ、騙りまで出るのか。
378デフォルトの名無しさん:05/02/02 00:46:22
ああ、一匹騙りが紛れ込んでるみたいだな。
379デフォルトの名無しさん:05/02/02 00:48:19
>>372
他に選択肢がなにかあるか?
380デフォルトの名無しさん:05/02/02 05:52:38
簡単なコンパイラ作るのは学習用途にはかなり良いと思うけどね
PC自体に対する理解も深まるし、アセンブリ言語の練習にもなるしな

新しい言語を作って有名になるのは・・その辺の奴には無理では・・・w
381デフォルトの名無しさん:05/02/02 06:06:59
HSPでも普通の奴には無理。HSPの言語仕様はともかくとして、有名になっているということは、
馬鹿にしてる奴の想像以上に手間隙はかかってるし、有名になるためのツボをうまく
捕らえていたんだよな。
この程度なら誰でも出来るんなら、今頃HSPの代わりに、もっといいものが
有名になっているはず。
382デフォルトの名無しさん:05/02/02 06:41:10
> 有名になるためのツボをうまく捕らえていたんだよな。

必要な機能を必要なだけしっかり実装していたってことだな。
勘違い言語オタクにはまあムリだろうね。
383デフォルトの名無しさん:05/02/02 07:01:17
マルチメディア特化言語だから
そういう物作るのには向いているだろう
384デフォルトの名無しさん:05/02/02 07:09:01
HSPが有名になったのは、他が軒並み敷居が高かったところに、
極端に低い敷居でフリーソフトとして参入したからだろ。
昔は、ただ窓が出したいだけなのに、GTKだの複雑なWindowsの仕組みだの
要求される知識が多すぎたからな。

あとは、マルチメディアで五感に訴えたところだな。
極端に低い敷居で窓やコントロールやグラフィックや音楽などを操れたら
嬉しくなって飛びつく奴は絶対多い。
385デフォルトの名無しさん:05/02/02 08:07:01
HSPが出たころにgtkってあったの?
386デフォルトの名無しさん:05/02/02 12:55:40
ゲーム業界って独自スクリプト言語とか
結構作ってそうな気がすんだが、
どうなんだろう。
387デフォルトの名無しさん:05/02/02 13:05:36
>>386
ゲームはゲームでも、ノベルゲームとかの類の紙芝居的なものに多いよね。
そして、スクリプトをただ「作りたいだけ」。
既に作られたものがあり、それを利用すれば実現したい機能が実現できるにもかかわらず
使わないというのは愚かだね。
それに、紙芝居的なゲームならコンテンツが重要なのに、しょうもないプログラマが
しゃしゃり出てきて無駄な事に時間と金を費している。
まったく、ナンセンス、非効率。
388デフォルトの名無しさん:05/02/02 17:22:46
何このスレ・・・・・・・?
             /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /U ヽ___/  ヽ
  | ____ /   U    :::::::::::U:\
  | |       // ___   \  ::::::::::::::|
  | |       |  |   |     U :::::::::::::|
  | |      .|U |   |      ::::::U::::|
  | |       | ├―-┤ U.....:::::::::::::::::::/
  | |____ ヽ     .....:::::::::::::::::::::::<
  └___/ ̄ ̄      :::::::::::::::::::::::::|
  |\    |           :::::::::::::::::::::::|
  \ \  \___      ::::::
389デフォルトの名無しさん:05/02/02 17:27:14
>>388
AAで誤魔化すな。
思うところがあるのなら、書く価値のあることだけを書け。
390デフォルトの名無しさん:05/02/02 17:37:12
>>387
昨今は使ってない所が無いくらいじゃないか?
あらゆる分野のゲームについて。
しかも flex bison があれば作り捨て可能だぞ、
むしろ使いまわすだけの理由がなければ捨てたほうがいいかと。
特にオーサリング環境(開発ラインのネットワークの構成やDBの構成を含む)と
一体成型で作ったスクリプトの威力は絶大なんですがね。
そこらに転がっている単体動作のスクリプトエンジンとは一味違いますよ。
391デフォルトの名無しさん:05/02/02 17:58:10
具体的にどのへんが威力絶大なのよ?
392デフォルトの名無しさん:05/02/02 18:00:50
>>391
たとえば、コンパイル時に変更や依存関係を検出して、関係各位にメールを飛ばして注意喚起するとか。
たとえば、コンパイル時に必要なスクリプトから必要なデータを検出して、必要なサーバーからデータをダウンロードするとか。
その他色々
393デフォルトの名無しさん:05/02/02 18:01:30
そのゲームに特化してるから効率的だし、
バグが出にくいからに決まってるだろハゲ
394デフォルトの名無しさん:05/02/02 18:03:46
相変わらず低レベルなスレですね(わらい
395デフォルトの名無しさん:05/02/02 18:06:02
あと、ゲームの開発も終盤になってから特殊な機能が必要になったり、
アドホックな仕様変更が必要になったりする。汎用的にしようなんて
考えてる時間が無いことも多いのよ。
396デフォルトの名無しさん:05/02/02 18:06:48
汎用的な○○なんてただの神話だろ
397デフォルトの名無しさん:05/02/02 18:10:36
でもそれくらいなら既存のスクリプト&ツールでも十分出来ると思うが…
398デフォルトの名無しさん:05/02/02 18:16:38
効率悪いだろ
399デフォルトの名無しさん:05/02/02 18:18:02
自作するほうが効率悪いだろ。
400デフォルトの名無しさん:05/02/02 18:18:34
残念ですが、ここはゲーム用スクリプトの話をする場所ではないので、ゲ製板にお戻りください。
401デフォルトの名無しさん:05/02/02 18:21:51
>>399
よっぽど小規模な開発しかやった事無いんだな
402デフォルトの名無しさん:05/02/02 18:47:55
>>397
やってみなよ、その既存のスクリプトと同じものを作るかそれ以上の労力が必要だから。
403デフォルトの名無しさん:05/02/02 19:03:53
実際に洋ゲーのFarCryとかLua使ってたりするのもあるけど。
具体例出してもらわんと本当に自作じゃないと解決できないのか
単に無能なだけなのかわからんよ。
404デフォルトの名無しさん:05/02/02 19:16:00
自作したがり厨が煽ってるだけだろ。
スルーしろよ。
405デフォルトの名無しさん:05/02/02 19:37:18
ほんと小規模な開発しかやった事無いんだな
406デフォルトの名無しさん:05/02/02 19:44:01
相変わらず低レベルなスレですね(わらい
407デフォルトの名無しさん:05/02/02 19:44:27
開発話も感想もここでは必要ありません。マ板にお帰りください。
さて、
「字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,
それにVM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。
意味論に関する話題も歓迎です。」
の話でもしましょうか。
408デフォルトの名無しさん:05/02/02 19:48:25
↑そうしたいなら藻前がなんか話振れよ
409デフォルトの名無しさん:05/02/02 19:49:52
>>405
しょぼい自作スクリプト使わされる方の身にもなってくれよ…
410デフォルトの名無しさん:05/02/02 19:52:11
むしろしょぼいから余計な機能を使う心配が無くて
余計なバグが産まれなくていいんだよ
411デフォルトの名無しさん:05/02/02 19:52:43
カプセル化の基本だな
412デフォルトの名無しさん:05/02/02 19:58:07
自作より汎用のほうがバグ少ないと思うけど
413デフォルトの名無しさん:05/02/02 20:06:10
そう思うのは素人
414デフォルトの名無しさん:05/02/02 20:16:00
↑他人が作ったものは使いこなせない素人
415デフォルトの名無しさん:05/02/02 20:21:53
>>408
スレ違いのレスが付くより過疎った方がはるかにマシ。
416デフォルトの名無しさん:05/02/02 20:22:37
>>414
自分で作れないからって僻んじゃだめですよー
417デフォルトの名無しさん:05/02/02 20:29:41
ゲームはゲームでも、ノベルゲームとかの類の紙芝居的なものに多いよね。
そして、スクリプトをただ「作りたいだけ」。
既に作られたものがあり、それを利用すれば実現したい機能が実現できるにもかかわらず
使わないというのは愚かだね。
それに、紙芝居的なゲームならコンテンツが重要なのに、しょうもないプログラマが
しゃしゃり出てきて無駄な事に時間と金を費している。
まったく、ナンセンス、非効率。
418デフォルトの名無しさん:05/02/02 20:30:36
開発話も感想もここでは必要ありません。マ板にお帰りください。
さて、
「字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,
それにVM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。
意味論に関する話題も歓迎です。」
の話でもしましょうか。
419デフォルトの名無しさん:05/02/02 20:31:49
>>416 はスクリプト作るのが難しいと思ってる素人
420デフォルトの名無しさん:05/02/02 20:32:38
↑素人キタ━━━━━(゚∀゚)━━━━━!!
421デフォルトの名無しさん:05/02/02 20:58:10
>>418
いや、需要があるならその辺の最適化ねたについて語りたいところだが、
たぶんスルーされるだけだろう。このスレの最初の方みたいに。
422デフォルトの名無しさん:05/02/02 21:34:49
>>409
なんでフログラマがスクリプト使うんだよ(w
チーム編成のレベルでおかしなことになってないか、おまえん所。
423デフォルトの名無しさん:05/02/02 21:44:26
おまえらいい加減マ板池
424デフォルトの名無しさん:05/02/02 21:57:18
>>422
いやプログラマじゃないんだが。
Luaとかを使って欲しいというお願いは却下されました。
別に自作でもいいんだけどデバッグ環境とかもしっかり作って欲しい…
425デフォルトの名無しさん:05/02/02 21:57:44
>>411
ちょっと気になった、カプセルによって文法削減や拡張はどうやってやるの?
426デフォルトの名無しさん:05/02/02 22:03:29
>>424
>いやプログラマじゃないんだが。
うそコケバカグラマ
427デフォルトの名無しさん:05/02/02 22:06:53
自分でもしょぼいってのは分かってるみたいね(w
428デフォルトの名無しさん:05/02/02 22:16:56
日本だとエログラマが作った
しょぼい自作スクリプト使ってる所も多そうだな。
429デフォルトの名無しさん:05/02/02 22:20:39
>>428
flex bison が使えるようになれば、それこそC++に匹敵する文法だって不可能ではなくなる。
C++のようにする必要は無いが、それを作ってプランナーに渡すと何が起こるか知らないだろ。
ヘッポコプログラマがC++を使うと酷い事になるよな、Javaを使うとある程度解決する。
レベルの違いこそあれ同じ事情が発生するのだよ、素人君。
430デフォルトの名無しさん:05/02/02 22:26:19
ずいぶんしょぼいプランナーだな(w
431デフォルトの名無しさん:05/02/02 22:36:06
そんなのはデバッグ環境さえしっかりしてれば問題ないでしょ。
まあできるだけ余計な機能は無いに越した事は無いけど。
というかわかっててシンプルにしてるなら煽りはスルーしてよ。
432デフォルトの名無しさん:05/02/03 00:37:32
完璧というものは、何も追加するものが無くなった時ではなく、
何も取り去るものが無くなった時に達成できるものである

アントワーヌ・ド・サン=テグジュペリ
433デフォルトの名無しさん:05/02/03 01:01:43
>アントワーヌ・ド・サン=テグジュペリ
誰?
434デフォルトの名無しさん:05/02/03 01:27:20
>>433
本当にしらんのか? orz

435デフォルトの名無しさん:05/02/03 01:30:29
>>432
時と場合による。
436デフォルトの名無しさん:05/02/03 01:33:52
文系の奴が言うことなんか信じねー
437デフォルトの名無しさん:05/02/03 01:48:22
文学と共にあれとは言わないが、もうちょっと親しんだ方が良いぞ。

つか、海外の文献って章の始めに結構文学作品の引用あるんだが
バカグラマーはなぜだか考えたことも無いんだろうね。
438デフォルトの名無しさん:05/02/03 01:56:13
>>437
> つか、海外の文献って章の始めに結構文学作品の引用あるんだが
どうしてなの?
439デフォルトの名無しさん:05/02/03 04:12:03
>>437
正直洒落か気取ってるだけだと思ってた。俺も知りたい。
440デフォルトの名無しさん:05/02/03 04:25:57
>>439
気取ってるだけだろな。アメリカ人はかっここつけるの大好きだし。
しかし不思議の国のアリスみたいなので教養見せ付けてるつもりなのって
最高にダサくない?w

俺も自分の書く仕様書に東条英機の『戦陣訓』を引用しようかな。。。
441デフォルトの名無しさん:05/02/03 04:52:34
今日は疲れた。また7時に起きなきゃ。おやすみ。
442デフォルトの名無しさん:05/02/03 05:02:36
このスレ読むよりGCCのソースコード読む方がためになる
443デフォルトの名無しさん:05/02/03 05:24:26
このスレの頭にある参考文献読んだほうがいいよ
444デフォルトの名無しさん:05/02/04 00:02:14
文系といえば、りんご(ry
445渡辺研 学生:05/02/06 08:23:31
>>7
tiny C コンパイラ (C)
http://www.watalab.cs.uec.ac.jp/tinyCabs.html

必要な人はバックアップを取っておいた方が良い。
渡辺教授の退官で今年度限りであぼーんかも。
446デフォルトの名無しさん:05/02/06 12:37:09
本人来たー
447デフォルトの名無しさん:05/02/07 06:52:55
本人と言うか学生だろ。
448デフォルトの名無しさん:05/02/07 07:39:28
いくらなんでも本人、こんな糞スレみないだろ・・・
449デフォルトの名無しさん:05/02/07 09:06:13
それを突っ込んじゃ・・w
450デフォルトの名無しさん:05/02/07 17:15:11
捕捉完了
451デフォルトの名無しさん:05/02/07 19:45:38
volatile厨に認定して貰えるスレはここですか?
452デフォルトの名無しさん:05/02/07 19:52:11
退官って言うんだから、65歳だろ。
老研究者がこのスレ見て「あぼーんかも」とか
書いてるわけか?w
453デフォルトの名無しさん:05/02/07 19:53:40
>>452
そりゃ2ちゃんねらなら書くだろう。
454デフォルトの名無しさん:05/02/07 19:57:23
>>453
2ちゃんねらな老人か。カコイイなw

ここはベテラン研究者が集うレベルの高いインターネッツですねw
455デフォルトの名無しさん:05/02/07 20:09:59
>>454
普通にいるって。そういう素振りを見せないだけ。実際知っているし。
456デフォルトの名無しさん:05/02/07 20:16:38
>>455
俺も知ってる、結構お年寄りの人もいるよね。
457デフォルトの名無しさん:05/02/07 20:24:32
2ちゃんねるが盛り上がるダイナミズム, 情報処理学会論文誌, Vol.45, No.3, pp.1053-1061(2004)
458デフォルトの名無しさん:05/02/07 20:26:59
ていうか、老人はともかく、研究者が書き込むような内容じゃないだろ・・・・
このスレ。
459デフォルトの名無しさん:05/02/07 20:28:41
>>458
分かってないな。
2ちゃんねるで暴れてストレス解消に決まってるでしょ。
460デフォルトの名無しさん:05/02/07 20:36:11
>>457
そんなものが出ていたなんて知らなかった…
461デフォルトの名無しさん:05/02/07 21:21:21
>>457
リンク先公開きぼん
462デフォルトの名無しさん:05/02/07 22:09:58
463デフォルトの名無しさん:05/02/07 22:38:07
>>459 それはお前以下少数派だ
464デフォルトの名無しさん:05/02/08 01:12:40
>>462
誰も止めなかったのがすごい
465デフォルトの名無しさん:05/02/08 01:37:26
ttp://www2.econ.osaka-u.ac.jp/~matumura/
こいつだ。研究業績にそれのpdfもあるよ。
統計は専門外なんでどの程度まじめな研究なのか判断できないけど。








ってスレ違いだった。
466デフォルトの名無しさん:05/02/08 01:42:38
>>465
うわ、なんでトップにAAが…
この人ちゃねらだ。
467デフォルトの名無しさん:05/02/08 05:46:04
なんだよこのスレ、今どきねらー発見して喜ぶ素人ばっかかよ・・・
468デフォルトの名無しさん:05/02/08 06:07:08
>>467
いや、キモい。
469デフォルトの名無しさん:05/02/08 07:03:37
ていうか、こいつの場合、突っ込むところが違うだろ・・・
2chどころの騒ぎではなく、2chの研究してるところに突っ込めよ・・・・
470デフォルトの名無しさん:05/02/08 23:51:29
2chの研究したらいかんの?
例に挙がってるのがどんな研究かは見てないけど
面白い題材だと思うけど。
471デフォルトの名無しさん:05/02/09 00:10:25
>>470
論文誌の一番最後の項だった。日陰っぽいのは2chらしくてよろしい。
472デフォルトの名無しさん:05/02/09 08:50:14
>>469
どの辺が突っ込み所なの?
473デフォルトの名無しさん:05/02/11 12:29:33
人減ったね
474デフォルトの名無しさん:05/02/11 22:27:03
>>473
卒論・修論終わって現実逃避しなくてよくなったから。
475デフォルトの名無しさん:05/02/12 01:23:13
>>474 それなら、来年の卒論へ向けてネタを練るかね?
476デフォルトの名無しさん:05/02/12 01:35:23
結局コンパイラを作るのに適した言語ってどれになりますかね?
477デフォルトの名無しさん:05/02/12 01:42:17
>>476
なんだっていいよ。そんなことはここでは議論にはならない。
478デフォルトの名無しさん:05/02/12 06:27:58
>>476
作る言語自身
479デフォルトの名無しさん:05/02/12 06:39:59
たとえばコンパイラなら自己記述可能って事だよな?>>478
480デフォルトの名無しさん:05/02/12 15:21:53
>>479
自己記述するにはコンパイラが必要なので
それができるまでどの言語でコンパイラを作るかだ
481デフォルトの名無しさん:05/02/12 15:28:02
適当な言語Xを作る。Xはインタプリタでよい。

XでXのコンパイラX_compを書く。

X_compをX_compでコンパイルする。

Xのネイティブコンパイラ完成。
482デフォルトの名無しさん:05/02/12 15:36:36
>476
字句解析、リスト処理、ファイル入出力などが手軽にできればとりあえずスクリプト言語でもいい。
性能を求めるなら部分的にC/C++で書け。何か問題でもあったのか?
483デフォルトの名無しさん:05/02/12 15:58:40
ニューラルネットは一定のパターン認識に便利だが、パターンが変わると誤認識だらけのLDのような症状を著しく示すことに留意する。
低次の入力インタフェースから流れる信号からパターンを検出した際に発生した例外処理は低次の処理を中断することなく、結果を高次のインタフェース群に振り分けて渡すことにする。
484デフォルトの名無しさん:05/02/12 16:02:27
誤爆?
485デフォルトの名無しさん:05/02/12 17:06:31
言語Xのコードをコンパイルする命令"compile"を持つ言語X。
486デフォルトの名無しさん:05/02/12 20:20:21
……?

てことは、一番のCコンパイラはアセンブラで書かれてたりしたのか?
487デフォルトの名無しさん:05/02/12 20:22:47
その前にアセンブラをマシン語直打ちで書かなければなりませんw
488デフォルトの名無しさん:05/02/12 20:32:09
>>486
ハンドコンパイルだったと思う
489デフォルトの名無しさん:05/02/13 21:00:03
>>481
実はインタープリタを書くだけでよい。

くわしくは
二村射影(futamura projection)・部分評価(partial evaluation)
490デフォルトの名無しさん:05/02/13 21:13:32
詳しそうな人が。
ご存知でしたら教えて欲しいのですが、"offline" partial evaluationの
(onlineに対する)画期性はどういうところだったんでしょう?
491デフォルトの名無しさん:05/02/13 21:13:43
>>489
それは言いすぎじゃね?
492デフォルトの名無しさん:05/02/14 11:37:36
コンパイラについて深く学びたかったら
どこの大学院がもっとも進んでいるのでしょうか
ちなみにコンパイラについては全くの素人(本でかじったぐらい)
です
493デフォルトの名無しさん:05/02/14 11:59:37
>>492
その程度でどうやって研究計画書書くの?
494デフォルトの名無しさん:05/02/14 13:26:27
計画書段階じゃ、そんなもんだろ。
本でかじった以上の事は研究しないと無理だよ。
この分野は中間点が無さ過ぎる。
495デフォルトの名無しさん:05/02/14 14:05:43
インタプリタを作ればいいなんて詭弁を弄してるのがいるが
どの言語でそのインタプリタを作るのかが問題なんだよ
496デフォルトの名無しさん:05/02/14 14:19:46
いや、これから研究するテーマを書くのに、本読んだだけっていうとほとんど知識が
ないのと一緒。
最近はどんな研究がよくされているのか、とか、注目されているのはどんなことなのか
という事も知らなくてはいけない。
497デフォルトの名無しさん:05/02/14 15:11:47
んなもん適当に論文のabstract読めばいいだけ
498デフォルトの名無しさん:05/02/14 15:42:41
>>492
学部3年ぐらい?
図書館行って
「情報処理学会論文誌 プログラミング」
という本を探す。
その中から興味をもてそうな研究を選ぶ。
著者のうち、
肩書きが大学の教授とか助手とかになってる人をピックアップ。
その人が著者になってる論文を見て(googleとかで探す)、
興味がもてそうなものが多ければ、
その人の研究室で決まり。
入院試験受ける前に
受かったら研究室に入れてくれるようにネゴっておこうね。
499デフォルトの名無しさん:05/02/14 17:00:49
>>495
速度重視ならC/C++だろうし、
実装で楽したいなら、
パーサジェネレータから決めるとか。
デザインパターンのインタプリタ・パターンを使うなら、
作りたい言語と同じ制御構造をもったものを選ぶ方がよい。
例外やtry〜finallyとか。
500デフォルトの名無しさん:05/02/14 19:08:25
LISPの処理系について教えてください。

LISPの文法のBNFを探しているのですが、見つかりません。
LISPのBNF定義が載っている、本またはWebページがありましたら、教えてください。

よろしくお願いします。
501デフォルトの名無しさん:05/02/14 19:35:38
Aho
502デフォルトの名無しさん:05/02/14 20:00:50
>>500
ググったら一番上に出てきたけど
503デフォルトの名無しさん:05/02/14 20:10:48
>500
"common lisp" (syntax OR parser OR source)でGoogle検索。
504500:05/02/14 21:54:00
>>502-503

ご教示ありがとうございます。
Googleの結果を開けて回ったところ、日本Lispユーザ会というところに出ました。
このなかにANSIの規格書へのリンクがあったので、こちらを探してみることにします。
505デフォルトの名無しさん:05/02/14 22:13:11
>>504
"lisp bnf"でウェブ全体から検索にして検索してみ
506500:05/02/14 22:44:22
>>505

「The BNF Web」の「BNF Index of LISP」というページが一番に出てきました。
結構簡単な文法なんですね。これなら、すぐBISONに書き込めそうです。
お手数をおかけしました。
507デフォルトの名無しさん:05/02/14 23:14:42
>>501
アホなのかエイホなのか
508デフォルトの名無しさん:05/02/15 00:17:58
>>506
lispにbisonはoverkillじゃないだろうか。

要は(read)を書くだけでしょ?
509デフォルトの名無しさん:05/02/15 01:55:44
>>508
魚雷廷沈めるのに大陸間弾道弾使う見たいなもんじゃねぇの?
510デフォルトの名無しさん:05/02/15 06:00:58
>>499
やっと>>476に対する適切なレスがw
511デフォルトの名無しさん:05/02/15 10:43:04
>>798
ドクターはともかく、マスターではネゴっただけで希望の研究室に入れるとは……
512デフォルトの名無しさん:05/02/15 11:59:31
>やっと>>476に対する適切なレスがw
おぃおぃ・・・・
まっいいか。
513デフォルトの名無しさん:05/02/15 13:15:44
コンパイラ屋さんとOS屋さんって完全に分業されてるの?
っていうかOS屋さんの存在自体がもう消滅してるか。
514デフォルトの名無しさん:05/02/15 13:35:31
>>513
OSってまさかWindowsみたいなものを想像しているわけ?
515デフォルトの名無しさん:05/02/15 20:27:58
>>490
ごめん、PEは専門じゃないので…
ここより関数型言語スレの方が詳しい人多いかも。

516デフォルトの名無しさん:05/02/15 22:51:21
489 名前:デフォルトの名無しさん[sage] 投稿日:05/02/13 21:00:03
>>481
実はインタープリタを書くだけでよい。

くわしくは
二村射影(futamura projection)・部分評価(partial evaluation)

515 名前:デフォルトの名無しさん[sage] 投稿日:05/02/15 20:27:58
>>490
ごめん、PEは専門じゃないので…



PEのことを知らずに書いてたのかよ!
517デフォルトの名無しさん:05/02/16 05:48:52
>>514
いやもうOSに目新しい技術もないし、実装でもだいたい
メジャーどころが決まってるような感じに思ってたけど。
組み込みにLinuxやNetBSDに手を入れて使うようじゃ、
マイナーなOS屋さんのやること、もうないじゃん。
518デフォルトの名無しさん:05/02/16 16:06:41
>>513はあの比喩で何が言いたかったんだろ。
519デフォルトの名無しさん:05/02/16 16:07:12
ああ間違えた。>>514だ。
520デフォルトの名無しさん:05/02/16 16:23:51
このスレのレベルの低さの件について
521デフォルトの名無しさん:05/02/16 23:48:53
↑レベルの高いレスの見本
522デフォルトの名無しさん:05/02/19 13:16:42
言語屋は、収入も低(ry
523デフォルトの名無しさん:05/02/19 13:27:36
高くは無いが低くも無いぞ
524デフォルトの名無しさん:05/02/19 23:26:23
Perlみたいな複雑怪奇な言語でもLALR(1)文法で解析可能でしょうか?
525デフォルトの名無しさん:05/02/20 00:36:17
文法はそこまで複雑じゃないだろ。
526デフォルトの名無しさん:05/02/20 06:01:34
>>524
Perlはどうか知らんけど、一般に
へんてこな言語は字句解析器と構文解析器が
仲良くして構文解析をするんだよ。

そして…フラグの洪水に溺れるんだ…
527デフォルトの名無しさん:05/02/20 19:58:56
>>526
すんません。最後の1行が分かりません。
どういうことですか?
528デフォルトの名無しさん:05/02/20 20:19:32
文脈依存の文法を作るとかそういう話じゃないかな?
529デフォルトの名無しさん:05/02/20 21:03:20
字句解析や構文解析ではジェネレータがコードを
自動で生成してくれるからいいけれど、
それ以降の部分は >>526 が手がけなければならないので、
その結果フラグの洪水となる、という話だと思う。
530デフォルトの名無しさん:05/02/20 21:21:03
>>528 が正しいと思うが。要するにそういう文法を書くためには
レクサとパーサで状態を渡さないといけないのでフラグをさわりまくりになる。

531デフォルトの名無しさん:05/02/20 21:22:36
>>529
「それ以降」じゃなくて、構文解析中の話じゃない?
構文解析の経過に応じて字句解析の動作を変えないといけなくて、
経過がどうだったかを大量のフラグで管理しとかないといけない、
みたいな。
字句解析で先読みをどんどんやらせて、
それによって構文解析の動作を変えたいなんてのもあるかな。
532 デフォルトの名無しさん :05/02/21 22:00:42 ID:3Wu8+w1Z BE:46662645-
 初めまして.皆さんのお力を貸していただけませんか?現在独学で, 「スモールコンパイラの制作で学ぶプログラムのしくみ」を用いて勉強しているのですが, コンパイラの拡張として,
 ( 1 )関数の引数として 1 次元配列を渡せるように機能拡張する.渡し方は C言語の方法に習い, すなわち, 配列の要素全体のコピーを渡すのではなく, 配列の先頭の番地を渡す.

 ( 2 )変数の「参照渡し」を実現する.「参照渡し」つまり, 変数を関数の実引数にしたとき, 変数の中身ではなく変数自体の番地を渡すことにより, 呼び出された関数の中から呼び出し元の変数の内容を更新できるようにする.

 という 2 つの機能を追加させることを考えているのですが記述方法が解らず悩んでいます.解りましたらアドバイスをお願いいたします.
533デフォルトの名無しさん:05/02/21 22:06:37
せっかくだから著者にラブレ^H^H^Hお手紙を出して聞いてみるのがいいかもw
534デフォルトの名無しさん:05/02/21 23:23:25 ID:??? BE:146986079-

 すみません!! > 532 に付け足しで, コンパイラのソースコードは,

http://book.gihyo.co.jp/s-com/ からダウンロードできるようになっております.

 この本を読んだことがない方でも,
上記 2 問に対する拡張方法のプログラムが解る方からの返信もお待ちしております
535デフォルトの名無しさん:05/02/21 23:45:20
フラグの洪水の件だが、今の言語は(一部の単純なやつを除き)、
みなそうなる傾向にあるのではないかな?

逆にいうと、(ちょっと飛躍しすぎかも知れんが)レクサとパーサ
による解決方法自体が、やや時代遅れになりつつあるのかも。
536デフォルトの名無しさん:05/02/22 00:00:01
そろそろDCGやgraph grammerの時代になるのか。
ところで今の言語で、パースの難しい構文(の組み合わせ)って例えば何だろう?
537デフォルトの名無しさん:05/02/22 00:18:59
Ruby!!!!!!!!!!
538デフォルトの名無しさん:05/02/22 01:36:41
>>537 フラグの洪水でにっちもさっちもいかなくなってる言語の一つだね。
539デフォルトの名無しさん:05/02/22 09:57:08
>>532
整数型を引数に取る関数と
文字列型を引数に取る関数は実装されてるみたいだから、
そこから類推して配列型を引数に取るものを追加すればいい。
function()とfactor()中の関数呼び出しを実行してる箇所を
取っ掛かりにハック。
(2)は(1)ができてからにしろ。
540デフォルトの名無しさん:05/02/22 10:03:03
>>535
むしろ最近の言語の方が使用するケースは少ないかと
文脈依存なしでも必要十分な程度の複雑な文法は作れる
541デフォルトの名無しさん:05/02/22 10:07:07
>>540
C#とJava以外になんかある?
542デフォルトの名無しさん:05/02/22 11:43:57
>>541
ラベル名に語彙の種別をつける様な文脈依存はあるが、
フラグを引っ掻き回すのは行単位でパースしていた時代の物でもない限りもう無いと思うが……
543デフォルトの名無しさん:05/02/22 12:11:56
Rubyは行指向言語
544デフォルトの名無しさん:05/02/22 19:04:44
現存している言語のなかではfortranのパースが一番難しそうな気がする。
545デフォルトの名無しさん:05/02/22 20:39:50
ナニ言ってんだ。
一番はる、Ru、る、


















C++
546デフォルトの名無しさん:05/02/23 16:12:02
>>545 んな訳ねぇだよ
547デフォルトの名無しさん:05/02/23 18:15:11
むしろ現存している実用言語で
教科書的な字句解析・構文解析が通用するような言語ってどのくらいある?
Pascal…は簡単なんだっけ。
548デフォルトの名無しさん:05/02/23 18:21:09
> 教科書的な
関係ないだろ。文法のクラスの問題。

549デフォルトの名無しさん:05/02/23 18:46:44
>>548
教科書的なクラス(=LR(1)?)で収まる言語を聞いてるんだと思うが。

>>547
とりあえずCはダメだね。
typedefされた識別子は、lexerで識別子じゃなく型名かなんかにしないといけないから。
JavaもLR(1)では無理だった気が。
550デフォルトの名無しさん:05/02/23 18:49:55
プログラミング言語の専門家が作った言語は大概シンプルな
文法クラスに納まっている希ガス。
551デフォルトの名無しさん:05/02/23 21:27:11
>>549
>とりあえずCはダメだね。
それをそのクラスに入れるために、スキャナなんてな物を考えるのであって
>教科書的な字句解析・構文解析
という点について考えたら、その回答はギャグとしか思えないのだが……
552デフォルトの名無しさん:05/02/23 22:33:05
Cはtypedef以外にもキャスト式とか、sizeofの中身とか
一意にならない場合があるけど
553デフォルトの名無しさん:05/02/23 22:42:52
そういや、VCとかに導入されてる__cdeclとか__stdcallって装飾子どこに掛かってるの?
関数のポインタに掛かってる?
それとも関数自身?



__stdcall f() {
}

という書き方もできるということは関数に掛かってるんだろうけど、
関数ポインタの場合の装飾子の位置が謎。

(*(int (__stdcall *)())g)() = (int (__stdcall *)())f;
554デフォルトの名無しさん:05/02/23 22:42:58
>>550
そして、大抵実用的でない言語のような気がするw
555デフォルトの名無しさん:05/02/23 22:47:54
すまん、こうだった。

int (__stdcall *g)() = (int (__stdcall *)())f;

パースする側から見ると凄い変な気がする。
()からずいぶん離れているのに__stdcallは関数に掛かるという。
556549:05/02/23 23:16:39
>>551
ごめん。なに言ってるかマジわかんない。
「C言語は教科書的」って言ってるの?

C言語では
「(a)+b」は
typedef a されてればキャストだし
そうでなければ足し算ってのは知ってる?
557デフォルトの名無しさん:05/02/23 23:28:02
>>556
Cに単項の+演算子なんてあったっけ?
-ならわかるけど。
558デフォルトの名無しさん:05/02/23 23:34:01
あるだろ。
つうか、-でもいい話じゃないのか?
559デフォルトの名無しさん:05/02/23 23:40:24
int const extern * p;

「int const*」がひとまとまり。
externはpにかかる。
560デフォルトの名無しさん:05/02/23 23:49:28
>>556
もちろん知っている
bisonの教科書100回よめ、実装なんか簡単だ
561547:05/02/23 23:57:27
えと、あまり深く考えずに「教科書的」とか言っちゃったんだけど……。

字句解析と構文解析がなかよくしてフラグの洪水とか、
bisonがどういうオートマトン出力するか気にしながらトリッキーなコード書くとか
そういうことしなくてもパースできる、みたいな?
LALR(1)の教科書数回読んだだけで解析器作れるようなのを意図してました。

とりあえずCはダメという認識でいいと思います。
562デフォルトの名無しさん:05/02/23 23:59:42
>>561
机上の空論ばかりやってるからそうなるんだよ、
実践してみろ、どうってことはないし、トリッキーでもないし
ましてやオートマトンなんか考える必要もない
563549:05/02/24 09:24:27
>>560
bisonの教科書に載ってるって言いたかったのね。
やっと分かったよ。
564デフォルトの名無しさん:05/02/24 10:37:59
bisonとかそういう物以前に処理系作る人間にとっては初歩中の初歩かと
565デフォルトの名無しさん:05/02/24 14:46:58
(゚∀゚)ラヴィ!!
566デフォルトの名無しさん:05/02/24 19:54:16
>>561
lisp。実用言語だ。汎用ではないが。
567デフォルトの名無しさん:05/02/24 21:34:13
>>566
実用性のない言語の典型例だなw
568デフォルトの名無しさん:05/02/24 21:36:13
「なでしこ」のような言語をもし、lex/yacc でやるとしたら、
多量の yacc ルールが必要ですかね?
569デフォルトの名無しさん:05/02/24 21:43:23
なでしこ知らないけど、
ああいうのはlex(相当)の方が難しいんじゃないかな。
分かち書きを強制とかしない限り。
570デフォルトの名無しさん:05/02/24 23:56:05
>>567
実用性がある言語の典型だろ。
571デフォルトの名無しさん:05/02/25 00:39:39
>>567
できない奴の典型だな。
572デフォルトの名無しさん:05/02/25 00:40:04
自作じぇん
573デフォルトの名無しさん:05/02/25 00:43:01
lispに実用性がないってどんだけ世界狭いに住んでるんだろう・・・。
schemeならまだ説得力があったがな。
574デフォルトの名無しさん:05/02/25 00:47:34
嫌LISP厨が一人粘着してるだけです
ろくな反論もできない書き込みでわかります
575デフォルトの名無しさん:05/02/25 03:07:15
Rubyが一番。
576デフォルトの名無しさん:05/02/25 05:21:01
schemeもライブラリや処理系がないのが実用的に問題なだけで、
言語仕様としては良い。
577デフォルトの名無しさん:05/02/25 05:21:56
Rubyが新湯ryてんで一番素晴らし魏、
578デフォルトの名無しさん:05/02/25 15:00:25
>>569
識別子をちょっと凝って切り出すだけでしょ?(lex)
圧倒的に文法規則の方が難しいと思われるが?
579デフォルトの名無しさん:05/02/26 00:22:58
字句解析と構文解析の難しさを単純に比べるなんてできないと思われるが?
やることちがうんだし。

しかしなでしこの構文ってそんなに複雑なんかね。
((式 助詞)* 動詞 句読点)* 程度かと思ってた。
580デフォルトの名無しさん:05/02/26 10:41:59
XmlShemaの構文解析をしたいのですが、ハードの都合(200kしかメモリ占有不可)
上yaccすら乗せるのがきついため、XMLの字句解析から初めて構文解析を
しようと思うのですがyacc等使わない場合皆さんはどのようなスタイルで
書き始めますか?yacc漬けになっていて、スクラッチで字句解析構文解析
どうしようかすげー悩んでます。
581デフォルトの名無しさん:05/02/26 11:00:36
昔は32kROM+32kRAMまたはそれ以下でBASICがエディタ付きで動いてたんだ
贅沢いっちゃいかん
582デフォルトの名無しさん:05/02/26 13:25:44
XMLにyaccか、
なんとも不思議な使い方だね……
俺だったらスキャナは使ってもパーサは使わないな

ま、それはともかくフルスクラッチすればいいんじゃない、
速度さえ気にしなければXMLのパースは簡単だし、考える事なんか無いし。
583Rubyist!:05/02/26 18:04:39
フルスクラッチって何ですかpu
584デフォルトの名無しさん:05/02/26 18:10:13
フルチンみたいなものです
585デフォルトの名無しさん:05/02/26 19:26:01
無の状態から全てを作り上げるフルスクラッチビルド
ttp://www5f.biglobe.ne.jp/~rebro/DSCF0042kuri].JPG
586デフォルトの名無しさん:05/02/27 00:34:22
りんご農園でも、日本語の変数名が扱えるYO。
587デフォルトの名無しさん:05/02/27 19:49:20
実際の所、最適化のほうがはるかに難しいと思われ。
588デフォルトの名無しさん:05/02/27 20:11:02
>>587
その通り。
589デフォルトの名無しさん:05/02/27 21:21:34
perlでさえインライン展開ぐらいやるよ
590デフォルトの名無しさん:05/02/28 00:22:39
どのレスがどのレスに対する反応なのか、さっぱりわからんのは俺だけか?
591デフォルトの名無しさん:05/02/28 01:03:32
藻前だけ
592デフォルトの名無しさん:05/02/28 23:08:34
>>588
同意
593デフォルトの名無しさん:05/03/01 10:29:26
>>590
今に始まったことじゃない。
594デフォルトの名無しさん:05/03/01 13:55:33
中田センセイ (´・ω・`)
595デフォルトの名無しさん:05/03/01 22:31:34
りんこのねーちゃんの本には、ケータイ画面の写真みたいたのがあったけど
(ry
596デフォルトの名無しさん:05/03/01 23:06:22
>>595
いくらなんでもそれは略しすぎだろう
597デフォルトの名無しさん:05/03/02 02:53:21
りn(ry
598595:05/03/02 22:15:54
…あれって、ねーちゃんの携帯かなぁ?
599デフォルトの名無しさん:05/03/02 22:29:04
あほきたー
600デフォルトの名無しさん:05/03/03 12:24:26
モレモナー
601デフォルトの名無しさん:05/03/03 14:45:44
>>600
おまえもかよ!
602598:05/03/03 21:35:10
>>599
お前が一番の(ry
603デフォルトの名無しさん:05/03/03 21:44:13
>>583->>602
この辺あぼーんしました。
604デフォルトの名無しさん:05/03/03 21:50:40
>>583->>603
この辺あぼーんしました。
605デフォルトの名無しさん:05/03/04 18:57:57
今日、電車乗ってたら、前にキモオタが二人乗ってきた。

なんか一人がデカイ声で「貴様は〜〜〜!!だから2ちゃんねるで馬鹿に
されるというのだ〜〜〜!!この〜〜〜!」
ともう片方の首を絞めました。
絞められた方は「ぐええぇーー!悪霊退散悪霊退散!!」と十字を切っていた。
割と絞められているらしく、顔がドンドンピンクになっていった。

渋谷でもう一人、仲間らしい奴が乗り込んできてその二人に声をかけた。
「お!忍者キッドさんとレオンさん!奇遇ですね!」 「おお!そういう君は****(聞き取れず。何かキュンポぽい名前)ではないか!
 敬礼!」
「敬礼!出た!敬礼出た!得意技!敬礼出た!敬礼!これ!敬礼出たよ〜〜!」
俺は限界だと思った。
606マイク ◆yrBrqfF1Ew :05/03/04 19:19:52
限界も何も君の友達じゃないのか。
607デフォルトの名無しさん:05/03/04 21:19:26
おまいら、しっかりしろ!スレ違いも甚だしいぞ!
もう一度>>1のテンプレ貼っておくぞ!


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

字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,
それにVM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。
意味論に関する話題も歓迎です。
608デフォルトの名無しさん:05/03/05 13:50:23
やこしい内容にするからかえってチョッカイ出しただけの困ったちゃんが湧いてくるような気がする。
次スレはシンプルに初代の1の内容
「yaccやlexの使い方やら言語仕様やらの話題。 」
に戻すかね、周辺の話題はスレの流れで勝手に入ってくるに任せる感じで。
609デフォルトの名無しさん:05/03/05 14:21:35
サンデープログラマが初めて勉強するべきコンパイラコンパイラは何かについて
英語とOOP はアリ
610デフォルトの名無しさん:05/03/05 14:25:38
↑日本語でおながいします
611デフォルトの名無しさん:05/03/05 19:26:03
オブジェクト指向プログラミング(OOP: Object Oriented Programming)
612デフォルトの名無しさん:05/03/05 19:29:45
>>610
諦めろ。>>609は日本語を理解してないぞ。
613デフォルトの名無しさん:05/03/05 23:28:51
LISP と OOP 程、やくにたたんものはない。
614デフォルトの名無しさん:05/03/05 23:37:14
と、世間で役立たずの613は語った。
615デフォルトの名無しさん:05/03/07 10:04:09
>>608
構文解析およびyacc,lexx のスレ と
>>1の内容みたいなスレを分けた方がいいんじゃないの?
616デフォルトの名無しさん:05/03/07 10:09:19
わけるほどのモノじゃねえよ
617デフォルトの名無しさん:05/03/07 10:36:04
>>616
最適化の話は一つ一つが長くなるとは思うが今まで一度も出てきてない気がするの俺だけ?
618デフォルトの名無しさん:05/03/07 11:05:53
出てきてから考えれば?
619デフォルトの名無しさん:05/03/07 12:43:32
>>615
被りまくりの上に、それほどの話題は存在しない、そんな必要はない
ただでさえ人口が少ない上、部外者だらけのこのスレをこれ以上薄めてどうする。
620デフォルトの名無しさん:05/03/07 13:48:33
インライン展開の話がしたい
621デフォルトの名無しさん:05/03/07 22:53:01
>>620
インライン展開の話をすることを許可する。

さぁ、存分にやりたまえ。
622デフォルトの名無しさん:05/03/07 23:17:52
>>620
インライン展開ってさ、キャッシュの容量が小さすぎるCPUで泣いたことない?

組み込み系やってないとわからないかもしれん(つかイマドキのPCってすごすぎ)
623デフォルトの名無しさん:05/03/08 11:06:18
>>620
どうぞどうぞ、ガンガン書いちゃって下さい
624デフォルトの名無しさん:05/03/08 15:14:38
俺は彼女の陰ラインを展開し
その淫乱な姿に欲情した
こんなに濡れてるよ体は正直だね(ry
625デフォルトの名無しさん:05/03/08 20:06:10
ロバート・A・はインライン展開した幼年期の終夏への扉

     ・A・ イクナイ
626デフォルトの名無しさん:05/03/09 23:48:53
りんご展開
627デフォルトの名無しさん:05/03/10 00:22:07
インライン展開の話に戻しますが、
単純に展開しただけでは、

inline f(int x) { return x; }
g(int y) { return f(y) + f(y); }

↓展開

g(y) {
 int x1 = y; // f(y)
 int x1r = x1; // return x
 int x2 = y; // f(y)
 int x2r = x2; // return x
 return x1r + x2r;
}

こんな感じになって変数がいくつも必要になる気がします。
上の展開結果から
g(y) {
 return y + y;
}
を導き出すには、フロー解析しないとダメでしょうか?
または別に何か簡単な方法があるでしょうか。
628デフォルトの名無しさん:05/03/10 02:32:35
不要コード除去くらいするもんだと思うが。
629デフォルトの名無しさん:05/03/10 05:38:27
え、全て必要な気がするけど。
630デフォルトの名無しさん:05/03/10 23:09:55
普通の最適化をさぼっているくせに、インライン展開なんかしたら
大抵は性能劣化を招く罠。
631デフォルトの名無しさん:05/03/11 00:37:34
先読みしたデータを元に戻す時なんか工夫してる?
632デフォルトの名無しさん:05/03/11 00:55:38
>>631
スマンが文脈からパース時の話なのか実行時プリフェッチの話なのかワカランのでもう少しフォローしてくれ。
633デフォルトの名無しさん:05/03/11 01:14:26
気になるのは、文脈からパースしたときです。
634デフォルトの名無しさん:05/03/11 02:59:38
1個分のバッファを作っておいていつも先読み。戻さない。
ってのが統一的でいいんじゃないかしらん。

ていうかなぜパーサを手で書かなきゃいかんのかと小一時間(ry
635デフォルトの名無しさん:05/03/11 21:49:00
りんこ1個分、先読みすればよいよ。
636デフォルトの名無しさん:05/03/11 22:46:59
HTMLからTeXファイルを作りたいのですが、そこらへんのノウハウが載っているサイトってありませんか?
637デフォルトの名無しさん:05/03/12 00:40:12
えーとパーサー生成器で作ると遅いよ?
Boost関数で作るほうがすげー早いよ?
あとメインメモリ500kぐらいの環境だとそんな荷物もてないよ?
638デフォルトの名無しさん:05/03/12 08:56:58
メインメモリ500k位の環境じゃ他のリッチな環境から
クロスコンパイルするのが普通だわな
639デフォルトの名無しさん:05/03/12 11:30:03
>>638
メインメモリ1M位のリッチな環境ならありますがクロスコンパイルは普通に出来ますか?
640デフォルトの名無しさん:05/03/12 11:55:35
>>639
5万円くらいでメインメモリ512MBのx86マシンを自作して出直して下さい。
641デフォルトの名無しさん:05/03/12 11:56:54
あの……落としものですよ?

         ∧__,,∧
        (´・ω・`)
         (つ夢と)
         `u―u´

  あなたのすぐ後ろに落ちていましたよ?
642デフォルトの名無しさん:05/03/12 12:43:48
誰がネタを言ってるのかよくわからんが、
メインメモリ1Mぐらいの組み込み機器で
小さいスクリプト言語が動けば便利かも試練
643デフォルトの名無しさん:05/03/12 12:47:47
メインメモリ1Mぐらいの組み込み機器なんて
入力装置がボタン数個だろうから、
スクリプト言語なんてあっても書けないぽ。
644デフォルトの名無しさん:05/03/12 22:53:26
>>643
スタンドアローン開発する気?
645デフォルトの名無しさん:05/03/13 00:00:58
ユーザーがスクリプト書くって事じゃないの?
そうじゃなければスクリプトである必要がないし。
646デフォルトの名無しさん:05/03/13 12:05:29
スクリプト言語の利点はユーザが書けることだけじゃないよ。。
647デフォルトの名無しさん:05/03/13 12:21:09
そう言いながら他の利点を書かない厨646
648デフォルトの名無しさん:05/03/13 12:41:33
一から十まで教えられないとわからないか。
よく最大の利点と言われるのは手軽にプログラムが書けること。
ポータビリティが高いことも多い。

プログラマが自分のために書くプログラムは全部C言語とかですか?
649デフォルトの名無しさん:05/03/13 13:44:46
>>642からの流れは「メインメモリ1Mぐらいの組み込み機器」での話ではないのか?
646や648よ。
650デフォルトの名無しさん:05/03/13 14:21:41
>>648
教えられなくても分かるというやつは
天才か電波
651デフォルトの名無しさん:05/03/13 14:26:43
>>642
少なくとも京ぽんのbookmarkletは激しく便利。
652デフォルトの名無しさん:05/03/13 14:28:04
自ら学ぶ事もしないのか
ゆとり教育だな
653デフォルトの名無しさん:05/03/13 15:21:31
>>649
>>646=>>648=俺だが、
「メインメモリ1Mぐらいの組み込み機器」では
手軽に書けることやポータビリティに意味はないと?
654デフォルトの名無しさん:05/03/13 15:57:56
「メインメモリ1Mぐらいの組み込み機器にスクリプト言語あれば便利だなあ」
 「入力デバイスがなくてスクリプト書けねぇよ」
  「スタンドアロンで開発するわけがありません」
   「えーできないのー?ユーザが使えなきゃ意味ないじゃん」
    「んなこたない」
     「利点を具体的にいってみろよー」
    「手軽さとポータビリティだろが馬鹿そんくらい分かれ」
     「言われる前に分かったらエスパーだっつーの」
      「手前でしらべろボケ」
     「特にメモリ1M組み込み機器に限った話じゃないだろ」
      「組み込み機器にあれば便利だなあって話だ」←いまここ

結論は最初の一行。
655デフォルトの名無しさん:05/03/13 16:16:28
では、結論。
>メインメモリ1Mぐらいの組み込み機器にスクリプト言語あれば便利だなあ
クレクレ君はスレ違いです。
656デフォルトの名無しさん:05/03/13 16:21:42
1MもあればCコンパイラでも作れそうだが
657デフォルトの名無しさん:05/03/13 16:43:01
>>656
その 1MB を全部コンパイラ関係(中間ファイル置き場も含む)に使ったら、
組み込み機器の本業が動かんでしょ。
658デフォルトの名無しさん:05/03/13 17:03:40
>>656-657
640Kbyteで全部動いた時代が懐かしいな、まあどうでもいいが雑談はマ板でやったらどうだい?
659デフォルトの名無しさん:05/03/13 17:51:23
組み込み機器にスクリプト言語実装する手間考えたら
ポータビリティの意味無いじゃん。
660デフォルトの名無しさん:05/03/13 18:14:52
そこでLisp
661デフォルトの名無しさん:05/03/13 19:28:42
>>658
ものによってはネイティブのマシン語より、
VM+バイトコードの方が
コード量が減るとかいう現象があったような。
さすがCISC。
662デフォルトの名無しさん:05/03/13 21:12:23
そんなのVMの設計次第でしょ。
命令細かくすりゃマシンコードと変わらなくなる。
663デフォルトの名無しさん:05/03/14 02:02:24
ものによってはっつってんのが目に入らんかこのバカチンが。

あ、話題としてはおもしろいかも。こういう話に詳しい人いる?

Java VM なんかはバイトコードのサイズが小さくなるように設計されてるから
最終的に動かすアプリケーションのサイズが大きければ大きいほど
ネイティブコードに比べて有利になりやすいんじゃないかな。
664デフォルトの名無しさん:05/03/14 02:29:27
>>663
> 最終的に動かすアプリケーションのサイズが大きければ大きいほど
実用に耐える速度を出すためにJITを使うからなぁ、メモリ上の足跡はかなり大きいぞ。
まぁスタックマシンだからVM用のコードが小さいのは本当だけどさ。
665デフォルトの名無しさん:05/03/14 02:57:43
KVMとか組み込み向けJavaVMもJITするの?
これまでの話の中でも速度は大して重視されてこなかったような。
666デフォルトの名無しさん:05/03/14 03:30:01
バイトコードで動くCPUを使えばいいじゃないか
667デフォルトの名無しさん:05/03/14 03:48:39
JNIのロード時間をどうにかしろよって思っちゃうんですけどこればっかりはどうしようもないんですかね?
668デフォルトの名無しさん:05/03/14 04:55:34
情報工学とか出た人ってみんなコンパイラとか作れるんですか。
669デフォルトの名無しさん:05/03/14 08:48:49
少なくとも資料をあたりながらでもそれができるだけの教育は受けているはず。
670デフォルトの名無しさん:05/03/14 17:15:37
実際にはできるんですか
671デフォルトの名無しさん:05/03/14 17:16:35
できる人もいる
できない人もいる
672デフォルトの名無しさん:05/03/14 17:37:17
りんごが好きな奴もいれば
嫌いな奴もいるってこと?
673デフォルトの名無しさん:05/03/14 17:47:03
↑馬鹿注意
674デフォルトの名無しさん:05/03/14 19:04:43
ちゃんと勉強した奴もいればお情けで学位を頂戴した奴もいるってことだろ。
675デフォルトの名無しさん:05/03/14 20:09:04
資料をあたりながらなら誰でも作れるよなあ。コンパイラくらい。
676デフォルトの名無しさん:05/03/14 20:17:34
1.現実を知らないバカ。
2.できないやつを馬鹿にして優越感に浸るやなやつ。
3.誤爆。
677デフォルトの名無しさん:05/03/14 21:53:56
ていうかドラゴンブック通して読んで作れない方がおかしくない?
678デフォルトの名無しさん:05/03/14 21:58:13
そりゃどんなソフトでも作れるだろうけど、後は品質の問題になっちゃうよ。
679デフォルトの名無しさん:05/03/14 21:59:01
麻宮騎亜はコンパイラもアセンブラもガリガリ書いてたよな
680デフォルトの名無しさん:05/03/14 22:01:45
>>679
誰?
お前の名前か?
頭大丈夫?
681デフォルトの名無しさん:05/03/14 22:03:59
通して読めたのに作れないのはおかしいかもな。
作れない奴は読み通せないから。

>>670
高卒がみんな高校の学習指導要領程度の英語を読み書き聞き話しできるかという質問と同じじゃないかな。
682デフォルトの名無しさん:05/03/15 00:12:51
>>679
激しくすれ違いとでも言って欲しいのか? キモヲタくん。
683デフォルトの名無しさん:05/03/15 00:30:31
本読めば作れると思ってる馬鹿がいるな
684デフォルトの名無しさん:05/03/15 00:46:21
本読めば作れますが何か?
685デフォルトの名無しさん:05/03/15 00:49:41
スモールコンパイラの製作で学ぶプログラムの仕組みとか読んだらわかるけど
Javaのコードと実質説明あんまりマッチしてないよ。
実際コーディングって泥臭いし、やり方は人それぞれ書けちゃうから。
本は定石を知るためにあると思うけどな。まぁでも、できるやつは本見ながら
適当に実装できるのは事実。
686デフォルトの名無しさん:05/03/15 00:50:33
読んだだけで作れるなら幼稚園児でも作れるな
687デフォルトの名無しさん:05/03/15 00:52:43
あの綾本の変な例え話漏れは受け入れられなかった・・・
688デフォルトの名無しさん:05/03/15 11:26:49
狂大生だけど、作れなさそうなやつはわりといるよ.
曰く、「おれはプログラムなんかを組むために情報学科に来たんじゃない」だと。
689デフォルトの名無しさん:05/03/15 12:37:27
>>685
その本読んだらわかるけど、まともな本じゃないよ。いわゆる俗本。
690デフォルトの名無しさん:05/03/15 12:41:16
だからドラゴンブック読めよ
691デフォルトの名無しさん:05/03/15 13:51:29
Tiger本でも良いと思うぞ。
692デフォルトの名無しさん:05/03/15 14:09:29
>>687
ふらっと手にとってレジに持っていきそうになったが、
あの喩えのおかげで思いとどまる事ができた。いわば踏み絵。
693デフォルトの名無しさん:05/03/15 14:13:38
>>688
俺も京大だけど、経験的にそいつよりおまえの方がプログラミング能力低いわ。
694デフォルトの名無しさん:05/03/15 14:26:47
俺も京大だ。奇遇だな。
695デフォルトの名無しさん:05/03/15 14:30:11
俺京大だけどお前ら実は三流大だろ
696デフォルトの名無しさん:05/03/15 15:23:02
>> 693
まぁ、言わんとすることはなんとなく分かるけど、そいつはホントにプログラ
ミング言語の1つもまともに使えないよ.なんだかんだ行っても、情報学科の
底辺のダメさ加減はすごい.
697デフォルトの名無しさん:05/03/15 15:47:55
学歴以外に自慢するものはないんかよ、このダメ人間どもは・・・・
高校卒業時が人生のピークでしたか?
698デフォルトの名無しさん:05/03/15 17:44:50
>>693-695
これがほんとの三兄弟
699デフォルトの名無しさん:05/03/15 17:53:50
ジャンガジャンガジャンガジャンガ

.(公) (益)
 乂  乂

ジャンガジャンガジャンガジャンガジャーン

ヽ(公)ノ
    ヽ(益)ノ
700デフォルトの名無しさん:05/03/15 20:43:24
>>697
なんで怒ってんの?
701デフォルトの名無しさん:05/03/15 21:02:44
高校卒業時が人生のピークだったんだろw
702デフォルトの名無しさん:05/03/15 21:06:06
俺はおまえらより金も幸せも知識も技術も持っている。
703デフォルトの名無しさん:05/03/15 21:34:57
そしてアソコもでかい。
704デフォルトの名無しさん:05/03/15 21:37:29
でも彼女はいない。
705デフォルトの名無しさん:05/03/15 22:32:06
しかし、メイドは居る。
706デフォルトの名無しさん:05/03/15 22:39:10
雑談したいならマ板にいけよぉ、あっちいけぇあっちいけぇ
707デフォルトの名無しさん:05/03/15 23:35:36
memphisとかiburgとか触っ照人いる?

ttp://memphis.compilertools.net/
ttp://www.cs.princeton.edu/software/iburg/

lex/yaccで作ったプログラムから呼ばれるバックエンドを
簡単に作れるものです。結構面白いよ。
708デフォルトの名無しさん:05/03/17 14:25:17
チョトおもしろそう
709デフォルトの名無しさん:05/03/17 23:24:57
>>678
素の通り、

航空機械出た奴は、そりゃ人力飛行機はつくれるだろう。
ただし、(ry
710デフォルトの名無しさん:05/03/17 23:28:09
りんご本よんだら、携帯コンパイラ作れる?

711デフォルトの名無しさん:05/03/17 23:44:49
数学の教科書読んだら、数学のテストで100点取れる?
712デフォルトの名無しさん:05/03/18 00:17:38
りんご本て何?
713デフォルトの名無しさん:05/03/18 00:21:08
綾本?
714デフォルトの名無しさん:05/03/18 00:27:13
謎のりんご農園主
コンパ・イラ
715デフォルトの名無しさん:05/03/18 04:24:48
コン・パイラ
716デフォルトの名無しさん:05/03/18 05:32:42
教科書持ち込みでよければ取れるんじゃね?
717デフォルトの名無しさん:05/03/18 05:48:51
>>716
あんたはりんご本よんだら、携帯コンパイラ作れる?
718デフォルトの名無しさん:05/03/18 06:09:30
>>717
>>712
なんでそのりんご本とやらに限定されなきゃならんのか理解不能だが。
719デフォルトの名無しさん:05/03/18 06:30:47
>>718
馬鹿ですね。
720デフォルトの名無しさん:05/03/18 06:38:21
出た。勝利宣言。w

721デフォルトの名無しさん:05/03/18 07:23:47
勝利宣言はうみねこを論破してからお願いします。
722デフォルトの名無しさん:05/03/18 19:29:47
>>717
携帯コンパイラくらい簡単に作れる気になるだろ。
そして2チャンネルに「お前らそのくらいも作れんの?」と書き込めば
作った気になるだろ。
723デフォルトの名無しさん:05/03/18 19:33:12
>>722
脳内妄想はどうでもいいから、現物を作れるのか?
724デフォルトの名無しさん:05/03/18 19:37:19
>>723
簡単に作れる。(しかし、作ったことは無い。)
といったところだろう。
725デフォルトの名無しさん:05/03/18 19:40:16
>>724
携帯単体でコンパイルして実行できるものが?へえー。
726デフォルトの名無しさん:05/03/18 20:41:51
>>725
もしかしてそれが難しいとか思ってる?
727デフォルトの名無しさん:05/03/18 20:50:43
>>726
ああ。
セキュリティ上、プログラムが作成したデータを実行する事ができないようになってるからな。
728デフォルトの名無しさん:05/03/18 20:50:50
難しい以前に携帯の機械語が分からんので無理。
729デフォルトの名無しさん:05/03/18 20:53:44
>>726
どうやんの?
730デフォルトの名無しさん:05/03/18 22:12:22
りんご本て何?
731デフォルトの名無しさん:05/03/19 01:48:41
>>728
判るよ(藁
732デフォルトの名無しさん:05/03/19 14:11:18
>>728
CPUが分かればマシン語も分かんだろうがこのボケがぁー!
733デフォルトの名無しさん:05/03/19 15:21:45
オープンソースの、Watcomコンパイラの、コンパイル方法教えてくれ
734デフォルトの名無しさん:05/03/19 15:23:57
>>727
別にマシン語とは限ってないでしょ。
綾本ではスクリプトだけどコンパイルして実行してるよ。

それ以前にケータイ上で動くスクリプト作って
何に使うのかってほうがよっぽど疑問なんだけど。
良い使い道ある?
735デフォルトの名無しさん:05/03/19 15:48:56
SPAM送信スクリプトとか
736デフォルトの名無しさん:05/03/19 16:11:28
>>734
ユビキタスがはやりです
737デフォルトの名無しさん:05/03/19 19:27:16
>>734
ごめん、徹夜明けでママン語に見えた。orz
738デフォルトの名無しさん:05/03/19 20:39:46
>>737
はぁそうですか。で?
739デフォルトの名無しさん:05/03/19 22:08:53
綾って呼び捨てにするな!
740デフォルトの名無しさん:05/03/20 14:22:33
>>737-739
いちいち反応すんな、ボケェ。
741デフォルトの名無しさん:2005/03/24(木) 23:21:46
まじめな話、スモールコンパイラ本の字句解析あたりに出て来る
侍ってなにの例えですかね?
742デフォルトの名無しさん:2005/03/24(木) 23:24:51
りんご農園の喩え話読まされてますますわけわかんなくなったよ(つ'A`)
743デフォルトの名無しさん:2005/03/24(木) 23:26:58
あれは悪書だなw
普通に説明すれば分かるものを、
例え話を持ち出して読者を混乱させているw
744デフォルトの名無しさん:2005/03/24(木) 23:31:13
実行イメージに換算して5kバイト程度の短いインタプリタをCで作りたいのですが、
LISPが良いですか?
括弧に抵抗はありません。
Forthはさっぱりわかりません。
簡単な制御に使います。
745デフォルトの名無しさん:2005/03/24(木) 23:43:31
Forthがいいんじゃね?
746デフォルトの名無しさん:2005/03/24(木) 23:45:24
>>745
じゃね、またね。
747デフォルトの名無しさん:2005/03/24(木) 23:46:46
>>744
Lispは実際に実装しようと思うと面倒だから、Schemeにしといたら?
参考になる小さなSchemeのプログラムがいっぱいあるよ。1000行ぐらいのやつとか。
748デフォルトの名無しさん:2005/03/25(金) 00:03:39
じゃあSchemeにします。
749デフォルトの名無しさん:2005/03/25(金) 19:22:36
セルを確保する場合、1つ1つmallocするよりも、
ブロック単位にした方が良いですよね。
最適な数がわからないから、1MBぐらい一気に配列として確保しておいて、
あとは無くなり次第reallocでしょうか。
GCは簡単そうなマーク&スイープで作ります。
継続はたぶん使わないので、末尾再帰と適当な大域ジャンプだけ
取り付けることにします。
750デフォルトの名無しさん:2005/03/25(金) 19:51:29
綾の本は初心者には良いよ。
751デフォルトの名無しさん:2005/03/25(金) 22:10:54
>>749
> セルを確保する場合、1つ1つmallocするよりも、
> ブロック単位にした方が良いですよね。

ここまでいいのに

> あとは無くなり次第reallocでしょうか。

なんでこうなるんだorz

ちょっと遠回りのようでも、人の作った例をいろいろ見て勉強するのがいいよ。
752デフォルトの名無しさん:2005/03/27(日) 18:05:13
>>751
とりあえずは、りん(ry
753デフォルトの名無しさん:2005/03/27(日) 19:40:03
ここは本すら書けない香具師らのりんご本への嫉妬スレですね
754デフォルトの名無しさん:2005/03/27(日) 19:42:10
>>753
低レベル過ぎて困っちゃうんだ。ボクみたいにレベルが高い人だと物足りないって感じ?
755デフォルトの名無しさん:2005/03/28(月) 09:31:07
っつーか変な例え話されたら余計混乱して分かるもんも分からなくなるだろ普通
756デフォルトの名無しさん:2005/03/28(月) 20:36:41
人による
757デフォルトの名無しさん:2005/03/28(月) 21:11:46
Schemeできました。
結構速くて満足してます。
758デフォルトの名無しさん:2005/03/29(火) 00:27:36
コンパイラとはちょっとずれますが、
木オートマトンについて解りやすい本ないでしょうか?
759デフォルトの名無しさん:2005/03/29(火) 13:05:20
tree automataでぐぐったら先頭に出てきた
http://www.grappa.univ-lille3.fr/tata/
Tree Automata Techniques and Applications
はどうでしょう。
わかりやすいかどうかは知らない。
760デフォルトの名無しさん:2005/03/30(水) 20:00:29
>>756
胴衣

洩れ的には大変参考になつた。
新しいことをちょっぴり覚えて興奮した。
761デフォルトの名無しさん:2005/03/31(木) 23:45:12
興奮?
762デフォルトの名無しさん:int 2ch =5年,2005/04/02(土) 15:10:11
>>759
むずい.1章で挫折しますた.
763デフォルトの名無しさん:int 2ch =5年,2005/04/02(土) 16:39:26
あやたんの本。ドラゴンブックを読むための準備の本として立ち読みしとけばOK。
そういう意味では、存在価値があると思う。
行きつけの書籍店でソファーに座りながら読ませていただきました。
764デフォルトの名無しさん:2005/04/03(日) 01:00:45
>>763
ゴッルァ〜!
慣れ慣れしく「タン」付けすんな!
765デフォルトの名無しさん:2005/04/03(日) 15:43:36
彼女は、参考書籍の一つにドラゴン本やら、育男先生の本のひとつも挙げてないのは、何故
766デフォルトの名無しさん:2005/04/03(日) 16:11:28
恋のライバル
767デフォルトの名無しさん:2005/04/04(月) 03:51:42
>>765
参考にしてないだけだろうw
768デフォルトの名無しさん:2005/04/04(月) 05:07:49
前提知識の中にもその本らは無かったのか
769デフォルトの名無しさん:2005/04/04(月) 22:46:06
LL(1)文法で表現できる言語と
LALR(1)文法で表現できる言語を教えてください。
770デフォルトの名無しさん:2005/04/04(月) 23:37:55
曖昧な質問だなぁ。日本語で書ける文章と、英語で書ける文章を
教えてくださいって聞いてると思えばいいのか?
771デフォルトの名無しさん:2005/04/05(火) 00:59:45
りんご畑で説明できる言語と、
みかん畑で説明できる言語を教えて下さい。
772デフォルトの名無しさん:2005/04/05(火) 01:07:30
ライ麦畑でつかまえて
773デフォルトの名無しさん:2005/04/05(火) 23:58:09
>>772
相手にするなw
774デフォルトの名無しさん:2005/04/06(水) 14:45:33
>>767 >>768
綾タソってハカーってことでよろしいか?
コン・パイラ君は、要所要所で、
虎の巻という、虎本か緑竜本か赤竜本かは特定できないが、読んでるようだ。
775デフォルトの名無しさん:2005/04/06(水) 14:46:38
SchemeとML処理系しか作ったことない漏れでもこのスレでやっていけますか
776デフォルトの名無しさん:2005/04/06(水) 20:15:10
むしろこれからはMLが旬
777デフォルトの名無しさん:2005/04/06(水) 21:23:54
>>774
あれが、ドラゴンブックだったのかorz
でも何故りんご酒の作り方までのってるんだ???
778デフォルトの名無しさん:2005/04/07(木) 01:55:04
>>774
つうか虎の巻のところだけ、中田先生が助け舟を出してるように見えたんだけど。
あるいは授業ノートの写しとか。
779発売予定:2005/04/07(木) 14:38:38
ジ アート オブ コンパイラVolI〜IV 副題 やさしいコンパイラ
監修 中田育男 著 麻奈&綾 分売不可
第一回配布 ジ アート オブ コンパイラVolI 字句解析 \5600

780 :2005/04/07(木) 20:51:16
文字列を認識する正規表現を考えてるんだけど、文字列の途中で出てくる\'で文字列の終わりとしないパターンはどうすればいいの?

\"[^\"]*\"だと 

"I said \"hello world\" "を正しく認識してくれません。
781デフォルトの名無しさん:2005/04/07(木) 21:12:02
"([^\]*|[\][^"])*"
782デフォルトの名無しさん:2005/04/07(木) 21:40:59
>>779
ウォ〜!!
こんどは、マナも出すのか!
783デフォルトの名無しさん:2005/04/08(金) 23:00:25
>>780
lexを使っているとしたら、そんなのは正規表現でがんばるよりも、
スタート条件を使うべきじゃないのか。
784デフォルトの名無しさん:2005/04/08(金) 23:06:42
flexに2バイト文字を含むソースを噛ませると止まってしまうのは
プリプロセスで取り除いたり置換する以外に、対処しようがないのでしょうか(´・ω・`)
785デフォルトの名無しさん:2005/04/08(金) 23:14:07
>>781じゃ駄目なのか
786デフォルトの名無しさん:2005/04/09(土) 00:04:50
>>781もだけど、正規表現でがんばっても、
「"I said \"hello world\" "」という入力が
「I said \"hello world\" 」
になるだけじゃないのか?
本当に欲しいのは
「I said "hello world" 」
じゃないの?
\tとか\nとかはいらないの?
787780:2005/04/09(土) 02:05:11
すいません。初心者があまり考えずに質問してしまいました。

>>781 LEXのなかでの書き方とちがいメタ文字のエスケープをしない表現なのかな?
[\][^']は\nにマッチするけど\"にはマッチしないでいいのかな?

>>783
スタート状態とかいま調べ始めたばかりです。すいません。

>>786
確かにそうですね。
字句解析対象のファイル中に\'を含む文字列があったときエラーを起こさないようにどうすればいいのかにばかり気が向いてました。
最終的にはそう変換された字句値が欲しいんでした。
もうしこしLEXとか勉強してみます。
ありがとうございました。
788デフォルトの名無しさん:2005/04/09(土) 06:39:36
まあわからないならいいや。
789デフォルトの名無しさん:2005/04/09(土) 10:08:45
マナタン
アヤタン
790デフォルトの名無しさん:2005/04/09(土) 13:24:20
>>779
やさしいコンパイラと謳うからには
分かりやすい本なんだろうな?
791デフォルトの名無しさん:2005/04/09(土) 13:25:06
>>790
コンパイラを作るだけならそんなに難しくないと思うけど…
792デフォルトの名無しさん:2005/04/11(月) 09:08:41
写真集発売にならんかなぁ…
「イチゴ畑でつかまえて」
793デフォルトの名無しさん:2005/04/11(月) 21:02:05
変なの(792など)が常駐してるおかげでスレが機能しない
荒らし認定します
794デフォルトの名無しさん:2005/04/12(火) 00:00:29
中田さんっていい本出してるみたいだけど
あんまり講義はよくないんだよなぁ。
795デフォルトの名無しさん:2005/04/12(火) 01:06:38
>>793
お前もナw
>>794
どこの大学?
796デフォルトの名無しさん:2005/04/12(火) 01:08:17
法政だっけ?
797デフォルトの名無しさん:2005/04/12(火) 10:50:27
退官されたんじゃね?
798デフォルトの名無しさん:2005/04/12(火) 12:49:36
講義が苦手な教官って結構いるからな、教科書がいいなら家で勉強すればよかろうかと、
講義は下手、本を書けばクソ、研究成果は上がらない(駄目押し)なんて奴結構いるし、それよりマシ。
799大原ゆき:2005/04/12(火) 18:43:03
なんか私呼ばれませんでした?
800デフォルトの名無しさん:2005/04/12(火) 19:17:52
>>799
あんた誰?ハァハァ
801デフォルトの名無しさん:2005/04/12(火) 19:30:24
「大原ゆき」で検索したら京都バスが引っ掛かった(;´Д`)
802デフォルトの名無しさん:2005/04/12(火) 21:02:14
おお、バス屋さんか?!
ええけつしとるのぉ(*´Д`)ハァハァ



うはっwwwおkwww??
804デフォルトの名無しさん:2005/04/12(火) 21:31:47
↑トロイが仕掛けられています。
805デフォルトの名無しさん:2005/04/12(火) 21:36:45
最近よく見かけるけど何のトロイ?
806デフォルトの名無しさん:2005/04/12(火) 21:58:22
Firefoxのバグ利用したやつだろ。
2チャンネルに書き込むだけで、
2チャンネルが危ないってわけじゃないから心配するな。
807デフォルトの名無しさん:2005/04/12(火) 22:00:40
>>806
漏れも火狐使ってるんだけど((;゚Д゚)ガクガクブルブル
いつもはJaneだけど
808デフォルトの名無しさん:2005/04/12(火) 22:27:03
809デフォルトの名無しさん:2005/04/12(火) 22:29:08
>>808
プログラマの条件が悪すぎる。
損しかしないじゃないか。
しかもC#って厨臭い…
810デフォルトの名無しさん:2005/04/12(火) 22:37:17
まぁいいんじゃない?
厨が興味示さない言語で流行ったのって無いんだし。
811デフォルトの名無しさん:2005/04/13(水) 21:55:57
>>810

> 厨が興味示さない言語で流行ったのって無いんだし。

そ、そうなのか?orz

関係無いけど、厨が興味示す書籍はやはり流行るのか?
812デフォルトの名無しさん:2005/04/13(水) 22:14:32
さぁ?

ただ、厨が興味を示さない書籍で流行ったのは無いよ。
813デフォルトの名無しさん:2005/04/13(水) 22:21:02
v(A->B)=true <=> v(A)=true のとき v(B)=true
v(A)=falseのときv(B)の値は任意
814デフォルトの名無しさん:2005/04/14(木) 15:50:53
対偶を取れば、「流行った書籍には厨も興味を示す」になるかな。
815デフォルトの名無しさん:2005/04/14(木) 19:17:40
>>814
なんとなく納得。
816デフォルトの名無しさん:2005/04/14(木) 20:06:49
>>814
とすると、例の畑の本は大流k(ry
817デフォルトの名無しさん:2005/04/14(木) 21:10:02
いいかげん本の内輪ネタはやめてくれないかなー
818デフォルトの名無しさん:2005/04/14(木) 21:18:44
お前が謝るまで、このくだらないネタを止めるつもりはない。
819デフォルトの名無しさん:2005/04/14(木) 21:29:07
取り合えず、墨染さくら先生を崇め讃えよう。
820デフォルトの名無しさん:2005/04/15(金) 00:38:56
どなたですか
821デフォルトの名無しさん:2005/04/15(金) 00:40:13
822デフォルトの名無しさん:2005/04/15(金) 12:08:21
最先端の論文ばかり読んでる>>817も、息抜きにdqnが読んでる綾本に目を通すのもいいじゃなぁあぃ
残念〜! dqnは、綾本も理解出来ませんから〜.

つか、ネタふれば?誰もついて来れなかったりして
823デフォルトの名無しさん:2005/04/15(金) 14:02:26
>>822
最先端つーても、単に新しい用語を(分かり切った)概念に割り当てる
だけでしょ?

この分野、発展してないというつもりはないが、一版のIT分野において
恐ろしく改善度合が低い。(おそらく部署最低かもw)
え     っ     る     ハ     
  ぇ     し     の    ァ ハ  
    け     と     ぉ     ァ 
うはっwww夢がひろがりんぐwwwwww   
825デフォルトの名無しさん:2005/04/15(金) 16:13:26
>>823
黙ってペーパー読め
826デフォルトの名無しさん:2005/04/15(金) 18:30:27
「これは読んどくべき!」という基本的な論文ってどういうものがあるのでしょう?
たとえば関係databaseにおけるCodd,logicでのGentzen,検証でのFloydやHoareの論文に
相当するものをあげてみませんか? Kildall? Cousot?

827デフォルトの名無しさん:2005/04/15(金) 18:38:35
AHO本
828デフォルトの名無しさん:2005/04/15(金) 19:19:38
>>826
ちょっと古いような…
Chaitinのgraph coloringとかCytronのSSAのやつとか
829デフォルトの名無しさん:2005/04/15(金) 19:33:20
SSAを説明してみなよ
830デフォルトの名無しさん:2005/04/15(金) 20:59:41
>>826
SSAのoriginalはCytronでなくWegmanでない?
SSAとは、同一変数に対する定義点が高々一つしか存在しないという性質を持つ中間語形式のこと。
これにより定義点とその使用点の関係が明示的になるので各種最適化が簡潔になる。
その特徴は関数型言語と共通するところが多い。弱点は配列やポインタの扱い。
831デフォルトの名無しさん:2005/04/15(金) 22:03:51
>>830
SSA関連の論文で参照されてるのは、ほとんど全てCytronって希ガス。
832デフォルトの名無しさん:2005/04/15(金) 22:29:54
SSAで最適化書くのが楽になった、という経験が余りないなあ。
依存チェーンをたどる古典的なやり方に慣れてるだけかも知れんが。
833デフォルトの名無しさん:2005/04/16(土) 02:12:36
bisonというかyaccを最近使い始めたんでスが
コンパイラのようなものを作っておるんでスが

yaccでは構文木をつくるだけにしておいて
そいつに対しvisitorパターンでホゲホゲする
ってのが定番なんでしょうか
834デフォルトの名無しさん:2005/04/16(土) 02:42:08
定番なんてありません。
835デフォルトの名無しさん:2005/04/16(土) 03:12:06
うはw
情報量ゼロw
836デフォルトの名無しさん:2005/04/16(土) 03:19:25
思ったように作ってみなさい。そうすればきっと報われるでしょう。
837デフォルトの名無しさん:2005/04/16(土) 03:22:00
オブジェクティブに作ったら逆にうっとうしくなるかもだよー。
838デフォルトの名無しさん:2005/04/16(土) 03:23:52
処理系作るなら関数型がええよー
OCamlにはocamlyaccとかocamllexとかあるからええよー
Cより楽やよー
839デフォルトの名無しさん:2005/04/16(土) 06:46:49
作るのが簡単なものは使うのが面倒なことが多い
840デフォルトの名無しさん:2005/04/16(土) 10:29:59
使うのが面倒???
できあがる物は同じなのに?
841デフォルトの名無しさん:2005/04/16(土) 11:11:21
アフォですか?
842デフォルトの名無しさん:2005/04/16(土) 12:12:28
>>841
なに?自分の主張が分かってもらえなかったら、アホなのか?
しかも、何もしなくても言いたいことが伝わると思っている。
まるで子供だなww
843デフォルトの名無しさん:2005/04/16(土) 12:27:18
>作るのが簡単なものは使うのが面倒なことが多い
意味不明。
844デフォルトの名無しさん:2005/04/16(土) 12:46:29
あと、どうでもいいけど、議論ではアホと言った方が負けなんだよ。知ってる?
なぜなら、その時その人に言えることがそれ以外無いからだ。
845デフォルトの名無しさん:2005/04/16(土) 14:34:45
>>844
意味不明。
846デフォルトの名無しさん:2005/04/16(土) 14:41:53
>>845
ぎゃはははははは
こんなにわかりやすくいってやってるのにわからないなんてしょうしんしょうめいのあほだなwwwwwwwwwwwwwwwwwwww
847デフォルトの名無しさん:2005/04/16(土) 14:51:43
>>846
なに?自分の主張が分かってもらえなかったら、アホなのか?
しかも、何もしなくても言いたいことが伝わると思っている。
まるで子供だなww
848デフォルトの名無しさん:2005/04/16(土) 14:53:10
あと、どうでもいいけど、議論ではアホと言った方が負けなんだよ。知ってる?
なぜなら、その時その人に言えることがそれ以外無いからだ
849デフォルトの名無しさん:2005/04/16(土) 14:53:16
いいかげん論文の内輪ネタはやめてくれないかなー
850デフォルトの名無しさん:2005/04/16(土) 14:55:23
誰だよ荒してる奴
851デフォルトの名無しさん:2005/04/16(土) 16:04:49
>>849
そんな高尚(でもないか)なものがこのスレのどこに?
852デフォルトの名無しさん:2005/04/16(土) 16:15:45
ゲームなどのコンソール用にpureObjectなスクリプト言語作ってみました。(NewtonScriptとかselfみたいな言語です)
自己記述も可能に作ったので(VM用のコンパイラ)デバッガ、エディタ(ANSIエスケープシーケンス端末用)
全部を自己記述で完結できたのですが、ビットマップディスプレイ用に簡易なウィンドウシステムを導入
しようとしてグラフィックの扱いをスクリプトのレイヤーとネイティブの間の粒度をどれくらいの細かさにすべきか
悩んでおります、なにかこの手の完全に閉じた環境のためのウィンドウシステムでスクリプト言語がらみの参考文献
ってありませんか?

※squeakは見てみましたがあそこまでやる気力はもうありませんorz
853デフォルトの名無しさん:2005/04/16(土) 16:58:26
>>852
かなりのご年輩の方をお見受けした。
Xは駄目なの?
854デフォルトの名無しさん:2005/04/16(土) 17:09:23
>>853
俺は>>852ではないけど、なんで年配だと判断できたの??
855デフォルトの名無しさん:2005/04/16(土) 19:04:20
自演だからじゃないかな
856デフォルトの名無しさん:2005/04/17(日) 01:31:48
かなり美人とお見受けした。ハァハァ
857デフォルトの名無しさん:2005/04/17(日) 11:20:21
>>855
自演じゃないだろ。Xなんて全然関係ないモン持ち出して来てるし。
858852:2005/04/17(日) 12:29:26
えーと、ネタスレでしたら空気読まないで済みません、他スレに移動します。
まじめな話、独自言語と仮想マシンを用いてGUI付きの環境を構築しているものはsmalltalk以外に知らないのです。
これらを論じていてかつ入手しやすい書籍があればベストですが見かけませんでした。
(LittleSmalltalkはテキストコンソールベースですがかなり参考になりました、今はもう絶版ですが)

859デフォルトの名無しさん:2005/04/17(日) 12:46:43
GUI部分の実装をどうするかというのはポリシーの問題だから、
書籍にはあまり書かれないんじゃないかと思う。

・ウインドウ一枚だけもらって後は自前のGUIシステム(Squeak)
・各ウインドウはネイティブの物をもらい、中身は自前描画(VisualWorks)
・ネイティブウィジェットを使う自前クラスを構築(Ambrai Smalltalk)
・ネイティブライブラリ使えるから勝手にしてくれ(各種スクリプト言語)

どれが優れてるって一意には決まらんよね。
860デフォルトの名無しさん:2005/04/17(日) 13:01:40
>>858
あおきあつしちゃんのページいきなよ。
Smalltalkerを自認してるしWEBページも情報豊富だよ
861デフォルトの名無しさん:2005/04/17(日) 13:35:12
>>859
>どれが優れてるって一意には決まらんよね。

同意。
JavaだとAWTの頃はOSのネイティブなコンポーネントを使っていたが、
Swingからは、各ウィンドウをOSからもらい中身は自前描画するようになった。
だからどのOSでも同じように見える…かというと、フォントの問題で
そうもいかんかったりするんだけど。

HSPなんかはWindowsオンリーで開き直ってるしね。

>>852の用途がよくわからないんだけど(「ゲームなどのコンソール用」って?)
絵を描いたりするのなら、GUI部品並べるだけではだめだから、
線やら円の描画が要るし、イメージの描画や、場合によってはスプライトなんかも
用意しなきゃいかんだろう。
「粒度」という言い方が適当かどうかは知らんが、俺も今悩んでるところ。


862デフォルトの名無しさん:2005/04/17(日) 15:25:17
汎用的にするならXもいい選択肢だと思うが,面倒なのが問題だな。
863デフォルトの名無しさん:2005/04/17(日) 18:57:03
ゲーム考えてしかも汎用適だったら、オープンGLあたりじゃだめなの?
864デフォルトの名無しさん:2005/04/17(日) 19:23:01
GUIの話してるのにOpenGL
865デフォルトの名無しさん:2005/04/17(日) 19:52:31
OpenGLでGUI作っちゃいかん理由でもあるのかね?
866デフォルトの名無しさん:2005/04/17(日) 19:53:37
人によって考えてるレイヤーが違うような…
867デフォルトの名無しさん:2005/04/17(日) 19:56:38
>>864は部品をレイアウトするレベルの話
>>862>>863はもっと低レベルの話
をしてるんかな。
868デフォルトの名無しさん:2005/04/17(日) 20:15:15
OpenGL が低レベルなのはそのとおり。
ただし、 OpenGL でうまく行ってる例多数。
どう説明できる?
869デフォルトの名無しさん:2005/04/17(日) 20:17:56
GUIはスレ違いだろ。
870デフォルトの名無しさん:2005/04/17(日) 20:30:10
>>869
そうだそうだ!
りんごの話に戻せ!
871デフォルトの名無しさん:2005/04/17(日) 20:36:26
墨染さくらの話に戻せ!
872デフォルトの名無しさん:2005/04/17(日) 21:17:02
だれそれ
873デフォルトの名無しさん:2005/04/17(日) 21:20:48
CマガでOSの記事を書いてたひと?
874デフォルトの名無しさん:2005/04/17(日) 21:23:03
そうだ。墨染さくら祭りがいまいちだったので改めてやる必要を感じた。
875デフォルトの名無しさん:2005/04/17(日) 23:05:00
>>869
そうでもないと思うけど・・・
876デフォルトの名無しさん:2005/04/17(日) 23:26:24
例えばMAX/MSPみたいなものを考えていたとしても、GUIはただのインターフェースに
過ぎないからね。
877デフォルトの名無しさん:2005/04/18(月) 00:54:53
言語もインターフェースですが
878デフォルトの名無しさん:2005/04/18(月) 02:18:18
>>868
その例っていうのは GL じゃなくて GLUT 使っているんじゃないの?
879デフォルトの名無しさん:2005/04/18(月) 22:26:12
>>871
美人なのか?
880デフォルトの名無しさん:2005/04/18(月) 22:48:35
>>879
お前はイケメンなのか?
881デフォルトの名無しさん:2005/04/18(月) 22:49:37
おまえは無茶メン
882デフォルトの名無しさん:2005/04/19(火) 13:20:46
プリプロセッサの扱いに困ってます。

ソースファイルをプリプロセッサに食わせて、出てきた処理済みファイルに対して
コンパイルを行うとします。

ここで、プリプロセス後のファイルは、それまでの情報を
失っている場合がありますよね。
特に、コンパイル中にエラーが起きた場合には、
行番号がずれてしまっていることがあるため、ユーザーには意味不明な
エラー行を吐いてしまうと思うんですよね。

みなさんは、ここらへんをどうやって解決しているんでしょうか?
883デフォルトの名無しさん:2005/04/19(火) 13:30:44
>>882
プリプロセスの出力をccに喰わせるののなら、#line ディレクティブを
入れるという手があるよ。


884デフォルトの名無しさん:2005/04/19(火) 13:30:52
無知晒してないでCのプリプロセッサについて調べてみろや。
885デフォルトの名無しさん:2005/04/19(火) 20:14:09
おれはCのプリプロセッサをLISPに改造したぜ
886デフォルトの名無しさん:2005/04/19(火) 21:04:53
それに通るコードを晒してみてくれ。
887デフォルトの名無しさん:2005/04/19(火) 22:31:02
プリプロセスならm4とか使えば楽なんじゃないの
使った事ないけど
888デフォルトの名無しさん:2005/04/19(火) 23:35:36
しったかは口をあけるな
889デフォルトの名無しさん:2005/04/19(火) 23:47:00
んじゃ、>>888のおすすめのプリプロセッサは?
できればm4より記述力が高くて使いやすいやつ。
890デフォルトの名無しさん:2005/04/19(火) 23:53:59
m5
891デフォルトの名無しさん:2005/04/19(火) 23:55:35
ms
892デフォルトの名無しさん:2005/04/20(水) 00:37:25
>>882
自分でプリプロセッサを書いてるのかな?

ターゲット言語がC/C++なら、>>883の言うように適切な#lineを挿入しましょう。

入力ファイルの行番号と、出力ファイル(ソース)の行番号を管理しておいて、
それらが一致しなくなったら自動的に
#line ほんとの行番号 "inputfilename"
という行を挿入するような出力ルーチンを用意しておけばいいと思います。

私はJava向けのプリプロセッサ(というかコード生成系)を書きましたが、
Javaには#lineがないので、エラーが出たら勘で元の場所を見つけてます。
なにかいいアイデアがあったら教えてくらさい。
893デフォルトの名無しさん:2005/04/20(水) 06:54:39
似たような情報を保存しておいてエラーメッセージの方の行番号を変換したら?
894デフォルトの名無しさん:2005/04/23(土) 02:57:00
>>892
> 私はJava向けのプリプロセッサ(というかコード生成系)を書きましたが、
>Javaには#lineがないので、エラーが出たら勘で元の場所を見つけてます。

この場合の「エラー」がどんなものかわからないんだけど、892が作ったのが
cpp流の、文法を理解しないプリプロセッサで、javacでコンパイルエラーを
起こし、その場所が分からなくて困る、ということなら、原始的だけど

//#line ほんとの行番号 "inputfilename"

みたいなコメントを入れるとかかね。人間がソースを見れば、
どこの場所かわかるだろ。

もし、そのプリプロセッサが、完全なパースを行いエラーのないJavaソースを
吐くようなもので、実行時エラーの行番号を知りたい、ということなら、
いっそJavaソースではなくバイトコード吐かせた方が楽なような気がする。
895デフォルトの名無しさん:2005/04/23(土) 21:51:48
たとえば、javac のエラーが
Hoge.java:123: error
みたくなってたら
Hoge.org とかいうファイルの123行目を見ると元のソースと行番号が分かるようにしておく。
後は、エディタのマクロを書いて、
javacのエラーメッセージからワンキーでソースのエラー行にジャンプ。
もしくは>>893
896デフォルトの名無しさん:2005/04/25(月) 22:25:53
ここの住人で、本当に言語やってる香具師(趣味除く)って
どれぐらいいるの?

もし、よかったらどんなのやってるかおしえて!
897デフォルトの名無しさん:2005/04/25(月) 22:32:34
言語はあくまで道具だからな
道具を作って喰っていけるのは一握りでしょうな。
898デフォルトの名無しさん:2005/04/25(月) 22:52:57
>>896
ノシ

NDAがあるんでこれ以上は_
899デフォルトの名無しさん:2005/04/25(月) 23:25:47
>>896
仕事していたりすると書けない事もある。
書くとバレるぐらいドマイナーな事やっている事もあるので2ちゃんではボケ役が楽しい。
ギャグが下手くそすぎるのが悩みの種。
900デフォルトの名無しさん:2005/04/26(火) 12:20:46
会社の製品に無理やりスクリプトエンジンぶち込んだことはあるが、
それ以上はやったことないわ
言語だけで食っていける人はちょいうらやましい
901デフォルトの名無しさん:2005/04/26(火) 16:42:44
>>899
書いてバレないようなことやってても食えないからなー
902デフォルトの名無しさん:2005/04/26(火) 18:44:22
幸か不幸か仕事でコンパイラを作ってますが、余り書いて面白いことがないですね。
仕様書作成→コーディング→単体テスト→結合テストのルーチンワーク。

ところで皆さんのところでは開発言語は何を使ってますか?
うちはまだCです……いい加減つらい。
903デフォルトの名無しさん:2005/04/26(火) 21:26:14
仕事で言語って移植がほとんどなの??
全然想像できないなぁ…
904デフォルトの名無しさん:2005/04/27(水) 00:14:41
>>896

とはいってもパーサだけだけど
905デフォルトの名無しさん:2005/04/27(水) 03:01:53
>>903
んなわけないんだけど、書いたら即バレ(w

つかちょっとでも事例書いたらバレる。
906デフォルトの名無しさん:2005/04/27(水) 07:00:51
>>902
うちもCだ。せめてC++にしたいところだが、1Mstep以上のコードを今更書き直せない。
907デフォルトの名無しさん:2005/04/27(水) 19:39:24
今どきCかよ。ご愁傷様。
ILのクラス階層が作れないと辛かろう。
908デフォルトの名無しさん:2005/04/27(水) 20:35:46
>>905
多分携帯だろうな。
今時、活気あるところといえば、携帯ぐらいしか思い付かんw
909デフォルトの名無しさん:2005/04/28(木) 01:10:08
>>900
俺も一度客先のシステムにスクリプトエンジン組み込んだことある。
別のシステムでは、スクリプトエンジンと言うほどではないが、
式を評価するパーサと評価器を組み込んだ。
Excelなんかがいい例だけど、ユーザが入力した式を評価する程度の用件なら、
結構いろいろなシステムであると思う。
910デフォルトの名無しさん:2005/04/28(木) 01:39:19
ATコマンドパーサなら昔かいた事ある
911デフォルトの名無しさん:2005/04/28(木) 06:38:51
コマンドラインオプションパーサならいつも書いている
912デフォルトの名無しさん
getopt(getoptlong)とか使わないの?