「コンパイラ・スクリプトエンジン」相談室5at TECH
「コンパイラ・スクリプトエンジン」相談室5 - 暇つぶし2ch1:デフォルトの名無しさん
05/01/19 19:06:04
プログラミング言語処理系の開発に興味のある人達のスレッドです。

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

前スレ
1 URLリンク(pc.2ch.net)
2 スレリンク(tech板) (dat落ち)
3 スレリンク(tech板)
4 スレリンク(tech板) (前スレ)
関連リンクは多分 >>2-10 あたり

2:デフォルトの名無しさん
05/01/19 19:06:33
コンパイラ等を扱ったドキュメント

色々なツールの紹介
URLリンク(catalog.compilertools.net)

コンパイラ関連のリンク集
URLリンク(www.ulis.ac.jp)

スクリプティング言語資料室(仮) (リンク)
URLリンク(www.kt.rim.or.jp)

Compiler Construction
URLリンク(rananim.ie.u-ryukyu.ac.jp)

Compiler Construction (1997)
URLリンク(rananim.ie.u-ryukyu.ac.jp)

情報システム工学実験 III コンパイラ・コンパイラ
URLリンク(math.cs.kitami-it.ac.jp)

OS/Programming 簡単な C コンパイラ
URLリンク(www.csg.is.titech.ac.jp)

正規表現
URLリンク(hp.vector.co.jp)

コンパイラ研究・開発情報の一集積所
URLリンク(compilers.cs.uec.ac.jp)

Links and Selected Readings
URLリンク(www.gnu.org)

3:デフォルトの名無しさん
05/01/19 19:06:53
Lex(Flex) Yacc(Bison) 構文解析

UNIX板
yacc & lex
スレリンク(unix板)

Lex and YACC primer/HOWTO (邦訳)
URLリンク(www.linux.or.jp)

Turbo Pascal Lex/Yacc
URLリンク(www.musikwissenschaft.uni-mainz.de)

Jim Roskind's LALR(1) C++ Grammar
URLリンク(www.empathy.com)

Flexと Bisonを同時に使う
URLリンク(guppy.eng.kagawa-u.ac.jp)

KITE_ASM (yacc,lex)
URLリンク(www.arch.cs.kumamoto-u.ac.jp)
URLリンク(www.arch.cs.kumamoto-u.ac.jp)

Cygwin
URLリンク(www.cygwin.com)

GNU utilities for Win32
URLリンク(unxutils.sourceforge.net)

4:デフォルトの名無しさん
05/01/19 19:07:16
その他のパーサジェネレータ等

ANTLR(非yaccのパーサジェネレータ)
URLリンク(www.antlr.org)

JavaCC(Java Compiler Compiler)
URLリンク(javacc.dev.java.net)
URLリンク(village.infoweb.ne.jp)
URLリンク(www.asahi-net.or.jp)

CUP & JLEX or CUP & JFlex
CUP URLリンク(www.cs.princeton.edu)
JLEX URLリンク(www.cs.princeton.edu)
JFlex URLリンク(www.jflex.de)

SableCC
URLリンク(www.sablecc.org)

¬<><∪∪ (notavacc)LALR(1)
URLリンク(ne.cs.uec.ac.jp)

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

boost::spirit(C++のテンプレートでEBNFの構文を模倣)
URLリンク(spirit.sourceforge.net)
URLリンク(boost.cppll.jp)(マニュアル日本語化プロジェクト)
URLリンク(www.fides.dti.ne.jp)

5:デフォルトの名無しさん
05/01/19 19:07:38
ごみ集め

GC FAQ -- draft
URLリンク(www.iecc.com)

A garbage collector for C and C++
URLリンク(www.hpl.hp.com)

一般教養としての Garbage Collection
URLリンク(www.is.s.u-tokyo.ac.jp)

Garbage Collection : Algorithms for Automatic Dynamic Memory Management
URLリンク(www.amazon.com)

6:デフォルトの名無しさん
05/01/19 19:07:57
参考書籍

●コンパイラ 原理・技法・ツール 1&2
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
通称ドラゴンブック。バイブル。

●コンパイラ構成法 原田 賢一
URLリンク(www.amazon.co.jp)
URLリンク(www.hara.cs.keio.ac.jp) (ソース、正誤表のダウンロード)

●プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝
URLリンク(www.amazon.co.jp)
一冊で済ませたい人へ。

●コンパイラの構成と最適化 中田 育男
URLリンク(www.amazon.co.jp)
最適化がメイン。

●コンパイラの仕組み 渡邊 坦
URLリンク(www.amazon.co.jp)
薄い奴(185p)を読みたい人に。

●21st Century Compilers (Alfred V. Aho, Sethi, Ravi Sethi, Jeffrey D. Ullman, Monica Lam)
ペーパーバック版: URLリンク(www.amazon.co.jp)
ハードカバー版: URLリンク(www.amazon.co.jp)

●スモールコンパイラの制作で学ぶプログラムのしくみ
URLリンク(www.cbook24.com)

7:デフォルトの名無しさん
05/01/19 19:08:15
処理系,スクリプト

kikyou.info (吉里吉里というゲームのスクリプト)
URLリンク(kikyou.info)

