こんなコンパイラは嫌だ!3行目

このエントリーをはてなブックマークに追加
342デフォルトの名無しさん
コードの9割以上がC++で書かれているにもかかわらずC++のメイン関数がなく、
Rubyの拡張ライブラリとしてC言語インターフェースを介して呼び出されるという実装の
C言語風特定分野向け言語のコンパイラ。

挙句、XMLに埋め込まれたRubyと独自パターン言語とC言語ライクなスクリプト言語で
各ステップの変換処理が表現されている。
このためコンパイラにはBison++で書かれたパーザの定義が4つと
SAXなXMLパーザを使うハンドラが2つ含まれる。

加えてベームのコンサバティブGCライブラリとRubyのGCが同居。
そしてもちろんドキュメントはなく、開発者は外国人研究者。

・・・という状況で、
さらにこのモンスターを一ヶ月でLinuxからWindows上に移植しろと言われるのはどうか?
343デフォルトの名無しさん:2005/09/26(月) 23:57:07
追加ダメージ:
ちなみに中間表現のデータ構造はC++側ではなくRuby側で定義されている。
344デフォルトの名無しさん:2005/09/27(火) 00:50:36
>>342
なんか技術に溺れたやつが作ったって感じ。
ご愁傷様…
345デフォルトの名無しさん:2005/09/27(火) 01:11:07
>>344
で、その外人研究者、
移植に苦労してる横ですごい勢いで連日Linux版をVerUPしてくんだよな。
後でソース統合するときに苦労すると思うが…。
ああ、あのとっちらかった10万行のソースをあのペースで
VerUP可能にする強靭なバイタリティの何割かで
ドキュメントとモジュールの単体テストくらい書いてくれないかなぁ。
346デフォルトの名無しさん:2005/09/27(火) 03:57:39
>>342
パーザ?パーサーじゃね?

>>343
何でわざわざ中間言語がRubyなの…
347デフォルトの名無しさん:2005/09/27(火) 04:00:01
案外、コンパイラに詳しい奴が多そう
348デフォルトの名無しさん:2005/09/27(火) 04:01:56
コンパイラのつくりかた教えてください
349デフォルトの名無しさん:2005/09/27(火) 04:28:07
ドラゴンブックとかそこらへんの本買え。
350デフォルトの名無しさん:2005/09/27(火) 07:22:14
クマー
351デフォルトの名無しさん:2005/09/27(火) 08:41:55
>>342
こういう話を聞くとプログラマにだけはなりたくないな、って思う。
352デフォルトの名無しさん:2005/09/27(火) 10:45:45
>>346
er には伸ばし棒(ー)をつけて下さい。
http://pc8.2ch.net/test/read.cgi/tech/1014691583/l50
自分自身は昔はパーサーつってたけども長年周囲がパーザ、
あるいはパーサと発音するので染まった。

>>343については:
私はプロジェクト3年目の今年拾われた上にボスは兼務で不在勝ち、
古い人はその外人研究者以外よそに移っちゃってるんで初期の事情は不明だが、
多分最初は本格的なコンパイラにするつもりはなく、
Rubyでチョチョイとパターンマッチ&書き換えでやっつけるつもりが
だんだんハマったんじゃないかとは思う。
書いてる外人研究者は対象となる特定分野の専門家ではあるが
コンパイラは専門じゃない(ズブの素人ではないにせよ)からね。

手っ取り早く既存のコンパイラ・フレームワーク(COINSとかSUIFとか)使って
段階的に書き換えてちゃんとしたコンパイラに移行する提案をしているが、
研究のパートナー企業から期限についてプレッシャーを受ける中どこまでできるか…。

>>351
ナリユキ(言葉にメッキをかけて「歴史的事情」ともいう)で
モンスター・システム(やモンスター組織、モンスター慣習)ができちゃうことは
残念ながらどこの業界でもよくあるハナシさ。
世界に冠たる日本の官僚組織みたいに組織構成がモンスターになってるよりは
プログラムの方がまだ直しやすいw
353デフォルトの名無しさん:2005/09/27(火) 11:33:34
愚痴スレに誘導するコンパイラ

ぐち0x12 〜底なし沼はなお深く〜
http://pc8.2ch.net/test/read.cgi/prog/1116475364/