1 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:06:04 ] プログラミング言語処理系の開発に興味のある人達のスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換, CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化, それにVM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。 意味論に関する話題も歓迎です。 前スレ 1 pc.2ch.net/tech/kako/981/981672957.html 2 pc2.2ch.net/test/read.cgi/tech/1021136715/ (dat落ち) 3 pc5.2ch.net/test/read.cgi/tech/1070089173/ 4 pc5.2ch.net/test/read.cgi/tech/1100097050/ (前スレ) 関連リンクは多分 >>2-10 あたり
2 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:06:33 ] コンパイラ等を扱ったドキュメント 色々なツールの紹介 catalog.compilertools.net/ コンパイラ関連のリンク集 www.ulis.ac.jp/~nakai/rel_web_compilers.shtml スクリプティング言語資料室(仮) (リンク) www.kt.rim.or.jp/~kbk/ Compiler Construction rananim.ie.u-ryukyu.ac.jp/~kono/lecture/2000/compiler/index.html Compiler Construction (1997) rananim.ie.u-ryukyu.ac.jp/~kono/lecture/1997/compiler/compiler.html 情報システム工学実験 III コンパイラ・コンパイラ math.cs.kitami-it.ac.jp/~fuchino/proin/experimentIII-2000/jikken.html OS/Programming 簡単な C コンパイラ www.csg.is.titech.ac.jp/~chiba/lecture/os/ 正規表現 hp.vector.co.jp/authors/VA007799/viviProg/doc_regexp.htm コンパイラ研究・開発情報の一集積所 compilers.cs.uec.ac.jp/ Links and Selected Readings www.gnu.org/software/gcc/readings.html
3 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:06:53 ] Lex(Flex) Yacc(Bison) 構文解析 UNIX板 yacc & lex pc.2ch.net/test/read.cgi/unix/1031801314/ Lex and YACC primer/HOWTO (邦訳) www.linux.or.jp/JF/JFdocs/Lex-YACC-HOWTO.html Turbo Pascal Lex/Yacc www.musikwissenschaft.uni-mainz.de/~ag/tply/tply.html Jim Roskind's LALR(1) C++ Grammar www.empathy.com/pccts/roskind.html Flexと Bisonを同時に使う guppy.eng.kagawa-u.ac.jp/~kagawa/1999/SysProg/both.html KITE_ASM (yacc,lex) www.arch.cs.kumamoto-u.ac.jp/project/kite/kiteasm/yacc/ www.arch.cs.kumamoto-u.ac.jp/project/kite/kiteasm/lex/ Cygwin www.cygwin.com/ GNU utilities for Win32 unxutils.sourceforge.net/
4 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:07:16 ] その他のパーサジェネレータ等 ANTLR(非yaccのパーサジェネレータ) www.antlr.org/ JavaCC(Java Compiler Compiler) https://javacc.dev.java.net/ village.infoweb.ne.jp/~fwif0083/program/java/javacc/javaccgrm.html www.asahi-net.or.jp/~DP8T-ASM/java/tips/JavaCCHelloWorld.html CUP & JLEX or CUP & JFlex CUP www.cs.princeton.edu/~appel/modern/java/CUP/why.html JLEX www.cs.princeton.edu/~appel/modern/java/JLex/ JFlex www.jflex.de/ SableCC www.sablecc.org/ ¬<><∪∪ (notavacc)LALR(1) ne.cs.uec.ac.jp/~koto/notavacc/ JavaCCはLL(k)だけど、上のはANTLR以外はLALR(1) でもANTLRはC++なんかにも対応。 boost::spirit(C++のテンプレートでEBNFの構文を模倣) spirit.sourceforge.net/ boost.cppll.jp/HEAD/libs/spirit/index.html (マニュアル日本語化プロジェクト) www.fides.dti.ne.jp/~oka-t/cpplab-boost-spirit.html
5 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:07:38 ] ごみ集め GC FAQ -- draft www.iecc.com/gclist/GC-faq.html A garbage collector for C and C++ www.hpl.hp.com/personal/Hans_Boehm/gc/ 一般教養としての Garbage Collection 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 www.amazon.com/exec/obidos/ASIN/0471941484/
6 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:07:57 ] 参考書籍 ●コンパイラ 原理・技法・ツール 1&2 www.amazon.co.jp/exec/obidos/ASIN/4781905854/ www.amazon.co.jp/exec/obidos/ASIN/4781905862/ 通称ドラゴンブック。バイブル。 ●コンパイラ構成法 原田 賢一 www.amazon.co.jp/exec/obidos/ASIN/4320029224/ www.hara.cs.keio.ac.jp/kCompiler/ (ソース、正誤表のダウンロード) ●プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝 www.amazon.co.jp/exec/obidos/ASIN/4000103458/ 一冊で済ませたい人へ。 ●コンパイラの構成と最適化 中田 育男 www.amazon.co.jp/exec/obidos/ASIN/4254121393/ 最適化がメイン。 ●コンパイラの仕組み 渡邊 坦 www.amazon.co.jp/exec/obidos/ASIN/4254127081/ 薄い奴(185p)を読みたい人に。 ●21st Century Compilers (Alfred V. Aho, Sethi, Ravi Sethi, Jeffrey D. Ullman, Monica Lam) ペーパーバック版: www.amazon.co.jp/exec/obidos/ASIN/0321210913/ ハードカバー版: www.amazon.co.jp/exec/obidos/ASIN/0321131436/ ●スモールコンパイラの制作で学ぶプログラムのしくみ www.cbook24.com/bm_detail.asp?sku=4774121770
7 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:08:15 ] 処理系,スクリプト kikyou.info (吉里吉里というゲームのスクリプト) kikyou.info/ tiny C コンパイラ (C) www.watalab.cs.uec.ac.jp/tinyCabs.html 6809用 Micro C コンパイラ www.axe-inc.co.jp/pds/mc09.html Portable Object Compiler (Obj-C >> C のトランスレータ?) users.pandora.be/stes/compiler.html 自作コンパイラの部屋(PL/1, Pascal等) www.tokumaru.org/ 『Rubyソースコード完全解説』サポートページ 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フォーマット仕様書(日本語) www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/intro.html
8 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:10:03 ] >>1 お疲れさま。 前スレ埋め厨お疲れさま。
9 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:14:47 ] 以上です。 関連リンクは前スレッドのものをそのまま利用しました(手抜きです)。 追加があればお願いします。 >8 ありがとうございます。
10 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:34:25 ] 寂しいので学会紹介を少し。 ○ PLDI: research.ihost.com/pldi2005/ コンパイラの研究に関する最新成果を知りたければまずはここ。 ○ POPL: www.cs.princeton.edu/~dpw/popl/05/ PLDIよりは理論寄りだが大いに参考になる。 ○ ICFP: www.brics.dk/~danvy/icfp05/ 関数型言語に関する学会。とても難しい。 ○ OOPSLA: www.oopsla.org/2005/ShowPage.do?id=Home オブジェクト指向言語に関する学会。最近はやや低調? このスレッドから、この辺の学会にacceptされる人がでてくることを祈って…
11 名前:デフォルトの名無しさん mailto:sage [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も選択できる。 (www.gnu.org/software/bison/manual/html_mono/bison.html#GLR-Parsers ) ¬<><∪∪も論文だとGLRサポート版も発表されてるけど、 webに乗ってるのは違うみたい。
12 名前:デフォルトの名無しさん [05/01/19 20:57:15 ] 前スレ最後の方で話題になってた、文と式だけど expressions を式と日本語当てたのは、まずかったかもな。 まぁ専門用語にはよくあることだけど。
13 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [05/01/19 21:50:42 ] >>12 ハァ?
15 名前:デフォルトの名無しさん mailto:sage [05/01/19 23:32:02 ] >>10 このスレッドでこれを忘れちゃいかんだろ。 International Conference on Compiler Construction 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 名前:デフォルトの名無しさん mailto:sage [05/01/19 23:40:01 ] CISCアーキテクチャでの効率的なレジスタ割付けアルゴリズムってありませんか? RISCみたいにレジスタがatomicでない上、命令ごとの制約がたくさんあるため 今はものすごくad hocな実装になってしまってます。
18 名前:デフォルトの名無しさん mailto:sage [05/01/19 23:40:58 ] ちなみにターゲットはH8です。
19 名前:デフォルトの名無しさん mailto:sage [05/01/19 23:45:01 ] 後これも。 compilers.iecc.com/ ニュースグループcomp.compilersの記事がアーカイブされている。 今年で20周年らしい。fjは死亡同然だが、こちらは元気だね。
20 名前:デフォルトの名無しさん mailto:sage [05/01/19 23:54:45 ] >>17 CISCでのレジスタ割付けに関しては、最近だと Andrew W. Appel, Lal George, Optimal Spilling for CISC Machines with Few Registers, PLDI, 2000. がある(citeseer.ist.psu.edu/appel00optimal.html )。 けど、結局ぐちゃぐちゃになるのは仕方ない気もする。
21 名前:デフォルトの名無しさん [05/01/20 02:18:41 ] うんこw
22 名前:デフォルトの名無しさん mailto:sage [05/01/20 02:33:00 ] ・知能障害を起こす
23 名前:デフォルトの名無しさん [05/01/20 02:34:40 ] うんこage
24 名前:デフォルトの名無しさん [05/01/20 03:04:49 ] う
25 名前:デフォルトの名無しさん mailto:sage [05/01/20 05:25:02 ] ん?
26 名前:デフォルトの名無しさん [05/01/20 05:32:43 ] こ
27 名前:デフォルトの名無しさん [05/01/20 06:09:51 ] ま
28 名前:デフォルトの名無しさん mailto:sage [05/01/20 06:11:09 ] 俺は今起きたとこだが 君らは何時寝るんだい?
29 名前:デフォルトの名無しさん mailto:sage [05/01/20 06:13:52 ] 今から ノツ
30 名前:デフォルトの名無しさん [05/01/20 06:15:14 ] う
31 名前:デフォルトの名無しさん [05/01/20 07:19:01 ] ん
32 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [05/01/20 08:51:25 ] >>19 これ面白いですね。出勤前なのに読み耽ってしまいました。 日本語版があるといいのに。
36 名前:デフォルトの名無しさん [05/01/20 08:56:54 ] いま地震があった!
37 名前:デフォルトの名無しさん [05/01/20 09:01:58 ] う
38 名前:デフォルトの名無しさん mailto:sage [05/01/20 09:20:47 ] 国産のコンパイラ共通インフラストラクチャCOINS www.coins-project.org/
39 名前:デフォルトの名無しさん mailto:sage [05/01/20 09:33:16 ] 貼るならもっと使えるサイト貼れよな…
40 名前:デフォルトの名無しさん mailto:sage [05/01/20 09:37:14 ] >>39 ならお前が張れ、詭弁厨の荒らしが。
41 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:05:07 ] 結局あの詭弁コピペの人って2ch初心者だったのかな?
42 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:06:52 ] それにしても詭弁認定厨はうざかったな。 詭弁でもなんでもないものを、詭弁のガイドラインに 無理矢理あてはめようとしてるところが笑えた。
43 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:07:34 ] GCの気持ちがよく分かる。 せっかくsweepしても、どんどん(ry
44 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:10:49 ] >>41-42 スルーできない初心者ウザ
45 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:14:16 ] 荒らしと同一人物だったとは思えん。
46 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:31:15 ] 今前スレ見てきたが、なるほど、デビューしたての純粋クンが来てたのかよ。
47 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:39:21 ] オレの推理では前スレ955が 956が自分へのレスだと思い込んだ。 (時間と文脈からみてたぶん954へのレス) その後964を無視られ、968で煽られ、971あたりから暴走開始。 41-42も前スレ955。 どう呼ぼうと作者の勝手の人とは別人。
48 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:47:14 ] どうやら図星された詭弁厨の自己弁護が始まったみたいね。
49 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:50:36 ] まだやるのかよ、ウザ
50 名前:デフォルトの名無しさん mailto:sage [05/01/20 10:54:21 ] そこまで詭弁荒らしを擁護する47っていったい…
51 名前:デフォルトの名無しさん mailto:sage [05/01/20 11:05:19 ] 普通、赤の他人は時間とか詳しく見ねーだろ。興味ねーし。 47=前スレ荒らしの当事者。
52 名前:デフォルトの名無しさん [05/01/20 11:44:02 ] うんこ
53 名前:デフォルトの名無しさん mailto:sage [05/01/20 11:52:49 ] 詭弁厨の人が焦点をうんこ厨に移すためにガンガリ始めた様子です。
54 名前:デフォルトの名無しさん [05/01/20 11:54:34 ] もういらないと思うので削除依頼を出してきた。
55 名前:デフォルトの名無しさん mailto:sage [05/01/20 12:00:32 ] ↑詭弁荒らしの傍若無人振りって、正直凄まじいと思う。。。
56 名前:デフォルトの名無しさん mailto:sage [05/01/20 12:43:56 ] まあ、詭弁荒らしとか興味ないけど、作者の勝手という言い分は 正しいな。詭弁ではなく。それだけは確か。
57 名前:デフォルトの名無しさん mailto:sage [05/01/20 12:51:10 ] ウルフが心と身体・メンタルヘルス板から帰ってこられた御様子です。
58 名前:デフォルトの名無しさん mailto:sage [05/01/20 13:20:28 ] >>57 Rubyでは文が値を持ちますが、それについてどう思われますか? Rubyの作者は詭弁でしょうか?
59 名前:デフォルトの名無しさん mailto:sage [05/01/20 13:24:17 ] こうして新スレは 詭弁厨とうんこ厨と 放置できない厨に占拠されました。 おわり。
60 名前:デフォルトの名無しさん [05/01/20 13:58:33 ] 死ね。
61 名前:デフォルトの名無しさん [05/01/20 14:08:27 ] う
62 名前:デフォルトの名無しさん mailto:sage [05/01/20 14:27:44 ] Rubyにはif式とかif文とかある。 ↓ 総てのプログラム言語で、「式」とか「文」とか他の言葉とかも 意味は作者が主観で勝手に定義していい。 ↓ ゆえに俺は詭弁荒らしでないし、 俺が昔作って人に使わせた糞言語もうんこじゃない。 ( c´,_ゝ`) .。oO(モイチド心と身体・メンタルヘルス板逝ッテコイ クスクス
63 名前:デフォルトの名無しさん mailto:sage [05/01/20 14:40:58 ] 荒らし方は変わっても、やっぱり中身はRuby厨ですか…。
64 名前:デフォルトの名無しさん mailto:sage [05/01/20 14:47:29 ] >>62 反論があるなら煽りではなく論理的にどうぞ。 それから、議論とは関係ないが、「昔言語作ってた人」は別人。 >>63 文が値を持つのは、Rubyだけではない、Ioだと、文は式の一種で、全ての文は値を持つ。 探せば、文が値を持つ場合がある言語って結構あるんじゃないかな。 それと、値を持とうが持つまいが、仕様で何を文と呼ぶのか 決めているというのはいろんな言語に共通のことだね。
65 名前:デフォルトの名無しさん mailto:sage [05/01/20 15:15:09 ] evalがあれば何でも式にはなるな。 あと言葉の定義だが、プログラミング言語は言語、つまり言葉だから文もあれば文法エラーもあるってだけで、 「文」という言葉には、数学的に深い意味はあんまないような気もするし。 どっちにしろ言語のことは言語学者の領分だな、字面の「言語」を尊重すれば。
66 名前:デフォルトの名無しさん [05/01/20 15:16:44 ] >>64 なにか美味しいものでも食べて落ち着け。 トートロジー、意味の無い言葉、主観に基づく言葉に対して反論することは それ自体ナンセンスだし、暇つぶしとしても漏れはお勧めできない。
67 名前:デフォルトの名無しさん mailto:sage [05/01/20 15:22:41 ] >>66 主観ではない。 多くの言語で、仕様で何を文と呼ぶか決定している。 これは客観的事実。
68 名前:デフォルトの名無しさん mailto:sage [05/01/20 15:27:47 ] COBOLはもろ言語学者が作った言語だよな。 昔のCOBOLは足し算でさえ英語の文法そのままにADDだしよ。 APLはその対極。
69 名前:デフォルトの名無しさん mailto:sage [05/01/20 15:31:55 ] >>65 式や、文という言葉に対しては、仕様で数学のようにきっちり定義 されてることが多いよ。 こういう、厳密な定義をする場合って、学問の世界では 当たり前のことなんだけど、既分野によって定義が違うなんてよくあることだな。 同じように、言語によって用語の意味が違う。まさかこのことを わからない奴がいるなんて思わなかったよ。
70 名前:デフォルトの名無しさん mailto:sage [05/01/20 15:33:14 ] プログラムがそのままドキュメントになるというのかコンセプトだったね >COBOL 最近はどれも似たり寄ったりな言語ばかりで、コンセプトのしっかりした言語が少ないな。
71 名前:デフォルトの名無しさん [05/01/20 16:17:57 ] >>67 漏れは64を主観だっていってるんじゃないよ。「・・・には反論しても無意味だから落ち着け」って言っただけ。 人の言動がなんでも自分への攻撃に見えてしまうっていうのは、何らかのストレス状態だと思うよ。
72 名前:デフォルトの名無しさん mailto:sage [05/01/20 17:15:27 ] 何でも攻撃に見えてる分けじゃなく君が文脈を考慮しなかったため 誤解されただけのこと わかりやすい日本語を心がけよう
73 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:02:39 ] >>67 で 「多くの言語で、仕様で何を文と呼ぶか決定している。 これは客観的事実。」 とあるが、その多くの言語の仕様は数学的な基盤に沿って 設計されているのが「客観的事実」では? その意味で 仕様書は用語の意味を勝手に改竄できる魔法の書ではないよ。 それにあなたが理論的基盤にしているRubyの仕様ってのは 実際テキトーかも…と言ったら、また暴れだすかなぁ? ドキドキ まぁ、大好きなRubyの投影から計算理論(?)を構築するのは 人様の自由だけど…。その出発点は「客観」ではないですね。
74 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:24:06 ] >>67 スルーすればいいからな。 いやスルーしてくれ、頼む。
75 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:24:37 ] >>73 Ruby狂信者に何言っても無駄だからヤメレ。 ここまでの展開で物事の正誤が奴の眼中にないの、分かるだろう? 詭弁でもなんでもいいからRubyにまつわるすべては正しくないと希ガスマンのだ。 コワイネ
76 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:34:31 ] スレ住人がココロ一つに爆発物処理班の気分で以下ドウゾ
77 名前:デフォルトの名無しさん [05/01/20 19:37:33 ] だからあ Rubyのリファレンスを全部修正すれば解決するだろ 誰かMLで言ってこいよ 「ここで使う用語はRuby信者(キチガイ含む)が勝手に定義したもので 世間一般のそれとは全く異なる場合があります。」 とでも補足しとけ、と つーかここ見てるよな?>いつも修正してる人
78 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:45:13 ] 仕様書は用語の意味を勝手に改竄できる魔法の書ですが何か?
79 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:45:25 ] 爆弾バッファリング中・・・
80 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:46:59 ] つうか、Rubyは文が値を持つ一例としてあげただけで、 Ruby信者でもなんでもないしな。 まあ、だんだん本物の馬鹿で納得させることは無理だって 事はわかったからまともに議論する気はなくなってきた。
81 名前:デフォルトの名無しさん mailto:sage [05/01/20 19:55:17 ] 仕様書に、「文とは〜を指します。」と書いてあったら、 その言語においては文はそういう意味になる。 何でこんな当たり前の常識もわからないんだろうか?
82 名前:デフォルトの名無しさん mailto:sage こんなこと書いても無駄だろうがな… [05/01/20 19:58:33 ] まあ文や式の完全に一般的な定義は存在しないし、ここで決めるのも難しいだろうな。 式は値を持つことが多い。 文は値を持たないことが多い。 正確な定義は言語によって異なる。 としか言えんでしょ。 前スレでdenotational semanticsから明らかと言ってた人は何か勘違いしてるとしか 思えない。
83 名前:デフォルトの名無しさん mailto:sage [05/01/20 20:37:46 ] >>82 でファイナルアンサー。 そもそも文や式の「定義」は、大抵の言語では文法の上で定義するよね (厳密には BNF とか) 。 意味 (値を返すとか返さないとか) から「説明」することはできるけど、 それは「定義」じゃないし。 # もちろん「文とは値を返さないものです」とか定義されてる謎な仕様の言語を除く 今調べたところ、仕様書じゃないけど Ruby のチュートリアルによると > Rubyでは任意の式をセミコロン(;)または改行で区切った並びを文とします. らしい。なので Ruby の式は文でもあるということらしい。 メジャーな言語しか知らない香具師は 世の中には Ruby に限らずいろんな言語があるということを 肝に銘じておいてくださーい。 # とかいうと「Ruby はメジャーだ」って怒られるかな。
84 名前:デフォルトの名無しさん mailto:sage [05/01/20 20:55:20 ] 「文脈自由文法」の名前の意味がよくわかりません。 「文脈」とは何を意味しているんでしょう。 それから「自由」は「文脈に対して自由」?「文脈から自由」?「文脈が自由」? おせーて。
85 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:04:29 ] >>84 英語は "Context-free grammar" 。 つまり「文脈がない」ってこと。 といっても、どこに何を書いてもいいということではなく、例えば 「整数が式であるならば、式を書いてもいいところには例外なく整数を書いてもいい」 って感じ。
86 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:23:05 ] 【問】 文(Statement)と式(Expression)の違いは何ですか? 2つの違いは言語に依存しますか? 【答】 なにを式と呼ぼうが、なにを文と呼ぼうが作者の勝手。 言語に依存する。
87 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:26:43 ] 凄いスレ発見
88 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:27:42 ] >>85 duty freeとかと同じだね。 関係ないが、よくwebページにある「リンクフリー」宣言は、「リンクはないよ」と言ってる ことになるのだろうか。
89 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:29:29 ] >>88 英語だとそうなるね。まあ和製英語だし。
90 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:30:41 ] >>85 「isは動詞だけど、主語が三人称単数のときしか使えない」(特定の文脈でしか使えない) って文法はcontext-freeじゃないってことか。 >>87 頼むからほっといて(´・ω・`)
91 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:38:06 ] Cの文はCの規格が主張する文。 Cの式はCの規格が主張する式。 Cの関数はCの規格が主張する関数。 数学用語は借り物だし、日本語訳の言葉の定義は規格による。 これが現実だな。
92 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:38:45 ] >>82 はともかくとして、>>83 は何か話がずれてる。
93 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:40:29 ] >>86 と>>91 が結局正しい答えだな。
94 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:44:13 ] >>83 話がずれてるが、ちょっと突っ込むと、BNFで定義してるのは、構文規則であって 意味じゃない。 意味を定義するには普通は人間の言葉を使う(意味論などを使うこともある)。
95 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:45:50 ] Ruby厨だからどうしても斜めにずれるの >>92
96 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:48:21 ] >>86 は>>87 の煽りだろ・・イイのか(w?
97 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:53:57 ] 意味を定義するには普通は人間の言葉を使う ↑ 自然言語の話かよ
98 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:54:50 ] 文や式は一段落がついたので、次は関数の定義でお願いします。
99 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:55:41 ] >>96 はぁ?
100 名前:デフォルトの名無しさん [05/01/20 21:56:06 ] >>91 なるほど、関数も考えるとその通りだね。(数学or一般的な関数とは明らかに 意味が違う。)
101 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:56:41 ] 式=Expression は和声英語?