- 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 あたり
- 648 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:58:18]
- 貴様らがポチポチ作った処理系なんか自分以外誰が使うんだよ。
Rubyレベルのものが貴様らに作れるのか?
- 649 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:58:55]
- 先生!お店に禿げたドラゴンブックした売ってません!!
- 650 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:59:32]
- Rubyの劣化コピーでしかない貴様らが
死に物狂いでRubyを不正で苦しさ晴れたち日をしているwwwwwwww やはり劣等感である〜〜〜 くすくす^^;
- 651 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:59:55]
- 国産処理系
HSP、LGP、System3.x、Ruby こうして並べるとRubyすげーのかどうか微妙だな
- 652 名前:デフォルトの名無しさん [04/12/30 21:01:09]
- ドラゴンブック程度を読んで分かったつもりになった厨房が
メイジャーなRubyを必死に貶すことで憂さ晴らししているスレはココですか?
- 653 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:02:38]
- >>652
うっせー禿げ
- 654 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:02:52]
- ム板では NG ワードにプログラミング言語「るび」を指定することが
推奨されています。
- 655 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:03:09]
- >>626
その話題は pc5.2ch.net/test/read.cgi/tech/1104394930/l50 にぴったりだ、一発ブチかまして良スレにしてやってくれ。
- 656 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:07:06]
- >>643 のリンク先見たけど開発者がこれでは…
ずっとマイナーなままなのそれなりに理由があるからだろ。
- 657 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:08:56]
- >>656
その理由を pc5.2ch.net/test/read.cgi/tech/1104394930/l50 に書きなさい、ちゃんと議論してみろ。
- 658 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:09:13]
- matzはジョークのひとつも言ってはいけないのか……
- 659 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:11:10]
- 面白ければ許可する
- 660 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:14:30]
- Rubyアンチに「じゃあ、Rubyの欠点を挙げてみろ」と言うとだんまりになってしまうのが面白くてしかないwww
- 661 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:16:29]
- マイナーすぎてレンタル鯖で使えない所が多い。
- 662 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:18:32]
- cgi.rbの 1.8 や 1.8.2 であった問題
- 663 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:19:39]
- Unicode、半角カナを含めた文字コードの扱い
- 664 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:19:45]
- >>661
今をときめくライブドアで使えますが?
- 665 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:21:28]
- >>661-663
ほら書き写してやった、向こうでつづけて書け。
- 666 名前:デフォルトの名無しさん mailto:sage [04/12/30 22:41:49]
- Windowsでexeが作れない
- 667 名前:デフォルトの名無しさん mailto:sage [04/12/30 22:49:56]
- 自己記述ができない
- 668 名前:デフォルトの名無しさん mailto:sage [04/12/30 22:55:43]
- 開発者が
>それくらいだったらマイナーなままでいてくれた方がずっと良い。 って言ってるんだからマイナーなんだろ。
- 669 名前:デフォルトの名無しさん mailto:sage [04/12/30 23:08:48]
- 今度は厨が良い所を挙げてくれ。
- 670 名前:デフォルトの名無しさん [04/12/30 23:59:16]
- BNF記法の正式な書き方ってありますか?
なんか検索して色々なサイト見るとそれぞれ 若干記述の方法がちがうんですよね。 あとEBNFについての書き方ってのは 調べても詳しく解説してるサイトがないんですよね。 識者の意見求む!
- 671 名前:デフォルトの名無しさん mailto:sage [04/12/31 00:18:58]
- >>670
表記法は規格によって様々だけど、表す物は同じ 一番元になったAlgolの時点では、 <>で囲った物が非終端記号 ::=が超記号 |がOR の3つ。 EBNFになって 省略可能が[...] 0回以上の繰り返しが{...} くくりが(...) という書き方が可能になった とコンパイラ構成法に書いてあります
- 672 名前:デフォルトの名無しさん [04/12/31 00:24:06]
- Rubyで金取れる仕事ってできるの?(品質保証込み)わしバグとか怖くて使えんけどまじで
大丈夫なの?
- 673 名前:デフォルトの名無しさん mailto:sage [04/12/31 00:28:41]
- おk
- 674 名前:デフォルトの名無しさん mailto:sage [04/12/31 01:00:50]
- >>670
規格になってるのには、ISO/IEC 14977:1996 とか RFC2234 とかがあったり。
- 675 名前:デフォルトの名無しさん [04/12/31 14:17:23]
- >>671 >>674
レスありがとうございます。 >>671が示してくれた記述方法は ↓と同じですよね。(この記述方法が一番読みやすい) www.wormjp.umin.jp/jp/acemanjp13/node28.html でも>>674が示してくれた標準となっている「ISO/IEC 14977:1996」では ↓のように若干記述方法が違うんですよね。 www.atmarkit.co.jp/fxml/ddd/ddd004/ddd004-bnf.html ま、この2通りを知っておけばいいって感じですかね?
- 676 名前:デフォルトの名無しさん mailto:sage [04/12/31 14:31:23]
- どれも憶えておけば、折衷式俺定義BNFが出てきても読める。
- 677 名前:デフォルトの名無しさん mailto:sage [04/12/31 15:22:22]
- >>676
すまん
- 678 名前:Rubyist! mailto:sage [04/12/31 15:47:47]
- PerlやPythonのシンタックスはヘタレでかつ、醜悪
よく公開する気になれるものだなこんなもの しかもはっきり言って便利でも何でもないよこんなの こんなの好きだって奴はアホそのものだな、イラネ−
- 679 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:38:57]
- Rubyの汚いend end endよりはPythonのソース
の方が綺麗
- 680 名前:デフォルトの名無しさん [04/12/31 16:40:20]
- このスレいたたたたたたたたた
漏れ儲でもなんでねねぇーけど、ここでRuby批判してる住人は妬みにしかみえねーな 『Windowsでexeが作れない』『自己記述ができない』『マイナーすぎてレンタル鯖で使えない所が多い』・・・ メイジャーになるだけの言語を作れないもしくは作る勇気も技術もない香具師の嫉妬だな そこまでいうおまいらの作った処理系は超クオリティで馬鹿流行するんだろうなw 新言語開発ってのははじめからなんの保障もねぇーんだよ それをさもお客様ヅラして能無しどもが偉そうに素人相手にムキになって評価してやがるイタタタタタタタタ こんなところでネチネチ陰湿に文句いうくらいならさっさとRubyアンインストして忘れろよ
- 681 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:41:49]
- うかつにRubyのような画期的な言語をつくってしまうと
自意識過剰の能なし共の嫉妬を買うねぇ。
- 682 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:42:26]
- 誰かが結果を出した途端
出し抜かれたというか、ズルい事でもされたような錯覚に陥るんかねぇ。 ありもしない自分の可能性を信じさせられる平等教育の犠牲者はかわいそうだなぁ。 アンチRubyの方々にはまことに同情するよ。
- 683 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:48:03]
- 俺が作ったわけじゃいけどCやPerlやPythonの方が流行ってるよw
もしかしたらHSPの方が流行ってね?www
- 684 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:50:37]
- LarryやGuidoのような才能の無い人間が作った言語が流行るのは、勘違いクンが増えるので良くない。
つか、悪い。もはや悪事。奴等は恥を知れ。
- 685 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:54:15]
- >>683
俺はRuby信者じゃない。 批判のフリした罵りが見苦しいだけ。 第三者が読んで含蓄のある批判をしてみたまえよ、みっともない。
- 686 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:00:50]
- 少なくとも俺にはまともな批判に見えるがな
メジャーじゃない これは立派な不満点だ お前の方が煽りに見える
- 687 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:02:51]
- この板もid欲しいな。
- 688 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:21:29]
- アンチも信者も評価軸は同一次元上にあるんだよ。
信者は何があろうと持ち上げるし、 アンチはなにがあろうとくさすからな。 どっちも同じくらい間抜けだし邪魔だ。 だがRubyの場合はただ煽りたいだけの馬鹿がいるのよな。 これRubyやmatzのせいか? あとメジャーじゃない点は確かに批判になりうるが、 でもそれはお前、pointy-haired bossじゃねえかよ。
- 689 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:24:11]
- まー万人に好かれる物を作るってのは無理だろな
ここで叩いてる連中も自分で何か作ったら同じように叩かれるがいいさ。
- 690 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:29:32]
- 別に叩かれても全然構わん。
それを見て精進するだけの話。 叩かれたからってファビョるなよな。
- 691 名前:デフォルトの名無しさん [04/12/31 17:31:18]
- Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 692 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:32:06]
- ここまで強烈なアンチを生み出したことをRubyは誇ってよいぞ。
- 693 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:36:25]
- 厨も強烈なので誇っていいぞ。
680 名前:デフォルトの名無しさん 本日のレス 投稿日:04/12/31 16:40:20 このスレいたたたたたたたたた 漏れ儲でもなんでねねぇーけど、ここでRuby批判してる住人は妬みにしかみえねーな 『Windowsでexeが作れない』『自己記述ができない』『マイナーすぎてレンタル鯖で使えない所が多い』・・・ メイジャーになるだけの言語を作れないもしくは作る勇気も技術もない香具師の嫉妬だな そこまでいうおまいらの作った処理系は超クオリティで馬鹿流行するんだろうなw 新言語開発ってのははじめからなんの保障もねぇーんだよ それをさもお客様ヅラして能無しどもが偉そうに素人相手にムキになって評価してやがるイタタタタタタタタ こんなところでネチネチ陰湿に文句いうくらいならさっさとRubyアンインストして忘れろよ 681 名前:デフォルトの名無しさん 本日のレス 投稿日:04/12/31 16:41:49 うかつにRubyのような画期的な言語をつくってしまうと 自意識過剰の能なし共の嫉妬を買うねぇ。 682 名前:デフォルトの名無しさん 本日のレス 投稿日:04/12/31 16:42:26 誰かが結果を出した途端 出し抜かれたというか、ズルい事でもされたような錯覚に陥るんかねぇ。 ありもしない自分の可能性を信じさせられる平等教育の犠牲者はかわいそうだなぁ。 アンチRubyの方々にはまことに同情するよ。 684 名前:デフォルトの名無しさん 本日のレス 投稿日:04/12/31 16:50:37 LarryやGuidoのような才能の無い人間が作った言語が流行るのは、勘違いクンが増えるので良くない。 つか、悪い。もはや悪事。奴等は恥を知れ。
- 694 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:38:02]
- Rubyは嫌いじゃないんだが痛い信者が居るのがいやなんだよなぁ。
- 695 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:46:10]
- この板で「Ruby最高!Perl,Python,etcはゴミクズ」と煽っているのは同一人物だろ。
Rubyコミュニティが何か他言語に排他的であるかのように印象操作するべく アンチが自作自演を延々と続けているのは見ていて痛々しいな。 彼にとっては2chが全てなんだろう。暇なやつ。
- 696 名前:デフォルトの名無しさん [04/12/31 17:50:07]
- def java_like_ruby(a)
sync |sock,a| { ... } end
- 697 名前:デフォルトの名無しさん [04/12/31 18:03:42]
- //JavaのsynchronizedのよなことをRubyでやりたい
def sync_lock(a) yield sync(a); end
- 698 名前:デフォルトの名無しさん mailto:sage [04/12/31 18:14:25]
- >>695
根拠も無しに都合の悪い事は全てアンチの仕業にしてるアンタも 見ていて痛々しいぞ。
- 699 名前:デフォルトの名無しさん mailto:sage [04/12/31 18:15:51]
- ,_ ,_ ___, _, __OO __ | | r―― 、 _| |_ ,i~| ;――; ,_ _l~l__
| | | | 'ー―i | l^l | | 'ー― ,! | o c!二 二'i | ⊂⊃ | ~ー; ;―○ i二 ニ!i, i"i .| | | 'ー; ;―" |_| | | i`iノノ ,|| | | _, // | 8εi ノ ! | ⊂⊃ | ノ / l~L、 く <フ,ノ i, V ,' | | ,| |_ ,_ノ ノ ノ r'´ ノ ノ | |ノ,ノ | (__ ooooフ ○ヽ 、 | ⊂⊃ | `´i"σ;‐' ノ _ヽ、 > <、| | i"σ;‐' `ー'" ー' `-'’ '-‐'" ゛ー‐' ー'くノ `・’ `――" `ー' `・´ `´ くノ^ヽ´ ー' `ー'
- 700 名前:デフォルトの名無しさん mailto:sage [04/12/31 18:16:53]
- ,_, ,_,. ,_, |~|
_| |_. | | | | 、__,. iニニ ニニ! _l~l__ ___ ー―; ノ. | L._ | | ゙ー―‐' __(ゝ| |ノ)_ ー;┌―‐' __ `ー―; | _/ <、LL] ,_ | i‐-、>..| | .,、 ー; ・、―’ ,i i'ヽニフ ー- `! // ー・'| |ヽ' __;i |. | | | | ヽー‐‐; i二ノ| |\二l | i i,ー・、 -' ノ | (_ ー’ 'ー ' ´ ー' ~  ̄ ̄ ー' ‐’  ̄~  ̄ ゛ー ' ____ | ,__ _| | ̄| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | |_| | __| |__, | | ̄ ̄ ̄ ̄ ̄| | | ,__  ̄||__ __| ┌─────┐ | |_____| | | |_| | ̄ | | | ネット ヲ ::.| .:| _____ | | ,__  ̄| i’ 'i, | ナメンナ! ::| .| | :| | | |_| | ̄ i' 'i、 |_________:| :| |_____| | |___ ̄|/ /^ヽ ヽ ヽ( ゚Д゚)ノ .| _____ .| i-ii-ii-ii-i | | / ヽ ヽ ( へ) :| | | | L.iL.!L!L.! | |/ く^\ ヽ ヽ く :| |_____| | ┌――' ,| \ノ ヽ/ .|_______| └─―‐"
- 701 名前:デフォルトの名無しさん mailto:sage [04/12/31 18:33:46]
- 最早このスレを破壊したくてやっているとしか思えないな・・・
- 702 名前:デフォルトの名無しさん mailto:sage [04/12/31 19:25:00]
- みんなスレたいを見てから書き込んでくれ
- 703 名前:デフォルトの名無しさん mailto:sage [04/12/31 19:27:43]
- |ω・`)ソーッ
嵐が収まったようなので質問させて下さい。 boost::spiritでyaccの%left %rightに相当するような 結合・優先順位の設定は可能でしょうか? やはりBNFで表現するしかないのでしょうか
- 704 名前:デフォルトの名無しさん mailto:sage [04/12/31 19:54:27]
- ,_ ,_ ___, _, __OO __ | | r―― 、 _| |_ ,i~| ;――; ,_ _l~l__
| | | | 'ー―i | l^l | | 'ー― ,! | o c!二 二'i | ⊂⊃ | ~ー; ;―○ i二 ニ!i, i"i .| | | 'ー; ;―" |_| | | i`iノノ ,|| | | _, // | 8εi ノ ! | ⊂⊃ | ノ / l~L、 く <フ,ノ i, V ,' | | ,| |_ ,_ノ ノ ノ r'´ ノ ノ | |ノ,ノ | (__ ooooフ ○ヽ 、 | ⊂⊃ | `´i"σ;‐' ノ _ヽ、 > <、| | i"σ;‐' `ー'" ー' `-'’ '-‐'" ゛ー‐' ー'くノ `・’ `――" `ー' `・´ `´ くノ^ヽ´ ー' `ー' ,_, ,_,. ,_, |~| _| |_. | | | | 、__,. iニニ ニニ! _l~l__ ___ ー―; ノ. | L._ | | ゙ー―‐' __(ゝ| |ノ)_ ー;┌―‐' __ `ー―; | _/ <、LL] ,_ | i‐-、>..| | .,、 ー; ・、―’ ,i i'ヽニフ ー- `! // ー・'| |ヽ' __;i |. | | | | ヽー‐‐; i二ノ| |\二l | i i,ー・、 -' ノ | (_ ー’ 'ー ' ´ ー' ~  ̄ ̄ ー' ‐’  ̄~  ̄ ゛ー '
- 705 名前:デフォルトの名無しさん mailto:sage [04/12/31 19:54:48]
-
____ | ,__ _| | ̄| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | |_| | __| |__, | | ̄ ̄ ̄ ̄ ̄| | | ,__  ̄||__ __| ┌─────┐ | |_____| | | |_| | ̄ | | | ネット ヲ ::.| .:| _____ | | ,__  ̄| i’ 'i, | ナメンナ! ::| .| | :| | | |_| | ̄ i' 'i、 |_________:| :| |_____| | |___ ̄|/ /^ヽ ヽ ヽ( ゚Д゚)ノ .| _____ .| i-ii-ii-ii-i | | / ヽ ヽ ( へ) :| | | | L.iL.!L!L.! | |/ く^\ ヽ ヽ く :| |_____| | ┌――' ,| \ノ ヽ/ .|_______| └─―‐"
- 706 名前:デフォルトの名無しさん mailto:このスレ随分クオリティ下がったな [04/12/31 21:06:10]
- >>703
別にEBNFで表現しても大して難しくないんとちゃうの?
- 707 名前:デフォルトの名無しさん mailto:sage [04/12/31 23:43:07]
- >703
マニュアルにはなかったよ。
- 708 名前: 【270円】 mailto:sage [05/01/01 03:18:11]
-
- 709 名前:703 mailto:sage [05/01/01 03:28:14]
- >>706,707
レスdクス。 やはり無いですか… spiritで書くと、正直な所あまり綺麗ではないし分かりづらいので、 行数節約出来るに越したことはないかな、と思ったのですが… おとなしく構文で規定することにします。 クオリティ低い質問でスンマソン(;´Д`)
- 710 名前:デフォルトの名無しさん mailto:sage [05/01/01 04:45:46]
- HSPが仕様がクソでそれで作る人が馬鹿でも構わないが、
どの辺がクソか?言うか、もっと良い仕様のスクリプトを作って 公開すれば?
- 711 名前:デフォルトの名無しさん mailto:sage [05/01/01 05:19:57]
- > もっと良い仕様のスクリプトを作って
既存のもっと良いものを指摘するだけでも十分でしょ?
- 712 名前:デフォルトの名無しさん mailto:sage [05/01/01 05:20:29]
- HSPは自作字句解析+再帰下降自作ですかね?
やっぱflex+bison?
- 713 名前:Rubyist! [05/01/01 11:07:11]
- 他人の創造的行為に横からごちゃごちゃ口挟めば
自分も何か価値のある行為をしてると勘違い出来る 安っぽいクズが、自分の発言を権威付けしたい欲望に駆られて Ruby叩きの誇大妄想的な発言をしてるだけ。騙される奴はアホー 「じゃあお前がやってみろ」 これは創造的な行為をしてる人間やその作品に対して 足引っ張り以上の価値のないネチョネチョな難癖つけてる頭でっかちに対して、 その身の程を知らせるためにふさわしい切り返しだ。 最低最悪なのはどちらの行為なのかよく考えたらいい。 創造的な領域にまで昇華された批評も「例外的」にあるが、 すくなくともプログラミング言語へのもので 批評家の自意識過剰以外の何かが伝わる 創造的批評なんて、お目にかかったこと滅多にねぇ。
- 714 名前:Rubyist! [05/01/01 13:48:38]
- 今は批評に名を借りた単なる誹謗中傷にしか過ぎないシロモノが幅を利かせ過ぎな面があるって事だろうな。
批評本来の価値を貶めるようなものがね。 批評は創作に比較すれば容易に参加できるから、批評家の本質自体を問われやすい。 批評家は利害・好悪を離れたところの公正さやそれを機能させる自制心が必要だが、今の批評家には欠けてるって事だな。 本来の価値の高い批評を操れるにふさわしい批評家が増えて欲しいね。
- 715 名前:デフォルトの名無しさん mailto:sage [05/01/01 13:52:52]
- >>713
じゃあお前が批評してみろ
- 716 名前:デフォルトの名無しさん mailto:sage [05/01/01 13:54:54]
- 俺が批判してやろう
- 717 名前:デフォルトの名無しさん mailto:sage [05/01/01 14:27:42]
-
∩___∩ | ノ ヽ / ● ● | | //// ( _●_) ミ 彡、 ヽ(⌒ヽ/ Ruby、プッ / __ \ ヽ (___) / `ー‐'
- 718 名前:デフォルトの名無しさん mailto:sage [05/01/01 16:05:18]
- Ruby厨に「じゃあ、Rubyの良い所を挙げてみろ」と言うとだんまりになってしまうのが面白くてしかないwww
- 719 名前:Rubyist! mailto:sage [05/01/01 16:18:21]
- ↑コピペつまんね。OHP見ろ。
作品として公開されたものが批評されるのは当たり前の事だが、 批評する以前の問題(サンプルを見ただけ、もしくはインストールすらしない、とか。まあ大抵のUNIXには入ってるけどなw 窓厨には敷居が高いかもしれん(pu)な奴が多すぎだ。 食わず嫌いに「批評」はできるのかと。
- 720 名前:デフォルトの名無しさん mailto:sage [05/01/01 16:21:01]
- 少しはマトモな議論に戻ろうぜ
・Rubyの(言語としての)メリット - オブジェクト指向の皮を被ったマルチパラダイム - プロトタイプベースチックなクラスベース(特異クラス・メソッド) -> 高い柔軟性を持つ - 充実したシンタックスシュガー ・デメリット - 実行パフォーマンスが悪い。スピード求めるならC&C++で。 - 作者(matz)が保守的すぎて新しいパラダイムを受け付けなくなっている。 - 構文が複雑。シンプル化も進まない。 (シンタックスシュガーが充実している反面でもあるけど) かねえ。Ruby2.0でどうなるかだけど、進退窮まっている感じがするよね。
- 721 名前:デフォルトの名無しさん mailto:sage [05/01/01 16:55:52]
- >>719
アンタの意見も根拠の無い妄想ばかりでつまらんのだけど。
- 722 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:04:37]
- HSP vs Ruby論争はこっちでやれ
言語仕様と開発論法 pc5.2ch.net/test/read.cgi/tech/1104394930/
- 723 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:21:35]
- むしろここでやれ
HSP vs Ruby pc5.2ch.net/test/read.cgi/tech/1104571259/
- 724 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:24:57]
- いやここでやれ
- 725 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:27:58]
- ここもあるよ
【因縁の】DelphiVSHSPVSRuby【対決】 pc5.2ch.net/test/read.cgi/tech/1101498622/
- 726 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:28:39]
- ワロタwwwwwwwww
HSP厨もRuby厨も頭悪すぎwwwwwwwwww
- 727 名前:デフォルトの名無しさん mailto:sage [05/01/01 21:12:29]
- >>726
HSP厨のアホさ加減は半端無いよなw
- 728 名前:デフォルトの名無しさん [05/01/01 21:41:57]
- >>727
よくこういった書き込みみるけど、具体的な内容を指摘したものは いまだかつて1度もないw
- 729 名前:デフォルトの名無しさん mailto:sage [05/01/01 21:56:12]
- 今時あんなBASIC風の古臭い言語が流行ってるのは
日本にとってかなりマイナスだと思う。
- 730 名前:デフォルトの名無しさん mailto:sage [05/01/01 23:11:00]
- >>729
他の国のプログラマはオブジェクト指向言語から始めてるのかい?
- 731 名前:デフォルトの名無しさん mailto:sage [05/01/02 00:45:30]
- 無難にC/C++から始めてると思う。
スクリプトならPython+SDLのPygameとか。 ttp://www.pygame.org/projects/
- 732 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:03:25]
- これで日本と海外のソフトウェア開発力の違いの原因が良く分かりましたね
- 733 名前:デフォルトの名無しさん [05/01/02 01:07:51]
- 初めての言語なんてその後ちゃんとオブジェクト指向を学べば関係ないだろ
N88BASICから始めた俺にはかなり不愉快
- 734 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:14:47]
- このスレでくだらん論争してる奴が馬鹿なのは間違いないな。
- 735 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:19:40]
- >>733
それはそういう時代だったからだろ。 俺も最初の言語はBASICだったし。 でも今あえてBASICみたいな言語から始める理由は無いと思うが。 HSPもCも覚える労力はそんなに差はないでしょ。
- 736 名前:デフォルトの名無しさん [05/01/02 01:34:28]
- 最初に何を覚えようがその後覚える技術は本人次第でいくらでも覚えられる
最初がCだろうがHSPだろうが関係ない
- 737 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:48:59]
- インタプリタなC++がいいってこったね('A`)
- 738 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:55:44]
- 話は変わりますがparrotってどうですか?
- 739 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:58:27]
- Perl6のランタイムのこと?
- 740 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:00:21]
- Rubyなんてプッて感じ。
ブロック扱うためにイテレータとか言って特殊構文導入しちゃって必死すぎw それでも全然自己記述出来ないのな。Lispには遠く及ばないな。 Smalltalkの統一性にも全然及ばないwww ユーザーも各スレ荒らしまくって最悪だしな。
- 741 名前:738 mailto:sage [05/01/02 02:02:43]
- >>739
そうです。 なんか、「他の言語からも使ってもいいよ」みたいなことが書いてあったので、 どんなもんかなと思ったんですが。
- 742 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:10:32]
- >>741
不勉強にして知らなかったからちょっと調べてみた。 www.namikilab.tuat.ac.jp/~sasada/prog/parrot-intro.html とりあえずPerl用に作られたVMなんすね。 この種のものってJVMじゃダメなのかな… 面白そうなのでもうちょっと調べてみます。いい拾い物をしたw
- 743 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:15:44]
- > 現在の Perl 5 の VM はスタックマシンだ(訳注:そうだったんだー)
そうだったんだ…
- 744 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:24:49]
- >print "String" とか、レジスタの値を表示するためにprint I3 とか、書けるけど、
>Parrot の演算は多態(polymorphic)ではない。 >アセンブラがちょっとトリッキーなことやって対応してる。 こういう変なHack入れるとグダグダになりそうな気がするんだけどなあ…
- 745 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:29:59]
- >>744
ただオペランドの種類で命令をリダイレクトしてるだけとちゃうの? その程度ならさほど問題にはならなそうだけど
- 746 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:32:17]
- >>745
うん、ちょっと読み進めたらまさにそう書いてあったorz
- 747 名前:738 mailto:sage [05/01/02 02:41:58]
- www.parrotcode.org/
俺の受けた印象では、Groovyとか、違う言語からJavaバイトコードを 使おうってのとか、.NETのCLRとかも含めて、そういう ものと似た動きに見えるんですがどうですか? ならまじめに勉強して損はないかなと思うんですが。 最近そういう動きが盛んだな…
- 748 名前:デフォルトの名無しさん mailto:sage [05/01/02 03:01:23]
- アプリケーションからハードは一切触らない、みたいな。それこそ
単純な加算などでさえも。
- 749 名前:デフォルトの名無しさん mailto:sage [05/01/02 03:05:37]
- Parrot入れてみたんだが、SDLも既にバインドされてたりするのね…
- 750 名前:デフォルトの名無しさん mailto:sage [05/01/02 03:10:26]
- これって出て来た?
www.namikilab.tuat.ac.jp/~sasada/prog/parrot-intro.html
- 751 名前:デフォルトの名無しさん mailto:sage [05/01/02 04:31:04]
- >>750 >>742
- 752 名前:デフォルトの名無しさん mailto:sage [05/01/02 12:50:19]
- C/C++で日本語プログラム作らないんだな、
- 753 名前:デフォルトの名無しさん mailto:sage [05/01/02 12:53:20]
- 、
- 754 名前:デフォルトの名無しさん mailto:sage [05/01/02 14:53:29]
- parrotなんか糞
perl6はrubyの劣化コピー
- 755 名前:デフォルトの名無しさん mailto:sage [05/01/02 16:27:28]
- Parser を正しく発音すると「パーサー」「パーザー」のどっち?
- 756 名前:デフォルトの名無しさん mailto:sage [05/01/02 16:31:55]
- 米語発音がパーサー。どっちも正しい
- 757 名前:デフォルトの名無しさん mailto:sage [05/01/02 16:33:18]
- >755
dictionary.goo.ne.jp/search.php?MT=parse&kind=ej&mode=0&base=1&row=0
- 758 名前:デフォルトの名無しさん mailto:sage [05/01/02 17:24:33]
- pythonの言語仕様は素晴らしいと思う。
- 759 名前:デフォルトの名無しさん mailto:sage [05/01/02 18:26:43]
- >>758
言語仕様と開発論法 pc5.2ch.net/test/read.cgi/tech/1104394930/ こちらへどうぞ
- 760 名前:デフォルトの名無しさん mailto:sage [05/01/02 19:30:46]
- >>747
流行ってるわけでも無いVMの勉強って 損得で言ったらどっちになるか微妙だとおもうぞ。
- 761 名前:デフォルトの名無しさん mailto:sage [05/01/02 22:03:31]
- コンパイラ作る練習にいいかも
- 762 名前:デフォルトの名無しさん mailto:sage [05/01/02 22:40:11]
- >>754
つInline::Ruby
- 763 名前:デフォルトの名無しさん mailto:sage [05/01/03 11:29:03]
- >>760
やっぱ、やるならjavaのVMでつか?
- 764 名前:デフォルトの名無しさん mailto:sage [05/01/03 16:44:26]
- どういう目的でVMの勉強したいのかわからんが
とりあえずJavaが無難じゃない?
- 765 名前:デフォルトの名無しさん mailto:sage [05/01/03 17:25:44]
- いきなりJVMやるならアセンブラでも覚えたほうがいい
- 766 名前:デフォルトの名無しさん mailto:sage [05/01/03 17:44:32]
- ここはやるスレじゃなくて作るスレなんで
- 767 名前:デフォルトの名無しさん mailto:sage [05/01/03 18:22:40]
- 作る前にやらんと意味わからん
- 768 名前:デフォルトの名無しさん mailto:sage [05/01/03 18:23:39]
- そらそうだ
- 769 名前:デフォルトの名無しさん mailto:sage [05/01/03 18:30:47]
- ここは作るスレじゃなくて相談室なんで
- 770 名前:デフォルトの名無しさん mailto:sage [05/01/03 19:58:29]
- おまいら会話がエロすぎます。
- 771 名前:デフォルトの名無しさん mailto:sage [05/01/03 21:26:12]
- 作っちゃった時の相談もここ?
- 772 名前:デフォルトの名無しさん [05/01/04 01:09:27]
- VBやDelphiなどの言語のコンパイラを
勝手に作ったら特許とかに引っかかりますかね?
- 773 名前:デフォルトの名無しさん mailto:sage [05/01/04 01:10:53]
- >>772
先ず作ってから心配しろ。
- 774 名前:デフォルトの名無しさん mailto:sage [05/01/04 01:11:52]
- >>773
作った後に駄目だったらキツイでしょ?
- 775 名前:デフォルトの名無しさん mailto:sage [05/01/04 01:29:06]
- >>772
A.言語仕様自体は特許にならないから大丈夫。 ただし、付属しているライブラリは特許・著作権で保護されるので そっちの回避法を考えておかないと駄目。
- 776 名前:デフォルトの名無しさん [05/01/04 01:37:27]
- 質問です。
コンパイラ本に良く載ってる実行時環境(スタックマシンとかレジスタマシンとか)っていうのは 何のためにあるんですか?最適化をしやすくするため? 実行時環境とか用意しなくても直接構文木を記号表と照らし合わせながら 実行コードに変換していく様な事はできないんですか?
- 777 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:16:26]
- ↑自己解決しました。勘違いでした。
- 778 名前:デフォルトの名無しさん [05/01/04 02:23:09]
- HSPくらいの言語なら簡単に作れますか?
- 779 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:24:06]
- >>778
あなたには無理です
- 780 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:24:16]
- 最適化をあまり気にしなければ。
- 781 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:26:11]
- >>776
ただ単純に説明を楽にするためじゃないの? 「勘違いでした」って何を?
- 782 名前:デフォルトの名無しさん mailto:sage [05/01/04 06:04:48]
- >>781
仮想マシンのスタックマシンと、CとかPascalのスタックベースメモリ割り当てを勘違いしてました。
- 783 名前:デフォルトの名無しさん mailto:sage [05/01/04 11:38:53]
- >>775
ありがとうございます。 とりあえず勉強を兼ねてVBコンパイラ作ってみます。
- 784 名前:デフォルトの名無しさん mailto:sage [05/01/04 16:17:36]
- LSI C-86 試食版
で、コンパイラをつくってみよ〜
- 785 名前:デフォルトの名無しさん [05/01/04 20:40:08]
- 質問させていただきます。
bnfを使って出来ることって字句解析、構文解析までですよね? 意味解析、中間コード生成までを定義できるようなbnfにしたいのですが、 そのような拡張がされたbnfの構文というのはあるのでしょうか?
- 786 名前:デフォルトの名無しさん mailto:sage [05/01/04 20:54:45]
- >>785
とりあえず属性文法を学ぶのが良いと思う。
- 787 名前:デフォルトの名無しさん mailto:sage [05/01/04 21:31:27]
- >>785
わりと参考になった本を紹介しときます。(関係者じゃないですよ、念のため。) www.amazon.co.jp/exec/obidos/ASIN/4320027981/249-0278157-3285121
- 788 名前:デフォルトの名無しさん mailto:sage [05/01/04 21:57:33]
- Rie 属性文法
ftp://ftp.is.titech.ac.jp/pub/Rie/
- 789 名前:デフォルトの名無しさん mailto:sage [05/01/05 05:27:11]
- なるほど属性文法ですか。
手元の本でちょっと調べてみましたが 意味解析以降は格段に難易度上がりますね。 ちょー難い!
- 790 名前:デフォルトの名無しさん mailto:sage [05/01/05 06:15:19]
- 属性文法(((( ;゚Д゚)))
- 791 名前:デフォルトの名無しさん mailto:sage [05/01/05 22:42:48]
- 普通は、構文解析以降は手書きじゃ???
- 792 名前:デフォルトの名無しさん mailto:sage [05/01/05 22:57:49]
- 何が普通なんだか…
- 793 名前:デフォルトの名無しさん mailto:sage [05/01/05 23:24:54]
- >>791
つまり、bnfのような定義ファイルにはできないってこと?
- 794 名前:デフォルトの名無しさん mailto:sage [05/01/05 23:33:32]
- すぐ上にあんじゃねーか
- 795 名前:デフォルトの名無しさん [05/01/05 23:45:45]
- YACCに限界を感じて、そろそろというプロジェクトはいくつかあるが、
パーサ手書きというのは、実用的なソフトではほとんどナイ。
- 796 名前:デフォルトの名無しさん mailto:sage [05/01/05 23:55:10]
- >>794
属性文法の書式を例を踏まえて教えれ。
- 797 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:05:13]
- >>795
最近のgccは手書き。 次期rubyも手書きの予定。
- 798 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:16:18]
- >>794
ftp://ftp.is.titech.ac.jp/pub/Rie/more-examples/pascal-S/pascal-S.rie
- 799 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:39:55]
- 属性文法使ってる処理系なんて聞いたことないぞ。
lexやyaccまでなら聞くけど。 構文解析以降は手書きじゃないか?
- 800 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:48:02]
- 日本語の不自由な方がおらっしゃられるようです
- 801 名前:デフォルトの名無しさん mailto:sage [05/01/06 01:02:19]
- Rieくらいは聞いたことあるんじゃないか?市販の製品に使われたって
言うのは聞かないけれども。
- 802 名前:デフォルトの名無しさん mailto:sage [05/01/06 01:04:04]
- 藻前らはコンパイラ作って市販するつもりなのか?
- 803 名前:デフォルトの名無しさん mailto:sage [05/01/06 01:05:07]
- コンパイラ屋くらいだろうな、そんなことするの。
- 804 名前:デフォルトの名無しさん mailto:sage [05/01/06 01:05:50]
- 理恵タソ(;´Д`)ハァハァ
- 805 名前:デフォルトの名無しさん mailto:sage [05/01/06 08:04:07]
- 現場ではどうなのかわからないけれども、最適化ステージと
コードジェネレータを全部手書きってのは無いんじゃないかなあ。 最適化とコードジェネレーションについては、 Muchnick: Advanced Compiler Design & Implementation, Morgan Kaufmann, 1997 が実践的で参考になった。
- 806 名前:デフォルトの名無しさん mailto:sage [05/01/06 09:29:25]
- カウフマンつーとサイレントヒルだな
医者。仮眠明けで起きると誰も居ないでモンスターだらけと説明。
- 807 名前:デフォルトの名無しさん mailto:sage [05/01/06 10:46:42]
- コンパイラ作る時のお勧めの中間コードは何ですか?
- 808 名前:デフォルトの名無しさん mailto:sage [05/01/06 11:00:29]
- 中間コード?
1パスにそんなもん必要ない
- 809 名前:デフォルトの名無しさん mailto:sage [05/01/06 11:04:20]
- 1パスでレジスタ割り当てとかの最適化まで出来るのですか?
- 810 名前:デフォルトの名無しさん mailto:sage [05/01/06 14:17:14]
- どんな最適化を実装するつもりか自分でわかっているなら、
おのずと適切な中間コードもわかるはず。それが分かっていない >>807にはどうせ非最適化コンパイラも作れない罠。
- 811 名前:デフォルトの名無しさん [05/01/06 22:54:47]
- 上の張ってある書籍ですが、読む順番はあるんですか?
ちなみに私は、Cをはじめてまだ1ヶ月です。
- 812 名前:デフォルトの名無しさん mailto:sage [05/01/06 22:56:16]
- >>811
プログラミングを初めて1ヶ月?
- 813 名前:デフォルトの名無しさん mailto:sage [05/01/06 22:57:10]
- 先にCを完全にマスターして下さい。
どの本も何らかのプログラミング言語をマスターしている事を前提に書かれてます。
- 814 名前:デフォルトの名無しさん [05/01/06 23:15:09]
- Cマガでコンパイラの特集が組まれてたのって何年何月号だか
ご存知の方いらっしゃいますか?
- 815 名前:デフォルトの名無しさん [05/01/06 23:33:05]
- >812
そうです。 >813 マスターですか。。。。 K&Rがスラスラ読めるレベルでしょうか? 頑張ります。
- 816 名前:デフォルトの名無しさん mailto:sage [05/01/06 23:44:02]
- >>814
手持ちでは…2003年8月号に 「コンパイラの仕組みを理解しよう」って特集があるけど、 そこまで突っ込んでは書いてない。
- 817 名前:デフォルトの名無しさん mailto:sage [05/01/07 00:05:22]
- >>816
情報ありがとうございます。 私の手持ちで2003年1月号に「コンパイラの作成」 というそのものズバリの物がありました。
- 818 名前:デフォルトの名無しさん mailto:sage [05/01/07 00:07:54]
- >>817
見事にその号が抜けてる orz どのあたりまで書いてありますか?
- 819 名前:デフォルトの名無しさん mailto:sage [05/01/07 00:52:08]
- Cマガの特集レベルなんてたかが知れてる
昔のインターフェース誌は濃かったなあ
- 820 名前:デフォルトの名無しさん mailto:sage [05/01/07 00:55:04]
- インターフェースもCマガみたくバックナンバーをPDFにして売ってくれたりしないのかなぁ
- 821 名前:デフォルトの名無しさん mailto:sage [05/01/07 01:02:21]
- >>820
しているじゃないか。
- 822 名前:デフォルトの名無しさん mailto:sage [05/01/07 01:12:37]
- >>821
うお、知らなかった…_| ̄|○ 01年までですか…。90年代のやつがもう一度読みたいんだけどなぁ
- 823 名前:デフォルトの名無しさん mailto:sage [05/01/07 12:44:16]
- >>818
字句解析、構文解析、意味解析、コード生成までが 非常に分かりやすく書かれてます。 20ページくらいでソース付きです。
- 824 名前:デフォルトの名無しさん mailto:sage [05/01/07 14:43:10]
- >822
ttp://www.sbpnet.jp/shop/art.asp?newsid=1403
- 825 名前:824 mailto:sage [05/01/07 14:44:52]
- ごめん、インタフェースも、か。読み間違えた。
- 826 名前:デフォルトの名無しさん mailto:sage [05/01/07 17:31:22]
- www.csg.is.titech.ac.jp/~chiba/lecture/os/index.html
- 827 名前:デフォルトの名無しさん [05/01/08 03:28:16]
- ●プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝
上記の本を買おうと思ったら、中身パスカルだったぞ。 他のコンパイラの本もパスカル+Cって内容だった。 Cのみの本はないのか?
- 828 名前:デフォルトの名無しさん mailto:sage [05/01/08 03:32:21]
- >>827
その本俺も持ってるし、俺はCしか書けないけど、大体読めるから自分で 書き直せるっしょ。元々そういう意図があるから複数の言語で書いてないん じゃないの?
- 829 名前:デフォルトの名無しさん mailto:sage [05/01/08 07:40:38]
- >827
なぜCのみである必要が? パスカルのみでも読めるでしょ 逆に読めないなら問題
- 830 名前:デフォルトの名無しさん mailto:sage [05/01/08 16:25:31]
- 今の人には読めない読めない
無理も無い パシカル本は今の本屋にどこにも置いてないからね もしCより簡単だと言われても敬遠するだろう パスカルで書かれているという事は大抵古い本で、 ポインタ記法とか本ごとに違ってたりするし 構文なのか演算子なのかわからない物もある .の置き方に一貫性ないし 読んでもただ、混乱するだけである
- 831 名前:デフォルトの名無しさん mailto:sage [05/01/08 16:31:00]
- Pascalの方が綺麗でしょ。
Cみたいにメモリ周りの汚さはなくて、純粋にアルゴリズムを記述しやすい。
- 832 名前:デフォルトの名無しさん mailto:sage [05/01/08 16:39:23]
- 綺麗・汚いの話をしてるわけではない
- 833 名前:デフォルトの名無しさん mailto:sage [05/01/08 16:43:55]
- >>832
綺麗なら読みやすいだろう。 言語を覚えるコストよりもソースを読み解いたり書いたりするコストの方が遥かに高い。
- 834 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:13:11]
- 読みやすさの話をしてるわけではない
綺麗ならSchemeの方が良い
- 835 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:17:09]
- >>834
では何の話なの?わかりやすく教えて。
- 836 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:18:18]
- 本がないという理由なら、WEB上のリソースでも十分だけど。
- 837 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:32:26]
- なぞなぞです
- 838 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:36:59]
- >>834
関数型言語と手続き型言語では、さすがにプログラミングの定石からして 全く違うだろ。 記法が書籍毎に異なるなんてのは、良くある話。コンパイラ系の書籍だと BNF 記法が良く出てくるが、あれも書籍毎に微妙に違ったりするし。その あたりを自分で吸収できないようだと、専門書と取り組むのは難しい。
- 839 名前:デフォルトの名無しさん mailto:sage [05/01/08 18:10:28]
- 記法が多少違うなんてのはコンピュータに限らず、
大学で勉強すれば大抵でくわす話。
- 840 名前:デフォルトの名無しさん mailto:sage [05/01/09 09:13:32]
- >>829
それはあんたはすでにパスカルを知っているから。 またはあんたが十分かしこいから。 よのなかの人間はあんたほど賢くないんだよ。 >>830 はげどう。 Javaが広まった理由のひとつが、「CやC++と見た目が似てるから」。 そのくらい、自分の知ってる言語に似ているかどうかは重要。かしこくない人間にとっては。
- 841 名前:デフォルトの名無しさん mailto:sage [05/01/09 09:53:52]
- pascalライクな擬似コードくらい読めるだろ普通。
ま、おまいが読めなかったとしても CSを志すような人間は大抵おまいより賢いから心配ご無用。 少なくともそんなつまらん理由で萎縮しない程度にはな。
- 842 名前:デフォルトの名無しさん mailto:sage [05/01/09 10:25:49]
- >>840のように賢くない人間はコンパイラなんか書くなということだな。
- 843 名前:デフォルトの名無しさん mailto:sage [05/01/09 10:43:32]
- 大丈夫、そんな人間に自力でコンパイラなんて書けない。
時間の無駄を省けていいじゃん。 大学入試の足切りみたいなもんだと思え(入ったってついてけない奴もいるが)。
- 844 名前:デフォルトの名無しさん mailto:sage [05/01/09 11:46:44]
- 真面目な話の途中で申し訳ないんだけど、parrot って結構良いね。
これをターゲットにコンパイラ書いたら面白そう(楽出来そう)。 www.parrotcode.org/docs/
- 845 名前:デフォルトの名無しさん mailto:sage [05/01/09 11:50:24]
- Javaの二番煎じ
- 846 名前:デフォルトの名無しさん mailto:sage [05/01/09 11:59:39]
- JVM や CLR の系列だろうけど、ベンダーフリーでライセンスも緩いから使い易いと思う。
- 847 名前:デフォルトの名無しさん mailto:sage [05/01/09 12:31:33]
- 結構早いしな
- 848 名前:デフォルトの名無しさん mailto:sage [05/01/09 12:34:28]
- てかParrot自体はちゃんと動くのか?
作ってもParrotのバグのせいでまともに動かなかったら悲しいぞ。
- 849 名前:デフォルトの名無しさん mailto:sage [05/01/09 13:31:32]
- Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Parrot
でかい顔するなぼけ 糞ぺrぇrはしね
- 850 名前:デフォルトの名無しさん [05/01/09 20:42:58]
- 字句解析でコードをトークン列にする際に、
if、forなどのキーワードは「keyword」という大きな 括りにするのと、それぞれ「keyword_if」、「keyword_for」 などのように細かく分けるのとどちらがよろしいでしょうか?
- 851 名前:デフォルトの名無しさん mailto:sage [05/01/09 20:49:53]
- 構文解析で必要な方。
- 852 名前:デフォルトの名無しさん mailto:sage [05/01/09 21:45:12]
- >>850
作りたい言語似よるが、C や Pascal ライクな言語を作りたければ 後者の方が楽。
- 853 名前:デフォルトの名無しさん [05/01/10 02:02:26]
- 洗練されたPerl: Perl 6文法と正規表現
www-6.ibm.com/jp/developerworks/linux/041203/j_l-cpregex.html
- 854 名前:デフォルトの名無しさん [05/01/10 02:08:04]
- Win32コンソール形式の実行ファイルを作りたいのですが
参考になるページはありませんか? A := B + C GOTO(L) のような3番地文の中間コード形式の出力までは出来ています。
- 855 名前:デフォルトの名無しさん mailto:sage [05/01/10 02:39:22]
- >>854
>>826
- 856 名前:デフォルトの名無しさん [05/01/10 09:03:09]
- >854
x86ならnasmのinfoやIntelのwebサイト、 exeならPE形式、 実際の実装方法はgccのソース を見ろよ
- 857 名前:デフォルトの名無しさん [05/01/10 23:52:39]
- スモールコンパイラ買って着た。
結構美人
- 858 名前:デフォルトの名無しさん mailto:sage [05/01/11 19:31:43]
- オライリyacc本が初売り在庫処分で100円だったので買ってしまった。
かなりすすけてるよ(´・ω・`) 読んでみますか。
- 859 名前:デフォルトの名無しさん mailto:sage [05/01/11 23:06:22]
- ほ、欲しかった
- 860 名前:デフォルトの名無しさん [05/01/13 20:23:21]
- 構文解析ではよく構文木を作るって言うけど、
プログラムのデータとしてはどのように持てばいいのでしょうか?
- 861 名前:デフォルトの名無しさん mailto:sage [05/01/13 20:36:53]
- リスト(木のノードも含む)とか配列じゃないかね。
LISPの場合はコードがそのまんま構文木なんだよな。 LISPに慣れてるならLISPと同じ構造を目指すとよい。 でもLISPのセルは普通の言語だとGCないから扱いにくい。
- 862 名前:デフォルトの名無しさん mailto:sage [05/01/13 20:48:38]
- a = (b[0] + 2) * 3;
だったら、 root | assign / \ a | mul / \ | 3 add / \ | 1 | array_ref / \ b 0 LISPのS式で表現すると (assign a (mul (add (array_ref b 0) 1) 3)) S式は木のデバッグに都合がいい gccの内部表現もそうだったかと
- 863 名前:デフォルトの名無しさん mailto:sage [05/01/13 20:52:15]
- 型やシンボルの属性情報はどうしてます?
- 864 名前:デフォルトの名無しさん mailto:sage [05/01/13 21:06:58]
- 記号表で別管理
- 865 名前:デフォルトの名無しさん mailto:sage [05/01/13 21:13:32]
- (´・∀・`)ヘー
- 866 名前:デフォルトの名無しさん [05/01/13 23:45:42]
- treeなんて意識しなくても大丈夫だよ。
あれはあくまでも学問。実務はパーサがやってくれる。
- 867 名前:デフォルトの名無しさん mailto:sage [05/01/14 00:20:49]
- >>866
構文解析して即コードに落としちゃう場合はともかく、もう一ステージ挟む場合 (最適化するとか)は、いちど明示的にツリー作る必要があるよ。
- 868 名前:860 mailto:sage [05/01/14 00:39:11]
- >>861-862で
なんとなく考えが具現化してきました。 ただ今一分からないのが、字句解析で得たトークンを 構文解析でtree構造のデータとして持つとして それを後の意味解析でどのように使うのでしょうか?
- 869 名前:デフォルトの名無しさん mailto:sage [05/01/14 00:43:25]
- >>868
単純な最適化だと add / \ 2 1 ってツリーがあったら、コンパイル時に計算して 3 に置き換えちゃうとか。
- 870 名前:デフォルトの名無しさん mailto:sage [05/01/14 01:03:05]
- データフロー解析をする時は、ツリーを3つ組表現すると楽かも
- 871 名前:デフォルトの名無しさん mailto:sage [05/01/14 08:43:21]
- >>869のような定数伝播ぐらいなら1パスでもできる
ただし1 + a + 2とかをa + 3にはできない 1 + aを読み終えた時点の出力を保留する様な仕組みは もはや2パスとみなせるし、そこまでするなら木を作った方がいい
- 872 名前:デフォルトの名無しさん [05/01/14 13:00:57]
- 自分の自作言語でC言語の構造体のアラインメントを
エミュレートしたいのですが、メンバオフセットの決め方がよくわかりません。 例えば#pragma pack(4)のとき、 typedef struct { int a; // offset 0 char b[1]; // offset 4 int c; // offset 8 } X; となるのはいいんですが、 typedef struct { int a; // offset 0 char b[1]; // offset 4 short c; // offset 6 short d; // offset 8 int e; // offset 12 } Y; shortが offset=6になる理屈がわかりません。 これは暗黙的にwordのアラインメントも働いているということでしょうか?
- 873 名前:デフォルトの名無しさん mailto:sage [05/01/14 14:02:03]
- >>872
かなり複雑だよ typedef struct { char c[1]; short s; char cc[1]; } C; これのsizeof(C)は6。 Cのアラインメントはshortを持つので2になる。 これをメンバに持つ構造体を作るとわかる。 typedef struct { C c[3]; }CC; これで sizeof(CC) すると 18。 次に typedef struct { char c[1]; short s; char cc[1]; int i; } D; これのsizeof(C)は12。 んで、アラインメントはintを含んでるので4。 typedef struct { D d[3]; }DD; sizeof(DD) => 36 つまり構造体はその中のメンバの基本型のサイズが関係する 例えばcharしか持たない構造体はアラインメントが1になる
- 874 名前:デフォルトの名無しさん [05/01/14 16:10:43]
- >>873
仰るとおり理解するのが大変でした。 アラインメント指定された値は、あくまでもその大きさの型が出現した ときに影響するってことで、それ以下のサイズについても アラインメント指定された値以下であれば位置調整をしなくてはならない ということですかね。 > 例えばcharしか持たない構造体はアラインメントが1になる この言葉でようやくわかりました。 構造体を外から見るだけじゃなくて、その中の基本型まで遡って 把握しないと作れませんね。 お答えありがとうございました。
- 875 名前:デフォルトの名無しさん mailto:sage [05/01/14 18:45:57]
- 難しいね。
λ...... λ...... λ...... λ...... λ......
- 876 名前:デフォルトの名無しさん [05/01/14 19:52:58]
- 名前の分からないライブラリ関数を、動的に与えられた名前を用いて
コールすることとかって出来ますか?
- 877 名前:デフォルトの名無しさん mailto:sage [05/01/14 19:54:21]
- アドレスが分かればできるよ
- 878 名前:デフォルトの名無しさん mailto:sage [05/01/15 00:43:44]
- ld
- 879 名前:デフォルトの名無しさん mailto:sage [05/01/15 09:18:20]
- 興味があったのでアラインメントの計算を考えてみました。
構造体が typedef struct { char a; // 1byte int b; // 4byte char c; // 1byte double d; // 8byte } C; とすると、 #define N 4 // 構造体メンバ数 int member_size[N] = { 1, 4, 1, 8, }; // 各メンバのサイズ(構造体Cの場合) int member_offset[N]; // メンバのオフセット(求める値) #define PACK 2 // #pragma pack() への指定サイズ member_offset[0] = 0; // 1個目のメンバのオフセットは0固定 int pos = 0; // 次のメンバを置くことができる位置 pos += member_size[0]; // 1個目のメンバのサイズ分すすめる for(int i = 1; i < N; ++i){ int size = member_size[i]; /* 次のメンバのオフセットをoffsetとすると、 offset >= pos; offset >= min(PACK * n, size * m); // n, mは0, 1, 2... */ int n = (pos + (PACK - 1)) / PACK; int m = (pos + (size - 1)) / size; int offset = min(PACK * n, size * m); member_offset[i] = offset; pos = offset + size; // 次のメンバを置ける位置を再計算 }
- 880 名前:デフォルトの名無しさん [05/01/15 11:23:28]
- 言語処理って文型向きでしょうか?理系向きでしょうか?
- 881 名前:デフォルトの名無しさん mailto:sage [05/01/15 11:27:32]
- 玄人向き
- 882 名前:デフォルトの名無しさん mailto:sage [05/01/15 11:28:11]
- よくわからんが、構造体がネストしてたらそれを再帰的にやるんだろう。
Cの型定義をパースしてサイズやオフセットを返すだけの モジュールでも作れば需要ありそうだな。 C言語作ってるならともかく、自作言語のFFI周りの作成とかでは 誰もがやりたくない部分の1つだし。
- 883 名前:デフォルトの名無しさん mailto:sage [05/01/15 11:30:26]
- >>880
理系崩れ向き
- 884 名前:デフォルトの名無しさん mailto:sage [05/01/15 11:32:42]
- >>880
廃人ムキ!
- 885 名前:デフォルトの名無しさん [05/01/15 13:05:54]
- >>882
既存のC処理系にあわせなければならないなら offsetofやsizeofを表示するプログラムを生成して Cコンパイラにやらせるのが楽そうだな。どうせ どう配置されるかなんて処理系依存なんだし、 いちいち調べるのはかったるい。
- 886 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:07:25]
- 構造体のアラインメントの話、結構興味深いね。
久々のヒット、トンクス。
- 887 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:10:17]
- 質問ですが、言語処理系の仕事って年収どれぐらいもらえるのでしょうか?
もちろん、条件によりさまざまだと思いますが、 平均的な所を知りたく思います。 お金の話は、禁句かもしれまえんが、 生活が出来ての仕事だと思います。
- 888 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:29:32]
- 「『言語処理系』の仕事」って業種があるのですか?
私は寡聞にして聞かない。
- 889 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:38:52]
- >>887
実際に、応募してみれば良いじゃん。
- 890 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:40:29]
- 俺の”コンパイラ屋” 想像図↓
┌─┐ |コ.| |ン | │パ│ │ゐ│ │ラ .| │屋 .| │ !!.│ └─┤ ∧∧ │ ( `Д) | ̄ ̄ ̄|─□( ヽ┐U  ̄◎ ̄ ◎−>┘◎
- 891 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:03:15]
- まあ実際そんなもんだ
- 892 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:03:25]
- 流しのコンパイラ屋や一匹狼のコンパイラ屋なんて聞かないから
メーカーのコンパイラ開発部門の社員に過ぎないだろうよ。 サラリーマンとして給料をもらうだけ。
- 893 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:05:29]
- Digitalmarsとかは最初は一匹狼のコンパイラ屋だったに違いない
- 894 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:29:55]
- >>892
そのサラリーマンの給料が知りたい、って話じゃないの? IT 系といっても 給料はピンキリだからなぁ。 個人的には、職種よりも企業の方が効いて来るに一票だが。Microsoft なら たぶん高いよ。
- 895 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:38:18]
- スレ本来の技術的な話題で湧いた直後なのに・・。 可哀想な俺達。
- 896 名前:デフォルトの名無しさん [05/01/15 20:00:18]
- >>894
おれも、そう思うに1トークン。 ただ、システム系やら(言語を利用した)開発系よりかは 悪いと思われる。 >>892 > 流しのコンパイラ屋や一匹狼のコンパイラ屋 ワロタ
- 897 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:23:06]
- アタマワルソ
- 898 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:30:10]
- HSP作者のおにたま氏はある意味コンパイラ屋?
本とかで儲けてるんだろうな。いいなぁ。
- 899 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:31:53]
- るby>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>。hsp
- 900 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:32:13]
- HSPはインタプリタ
- 901 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:32:36]
- Rubyモナー
- 902 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:33:16]
- >>898
あなたもやってみればいいのに。 俺はコンパイラじゃないけど、チャレンジしてるよ。
- 903 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:41:32]
- matz師とおにたまでは格が違いすぎて比較にならないだろ。
ぶっちゃけ頭の出来が違う。
- 904 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:53:22]
- ( ゚∀゚)・∵.ブバッ
- 905 名前:デフォルトの名無しさん mailto:sage [05/01/15 21:02:49]
- >>887
ボクチンの場合、一般のプログラマと変わらないです。 仕事の内容が違うだけ
- 906 名前:デフォルトの名無しさん mailto:sage [05/01/15 22:37:33]
- >>902
実は俺もコンパイラ作ってます。 って言っても字句解析までしかできてませんが・・・ つーかコンパイラ作るのって楽しすぎ。
- 907 名前:デフォルトの名無しさん mailto:sage [05/01/15 22:42:10]
- m4スレ立てました。
ここの住人なら興味深い言語でしょう。 m4スレ pc5.2ch.net/test/read.cgi/tech/1105796351/
- 908 名前:デフォルトの名無しさん mailto:sage [05/01/15 22:46:52]
- どうしてもブギャーに見えるw
OpenMCL が m4 使ってたな。
- 909 名前:デフォルトの名無しさん [05/01/15 23:47:01]
- >>890
ワロタw おれも、今の仕事やめて憧れだった 流しのコンパイラ屋でもやろうかな?
- 910 名前:デフォルトの名無しさん mailto:sage [05/01/16 00:04:22]
- >>909
(・∀・)イイヨーイイヨーー
- 911 名前:デフォルトの名無しさん [05/01/16 00:18:36]
- まずは、屋台を調達しろw
- 912 名前:デフォルトの名無しさん mailto:sage [05/01/16 00:19:46]
- 老後は屋台を引いて駅前で(ry
- 913 名前:デフォルトの名無しさん mailto:sage [05/01/16 00:55:47]
- >906
あっしはプロトタイプベースのコンパイラ・インタプリタ作成中 ベースオブジェクトの設計にメドがたってきたから、ようやっと 字句解析にいけそう。 文法作るの楽しいよね。
- 914 名前:デフォルトの名無しさん mailto:sage [05/01/16 01:23:21]
- 3件の屋台が駅前で軒を連ねるのを思い浮かべてみた。
構文解析屋、字句解析屋、コード生成屋 / / / / / / / / / / / / / /`、 ヽ ./ / / / / / / / / / / / / /=== 、ヽ / /_ / / / / / / / / / / / / 、ヽ |=構 ギ_l ̄||  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| |=文∫ =:| || || |= 解 コ..:| || || |=析 =:| || グツグツ ∧∧ ||┌──────────────── ~~~~~~~ | || ==┻== (゚Д゚;) <構文解析屋の新装開店だ、ゴラァ! | || | ̄ ̄| (|ギ ∪ || \_______________ ┌┴┸───────┴─┴┸┐ ┌┴─────────────┴┐ └─┬───────────┬─┘ | | ̄ ̄| | ̄  ̄| ....:.:::::| | | | ..:::::::| | ....::.::.:::| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 915 名前:デフォルトの名無しさん mailto:sage [05/01/16 01:28:20]
- あー邪魔くせえ
- 916 名前:デフォルトの名無しさん mailto:sage [05/01/16 01:50:12]
- LISP勉強するのに、この本は買いでしょうか?
www.amazon.co.jp/exec/obidos/ASIN/4781904548/
- 917 名前:デフォルトの名無しさん mailto:sage [05/01/16 01:52:56]
- ここはLISPや推薦図書のスレじゃありませんが。
- 918 名前:デフォルトの名無しさん mailto:sage [05/01/16 09:49:18]
- ここは流しのコンパイラ屋スレです。
- 919 名前:デフォルトの名無しさん mailto:sage [05/01/16 10:05:53]
- 糞コテのほんたまって自分でアセンブラとリンカ書いたの?
それともnasmとかのフロントエンド書いただけ?
- 920 名前:デフォルトの名無しさん mailto:sage [05/01/16 11:41:50]
- ”Slim de Can”のこと言ってるなら、たぶん>>919の勘違い
- 921 名前:デフォルトの名無しさん mailto:sage [05/01/16 13:41:51]
- "Slim de Can"って前はE言語という名前じゃなかったっけ?
- 922 名前:デフォルトの名無しさん mailto:sage [05/01/16 13:50:24]
- Slim de CanってPEヘッダとかセクション分けは自力で吐いてるの?
- 923 名前:デフォルトの名無しさん mailto:sage [05/01/16 14:49:08]
- そんなん聞いてどうすんだよ。てか本人に聞け。
- 924 名前:デフォルトの名無しさん [05/01/16 17:42:27]
- 収入の話だけど、最近は(善し悪しは別として)成果主義が結構
浸透していて、利益につながらないorつながりにくいと判断され てしまっているところが多いみたい。
- 925 名前:デフォルトの名無しさん mailto:sage [05/01/16 17:52:34]
- ふーん
- 926 名前:デフォルトの名無しさん mailto:sage [05/01/16 18:35:13]
- 学部生なのか専門学校生なのか知らんが、
こっちに移住してやってくれ ↓ pc5.2ch.net/test/read.cgi/prog/1071367436/
- 927 名前:デフォルトの名無しさん [05/01/16 22:21:21]
- 基本的な事で申し訳ないんですが、
文(Statement)と式(Expression)の違いは何ですか? あと、2つの違いは言語に依存しますか?
- 928 名前:デフォルトの名無しさん mailto:sage [05/01/16 23:28:12]
- 式は結果の値を持つ。
文は制御構造しか持たず、結果の値はない。 Cは両方あるが、 Lispは式しかない。
- 929 名前:927 mailto:sage [05/01/17 19:39:40 ,]
- ・値を持つもの→式(Expression)
・値を持たないもの→文(Statement) ということですね。明確な回答ありがとうございます。 言語によっては必ずしも両方持たないものもあるようですが、 この定義が異なるようなケースor言語ってありますか? それとも、この定義は一般的なものですか? 質問ばかりですいません。 いろいろ調べてはいるのですが、明確に定義or区別しているものに出会えず、 いままでなんとなく津かって来ましたので。。。
- 930 名前:デフォルトの名無しさん mailto:sage [05/01/17 20:48:43 ]
- > いろいろ調べてはいるのですが、明確に定義or区別しているものに出会えず、
その「いろいろ」に言語仕様書は入って無いのか。
- 931 名前:デフォルトの名無しさん mailto:sage [05/01/17 22:18:36 ]
- >>929
一般用語としてはそうだけど、 最終的には言語仕様でどう言葉を定義するかによる。 C言語で戻り値voidの関数呼び出しなんて 式なのに値がないかも(void型の値を持ってるのかもしれんが)。 あと、昔オレがCに似た構文のスクリプト言語作ったときは Cの文に似たものを文と呼ぶことにしたが、文は全て値を持ってた。
- 932 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:34:26 ]
- それは式だよ
値を返すなら文と呼ぶ意味が無いし Rubyも制御構造が式だけど用語の整理ができてないみたい
- 933 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:47:28 ]
- >>932
用語の統一なんて、あって無いようなものだろ?
- 934 名前:デフォルトの名無しさん mailto:age [05/01/17 23:50:50 ]
- ちょっと気になったんで、K&R(古〜)を取り出してみた。
確かに、式に含まれる式の種類や、文に含まれる文の種類は 細かく書かれてあったが、式自体の定義と文自体の定義(そ の違いを含む)は書かれてないな。
- 935 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:55:23 ]
- C言語の <expr> ; は式文(expression-statement)と呼ばれるから
区別はつくでしょ。 式の中にif文やfor文置けるわけじゃないし そういう拡張したならif式とかfor式と呼ぶべき
- 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を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|