tiny C コンパイラ (C)
URLリンク(www.watalab.cs.uec.ac.jp)

6809用 Micro C コンパイラ
URLリンク(www.axe-inc.co.jp)

Portable Object Compiler (Obj-C >> C のトランスレータ?)
URLリンク(users.pandora.be)

自作コンパイラの部屋(PL/1, Pascal等)
URLリンク(www.tokumaru.org)

『Rubyソースコード完全解説』サポートページ
URLリンク(i.loveruby.net)

『やさしい Lisp の作り方』と『やさしい Java インタプリタ の作り方』見つけた。
Java と C# で実装。
URLリンク(www.okisoft.co.jp)
URLリンク(www.okisoft.co.jp)
URLリンク(www.okisoft.co.jp)
URLリンク(www.okisoft.co.jp)

MSによるPEフォーマット仕様書(日本語)
URLリンク(www.interq.or.jp)

8:デフォルトの名無しさん
05/01/19 19:10:03
>>1お疲れさま。
前スレ埋め厨お疲れさま。

9:デフォルトの名無しさん
05/01/19 19:14:47
以上です。

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

>8
ありがとうございます。

10:デフォルトの名無しさん
05/01/19 19:34:25
寂しいので学会紹介を少し。

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

○ POPL: URLリンク(www.cs.princeton.edu)
  PLDIよりは理論寄りだが大いに参考になる。

○ ICFP: URLリンク(www.brics.dk)
  関数型言語に関する学会。とても難しい。

○ OOPSLA: URLリンク(www.oopsla.org)
  オブジェクト指向言語に関する学会。最近はやや低調?

このスレッドから、この辺の学会にacceptされる人がでてくることを祈って…

11:デフォルトの名無しさん
05/01/19 19:49:20
>>4
JavaCCはLOOKAHED使った場合、手続き型プログラムで選択肢を自由に選べるので、
LL(k)より強力。
URLリンク(javacc.dev.java.net)のboolean_expression)
ANTLRも同じだったと思う。
¬<><∪∪は強いて言えばLALR(∞)。
ちなみに最近のbisonはGLRも選択できる。
URLリンク(www.gnu.org)
¬<><∪∪も論文だと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
URLリンク(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
後これも。

URLリンク(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.
がある(URLリンク(citeseer.ist.psu.edu))。

けど、結局ぐちゃぐちゃになるのは仕方ない気もする。

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

URLリンク(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なんてのもあったっけ。

115:83
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の想定してる定義は
URLリンク(swissnet.ai.mit.edu)
の7.2節みたいな内容か?
まあすべての言語がalgolやsmlやschemeみたいな意味定義は持ってないわな。

125:123
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


129:123
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は人間の言葉と、形式的な意味論と両方の定義が存在するな。
後者の方がより厳密かもしれない。

144:123
05/01/21 00:16:58
>>137
僕もそんな風に考えてたんだけど、どっちも「式」の定義だし、
「普通」は式の定義というと意味論的な意味のことを指すと言われれば
反論できないし、そんな気もしてきた。

>>141
漏れがそうでない言語を定義してあげよう。

145:123
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
URLリンク(swissnet.ai.mit.edu)
の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
とりあえず、俺に聞く前に意味論の本読んでください。

166:137
05/01/21 00:42:11
>>140
了解。㌧クス。
>>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を選ばないユニバーサル・エミュレーター登場か
スレリンク(pcnews板)

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
URLリンク(www.ruby-lang.org)

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らしいんだけど、使ったことある方いますか?

URLリンク(www.bj-ig.de)


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
これを世界征服に使うかどうかは君たちの哲学次第。健闘を祈る。

291:282
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
URLリンク(www.fuka.info.waseda.ac.jp)

> 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
巣に帰れ
スレリンク(tech板)

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
綾本のサンプルをダウンロードしていじるとか
URLリンク(www.gihyo.co.jp)

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


360:359
05/02/01 00:42:02
すまん、最後の1行は無視してくれ。
(単なる煽りになる。)


361:デフォルトの名無しさん
05/02/01 00:49:02
>>359が何をもって新しいと認識するのかまるで解らないが、
少なくとも、まともな学会・会議や論文誌に掲載される全ての
論文に、必ず新規性がある。

>>359がその事実を否定できる程の人物である可能性は
限りなく低い。

362:sage
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
もう来なくて結構です。

371:365
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
もう来なくて結構です。
と言ったはずですが?

377:370
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)
URLリンク(www.watalab.cs.uec.ac.jp)

必要な人はバックアップを取っておいた方が良い。
渡辺教授の退官で今年度限りであぼーんかも。

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
>>457ではないが…
URLリンク(www.ipsj.or.jp)

463:デフォルトの名無しさん
05/02/07 22:38:07
>>459 それはお前以下少数派だ

464:デフォルトの名無しさん
05/02/08 01:12:40
>>462
誰も止めなかったのがすごい

465:デフォルトの名無しさん
05/02/08 01:37:26
URLリンク(www2.econ.osaka-u.ac.jp)
こいつだ。研究業績にそれの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
ハンドコンパイルだったと思う


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch