【コンパイラ・スクリプトエンジン】相談室
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0002リンク
NGNGhttp://cygwin.cjb.net/
0003これでどうよ
NGNGhttp://rananim.ie.u-ryukyu.ac.jp/~kono/lecture/2000/compiler/index.html
http://compilers.cs.uec.ac.jp/
http://www.arch.cs.kumamoto-u.ac.jp/project/kite/kiteasm/lex/
http://www.arch.cs.kumamoto-u.ac.jp/project/kite/kiteasm/yacc/
http://www.is.s.u-tokyo.ac.jp/~vu/96/cad/compiler.html
http://www.is.s.u-tokyo.ac.jp/~vu/97/jugyo/processor/soft.html
http://www.ulis.ac.jp/~nakai/rel_web_compilers.shtml
http://member.nifty.ne.jp/nakamula/recurs.htm
http://www.tokumaru.org/
0004デフォルトの名無しさん
NGNGhttp://compilers.iecc.com/
それとガベージコレクタの話題もOKにしない?
0005デフォルトの名無しさん
NGNGC/C++でガーベジコレクタは必要だと思いますか?
LISP/Schemeだとセルの大きさが一定な事が多いから、かなり回収率が良い気がしますが、この推論は正しいですか?
0006デフォルトの名無しさん
NGNGネイティブオブジェクトコードに変換して実行するうまい方法はありますか?
00074
NGNG> ガベージコレクタはマークスイープ法の他に何かありますか?
http://www.iecc.com/gclist/GC-faq.html
とかどうですか?
00084
NGNGそういう用途にはスクリプト言語を使わずに
Cで書いたのを呼び出すとかしたほうがいいと思います。
一応こんなのもあるみたいです(ネイティブコードを実行させている)。
http://www19.freeweb.ne.jp/computer/yaneurao/ygs2k/
0009デフォルトの名無しさん
NGNGmalloc/freeの問題と同じと考えて良いでしょうか。
best-fit法とかfast-fit法ぐらいしか知らない者で…。
00106>8
NGNGもしかして、最近のエミュレータとかもこういう形式ですかね。
00115
NGNG参照カウンタ(リファレンスカウンタ)は自己参照がある場合は使えないですね。
JargonとCopyingはどんなアルゴリズムかな。
00124
NGNG(よく知らないですが)Jargonってのはアルゴリズムじゃなくて
その分野特有の言葉のことだと思うんですけど、、、
http://www.iecc.com/gclist/GC-algorithms.html#Jargon
root setとかlive dataとか書いてるし。
0013デフォルトの名無しさん
NGNGメモリ領域の移動(空き領域を1つにまとめる。デフラグみたい?)
はメモリコンパクションって呼んで
厳密にはGCとは別物
ただ一緒にやってしまうGCの実装も多そうだし
アルゴリズムによっては下記みたいに自動的に
コンパクションもできてしまうものもある
>>11Copyingはたしかヒープを2つに分けて片方がいっぱいになったら
必要なものだけたどってもう一方にコピーするヤツだと思った
メモリの無駄が多いけどコンパクションも一緒にできる
0014デフォルトの名無しさん
NGNG64とか、プレステなんかの
MIPS系列のCPU積んだマシンは
たいていこの手法ですね。
ただ、もっと動的な再コンパイルですが。
jump/callの部分でコード変換したものを
キャッシングすることで速度を稼いでいるようです。
fpse.emuforce.comがソース公開です。
0015スクリプト系
NGNGhttp://www.kt.rim.or.jp/~kbk/
参考になるかな?リンク
http://www.din.or.jp/~glit/TheOddStage/
http://www.sun-inet.or.jp/~yaneurao/
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGそれでも他の言語よりは楽かな?
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGschemeもR5RSにキッチリあわせようとすると一月はかかるね。
0021デフォルトの名無しさん
NGNG一ヶ月ですむならやってみようかなぁ…
0022デフォルトの名無しさん
NGNGscheme実装とか載ってる。
あとソースも公開されてるし。参考になるかな
0023デフォルトの名無しさん
NGNGを押し込んでいたな・・。
0024デフォルトの名無しさん
NGNG最新のR5RSじゃなくてもR4RSに準拠すればオンライン上にある大抵のスクリプトは通るよ。
(あんま変わらないかもしれないけど。)
がんばってね。
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNGyacc/lex プログラミングジェネレータ on UNIX - 五月女健治 - tp
0028デフォルトの名無しさん
NGNGその本って絶版じゃなかったっけ。図書館いけばあると思うけど。(啓学出版ってつぶれたんじゃ?)
参考書籍
C stepupシリーズ(3) yaccによるCコンパイラプログラミング
ソフトバンク
ISBN4-89052-136-4
内容:
簡単な8086のASMコードを吐くCコンパイラサブセットの実装が載っている。
niftyにこれの全ソースが落ちているのを昔見ました。
0029デフォルトの名無しさん
NGNG翔泳社
ISBN4-88135-072-2
内容:
Pascal-Bという処理系の実装(+仮想マシン)
0030デフォルトの名無しさん
NGNGアスキー出版局
ISBN失念
内容:
I にForceインタプリタ
II にREDAというコンパイラ、makeの実装、
III にlispの実装
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGアセンブラを作成する本があったな。
会社にあるのでいまは挙げられないけど、あとで調べておくよ。
0034デフォルトの名無しさん
NGNGデバッグコンソール環境も付いてた筈。(ただしNEC9801用)
0035デフォルトの名無しさん
NGNGその本は当時としてはかなり内容が濃かった。(マルチスレッドとかTSRとかエディタ、DBなど)
多分もう売ってない。工業系の図書館いけばあると思うけど。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNGyacc/lex以外の手段はありませんか?
自分でやるのは大変過ぎるからパスですけど…
0039デフォルトの名無しさん
NGNGあと、kmyaccとか言うのがなかったっけ?
0040デフォルトの名無しさん
NGNGそれ全部似た様なモノでしょ?
C程度の構文なら自分でスタック作ってやった方が速いよ。>38
0042デフォルトの名無しさん
NGNGhttp://www.doga.co.jp/ptdoga/rensai/cmaga/9611.htm
つーか。
ソフト製作が容易になったせいでコンパイラの需要が増えたのか。
or コンパイラ技術が簡単になったのか。
なんにしても最近独自のスクリプト言語増えすぎ。
なにか標準的な言語を策定してくださいませませ>ISO
0043ISO
NGNGそれは置いといて、
>>42
別に色々あってもいいんじゃない?
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNGそれとも、再帰使ってスタック領域を利用した方がいい?
0046sage
NGNGLL構文解析に限った話題じゃないね sage
エラー処理はOSに任せてスタック使ったら?
004732ではないですが
NGNGアセンブラを作成する本があったな。
たぶんこれじゃないですか?
「ハイクラスC言語 コンパイラ&インタプリタ」舟本奨 監修 末石吾朗+小林優 著
8080CPUもどきアセンブリコードを生成するコンパイラと、
そのアセンブリコードを実行するインタプリタのソースが載っています。
0048しつもん
NGNGソースはみずらいけど簡単な言語、(私が思うにRubyみたいな)
どちらの方が一般に好まれますかね?
0049デフォルトの名無しさん
NGNGちゃんと理解しないとコンパイラは書けませんか?
0050デフォルトの名無しさん
NGNGいらないと思う。
コンパイラ技術の論理的なこと(???)を理解するには
ドラゴンブックはいい本かもしれないけどあんまり実践的じゃない。と思う。:-)
0051デフォルトの名無しさん
NGNGどっかにないでしょーか?
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGソフトごとにマクロ言語を覚えるのが面倒です(^^;
誰かが優秀な言語のスクリプトエンジンを公開すれば
多分それがデファクトになるのかなぁとも思うんですけどね。
0054デフォルトの名無しさん
NGNGJavaの文法
http://java.sun.com/docs/books/jls/html/19.doc.html#52996
0055デフォルトの名無しさん
NGNGうーむ。
優秀ってのはよくわからないけど、
o GNU Makefile,VC++,BCBなどのプロジェクトファイルが付属している。
-> .libや.aなどのバイナリも付属させる?
o なるべく小さく。
-> 考え方にもよると思うけどソースファイルで50KBぐらいが限度?
o Lisp系の文法でも良いかもしれないけど、普及するとは考えにくい
(「わ、括弧だ」で敬遠する人がいるかもしれない)。
-> なのでC言語ライクにする。
o ライブラリに依存しない。
-> 構築するのが面倒になるから。
こんなの?
それと聞きたいんだけど、例外処理っていると思う?
型なし言語だとして
try
{
throw "例外";
}
catch e
{
print e, "\n";
}
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNGソースでの配布キボンヌ。
0060デフォルトの名無しさん
NGNG0061baka
NGNG開発してます。英語の文法に由来する言語なんて開発したって、ま
してそれらを理解して使っているレベルでは奴隷以外の何物でもな
いよん。原点に返って日本語で考えることからスタートしないと
日本はいつまでたっても追いつかないのだ。つーか、中国に追い越
されるよん。あっちの人はさすがに精神的な文化レベルは日本にも
ひけをとらないため、ユニークな言語があるよん。それも中国語に
由来する文法で考えたコンピュータ言語が。
0062デフォルトの名無しさん
NGNGこれは日本語に由来してますか?
10 a =
# 10をaに代入する
0063デフォルトの名無しさん
NGNGこんなスレにも煽りがいるのか。
そんなあなたはMINDを使っててください。
あと、そのユニークな中国製言語の具体例を挙げてください。
さぁ、どうぞ。
0064デフォルトの名無しさん
NGNGしょせんは英語読めない人間の戯言でしょ。
時に、中国語の文法は日本語より英語の文法に近いんじゃなかったっけw
0065デフォルトの名無しさん
NGNG0066baka
NGNG一部の前置詞くらいのもの。時制なんか日本語のほうに近いよ。
例えば中国語に完了形なんてない。
中国製の言語か?自分で調べろ。誰がタダで教えるか。
確かに俺は英語読めないかもしれんが、少なくとも64よりはあ
るよん。
あおったつもりはない。聖書を読んでああでもないこうでもない
と屁理屈いってるやつと同じレベルの君たちに危機感をもっただ
けだよん。
0067baka
NGNGおっと見落としてた。何がいいたんだ?なんの反応もできないが
しょせん俺もバカだから許してくれ。一言いわせてもらえば
そーいう解釈する普通の日本人がどれだけいるかが問題だ。
そーいうルールを作ったとして、拡張、応用していけるかが問題
だな。拡張、応用するにしたがって解釈するのにヘイコラとなっ
たらその言語は失敗だ!
それしか胃炎。
0068デフォルトの名無しさん
NGNGえっと、プログラミング言語についてかんがえてるんですよね。
時制ってそんなに関係のあるものってわけでもないと思います。
むしろS+Vみたいな部分のほうが大切。
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG英語に由来しようが、日本語に由来しようが、
数あるプログラミング・パラダイムに沿って
プログラムを組み立てられなければ実用性なし。
せいぜい理想を追っかけててください。
0071デフォルトの名無しさん
NGNGバカなら黙ってろ。
ところでMLみたいな関数型言語を作ってみようという人はいませんか?
0072デフォルトの名無しさん
NGNG>中国製の言語か?自分で調べろ。誰がタダで教えるか。
そりゃ、知らないものは教えようがないよね。
0075デフォルトの名無しさん
NGNG関数型言語ってどんなのなんですか?
全部が関数で作られてるとか???
0076デフォルトの名無しさん
NGNG今何時ですか?
0077デフォルトの名無しさん
NGNGこの辺とか。
http://www.gin.or.jp/users/daikoku/ml/whatml.htm
Appelのコンパイラ本(タイガーブック)にはML、Java、C版があって、
本来意図したのはML版だそうです。なのでJava版やC版の記述に
は不自然な箇所が結構あるそうなのですが、私はC版しか読んで
ないので、具体的にどこなのかよくわかりません。
タイガーブック
http://www.cs.princeton.edu/~appel/modern/
ドラゴンブックよりも実践指向で、オブジェクト指向言語とか最近の
トピックも押さえているので、ぜひ日本語版が出てほしい本です。
0078デフォルトの名無しさん
NGNGループが無いとか、
変数に代入ができない(するべきではない)とか、
わたしも最初、「こんなのでプログラム書けるの?」と不思議でした。
でも、慣れるとCやJavaよりすっきりとしたコードで
プログラムできるんですよ。
日本語では
「プログラミング言語ML」ウルマン、アスキー
「プログラミング言語」武市正人 岩波講座ソフトウェア科学
が関数型言語を解説しています。
0079デフォルトの名無しさん
NGNGC++なんかはオブジェクト指向のいいとこどりみたいでいいかんじだと思うんですが、
どうでしょう?
やっぱりオブジェクト指向なら完全にオブジェクト指向でいかないとだめなもんですか?
0080デフォルトの名無しさん
NGNGはちょっと違うよーん。JavaとかC#みたいなのはそのオブジェクト指向設計
とかと親和性が高いというのが使いやすい人にとっては使いやすいよーん。
0081部外者A
NGNGLisp/Schemeも関数型言語じゃなかった?
ローカル変数使えるけど。
MLが完全な関数型に近いと聞くけど、どうちがうのか調べてないのでわからんです。
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGですが、みなさんどんな本を読みましたか?
洋書の定番として読みにくさの順で、
ドラゴンブック
タイガーブック
あたりだと思いますが、他にもっと読みやすい本とかないでしょうか?
パーサや正規表現の解説も「yaccとlexに頼れ」で飛ばすんじゃなく、
ある程度わかりやすく説明して本がいいのですが。
0084デフォルトの名無しさん
NGNGでも、規則の組み合わさり方が複雑すぎる。
0085デフォルトの名無しさん
NGNG>よーん
馬鹿?(ワラ
0086デフォルトの名無しさん
NGNGまあまあ、別に「よーん」って言おうが言うまいが、コンピュータ言語
について話す上では関係ないことだし。
つーか、そんなとこにいちいち突っ込む君の方が馬鹿じゃん。
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
∩_∩
( ´Д⊂ヽ
⊂ ノ
人 Y
し (_)
0089デフォルトの名無しさん
NGNGいや、とりみきファンの可能性も、、
0091not 83, not 90
NGNGageなきゃ意味ないだろー。
0092部外者A
NGNG他に何か?
0093ミトコンドリ子
NGNGプログラミング言語処理系 岩波講座ソフトウェア科学5
ISBN4-00-010345-8
なんてどうかしら? 適当に端折られてるから、ドラゴンブックよりは
読みやすいかもしれないわ。
ついでに、タイガーブックってしらないんだけど、正式名称教えていただけ
ないかしら。
0094部外者A
NGNG(それでも辞典並みに分厚いけど)
0095デフォルトの名無しさん
NGNGあー思い出した。俺もそう思うよ。
>>94
読み比べるとやっぱり読みやすいと思うよ。
ただそれを元に実装しようと思うと足りない情報があって、
結局ドラゴンブック読むことになるって感じかな……
どうよ。
0096部外者A
NGNGx内用
o内容
薄っぺらいのが良いなら、
計算機科学/ソフトウェア技術講座7「コンパイラの理論と実現」
ISBN4-320-02382-X
共立出版 2700円
てのもある。
最後にC--というコンパイラの実装が乗っている。
これのパーサはyaccを使った物と、再帰下降の2種類が掲載されている。
0097ミトコンドリ子
NGNGそうそう、そのとおり。
理屈だけ知るなら93
実装までするならドラゴンブックって感じかしらね。
0098デフォルトの名無しさん
NGNG009983
NGNGドラゴンブックとは、
Modern Compiler Implementation in ML/Java/C
Andrew W. Appel
ISBN 0-521-58274-1
ISBN 0-521-58388-8
ISBN 0-521-58390-X
のことです。
ドラゴンブックの竜に対して、こちらの表紙は虎になっています。
ドラゴンブックよりも薄くて読みやすいとか、新しい分だけ最近の
トピックを押さえているとかの良い部分もあるんですが、字句解析
や構文解析の説明をはしょり気味な内容です。
理論よりも自分で実装することに興味があるので、ドラゴンブック
は読んでてつらいのです…
0101デフォルトの名無しさん
NGNG実装より理論のが簡単なんだって。
■ このスレッドは過去ログ倉庫に格納されています