「コンパイラ・スクリ ..
[2ch|▼Menu]
655:デフォルトの名無しさん
04/12/30 21:03:09
>>626
その話題は
スレリンク(tech板)l50
にぴったりだ、一発ブチかまして良スレにしてやってくれ。

656:デフォルトの名無しさん
04/12/30 21:07:06
>>643 のリンク先見たけど開発者がこれでは…
ずっとマイナーなままなのそれなりに理由があるからだろ。

657:デフォルトの名無しさん
04/12/30 21:08:56
>>656
その理由を
スレリンク(tech板)l50
に書きなさい、ちゃんと議論してみろ。

658:デフォルトの名無しさん
04/12/30 21:09:13
matzはジョークのひとつも言ってはいけないのか……

659:デフォルトの名無しさん
04/12/30 21:11:10
面白ければ許可する

660:デフォルトの名無しさん
04/12/30 21:14:30
Rubyアンチに「じゃあ、Rubyの欠点を挙げてみろ」と言うとだんまりになってしまうのが面白くてしかないwww

661:デフォルトの名無しさん
04/12/30 21:16:29
マイナーすぎてレンタル鯖で使えない所が多い。

662:デフォルトの名無しさん
04/12/30 21:18:32
cgi.rbの 1.8 や 1.8.2 であった問題

663:デフォルトの名無しさん
04/12/30 21:19:39
Unicode、半角カナを含めた文字コードの扱い

664:デフォルトの名無しさん
04/12/30 21:19:45
>>661
今をときめくライブドアで使えますが?

665:デフォルトの名無しさん
04/12/30 21:21:28
>>661-663
ほら書き写してやった、向こうでつづけて書け。

666:デフォルトの名無しさん
04/12/30 22:41:49
Windowsでexeが作れない


667:デフォルトの名無しさん
04/12/30 22:49:56
自己記述ができない

668:デフォルトの名無しさん
04/12/30 22:55:43
開発者が
>それくらいだったらマイナーなままでいてくれた方がずっと良い。
って言ってるんだからマイナーなんだろ。

669:デフォルトの名無しさん
04/12/30 23:08:48
今度は厨が良い所を挙げてくれ。

670:デフォルトの名無しさん
04/12/30 23:59:16
BNF記法の正式な書き方ってありますか?
なんか検索して色々なサイト見るとそれぞれ
若干記述の方法がちがうんですよね。
あとEBNFについての書き方ってのは
調べても詳しく解説してるサイトがないんですよね。
識者の意見求む!

671:デフォルトの名無しさん
04/12/31 00:18:58
>>670
表記法は規格によって様々だけど、表す物は同じ
一番元になったAlgolの時点では、
<>で囲った物が非終端記号
::=が超記号
|がOR
の3つ。

EBNFになって
省略可能が[...]
0回以上の繰り返しが{...}
くくりが(...)
という書き方が可能になった

とコンパイラ構成法に書いてあります

672:デフォルトの名無しさん
04/12/31 00:24:06
Rubyで金取れる仕事ってできるの?(品質保証込み)わしバグとか怖くて使えんけどまじで
大丈夫なの?

673:デフォルトの名無しさん
04/12/31 00:28:41
おk

674:デフォルトの名無しさん
04/12/31 01:00:50
>>670
規格になってるのには、ISO/IEC 14977:1996 とか RFC2234 とかがあったり。

675:デフォルトの名無しさん
04/12/31 14:17:23
>>671 >>674
レスありがとうございます。

>>671が示してくれた記述方法は
↓と同じですよね。(この記述方法が一番読みやすい)
URLリンク(www.wormjp.umin.jp)

でも>>674が示してくれた標準となっている「ISO/IEC 14977:1996」では
↓のように若干記述方法が違うんですよね。
URLリンク(www.atmarkit.co.jp)

ま、この2通りを知っておけばいいって感じですかね?

676:デフォルトの名無しさん
04/12/31 14:31:23
どれも憶えておけば、折衷式俺定義BNFが出てきても読める。

677:デフォルトの名無しさん
04/12/31 15:22:22
>>676
すまん


678:Rubyist!
04/12/31 15:47:47
PerlやPythonのシンタックスはヘタレでかつ、醜悪
よく公開する気になれるものだなこんなもの
しかもはっきり言って便利でも何でもないよこんなの
こんなの好きだって奴はアホそのものだな、イラネ−

679:デフォルトの名無しさん
04/12/31 16:38:57
Rubyの汚いend end endよりはPythonのソース
の方が綺麗

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の方々にはまことに同情するよ。

683:デフォルトの名無しさん
04/12/31 16:48:03
俺が作ったわけじゃいけどCやPerlやPythonの方が流行ってるよw
もしかしたらHSPの方が流行ってね?www

684:デフォルトの名無しさん
04/12/31 16:50:37
LarryやGuidoのような才能の無い人間が作った言語が流行るのは、勘違いクンが増えるので良くない。
つか、悪い。もはや悪事。奴等は恥を知れ。

685:デフォルトの名無しさん
04/12/31 16:54:15
>>683
俺はRuby信者じゃない。
批判のフリした罵りが見苦しいだけ。
第三者が読んで含蓄のある批判をしてみたまえよ、みっともない。

686:デフォルトの名無しさん
04/12/31 17:00:50
少なくとも俺にはまともな批判に見えるがな
メジャーじゃない
これは立派な不満点だ
お前の方が煽りに見える

687:デフォルトの名無しさん
04/12/31 17:02:51
この板もid欲しいな。

688:デフォルトの名無しさん
04/12/31 17:21:29
アンチも信者も評価軸は同一次元上にあるんだよ。
信者は何があろうと持ち上げるし、
アンチはなにがあろうとくさすからな。
どっちも同じくらい間抜けだし邪魔だ。

だがRubyの場合はただ煽りたいだけの馬鹿がいるのよな。
これRubyやmatzのせいか?

あとメジャーじゃない点は確かに批判になりうるが、
でもそれはお前、pointy-haired bossじゃねえかよ。

689:デフォルトの名無しさん
04/12/31 17:24:11
まー万人に好かれる物を作るってのは無理だろな
ここで叩いてる連中も自分で何か作ったら同じように叩かれるがいいさ。

690:デフォルトの名無しさん
04/12/31 17:29:32
別に叩かれても全然構わん。
それを見て精進するだけの話。
叩かれたからってファビョるなよな。

691:デフォルトの名無しさん
04/12/31 17:31:18
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

692:デフォルトの名無しさん
04/12/31 17:32:06
ここまで強烈なアンチを生み出したことをRubyは誇ってよいぞ。

693:デフォルトの名無しさん
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:デフォルトの名無しさん
04/12/31 17:38:02
Rubyは嫌いじゃないんだが痛い信者が居るのがいやなんだよなぁ。

695:デフォルトの名無しさん
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:デフォルトの名無しさん
04/12/31 18:14:25
>>695
根拠も無しに都合の悪い事は全てアンチの仕業にしてるアンタも
見ていて痛々しいぞ。

699:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
04/12/31 18:33:46
最早このスレを破壊したくてやっているとしか思えないな・・・

702:デフォルトの名無しさん
04/12/31 19:25:00
みんなスレたいを見てから書き込んでくれ

703:デフォルトの名無しさん
04/12/31 19:27:43
|ω・`)ソーッ
嵐が収まったようなので質問させて下さい。
boost::spiritでyaccの%left %rightに相当するような
結合・優先順位の設定は可能でしょうか?
やはりBNFで表現するしかないのでしょうか

704:デフォルトの名無しさん
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:デフォルトの名無しさん
04/12/31 19:54:48










      ____
     | ,__ _|   | ̄|                         | ̄ ̄ ̄ ̄ ̄ ̄ ̄|
     | |_| |  __|  |__,                       | | ̄ ̄ ̄ ̄ ̄| |
     | ,__  ̄||__  __|     ┌───┐       | |_____| |
     | |_| | ̄   |  |          |  ネット ヲ  ::.|       .:| _____ |
     | ,__  ̄|   i’  'i,          |  ナメンナ! ::|         .| |       :| |
     | |_| | ̄  i'   'i、         |_________:|       :| |_____| |
     |___ ̄|/ /^ヽ ヽ        ヽ( ゚Д゚)ノ         .| _____ .|
    i-ii-ii-ii-i |  | /  ヽ ヽ         ( へ)           :| |       | |
    L.iL.!L!L.! | |/ く^\ ヽ ヽ         く              :| |_____| |
      ┌―' ,|  \ノ ヽ/                       .|_______|
      └─―‐"










706:デフォルトの名無しさん
04/12/31 21:06:10
>>703
別にEBNFで表現しても大して難しくないんとちゃうの?

707:デフォルトの名無しさん
04/12/31 23:43:07
>703
マニュアルにはなかったよ。

708: 【270円】
05/01/01 03:18:11


709:703
05/01/01 03:28:14
>>706,707
レスdクス。
やはり無いですか…
spiritで書くと、正直な所あまり綺麗ではないし分かりづらいので、
行数節約出来るに越したことはないかな、と思ったのですが…
おとなしく構文で規定することにします。

クオリティ低い質問でスンマソン(;´Д`)

710:デフォルトの名無しさん
05/01/01 04:45:46
HSPが仕様がクソでそれで作る人が馬鹿でも構わないが、
どの辺がクソか?言うか、もっと良い仕様のスクリプトを作って
公開すれば?


711:デフォルトの名無しさん
05/01/01 05:19:57
> もっと良い仕様のスクリプトを作って

既存のもっと良いものを指摘するだけでも十分でしょ?



712:デフォルトの名無しさん
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:デフォルトの名無しさん
05/01/01 13:52:52
>>713
じゃあお前が批評してみろ

716:デフォルトの名無しさん
05/01/01 13:54:54
俺が批判してやろう

717:デフォルトの名無しさん
05/01/01 14:27:42

   ∩___∩ 
   | ノ      ヽ  
  /  ●   ● |   
  |  //// ( _●_)  ミ    
 彡、    ヽ(⌒ヽ/   Ruby、プッ
/ __    \  ヽ
(___)   / `ー‐'



718:デフォルトの名無しさん
05/01/01 16:05:18
Ruby厨に「じゃあ、Rubyの良い所を挙げてみろ」と言うとだんまりになってしまうのが面白くてしかないwww

719:Rubyist!
05/01/01 16:18:21
↑コピペつまんね。OHP見ろ。

作品として公開されたものが批評されるのは当たり前の事だが、
批評する以前の問題(サンプルを見ただけ、もしくはインストールすらしない、とか。まあ大抵のUNIXには入ってるけどなw
窓厨には敷居が高いかもしれん(pu)な奴が多すぎだ。
食わず嫌いに「批評」はできるのかと。

720:デフォルトの名無しさん
05/01/01 16:21:01
少しはマトモな議論に戻ろうぜ

・Rubyの(言語としての)メリット
 - オブジェクト指向の皮を被ったマルチパラダイム
 - プロトタイプベースチックなクラスベース(特異クラス・メソッド)
  -> 高い柔軟性を持つ
 - 充実したシンタックスシュガー

・デメリット
 - 実行パフォーマンスが悪い。スピード求めるならC&C++で。
 - 作者(matz)が保守的すぎて新しいパラダイムを受け付けなくなっている。
 - 構文が複雑。シンプル化も進まない。
  (シンタックスシュガーが充実している反面でもあるけど)


かねえ。Ruby2.0でどうなるかだけど、進退窮まっている感じがするよね。


721:デフォルトの名無しさん
05/01/01 16:55:52
>>719
アンタの意見も根拠の無い妄想ばかりでつまらんのだけど。

722:デフォルトの名無しさん
05/01/01 18:04:37
HSP vs Ruby論争はこっちでやれ


言語仕様と開発論法
スレリンク(tech板)


723:デフォルトの名無しさん
05/01/01 18:21:35
むしろここでやれ
HSP vs Ruby
スレリンク(tech板)

724:デフォルトの名無しさん
05/01/01 18:24:57
いやここでやれ

725:デフォルトの名無しさん
05/01/01 18:27:58
ここもあるよ
【因縁の】DelphiVSHSPVSRuby【対決】
スレリンク(tech板)

726:デフォルトの名無しさん
05/01/01 18:28:39
ワロタwwwwwwwww
HSP厨もRuby厨も頭悪すぎwwwwwwwwww

727:デフォルトの名無しさん
05/01/01 21:12:29
>>726
HSP厨のアホさ加減は半端無いよなw

728:デフォルトの名無しさん
05/01/01 21:41:57
>>727
よくこういった書き込みみるけど、具体的な内容を指摘したものは
いまだかつて1度もないw


729:デフォルトの名無しさん
05/01/01 21:56:12
今時あんなBASIC風の古臭い言語が流行ってるのは
日本にとってかなりマイナスだと思う。

730:デフォルトの名無しさん
05/01/01 23:11:00
>>729
他の国のプログラマはオブジェクト指向言語から始めてるのかい?

731:デフォルトの名無しさん
05/01/02 00:45:30
無難にC/C++から始めてると思う。
スクリプトならPython+SDLのPygameとか。
URLリンク(www.pygame.org)

732:デフォルトの名無しさん
05/01/02 01:03:25
これで日本と海外のソフトウェア開発力の違いの原因が良く分かりましたね

733:デフォルトの名無しさん
05/01/02 01:07:51
初めての言語なんてその後ちゃんとオブジェクト指向を学べば関係ないだろ
N88BASICから始めた俺にはかなり不愉快

734:デフォルトの名無しさん
05/01/02 01:14:47
このスレでくだらん論争してる奴が馬鹿なのは間違いないな。

735:デフォルトの名無しさん
05/01/02 01:19:40
>>733
それはそういう時代だったからだろ。
俺も最初の言語はBASICだったし。
でも今あえてBASICみたいな言語から始める理由は無いと思うが。
HSPもCも覚える労力はそんなに差はないでしょ。

736:デフォルトの名無しさん
05/01/02 01:34:28
最初に何を覚えようがその後覚える技術は本人次第でいくらでも覚えられる
最初がCだろうがHSPだろうが関係ない


737:デフォルトの名無しさん
05/01/02 01:48:59
インタプリタなC++がいいってこったね('A`)

738:デフォルトの名無しさん
05/01/02 01:55:44
話は変わりますがparrotってどうですか?

739:デフォルトの名無しさん
05/01/02 01:58:27
Perl6のランタイムのこと?

740:デフォルトの名無しさん
05/01/02 02:00:21
Rubyなんてプッて感じ。
ブロック扱うためにイテレータとか言って特殊構文導入しちゃって必死すぎw
それでも全然自己記述出来ないのな。Lispには遠く及ばないな。
Smalltalkの統一性にも全然及ばないwww
ユーザーも各スレ荒らしまくって最悪だしな。

741:738
05/01/02 02:02:43
>>739
そうです。
なんか、「他の言語からも使ってもいいよ」みたいなことが書いてあったので、
どんなもんかなと思ったんですが。

742:デフォルトの名無しさん
05/01/02 02:10:32
>>741
不勉強にして知らなかったからちょっと調べてみた。
URLリンク(www.namikilab.tuat.ac.jp)

とりあえずPerl用に作られたVMなんすね。
この種のものってJVMじゃダメなのかな…
面白そうなのでもうちょっと調べてみます。いい拾い物をしたw

743:デフォルトの名無しさん
05/01/02 02:15:44
> 現在の Perl 5 の VM はスタックマシンだ(訳注:そうだったんだー)
そうだったんだ…

744:デフォルトの名無しさん
05/01/02 02:24:49
>print "String" とか、レジスタの値を表示するためにprint I3 とか、書けるけど、
>Parrot の演算は多態(polymorphic)ではない。
>アセンブラがちょっとトリッキーなことやって対応してる。

こういう変なHack入れるとグダグダになりそうな気がするんだけどなあ…

745:デフォルトの名無しさん
05/01/02 02:29:59
>>744
ただオペランドの種類で命令をリダイレクトしてるだけとちゃうの?
その程度ならさほど問題にはならなそうだけど

746:デフォルトの名無しさん
05/01/02 02:32:17
>>745
うん、ちょっと読み進めたらまさにそう書いてあったorz

747:738
05/01/02 02:41:58
URLリンク(www.parrotcode.org)

俺の受けた印象では、Groovyとか、違う言語からJavaバイトコードを
使おうってのとか、.NETのCLRとかも含めて、そういう
ものと似た動きに見えるんですがどうですか?
ならまじめに勉強して損はないかなと思うんですが。
最近そういう動きが盛んだな…

748:デフォルトの名無しさん
05/01/02 03:01:23
アプリケーションからハードは一切触らない、みたいな。それこそ
単純な加算などでさえも。

749:デフォルトの名無しさん
05/01/02 03:05:37
Parrot入れてみたんだが、SDLも既にバインドされてたりするのね…

750:デフォルトの名無しさん
05/01/02 03:10:26
これって出て来た?
URLリンク(www.namikilab.tuat.ac.jp)

751:デフォルトの名無しさん
05/01/02 04:31:04
>>750 >>742

752:デフォルトの名無しさん
05/01/02 12:50:19
C/C++で日本語プログラム作らないんだな、

753:デフォルトの名無しさん
05/01/02 12:53:20


754:デフォルトの名無しさん
05/01/02 14:53:29
parrotなんか糞
perl6はrubyの劣化コピー

755:デフォルトの名無しさん
05/01/02 16:27:28
Parser を正しく発音すると「パーサー」「パーザー」のどっち?

756:デフォルトの名無しさん
05/01/02 16:31:55
米語発音がパーサー。どっちも正しい

757:デフォルトの名無しさん
05/01/02 16:33:18
>755
URLリンク(dictionary.goo.ne.jp)

758:デフォルトの名無しさん
05/01/02 17:24:33
pythonの言語仕様は素晴らしいと思う。

759:デフォルトの名無しさん
05/01/02 18:26:43
>>758
言語仕様と開発論法
スレリンク(tech板)

こちらへどうぞ

760:デフォルトの名無しさん
05/01/02 19:30:46
>>747
流行ってるわけでも無いVMの勉強って
損得で言ったらどっちになるか微妙だとおもうぞ。

761:デフォルトの名無しさん
05/01/02 22:03:31
コンパイラ作る練習にいいかも

762:デフォルトの名無しさん
05/01/02 22:40:11
>>754
つInline::Ruby

763:デフォルトの名無しさん
05/01/03 11:29:03
>>760
やっぱ、やるならjavaのVMでつか?

764:デフォルトの名無しさん
05/01/03 16:44:26
どういう目的でVMの勉強したいのかわからんが
とりあえずJavaが無難じゃない?

765:デフォルトの名無しさん
05/01/03 17:25:44
いきなりJVMやるならアセンブラでも覚えたほうがいい

766:デフォルトの名無しさん
05/01/03 17:44:32
ここはやるスレじゃなくて作るスレなんで

767:デフォルトの名無しさん
05/01/03 18:22:40
作る前にやらんと意味わからん

768:デフォルトの名無しさん
05/01/03 18:23:39
そらそうだ

769:デフォルトの名無しさん
05/01/03 18:30:47
ここは作るスレじゃなくて相談室なんで

770:デフォルトの名無しさん
05/01/03 19:58:29
おまいら会話がエロすぎます。

771:デフォルトの名無しさん
05/01/03 21:26:12
作っちゃった時の相談もここ?

772:デフォルトの名無しさん
05/01/04 01:09:27
VBやDelphiなどの言語のコンパイラを
勝手に作ったら特許とかに引っかかりますかね?

773:デフォルトの名無しさん
05/01/04 01:10:53
>>772
先ず作ってから心配しろ。


774:デフォルトの名無しさん
05/01/04 01:11:52
>>773
作った後に駄目だったらキツイでしょ?

775:デフォルトの名無しさん
05/01/04 01:29:06
>>772
A.言語仕様自体は特許にならないから大丈夫。

ただし、付属しているライブラリは特許・著作権で保護されるので
そっちの回避法を考えておかないと駄目。

776:デフォルトの名無しさん
05/01/04 01:37:27
質問です。
コンパイラ本に良く載ってる実行時環境(スタックマシンとかレジスタマシンとか)っていうのは
何のためにあるんですか?最適化をしやすくするため?
実行時環境とか用意しなくても直接構文木を記号表と照らし合わせながら
実行コードに変換していく様な事はできないんですか?

777:デフォルトの名無しさん
05/01/04 02:16:26
↑自己解決しました。勘違いでした。

778:デフォルトの名無しさん
05/01/04 02:23:09
HSPくらいの言語なら簡単に作れますか?

779:デフォルトの名無しさん
05/01/04 02:24:06
>>778
あなたには無理です

780:デフォルトの名無しさん
05/01/04 02:24:16
最適化をあまり気にしなければ。

781:デフォルトの名無しさん
05/01/04 02:26:11
>>776
ただ単純に説明を楽にするためじゃないの?
「勘違いでした」って何を?

782:デフォルトの名無しさん
05/01/04 06:04:48
>>781
仮想マシンのスタックマシンと、CとかPascalのスタックベースメモリ割り当てを勘違いしてました。

783:デフォルトの名無しさん
05/01/04 11:38:53
>>775
ありがとうございます。
とりあえず勉強を兼ねてVBコンパイラ作ってみます。

784:デフォルトの名無しさん
05/01/04 16:17:36
LSI C-86 試食版
で、コンパイラをつくってみよ〜

785:デフォルトの名無しさん
05/01/04 20:40:08
質問させていただきます。
bnfを使って出来ることって字句解析、構文解析までですよね?
意味解析、中間コード生成までを定義できるようなbnfにしたいのですが、
そのような拡張がされたbnfの構文というのはあるのでしょうか?

786:デフォルトの名無しさん
05/01/04 20:54:45
>>785
とりあえず属性文法を学ぶのが良いと思う。


787:デフォルトの名無しさん
05/01/04 21:31:27
>>785
わりと参考になった本を紹介しときます。(関係者じゃないですよ、念のため。)
URLリンク(www.amazon.co.jp)

788:デフォルトの名無しさん
05/01/04 21:57:33
Rie 属性文法
fURLリンク(ftp.is.titech.ac.jp)


789:デフォルトの名無しさん
05/01/05 05:27:11
なるほど属性文法ですか。
手元の本でちょっと調べてみましたが
意味解析以降は格段に難易度上がりますね。
ちょー難い!

790:デフォルトの名無しさん
05/01/05 06:15:19
属性文法(((( ;゚Д゚)))

791:デフォルトの名無しさん
05/01/05 22:42:48
普通は、構文解析以降は手書きじゃ???

792:デフォルトの名無しさん
05/01/05 22:57:49
何が普通なんだか…

793:デフォルトの名無しさん
05/01/05 23:24:54
>>791
つまり、bnfのような定義ファイルにはできないってこと?

794:デフォルトの名無しさん
05/01/05 23:33:32
すぐ上にあんじゃねーか

795:デフォルトの名無しさん
05/01/05 23:45:45
YACCに限界を感じて、そろそろというプロジェクトはいくつかあるが、
パーサ手書きというのは、実用的なソフトではほとんどナイ。


796:デフォルトの名無しさん
05/01/05 23:55:10
>>794
属性文法の書式を例を踏まえて教えれ。

797:デフォルトの名無しさん
05/01/06 00:05:13
>>795
最近のgccは手書き。
次期rubyも手書きの予定。

798:デフォルトの名無しさん
05/01/06 00:16:18
>>794
fURLリンク(ftp.is.titech.ac.jp)

799:デフォルトの名無しさん
05/01/06 00:39:55
属性文法使ってる処理系なんて聞いたことないぞ。
lexやyaccまでなら聞くけど。
構文解析以降は手書きじゃないか?

800:デフォルトの名無しさん
05/01/06 00:48:02
日本語の不自由な方がおらっしゃられるようです

801:デフォルトの名無しさん
05/01/06 01:02:19
Rieくらいは聞いたことあるんじゃないか?市販の製品に使われたって
言うのは聞かないけれども。

802:デフォルトの名無しさん
05/01/06 01:04:04
藻前らはコンパイラ作って市販するつもりなのか?

803:デフォルトの名無しさん
05/01/06 01:05:07
コンパイラ屋くらいだろうな、そんなことするの。

804:デフォルトの名無しさん
05/01/06 01:05:50
理恵タソ(;´Д`)ハァハァ

805:デフォルトの名無しさん
05/01/06 08:04:07
現場ではどうなのかわからないけれども、最適化ステージと
コードジェネレータを全部手書きってのは無いんじゃないかなあ。

最適化とコードジェネレーションについては、
Muchnick: Advanced Compiler Design & Implementation,
Morgan Kaufmann, 1997 が実践的で参考になった。


806:デフォルトの名無しさん
05/01/06 09:29:25
カウフマンつーとサイレントヒルだな
医者。仮眠明けで起きると誰も居ないでモンスターだらけと説明。

807:デフォルトの名無しさん
05/01/06 10:46:42
コンパイラ作る時のお勧めの中間コードは何ですか?

808:デフォルトの名無しさん
05/01/06 11:00:29
中間コード?
1パスにそんなもん必要ない

809:デフォルトの名無しさん
05/01/06 11:04:20
1パスでレジスタ割り当てとかの最適化まで出来るのですか?

810:デフォルトの名無しさん
05/01/06 14:17:14
どんな最適化を実装するつもりか自分でわかっているなら、
おのずと適切な中間コードもわかるはず。それが分かっていない
>>807にはどうせ非最適化コンパイラも作れない罠。

811:デフォルトの名無しさん
05/01/06 22:54:47
上の張ってある書籍ですが、読む順番はあるんですか?
ちなみに私は、Cをはじめてまだ1ヶ月です。

812:デフォルトの名無しさん
05/01/06 22:56:16
>>811
プログラミングを初めて1ヶ月?

813:デフォルトの名無しさん
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:デフォルトの名無しさん
05/01/06 23:44:02
>>814
手持ちでは…2003年8月号に
「コンパイラの仕組みを理解しよう」って特集があるけど、
そこまで突っ込んでは書いてない。

817:デフォルトの名無しさん
05/01/07 00:05:22
>>816
情報ありがとうございます。
私の手持ちで2003年1月号に「コンパイラの作成」
というそのものズバリの物がありました。

818:デフォルトの名無しさん
05/01/07 00:07:54
>>817
見事にその号が抜けてる orz
どのあたりまで書いてありますか?

819:デフォルトの名無しさん
05/01/07 00:52:08
Cマガの特集レベルなんてたかが知れてる
昔のインターフェース誌は濃かったなあ

820:デフォルトの名無しさん
05/01/07 00:55:04
インターフェースもCマガみたくバックナンバーをPDFにして売ってくれたりしないのかなぁ

821:デフォルトの名無しさん
05/01/07 01:02:21
>>820
しているじゃないか。

822:デフォルトの名無しさん
05/01/07 01:12:37
>>821
うお、知らなかった…_| ̄|○
01年までですか…。90年代のやつがもう一度読みたいんだけどなぁ

823:デフォルトの名無しさん
05/01/07 12:44:16
>>818
字句解析、構文解析、意味解析、コード生成までが
非常に分かりやすく書かれてます。
20ページくらいでソース付きです。

824:デフォルトの名無しさん
05/01/07 14:43:10
>822
URLリンク(www.sbpnet.jp)

825:824
05/01/07 14:44:52
ごめん、インタフェースも、か。読み間違えた。

826:デフォルトの名無しさん
05/01/07 17:31:22
URLリンク(www.csg.is.titech.ac.jp)

827:デフォルトの名無しさん
05/01/08 03:28:16
●プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝
上記の本を買おうと思ったら、中身パスカルだったぞ。
他のコンパイラの本もパスカル+Cって内容だった。

Cのみの本はないのか?

828:デフォルトの名無しさん
05/01/08 03:32:21
>>827
その本俺も持ってるし、俺はCしか書けないけど、大体読めるから自分で
書き直せるっしょ。元々そういう意図があるから複数の言語で書いてないん
じゃないの?

829:デフォルトの名無しさん
05/01/08 07:40:38
>827
なぜCのみである必要が?
パスカルのみでも読めるでしょ
逆に読めないなら問題

830:デフォルトの名無しさん
05/01/08 16:25:31
今の人には読めない読めない
無理も無い
パシカル本は今の本屋にどこにも置いてないからね
もしCより簡単だと言われても敬遠するだろう
パスカルで書かれているという事は大抵古い本で、
ポインタ記法とか本ごとに違ってたりするし
構文なのか演算子なのかわからない物もある
.の置き方に一貫性ないし
読んでもただ、混乱するだけである

831:デフォルトの名無しさん
05/01/08 16:31:00
Pascalの方が綺麗でしょ。
Cみたいにメモリ周りの汚さはなくて、純粋にアルゴリズムを記述しやすい。

832:デフォルトの名無しさん
05/01/08 16:39:23
綺麗・汚いの話をしてるわけではない


833:デフォルトの名無しさん
05/01/08 16:43:55
>>832
綺麗なら読みやすいだろう。
言語を覚えるコストよりもソースを読み解いたり書いたりするコストの方が遥かに高い。

834:デフォルトの名無しさん
05/01/08 17:13:11
読みやすさの話をしてるわけではない
綺麗ならSchemeの方が良い

835:デフォルトの名無しさん
05/01/08 17:17:09
>>834
では何の話なの?わかりやすく教えて。

836:デフォルトの名無しさん
05/01/08 17:18:18
本がないという理由なら、WEB上のリソースでも十分だけど。

837:デフォルトの名無しさん
05/01/08 17:32:26
なぞなぞです

838:デフォルトの名無しさん
05/01/08 17:36:59
>>834
関数型言語と手続き型言語では、さすがにプログラミングの定石からして
全く違うだろ。

記法が書籍毎に異なるなんてのは、良くある話。コンパイラ系の書籍だと
BNF 記法が良く出てくるが、あれも書籍毎に微妙に違ったりするし。その
あたりを自分で吸収できないようだと、専門書と取り組むのは難しい。

839:デフォルトの名無しさん
05/01/08 18:10:28
記法が多少違うなんてのはコンピュータに限らず、
大学で勉強すれば大抵でくわす話。


840:デフォルトの名無しさん
05/01/09 09:13:32
>>829
それはあんたはすでにパスカルを知っているから。
またはあんたが十分かしこいから。
よのなかの人間はあんたほど賢くないんだよ。

>>830
はげどう。
Javaが広まった理由のひとつが、「CやC++と見た目が似てるから」。
そのくらい、自分の知ってる言語に似ているかどうかは重要。かしこくない人間にとっては。


841:デフォルトの名無しさん
05/01/09 09:53:52
pascalライクな擬似コードくらい読めるだろ普通。
ま、おまいが読めなかったとしても
CSを志すような人間は大抵おまいより賢いから心配ご無用。
少なくともそんなつまらん理由で萎縮しない程度にはな。


842:デフォルトの名無しさん
05/01/09 10:25:49
>>840のように賢くない人間はコンパイラなんか書くなということだな。

843:デフォルトの名無しさん
05/01/09 10:43:32
大丈夫、そんな人間に自力でコンパイラなんて書けない。
時間の無駄を省けていいじゃん。
大学入試の足切りみたいなもんだと思え(入ったってついてけない奴もいるが)。


844:デフォルトの名無しさん
05/01/09 11:46:44
真面目な話の途中で申し訳ないんだけど、parrot って結構良いね。
これをターゲットにコンパイラ書いたら面白そう(楽出来そう)。

URLリンク(www.parrotcode.org)

845:デフォルトの名無しさん
05/01/09 11:50:24
Javaの二番煎じ

846:デフォルトの名無しさん
05/01/09 11:59:39
JVM や CLR の系列だろうけど、ベンダーフリーでライセンスも緩いから使い易いと思う。

847:デフォルトの名無しさん
05/01/09 12:31:33
結構早いしな

848:デフォルトの名無しさん
05/01/09 12:34:28
てかParrot自体はちゃんと動くのか?
作ってもParrotのバグのせいでまともに動かなかったら悲しいぞ。

849:デフォルトの名無しさん
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:デフォルトの名無しさん
05/01/09 20:49:53
構文解析で必要な方。


852:デフォルトの名無しさん
05/01/09 21:45:12
>>850
作りたい言語似よるが、C や Pascal ライクな言語を作りたければ
後者の方が楽。

853:デフォルトの名無しさん
05/01/10 02:02:26
洗練されたPerl: Perl 6文法と正規表現
URLリンク(www-6.ibm.com)

854:デフォルトの名無しさん
05/01/10 02:08:04
Win32コンソール形式の実行ファイルを作りたいのですが
参考になるページはありませんか?
A := B + C
GOTO(L)
のような3番地文の中間コード形式の出力までは出来ています。

855:デフォルトの名無しさん
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:デフォルトの名無しさん
05/01/11 19:31:43
オライリyacc本が初売り在庫処分で100円だったので買ってしまった。
かなりすすけてるよ(´・ω・`)
読んでみますか。

859:デフォルトの名無しさん
05/01/11 23:06:22
ほ、欲しかった

860:デフォルトの名無しさん
05/01/13 20:23:21
構文解析ではよく構文木を作るって言うけど、
プログラムのデータとしてはどのように持てばいいのでしょうか?

861:デフォルトの名無しさん
05/01/13 20:36:53
リスト(木のノードも含む)とか配列じゃないかね。
LISPの場合はコードがそのまんま構文木なんだよな。
LISPに慣れてるならLISPと同じ構造を目指すとよい。
でもLISPのセルは普通の言語だとGCないから扱いにくい。


862:デフォルトの名無しさん
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:デフォルトの名無しさん
05/01/13 20:52:15
型やシンボルの属性情報はどうしてます?


864:デフォルトの名無しさん
05/01/13 21:06:58
記号表で別管理

865:デフォルトの名無しさん
05/01/13 21:13:32
(´・∀・`)ヘー


866:デフォルトの名無しさん
05/01/13 23:45:42
treeなんて意識しなくても大丈夫だよ。
あれはあくまでも学問。実務はパーサがやってくれる。


867:デフォルトの名無しさん
05/01/14 00:20:49
>>866
構文解析して即コードに落としちゃう場合はともかく、もう一ステージ挟む場合
(最適化するとか)は、いちど明示的にツリー作る必要があるよ。

868:860
05/01/14 00:39:11
>>861-862で
なんとなく考えが具現化してきました。
ただ今一分からないのが、字句解析で得たトークンを
構文解析でtree構造のデータとして持つとして
それを後の意味解析でどのように使うのでしょうか?

869:デフォルトの名無しさん
05/01/14 00:43:25
>>868
単純な最適化だと

        add
       /  \
       2     1

ってツリーがあったら、コンパイル時に計算して 3 に置き換えちゃうとか。

870:デフォルトの名無しさん
05/01/14 01:03:05
データフロー解析をする時は、ツリーを3つ組表現すると楽かも

871:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
05/01/14 18:45:57
難しいね。

λ......         λ......       λ......
  λ......            λ......

876:デフォルトの名無しさん
05/01/14 19:52:58
名前の分からないライブラリ関数を、動的に与えられた名前を用いて
コールすることとかって出来ますか?


877:デフォルトの名無しさん
05/01/14 19:54:21
アドレスが分かればできるよ

878:デフォルトの名無しさん
05/01/15 00:43:44
ld

879:デフォルトの名無しさん
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
言語処理って文型向きでしょうか?理系向きでしょうか?



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

5102日前に更新/228 KB
担当:undef