[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 02/13 17:41 / Filesize : 228 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

「コンパイラ・スクリプトエンジン」相談室4



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 あたり

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]
カウフマンつーとサイレントヒルだな
医者。仮眠明けで起きると誰も居ないでモンスターだらけと説明。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<228KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef