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


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

『コンパイラ・スクリプトエンジン』 相談室 2



1 名前:nanashi de fault [02/05/12 02:05]
前スレ1より
>yaccやlexの使い方やら言語仕様やらの話題。

前スレ

【コンパイラ・スクリプトエンジン】相談室
pc.2ch.net/test/read.cgi/tech/981672957/

前スレアーカイブ(かちゅ用)
www.1me.jp/hp/prg_c-s_lab

前スレに張られたリンク + x
>>2-6

257 名前:デフォルトの名無しさん mailto:sage [02/11/14 06:59]
>>245
Expression Templateをはじめ各種のテンプレート・メタ・プログラミングは
知ってたけどPaser Generatorにまで行きつくとは。 
 カ コ イ イ ! !
テンプレートらしく解析対象の列の要素型がパラメタ指定できるのもカコイイ!
(char, w_charに始まってユーザー作成のクラスまで)
字句解析器も含んでるしね。

当方Java(正確にはバイトコード)のPartial Evaluationを実装中なのだが、
Javaに演算子多重定義が導入されていれば、
合わせ技で同じようなことが狙えたのになァ。惜しい。
(メソッド呼び出し式で書けば良いわけだが、カッコ良さが大いに減る。)

258 名前:デフォルトの名無しさん [02/11/17 16:17]
>>257
でも、あんまり真剣な用途には使えないよね。

実行時にパーザ生成するんだったら、文字列で文法与えても良いな。

259 名前:祐一ゴン [02/11/17 19:39]
やぁ、ぼく押金さん(*´∀`*)ノ
中学の時からポカリの粉を麻薬と思って鼻から吸ってたけどヽ(`Д´)ノ ウワァァン!!全然トリップできないや!最近初めてその事実を知ったよ
今部屋をテラフォーミングしたら鼠の干からびた死体が出てきたよ、あまり旨くなかったよ


260 名前:デフォルトの名無しさん [02/11/18 04:16]
パスカルとベーシックってどっちが作りやすいですか?

261 名前::−) mailto:sage [02/11/18 07:12]
pascal→delfy
ベーシック→HSP

HSPはタダの開発環境です。デルフィは10万円くらい?

262 名前:デフォルトの名無しさん [02/11/18 11:55]
たとえば、関数呼び出し
a(b(c(d())));
ってのをなんらかの中間コードにしてあって、
これを1パスでコード生成できるの?
(最適化はどうでもいい)

a();
のコード生成はできるけど、
a(b());
のようにネストするとできなくなって困ってます。

263 名前:デフォルトの名無しさん mailto:sage [02/11/18 12:01]
>>262
ちょっとは考えろ
つーか、お前の言う中間コードって何のためにあるのさ

264 名前:デフォルトの名無しさん mailto:sage [02/11/18 13:15]
>>262
> ってのをなんらかの中間コードにしてあって、
> これを1パスでコード生成できるの?

「これ」というのが「中間コード」を指しているのなら、
どのような「中間コード」なのか示してもらわないと。

) を検出したタイミングでコード生成すりゃいいだけの
話なんだけど。

265 名前:デフォルトの名無しさん [02/11/18 17:40]
バイトコードバイトコード!



266 名前:デフォルトの名無しさん [02/11/19 00:50]
>>261
デルファイじゃないのか?Delphi
嘘教えるなよ

267 名前:デフォルトの名無しさん mailto:sage [02/11/19 01:10]
>>261はどうみても無知だろ

268 名前:デフォルトの名無しさん [02/11/19 03:22]
>>260はコンパイラ作るならbasicかpascalどっちを作ったほうがいいかって
いってるんだろ。どっちだろう、俺はベーシック知らないからなんとも
いえん。

269 名前:デフォルトの名無しさん mailto:sage [02/11/19 03:26]
コンパイラならPascalだろうが、
インタプリタならBasicの方が楽だろう。
昔のBasicインタプリタは4KBくらいだった。

270 名前:デフォルトの名無しさん [02/11/19 03:59]
ベーシックインタプリタのコードってないの?

271 名前:デフォルトの名無しさん mailto:sage [02/11/19 05:11]
>>271
ほれ
ttp://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm

272 名前:デフォルトの名無しさん mailto:sage [02/11/19 11:09]
>>260-270
…この21世紀になんでその2択に拘るんだw。

273 名前:257 mailto:sage [02/11/19 11:13]
>>258
使えないかねぇ…。この辺の技術には期待したいトコロなんだけどなぁ。
私も使ってみたわけではないので大丈夫と言い切れるもんではないんだが。

実行時というか、コンパイル時にテンプレートの展開動作を利用して
パーザが作られるようなんだが。

274 名前:デフォルトの名無しさん mailto:sage [02/11/21 13:10]
>>270
ギコBASICは参考にならないですか?

275 名前:デフォルトの名無しさん mailto:sage [02/11/21 14:05]
この辺は?
member.nifty.ne.jp/nakamula/recurs.htm



276 名前:デフォルトの名無しさん [02/12/03 17:38]
bisonが吐き出したコードってなんでVC++でコンパイル通らないんだ?
激しく鬱…

bison++/flex++に乗り換えるかのぉ。ドキュメント少なすぎだが・・・

277 名前:デフォルトの名無しさん mailto:sage [02/12/03 18:48]
>276
> bisonが吐き出したコードってなんでVC++でコンパイル通らないんだ?
gcc 使え、というお達しかと……。ところで byacc とか kmyacc はどう?

278 名前:276 [02/12/04 14:34]
正確にはC++ソースとしてコンパイルしようとすると、VC++には入ってない(おそらくPOSIX互換の?)インクルードファイルを要求されてコンパイルできません。
まぁ、別にオブジェクト指向な解析器が作りたいというわけではなく、ただアクション書くのにクラスとか使いたいだけなんだが…

何かいい方法あったらキボンヌ!というか、bison++/flex++の日本語ドキュメントなんか激しくほすぃかも

279 名前:デフォルトの名無しさん mailto:sage [02/12/04 14:47]
>278
include 外せばいいんじゃないの?

280 名前:デフォルトの名無しさん mailto:sage [02/12/04 19:38]
>279
それだと毎回 *.y からコード生成するたびに書き換えが必要になるから、
ダミーのヘッダファイルをでっち上げるに一票。

っつか、どうしても再入可能にしたいとかで bison の機能が必須でなければ、
bison 以外の yacc 互換処理系を試す方が幸せかも知れんが。

281 名前:278 [02/12/05 01:17]
>>280
bison以外ならC++ソースとしてビルドできるんですか?

今日はbison++/flex++試しマスタ。今度はVC++だとエラー出まくって全然ビルドできない罠。

byaccとkmyacc試してみるかなぁ。

282 名前:デフォルトの名無しさん [02/12/05 08:55]
yaccの使い方教えろや

283 名前:bloom [02/12/05 09:10]

www.agemasukudasai.com/bloom/

284 名前:デフォルトの名無しさん mailto:sage [02/12/05 09:23]
coco/r使えよ

285 名前:デフォルトの名無しさん [02/12/05 12:01]
coco/rって何か教えろや



286 名前:デフォルトの名無しさん [02/12/05 15:39]
うえーんコンパイラフレームワークキボン( ●д●)

287 名前:デフォルトの名無しさん mailto:sage [02/12/05 16:53]
>>286
lex + yacc + RTL(gcc)じゃ駄目か?

288 名前:デフォルトの名無しさん [02/12/05 16:56]
yaccかbisonについて優しく解説してるサイトはありませんか?
または本でも。

289 名前:デフォルトの名無しさん mailto:sage [02/12/05 18:16]
ちょっと聞いていいですか?
このスレ、結構人が訪れているみたいなんだけれど、
実際にコンパイラレベル(変な言い方だけど)のものを作ってる、もしくは作った人っています?
自分はスクリプトぐらいなら、何とかいけそうなんだけれど、
コンパイラまでくるとかなり大変じゃないですか?

290 名前:デフォルトの名無しさん mailto:sage [02/12/05 19:34]
仮想的なスタックマシンとかのコンパイラなら
作ってる人は沢山いると思うよ。

291 名前:デフォルトの名無しさん mailto:sage [02/12/05 19:40]
>288
オライリーの lex & yacc 本

>289
アセンブラを出力させるなら、そんなに面倒じゃない。実行できるバイナリを出力
しようと思うと、山のような詳細に追われて力尽きる。

292 名前:デフォルトの名無しさん mailto:sage [02/12/05 20:17]
インストラクションコードへの変換が面倒だなあ。
テーブル化するのが。

293 名前:デフォルトの名無しさん mailto:sage [02/12/06 07:28]
変な聞き方してしまいました。
コンパイラといっても仮想マシンコードに変換するスクリプトコンパイラだってあるし。
ネエィテブなアセンブルや直接、実行形式を吐くコンパイラのことを聞いたつもりでした。

294 名前:ろうひ男爵 [02/12/13 20:28]
>>289
自分は構造化BASICで186のDOSの.COMを出力する物を作ったよ。
今は暇を見つけて簡易的なC言語コンパイラを作ってるよ

295 名前:デフォルトの名無しさん [02/12/13 20:34]
だれか僕のためにCコンパイラのソースみせてください。
Cじゃなくてもパスカルでもベーシックでもいいっす。
( ̄人 ̄)オ・ネ・カ・゛イ♪ヽ(* ̄〓 ̄*)ノ^☆ブチュゥゥ♪



296 名前:デフォルトの名無しさん mailto:sage [02/12/13 20:41]
ギャーーーーー

297 名前:デフォルトの名無しさん mailto:ネタニマジレスカコワルイ [02/12/13 20:56]
>>295
gcc.gnu.org/

298 名前:デフォルトの名無しさん mailto:sage [02/12/13 21:15]
>>295
ほれ

#include <stdio.h>
main()
{
printf("逝ってよし");
}


299 名前:デフォルトの名無しさん [02/12/13 21:33]
ウワァァァァァァヽ(`Д´)ノァァァァァァン!

300 名前:ろうひ男爵 [02/12/14 17:55]
>>295
BASICで、

[ラベル:] if 比較式 goto ラベル
[ラベル:] print "メッセージ"
[ラベル:] 代入式

でよかったら、構文解析もほとんどいらないし簡単じゃない?
改行で行末にして、変数の頭にRをつけてR10とかすれば、
悩むところはないと思うよ。

パスカルだとラベルを読み込むときに細工すればLL(1)だよね、
そんなに難しくないはずだよ。
Cにしろパスカルにしろなにがしらの本を読んだ方が良いんじゃない?

言語はどのレベルの物を作ろうとしてるの?
それと、実行環境はスクリプトで中間言語に落としての実行環境?

301 名前:デフォルトの名無しさん mailto:sage [02/12/14 19:56]
>295
どうせ渡されたところで読めない、に 1 票。

言語処理系を作るのが初めてなら、とりあえず「UNIX プログラミング環境」でも
買ってきて hoc の実装追ってみれば?

302 名前:デフォルトの名無しさん mailto:sage [02/12/14 20:38]
つーかコンパイラのソースが見たいんならgccなりOpenWatcomなりがあるわけで。
それぐらい自分で探せヴォケつー。

303 名前:デフォルトの名無しさん mailto:sage [02/12/14 21:05]
bccが一番読みやすいなり

304 名前:デフォルトの名無しさん mailto:sage [02/12/14 21:24]
>302
いきなり gcc は厳しすぎ。

10年前だと「アルゴリズム+データ構造=プログラム」読めというところだが、
さすがに古いよな…。

305 名前:デフォルトの名無しさん mailto:sage [02/12/14 22:29]
www.amazon.co.jp/exec/obidos/ASIN/4844317210/qid=1039872470
はどうよ? インタープリタだけど。



306 名前:デフォルトの名無しさん [02/12/14 22:31]
たけーんだよバカ

307 名前:デフォルトの名無しさん mailto:sage [02/12/15 00:57]
専門書の類は、どれもそんなもんだ。諦めれ。

308 名前:デフォルトの名無しさん mailto:sage [02/12/15 07:18]
一応タダで読めるけどな。
i.loveruby.net/ja/rhg/index.html

309 名前:ろうひ男爵 [02/12/20 04:02]
Cマガでコンパイラのことをやってますね。
演算子順位法とLL(1)をざらっと、LALRの概説です。
計12ページぐらいだったので、ここにいる方には物足りませんが、
読みやすかったので、人に聞かれた場合にはイイかも。

310 名前:デフォルトの名無しさん mailto:sage [02/12/20 04:16]
tmp.2ch.net/test/read.cgi/lobby/1040147707/
これよんでみれ!

311 名前:デフォルトの名無しさん [02/12/20 04:44]
えっ、bisonで生成したコードってVC++じゃ、
コンパイルできないのですか?
じゃあ、かわりにVC++で通るyacc互換でお勧めってあります?
仕事でも使うかもしれないので商用OKだとありがたいのですが。

312 名前:デフォルトの名無しさん [02/12/20 04:56]
GC(ガベコレ)についてちゃんと勉強してみたいのですが、
何かいい書籍はありますか?今は少しづつですが、gccに含まれている
Boehmのソースで勉強してますがなかなか思うように進みません。

VMにそのようなものが書かれているものがあればそれでもOKです。
よろしくお願いします。

313 名前:デフォルトの名無しさん mailto:sage [02/12/20 06:48]
>>312
とりあえず、>>305に紹介されてる本読むとか。

314 名前:デフォルトの名無しさん mailto:sage [02/12/20 09:45]
>>309
概説でしかないし、yaccはちょこっとだけしか載ってない。
作るための特集じゃなくて、基礎知識をお勉強するための記事だった。
という印象。

315 名前:デフォルトの名無しさん mailto:sage [02/12/20 09:47]
>>311
VCでコンパイルできなかったっけ?
まぁいいや。

ttp://www.kohsuke.org/flex++bison++/
これなんかどうよ。使った事無いけど。



316 名前:ろうひ男爵 [02/12/20 13:09]
>>314
さすがにあのページ数だと、1つでも掘り下げるのは難しかったみたいですね。
その中では演算子順位法が分かりやすかったと思います。

317 名前:デフォルトの名無しさん mailto:sage [02/12/20 13:40]
>>311
通るよ。

でもbisonで生成したコードにはGNUのテンプレートが含まれるので、商用はま
ずかったと思う。


318 名前:デフォルトの名無しさん mailto:sage [02/12/20 22:12]
>>312
書籍じゃないけど。
www.dcs.qmul.ac.uk/SEL-HPC/Articles/GeneratedHtml/comp.gc.html


319 名前:デフォルトの名無しさん mailto:sage [02/12/21 01:10]
>>317
出力されたコード見れば分るけど 1.24 以降は特例として GPL 適用外になってる。

320 名前:デフォルトの名無しさん mailto:sage [02/12/21 08:09]
>>319
あ、変わったんだ。サンクス。

321 名前:デフォルトの名無しさん mailto:sage [02/12/21 18:09]
bisonを使った宿題が出ているのですが、
ここでそのことについて質問してもいいでしょうか?

322 名前:デフォルトの名無しさん mailto:sage [02/12/21 23:16]
>>321

>yaccやlexの使い方やら言語仕様やらの話題。
だから、宿題丸投げじゃなきゃいいと思うよ。


323 名前:デフォルトの名無しさん mailto:sage [02/12/22 01:11]
>>321
 何か本を入手した?(購入するのも、図書館で借りるのも可。)もしまだなら、
   書名:UNIX Literacy Series Vol.12 UNIX yaccとlexの使い方
   発行所:HBJ出版局
   著者:田中正広
   ISBN:4-8337-8728-8
を入手して読んでみるといいYO!現在これ読んで某課題と格闘中(^^;
 で、そういった本を読んでから質問するのなら十分OKかと。>>322に同意

324 名前:デフォルトの名無しさん [02/12/22 01:13]
スクリプト言語でアセンブラ処理系は作れるのか?

325 名前:デフォルトの名無しさん mailto:sage [02/12/22 01:28]
>124
作れるよ



326 名前:デフォルトの名無しさん [02/12/22 11:56]
最近、Flex&Bisonをいじり始めました。
まだ、基本概念を勉強中なのですが、Flex&Bisonを使った「C++」用の
チュートリアルや簡単なサンプル実装などないでしょうか?
「C」での実装はいろいろあるんですが、自分はC++で実装したいの困ってます。
C++での解説も申し訳ない程度にはあるんですが、やっぱりサンプルがあると助かります。

327 名前:デフォルトの名無しさん [02/12/22 12:04]
スクリプト言語でアセンブラ処理系ってのもいみなさそうだな。
C言語をスクリプト言語として動くように作ったことはあるが。

328 名前:デフォルトの名無しさん mailto:sage [02/12/22 14:09]
>>327
意味あるよ

329 名前:デフォルトの名無しさん mailto:sage [02/12/22 14:52]
>>328
新規チップの設計用とか?w

330 名前:デフォルトの名無しさん mailto:sage [02/12/22 15:38]
>329
ユーザにアセンブラ処理系の機能拡張をさせる場合には、スクリプト言語を
そのまま使えるのは嬉しいかも。自前でマクロ言語作るのって手間だし、マ
クロの設計がダサいとユーザの不満もたまるし(w

ただ、往々にしてバイナリ入出力の扱いって C, C++ の方が楽なんだよね。

331 名前:デフォルトの名無しさん mailto:sage [02/12/22 18:58]
Cマガの特集見ました。
よしこれから面白くなるってところで、終わってました。
期待してたのにちょっと悲しい。

332 名前:321 mailto:sage [02/12/22 21:22]
自己解決しました。
皆さん、ご迷惑をおかけしました。

333 名前:デフォルトの名無しさん mailto:sage [02/12/23 00:22]
catalog.compilertools.net/
このあたりはどうかな。


334 名前:デフォルトの名無しさん [03/01/02 18:47]
RTLでいいですか?

335 名前:デフォルトの名無しさん mailto:sage [03/01/02 19:45]
あははコンパイラを作るのって楽しいなぁ(´∀`)



336 名前:デフォルトの名無しさん mailto:sage [03/01/02 19:48]
YACC link
www2.dewa.or.jp/rock/camp/yacc/whatyacc.htm

337 名前:デフォルトの名無しさん mailto:sage [03/01/04 01:51]
>336
チクショー!!
まんまとだまされたぜ。

338 名前:デフォルトの名無しさん mailto:sage [03/01/04 08:38]
山形オートキャンパークラブ(´д`;)

339 名前:中卒 [03/01/04 14:37]
ナカータ育男の本でわけわからん数式が出てきてるんですがどうにかなりませんか?

340 名前:ろうひ男爵 [03/01/04 20:02]
>>339
頑張って、勉強するしかないのでは。
もしくは、より簡単な、今月のcマガの特集とか、
コンパイラの仕組み 渡邊 坦 著
とかはどう?

341 名前:デフォルトの名無しさん [03/01/04 20:23]
「モナーのコンパイラスレ出張所」ページでも作るか。
AAで語るFSAとか。ネタよろしこ。

342 名前:名無しさん mailto:sage [03/01/05 10:35]
>>339
その本は悪魔の本なので除霊する必要があります。早急にこちらへ
送ってください。
# 一万えんもする本なんて買えねーよ。

343 名前:デフォルトの名無しさん mailto:sage [03/01/09 02:50]
名スレの予感

344 名前:デフォルトの名無しさん mailto:sage [03/01/09 03:32]
>>53
いいんだよ。気にしないで。
まさゆきが嬉しそうだから。

286 名前:ひろゆき ?3SHRUNYAXA 投稿日:03/01/08 17:56 ID:MVMcp6tb
     ♪___
   ♪  ヽ=@=ノ¶  タイーホ
     ヽ( ・∀・)ノ   タイーホ
         (  へ)    ミンナ タイーホ
          く       タイーホ
   ♪  ___
     ♪ヽ=@=ノ ¶ タイーホ イッテヨシ
      ヽ(・∀・ )ノ  タイーホ
         (へ  )    オマエラ モウ
             >    ダメポ



345 名前:デフォルトの名無しさん mailto:sage [03/01/09 04:15]
ID:ZBsKvw39 (゚∀゚)アヒャヒャ
ID:fh6iaOXC (゚∀゚)アヒャヒャ



346 名前:デフォルトの名無しさん mailto:age [03/01/09 14:17]
荒すな

347 名前:デフォルトの名無しさん mailto:sage [03/01/09 14:21]
test

348 名前:デフォルトの名無しさん [03/01/09 14:32]
自分が作るほどには2ちゃんねる掲示板は必要ないと。

まあ、遊びでしかないからね。

仕事の合間にやってるだけだろ。

349 名前:デフォルトの名無しさん mailto:sage [03/01/09 17:48]
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

350 名前:デフォルトの名無しさん [03/01/09 20:46]
>>200は原田先生に聞いてみた?

351 名前:デフォルトの名無しさん mailto:sage [03/01/09 23:03]
私はは匿名掲示板なんて無くてもいいのだが。
自分の発言に責任を持つのは当然だと思います。

352 名前:デフォルトの名無しさん mailto:sage [03/01/10 00:56]
これからは、心を入れ替えて良い子にします。
よろしくお願いします。

353 名前:デフォルトの名無しさん mailto:sage [03/01/10 09:36]
>>62
だれの目から見てもどうかではなく、裁判所が判断してどうかってこと
なんだよね。
だから、「名誉を毀損した」ってことが確定するのは、判決した瞬間なのよ、、、


354 名前:デフォルトの名無しさん mailto:sage [03/01/10 09:57]
>>62
だれの目から見てもどうかではなく、裁判所が判断してどうかってこと
なんだよね。
だから、「名誉を毀損した」ってことが確定するのは、判決した瞬間なのよ、、、


355 名前:デフォルトの名無しさん mailto:sage [03/01/10 10:15]
>某○○
こいつって・・・



356 名前:デフォルトの名無しさん mailto:sage [03/01/10 10:48]
ひろゆきの家に一人千円位寄付って事で送りつけるって手も有る!
遊び場作ってやって遊んでる奴の為に訴えられて金払わなきゃいけ
なくなったら止めたくもなる罠!

357 名前:デフォルトの名無しさん mailto:sage [03/01/10 11:30]
☆★☆
|・∀・)♪  おあよーおあよー!
|⊂ ノ
|` J    朝だす、みんな起きるだす!!






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

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

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