- 1 名前:デフォルトの名無しさん mailto:sage [04/11/10 23:30:50]
- 言語仕様や処理系の話題に関するスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,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/ (前スレ) 関連リンクは多分 >>2-10 あたり
- 936 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:58:18 ]
- >>933
Rubyリファレンスはif式だとかif文だとか統一されてない。 あれはいくらなんでもまずい。
- 937 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:59:07 ]
- >式自体の定義と文自体の定義(そ の違いを含む)
BNFで書かれたものじゃ不足か?
- 938 名前:デフォルトの名無しさん mailto:sage [05/01/18 00:05:58 ]
- >>934
K&R日本語訳読んでるならp.277の付録A9に書いてあるぞ >実行された文はその効果を残すが、値は持たない。
- 939 名前:デフォルトの名無しさん mailto:sage [05/01/18 00:16:07 ]
- 付録A7が式の定義、A8が宣言の定義、A9が文の定義
てちゃんと書かれてるだろ。 付録Aの参照マニュアルは一番お世話になる章だと思うんだが。
- 940 名前:931 mailto:sage [05/01/18 10:02:07 ]
- >>932
もちろんそのときは文は式の一種。 Cの構文解析やらのプログラムを転用するから、 そこで「文」を他に言葉に変換するのは手間。 実装で使う単語と仕様書で使う言葉を分けるという手もあるが、 内輪でしか使わないやつだから統一したほうがよろしい。 仕様書では明示的に「文という言葉を普通じゃない意味で使う」と断った。
- 941 名前:934 mailto:age [05/01/18 21:31:21 ]
- >>937
お前の理論だと、どのような言語もマニュアルならいらんということになるな。 >>938 ん?ページあってるか? しかもそのような行はないぞ? >>939 A7は評価の順序やら、結合など細かく書かれてあるが、値を持つとは書かれていない。 A9も逐次実行されることぐらいしか、文全体の説明は書いてないぞ。
- 942 名前:デフォルトの名無しさん mailto:sage [05/01/18 21:54:46 ]
- つ「ANSI/ISO 9899-1990: American National Standard for Programming Languages - C」
- 943 名前:デフォルトの名無しさん mailto:sage [05/01/18 22:03:39 ]
- 逆ギレ?
- 944 名前:デフォルトの名無しさん mailto:sage [05/01/18 22:13:06 ]
- なにを式と呼ぼうが、なにを文と呼ぼうが作者の勝手。
- 945 名前:デフォルトの名無しさん mailto:sage [05/01/18 22:21:47 ]
- >>927に対する>>928は正しいですよ。
プログラムは記号列の形で形式的に定義され、さらにそのプログラムの 意味を定義することで言語として定義されます。 (ただし完全に形式的に意味が定義されている実用言語はほとんど無い) 構文解析的に再帰的に定義された式や文は、 表示的意味論の段階で”環境(←変数と変数の値との写像)”が与えられ、 式(←数理論理学の言葉では”項”)の値は一つに定まるし 文の意味付けも”環境から環境への写像”(実質は>>928のいう制御構造) として定められます。 >>927が構文解析的な仕様書レベルで式や文を再帰的定義の形で納得するのでなく、 意味論のレベルも含めて理解したければ、例えば「プログラム意味論」 www.amazon.co.jp/exec/obidos/ASIN/4320026578/qid=1106053650/sr=1-2/ref=sr_1_2_2/250-2768765-9598655 の冒頭10ページ(実質P4〜P8)を読むだけで理解できるよ。 (このへん読むのに予備知識は別に要らないです) 仕様書で例えば「皆が文と呼ぶものを、ここでは式と呼ぶことにします」としても それは「犬の尻尾を足と呼ぶことにしても足は5本にならない」(リンカーン)の 話を思い起こさせます。(>>940さん、ゴメンなさい) 説明が嫌味に聞こえたら読み流してください。固執しません。>>All
- 946 名前:デフォルトの名無しさん mailto:sage [05/01/18 22:28:08 ]
- >>944
「詭弁のガイドライン」より。 ・自分に有利な将来像を予想する ・主観で決め付ける ・ありえない解決策を図る 今のあなたはこの辺が該当します。 予想しうる今後の展開は、 ・レッテル貼りをする ・勝利宣言をする ・知能障害を起こす 辺りです。
- 947 名前:デフォルトの名無しさん mailto:sage [05/01/18 23:29:23 ]
- 詭弁のガイドライン2
・詭弁のガイドラインを持ち出してくる
- 948 名前:927 mailto:sage [05/01/18 23:47:25 ]
- >>945
ご丁寧にありがとうございます。 かなり難解な部分もありましたが、犬の例え話はなるほどそうですね。 ふと、感じたのですが、私のような初心者にはややこしく感じるのは、 ひょっとして言葉が直観的じゃないのが原因なんでしょうか? うまく説明できませんが、 ・(Statements)→文は、値をもたない点を含めて納得しやすいのですが、 ・(Expression)→式は、値を持つ点を含めて、何か直観的でないと感じます。 式と言われると、y=ax^2+bx+c のような(数学)式を連想してしまいます。 左辺&右辺にはそれぞれ値があるのですが、式自体には値は無いですよね… (↑数学的に) なれですかね?
- 949 名前:デフォルトの名無しさん mailto:sage [05/01/19 00:16:56 ]
- ソシュールとチョムスキー読むとおもしろいです
- 950 名前:デフォルトの名無しさん mailto:sage [05/01/19 00:23:36 ]
- >>948
数学の式の"="は非常に使い方が曖昧で、"="は最低でも3通りの使い方が なされている。 1. 定義式 y := x^2 「yをx^2と定義する」 2. 恒等式 y == x^2 「yはx^2と常に等しい」 3. 代入式 y = x^2 「yにx^2を代入する」 これらが区別できているかい?
- 951 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:07:10 ]
- >>948
>式と言われると、y=ax^2+bx+c のような(数学)式を連想してしまいます。 >左辺&右辺にはそれぞれ値があるのですが、式自体には値は無いですよね… 値の有無は式に属するか文に属するかによる。 例えばVBの代入は文に属する。 a := b := cとは書けない。 でも右辺には式が置ける。 a := b + 1など。 しかし、C言語では代入は演算子として定義されており、 演算子は式に属する。 C言語の式a = b = cはa = (b = c)と解釈され、b = cが先に評価される。 この評価の順番を結合規則と呼び、C言語の式には かならず結合規則が存在し、代入式は右結合と規定されている。 同じ演算子同士は結合規則によって順番が決まり、 違う演算子同士ならば優先順位によって決まる。 a = b = cの場合、式の値はcの中身になる。
- 952 名前:945 mailto:sage [05/01/19 01:16:34 ]
- >>948
y=ax^2+bx+c は同書のP2表1.1で”文”として定義されています。 正確には「y := ax^2+bx+c」と記述します。 【注意】 P2の文中で「(4) xが変数でEが式ならば,x := E は式である」 は「文である」の誤りです。 代入”式”「 y=ax^2+bx+c」と言ったりしますが、意味的には 代入”文”「y := ax^2+bx+c」です。 代入文x:=E (←変数x,式E)については同書のP5に 「代入文は変数の値を別の値に置き換える働きをするので、 環境を別の環境に移す関数を意味する」とあります。 この説明では「関数」とあるので「式」と呼びたくなるかも知れませんが、 関数と関数との”写像”と御考え下さい。制御文ですね。 >>950にある 2. 恒等式 y == x^2 「yはx^2と常に等しい」 は論理値が与えられるので”式”です。 また、『定義式 y := x^2 「yをx^2と定義する」』はメタ記号 ::= を用いて 「y ::= x^2」と記述したりするようです。 ちなみに同書のP6の下から5行目「この関数が式に対する意味関数である」は 「文に対する」の誤りです。 頑張ってください。
- 953 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:25:46 ]
- >>951-952
ここでいうy=ax^2+bx+cは、プログラムの代入ではなく、 数学の等式だと思うぞ。放物線。 >>948 数学でもax^2+bx+cは式だと思うぞ。 ってことで、漏れ的にはそれほど違和感はない。 言葉って言うのは概念につけられた単なるラベルなわけで、 極論を言うと重要なのは概念であって言葉じゃない。 「犬の尻尾を足と呼ぶことにしても足は5本にならない」 ってのはラベルを取り替えても概念は変わらないという意味だと思う。 まあ、言葉に振り回されるのもほどほどにってことで。 とは言いつつも、プログラムにおける文と式という言葉の起源はちょっと知りたい。
- 954 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:36:39 ]
- 言葉って言うのは概念につけられた単なるラベルなわけで、
極論を言うと重要なのは概念であって言葉じゃない。 なにを式と呼ぼうが、なにを文と呼ぼうが作者の勝手。 まあ、言葉に振り回されるのもほどほどにってことで。
- 955 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:40:29 ]
- 文は文法に束縛
SVO S=O(BASICの場合) if文 式は演算子と優先順位と結合規則に束縛 a+b*cはa+(b*c) だが、たしかにこんなことはどうでもいい 記号にも興味ない 興味があるのは動くプログラム
- 956 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:41:45 ]
- ・勝利宣言をする
- 957 名前:デフォルトの名無しさん mailto:sage [05/01/19 02:21:32 ]
- 言葉って言うのは概念につけられた単なるラベルなわけで、
極論を言うと重要なのは概念であって言葉じゃない。 ってことで、皆が文と呼ぶものを、ここでは式と呼ぶことにします 漏れ的にはそれほど違和感はない。
- 958 名前:デフォルトの名無しさん mailto:sage [05/01/19 02:30:37 ]
- ・知能障害を起こす
>>953がレッテルならぬラベルを貼ってくれたから、 全部集まって神龍が現れるでFA?
- 959 名前:デフォルトの名無しさん mailto:sage [05/01/19 08:47:37 ]
- >>956
>>958 詭弁のガイドラインを出してくるお前も ・レッテル貼りをする ・勝利宣言をする ・知能障害を起こす に該当する。 つうか、今時詭弁のガイドラインって
- 960 名前:デフォルトの名無しさん mailto:sage [05/01/19 11:46:26 ]
- 主観で決め付けるコンパイラ屋さんガンガル、の図
┌─┐ |記| |号 | 業界での字(あざな)は”ウルフ” │に│ ↓ │興│ │味 | それほど違和感はない♪〜 │な .| │い│ / ̄ └─┤ ∧∧ <極論を言うと重要なのは概念であって言葉じゃない │ ( `Д) \_ なにを式と呼ぼうが文と呼ぼうが漏れの勝手 | ̄ ̄ ̄|─□( ヽ┐U  ̄◎ ̄ ◎−>┘◎
- 961 名前:デフォルトの名無しさん mailto:sage [05/01/19 12:04:02 ]
- >>946
デバッグできないプログラマに そのまま当てはまるな
- 962 名前:デフォルトの名無しさん mailto:sage [05/01/19 14:03:39 ]
- 主観で決め付けてるわけじゃなくて、言葉の定義は、仕様によって決められているわけだから、
作者(仕様策定者)の勝手というのは正しいのでは?
- 963 名前:デフォルトの名無しさん mailto:sage [05/01/19 14:21:33 ]
- 常識とは思わないのか
- 964 名前:955 mailto:sage [05/01/19 14:41:15 ]
- ん?荒れてる?
俺の文章になにか不満あったのかな?
- 965 名前:デフォルトの名無しさん mailto:sage [05/01/19 15:22:55 ]
- >>962
そうだけど、 無意味に普通じゃない意味で使ってると誰もついてこず ロンリーウルフになっちゃうぜという話。
- 966 名前:デフォルトの名無しさん mailto:sage [05/01/19 15:44:07 ]
- つまり、詭弁でもなんでもなく、正しいと。
- 967 名前:955 mailto:sage [05/01/19 16:28:31 ]
- どうやらどっちも落ち着いた?
- 968 名前:デフォルトの名無しさん mailto:sage [05/01/19 16:50:42 ]
- デタラメな>>955の内容ときたら…
↑ たしかにこんなのどうでもいい ('∀`)ニヤニヤ.. . .。oO(束縛?プッ
- 969 名前:955 mailto:sage [05/01/19 16:57:53 ]
- そう、ごめんね
- 970 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:03:48 ]
- >>962が発明した世界で初めての概念に関しては、その字面も、その定義も
>>962の脳内仕様書によって決められるわけだが、「式」とか「文」とかはなぁ…。 まぁ、そういう「コンパイラ屋」さんは駅前で 詭弁でも売って(売値はついても買値はつかないだろうけど)、 一人でやっていくしかないだろうねぇ。。
- 971 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:04:50 ]
- 相変わらずの糞スレだな
- 972 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:06:11 ]
- みんな!うんこトークしようぜ!!!!
- 973 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:06:43 ]
- >>972
HSPスレへお帰りください。
- 974 名前:デフォルトの名無しさん [05/01/19 17:07:34 ]
- うんこー!
- 975 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:09:40 ]
- >>971がむやみに頑張るスレだからな
- 976 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:11:25 ]
- ひょっとして知能障害を起こすってやつですか >>972
- 977 名前:デフォルトの名無しさん mailto:さげ [05/01/19 17:13:03 ]
- >>976のうんこー うんこー!!
- 978 名前:デフォルトの名無しさん [05/01/19 17:13:37 ]
- 盛り上がってまいりましたw
- 979 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:16:50 ]
- ここは馬鹿と池沼しかいないスレでつ。
- 980 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:17:17 ]
- >>970
「式」とか「文」だって仕様策定者なら勝手に決められる。
- 981 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:21:09 ]
- 仕様で「式」の意味が決められているということは、その言語では「式」がそういう意味であるということだろう。
これが違うという方こそ詭弁だろ。
- 982 名前:デフォルトの名無しさん [05/01/19 17:21:17 ]
- 詭弁ばかりのリア厨が粘着荒らしか。
死ねよ。
- 983 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:22:07 ]
- 解析フェーズで尻尾も足と決めてみた。
- 984 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:22:58 ]
- 詭弁ばかりのリア厨って>>946のことか?
- 985 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:23:13 ]
- オチケツ馬鹿ども。
- 986 名前:デフォルトの名無しさん mailto:さげ [05/01/19 17:23:33 ]
- このまえ>>982のうんこ食べたんです。
消化しきれなかったとうもろこしの粒があって、なんだかちょっぴり幸せでした…^^
- 987 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:25:50 ]
- 議論の内容が低レベル過ぎ…
- 988 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:27:37 ]
- >>981がやねうらおなら笑える。
d.hatena.ne.jp/yaneurao/20050123
- 989 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:29:49 ]
- >>946の予想通りになった
- 990 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:30:42 ]
- どうせ荒らしてんのは馬鹿なC厨だろ。
なんせ式と文だけでこれだけ盛り上がれるんだからな。
- 991 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:30:47 ]
- 仕様で、文や式の定義が決まってるのはCだって一緒だろ。
それに文句言う奴は、言語の仕様でいろんな用語の意味が定められているのは 無効といってるのと一緒。 そういう仕様を持った言語なんて腐るほどあると思うが。
- 992 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:32:04 ]
- 989=946
- 993 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:33:09 ]
- 内容がデタラメでない、という前提でな。
- 994 名前:デフォルトの名無しさん [05/01/19 17:33:36 ]
- C厨は人類の敵。
- 995 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:34:12 ]
- >>993
もちろんな。 ただし、値を返すものを「文」と定義しただけでは、デタラメには該当しない。
- 996 名前:デフォルトの名無しさん [05/01/19 17:35:12 ]
- C厨はうんこ!
- 997 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:36:56 ]
- 何がここまで>>940を固執させるのか?
以後は、心と身体・メンタルヘルス板でドゾ
- 998 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:37:26 ]
- Rubyの文は値を持つ。
それは仕様で定められてるのだから仕方がない。 作者の勝手なんだよ。 デタラメをやらない限りな。
- 999 名前:デフォルトの名無しさん [05/01/19 17:37:26 ]
- 1000ならC厨は死滅!
- 1000 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:38:20 ]
- ぱ
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|