- 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 あたり
- 347 名前:デフォルトの名無しさん mailto:sage [04/12/01 00:16:25]
- flex,bisonについて、このスレ的な見解はありますか?
- 348 名前:デフォルトの名無しさん mailto:sage [04/12/01 00:20:45]
- flex2.5.31
- 349 名前:デフォルトの名無しさん mailto:sage [04/12/01 00:40:15]
- >>347
手軽に済ませたければ使うとよろし。きめ細かなエラー回復処理を したいとか、特殊な構文山盛りの言語だと、手でパーサー書いた 方が良い。 ただ C だと文字列操作繁雑だから、個人的には C++ 処理系と 組み合わせて使えるヤツを勧めておくが。
- 350 名前:デフォルトの名無しさん mailto:sage [04/12/01 10:54:19]
- S式で書けばflexもbisonも(゚听)イラネ
- 351 名前:347 [04/12/01 17:23:08]
- どうも
- 352 名前:デフォルトの名無しさん mailto:sage [04/12/01 18:24:40]
- Rubyの青木さんの256本を買った。
いや、これなら自分でも読めそうだったんで。
- 353 名前:デフォルトの名無しさん [04/12/01 18:38:20]
- 現状 flex はいいとしても、bison又はyacc に変わるものなし
と思う俺は実用主義
- 354 名前:デフォルトの名無しさん mailto:sage [04/12/01 18:44:04]
- よほどの特殊事情がないかぎりflexとbisonで済ませるね
不足を感じたことは今のところなし。
- 355 名前:デフォルトの名無しさん mailto:sage [04/12/01 19:40:35]
- c++から使いにくいインタフェースは改善されたんだっけ?
Parser ClassとかLexer Classは提供されてる?
- 356 名前:デフォルトの名無しさん mailto:sage [04/12/01 20:23:00]
- sfにあるreentrantなflexは本家にマージされないの?
- 357 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:05:49]
- JavaCCとANTLRとSableCCとCUPとnotavaccの比較ってだれかやってくんない?
notavaccのページにはJavaCCとの比較が、SableCCのページにはANTLRとの比較があるけど、ほかのも知りたい。 他力本願ですまん。識者の意見求む。
- 358 名前:デフォルトの名無しさん [04/12/01 23:11:44]
- LISP に変わるもの無しと思っている俺は非実用主義
- 359 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:39:51]
- >>353
前に評価したけど yacc からの移行なら yayacc がなかなか良いよ。 過去の遺産の都合で未だに flex + bison な仕事を抱えてて、移行 できてないが>俺
- 360 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:44:39]
- javaで作るパーサの本読んだ人いる?
ああいう感じで構文をクラスに落としてくれるコンパイラコンパイラってないのかな?
- 361 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:59:54]
- >>360
JavaCCじゃ不満?
- 362 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:01:19]
- >>361
www.pearsoned.co.jp/washo/java/wa_java01-j.html この本なんだけどね、すごく綺麗なパーサ用パーツ群なんだよね。
- 363 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:37:41]
- >>362
せっかくその本読んだんなら自作してみては?
- 364 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:49:56]
- ソースとかヴィダルサスーン並に綺麗なん?
- 365 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:56:08]
- その本わかりやすく簡潔で超おすすめだった!
自分でなんとなく興味があっても、結構手が出しにくく思える「パーサ関連」の良書だった。 コンピュータサイエンス等の基礎が全くなくても、 JAVAでオブジェクト指向をある程度なら把握できている人には、超おすすめ。 本の構成も非常に考えられていて、まったくのパーサ未経験者でも頭から読んでいけば 最後には自分でプログラミング言語を作成できるところまでたどり着けた。
- 366 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:03:08]
- 作者か関係者か。いいかげんウザいから消えろ。
- 367 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:04:10]
- 君、アマゾンの・・
- 368 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:05:51]
- 作者←海外から青い目の2chねらーかよw
- 369 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:12:25]
- www.amazon.co.jp/exec/obidos/ASIN/4894714078/
375はカスタマーさんですか??
- 370 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:18:27]
- 中身Javaクラスべったりで萎えた
- 371 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:45:37]
- >>366
すぐ関係者とかを疑うのって痛くないか?
- 372 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:50:02]
- 横から悪いが>>360はその本にそんなに感銘受けてるっつーなら
それ使ってりゃいいのでは?
- 373 名前:デフォルトの名無しさん [04/12/02 02:06:39]
- C#で使えるまともなBisonご存知ないですか?
GCの効くJavaでもいいですが、C#の方がコーディング早いから、できるの であればいいかなぁ程度なのですが、XMLの規格の解析するだけなので速度は 気にせず、解析できればおっけーなのです。
- 374 名前:!=360 mailto:sage [04/12/02 02:10:57]
- >>372
その本は読んだことないけれど、本に載っているサンプルよりももっと「でき」がよい ものはあるかどうか、っていうことじゃないかな?
- 375 名前:360=362 mailto:sage [04/12/02 02:20:04]
- なんか荒れてますね
>>372,361 javaCCとかってパースクラス本体が妙にでかいのができるんで、件の本(これはパーサを作る為の細かいパーツの集合なんでBNFから自動展開とかはしないのです) の物みたいに粒度の細かいクラスに分解するようなコンパイラコンパイラは在りませんかって問いかけだったんです。
- 376 名前:デフォルトの名無しさん mailto:sage [04/12/02 02:31:04]
- >>360>>362から>>375を把握できるヤシはESP
- 377 名前:デフォルトの名無しさん mailto:sage [04/12/02 02:35:37]
- >>363はBNFから自動展開出来るように君が作ればぁ〜って言ってるんだよw
- 378 名前:デフォルトの名無しさん mailto:sage [04/12/02 10:34:27]
- >>377
作ってるよ、お前の書き込み面白くない、どっかいけよ。 >>363 ライブラリに最初から入っているxmlパーサじゃだめなん?
- 379 名前:デフォルトの名無しさん mailto:sage [04/12/02 11:09:59]
- 自家撞着?
- 380 名前:デフォルトの名無しさん mailto:sage [04/12/03 09:45:40]
- >>373
Bisonじゃないけど、ANTLRはC++、Java、C#で使えたはず。
- 381 名前:デフォルトの名無しさん [04/12/04 00:05:49]
- ANTLRは文法に癖あるってきいていたのでマークしてなかったですが、
がんばって使ってみますね。どもです。
- 382 名前:デフォルトの名無しさん [04/12/04 03:30:01]
- Flexの正規表現でシフトJIS日本語文字列(""括りで\がエスケープ文字)を
定義するのはどうしたらいいのでしょうか?とりあえず \"(([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC])|\\.|[^\\"])*\" としてみたのですが、2バイト目が\の"表"とかが最後になっていると "がエスケープされてしまいそのさらに次の"までが文字列になってしまいます。 よろしくお願いします。
- 383 名前:デフォルトの名無しさん [04/12/04 12:08:56]
- >>382
2バイトめ"\"のパターンを使え
- 384 名前:382 mailto:sage [04/12/04 13:14:05]
- >>383
シフトJISの2バイト目"\"のパターンは ([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]) で引っかかると思うのですが、 これじゃダメなんでしょうか?
- 385 名前:デフォルトの名無しさん mailto:sage [04/12/04 13:32:42]
- >>382 は
\"(\\.|[^\\"])*\" と同じ意味。 [\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC] は [^\\"]* で吸収できちゃうから。
- 386 名前:382 mailto:sage [04/12/04 14:02:51]
- >>385
解決できました。ありがとうございます。
- 387 名前:デフォルトの名無しさん [04/12/05 20:42:28]
- >>386
結果を張っといたら?
- 388 名前:デフォルトの名無しさん mailto:sage [04/12/05 20:47:08]
- (V)o\o(V)
- 389 名前:デフォルトの名無しさん mailto:sage [04/12/05 20:58:35]
- バルタン星人かよ!
- 390 名前:デフォルトの名無しさん mailto:sage [04/12/05 22:21:17]
- >>387
私は自力で解決しました。 あなたも自分で考えてみてください。
- 391 名前:デフォルトの名無しさん [04/12/06 23:40:48]
- >>390
こういう奴が、スレを糞化させる。
- 392 名前:デフォルトの名無しさん mailto:sage [04/12/06 23:42:41]
- 糞化したスレ
pc5.2ch.net/test/read.cgi/tech/1101986365/
- 393 名前:デフォルトの名無しさん mailto:sage [04/12/07 00:17:37]
- もともと糞化してただろ。
- 394 名前:デフォルトの名無しさん mailto:sage [04/12/07 04:28:08]
- >>381
ANTLRの書き方って独特だよね。おれもよくわからん。 いちばんわかりやすいのはSableCCだな。BNFだけ定義すればよく、JavaコードとBNFとをごちゃまぜにする必要がない。
- 395 名前:デフォルトの名無しさん mailto:sage [04/12/07 14:37:37]
- >>391 必死だな
- 396 名前:デフォルトの名無しさん mailto:sage [04/12/07 14:40:41]
- >>392
ほんとの意味で糞化だ(笑
- 397 名前:デフォルトの名無しさん [04/12/08 00:31:38]
- >>395
アフォ目、洩れがアドバイス出してやったんだがw
- 398 名前:デフォルトの名無しさん mailto:sage [04/12/08 02:32:41]
- アンタのアドバイスはこっちのトンチンカンな方だろ。
383 名前:デフォルトの名無しさん 投稿日:04/12/04 12:08:56 >>382 2バイトめ"\"のパターンを使え
- 399 名前:デフォルトの名無しさん mailto:sage [04/12/08 02:37:47]
- >>397
つーか知ってるなら自分で貼ったらいいじゃん。
- 400 名前:デフォルトの名無しさん mailto:sage [04/12/08 11:54:01]
- そして張ったとたんに間違っていると判明と(藁
- 401 名前:デフォルトの名無しさん mailto:sage [04/12/09 09:34:35]
- (\)o\o(\)
- 402 名前:デフォルトの名無しさん mailto:sage [04/12/15 22:47:03]
- .
- 403 名前:デフォルトの名無しさん mailto:sage [04/12/16 01:19:20]
- どなたかこいつを弄ったことのある方いらっしゃいますか。
ttp://www.cminusminus.org/
- 404 名前:デフォルトの名無しさん mailto:sage [04/12/18 15:10:46]
-
- 405 名前:デフォルトの名無しさん mailto:sage [04/12/21 18:59:06]
- .
- 406 名前:デフォルトの名無しさん [04/12/21 21:35:17]
- ここのスレをまとめたページはないのかい?
- 407 名前:デフォルトの名無しさん [04/12/21 23:29:57]
- コンパイラを作りたいのですが、どうしたらいいんでしょう
私は、Cの入門書を読み終えた程度です。
- 408 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:35:38]
- >407
無謀
- 409 名前:デフォルトの名無しさん [04/12/21 23:47:06]
- コンパイラの入門書を読め
- 410 名前:デフォルトの名無しさん [04/12/21 23:58:53]
- なぁ、友達にアセンブラを知らないと作れないといわれたのだが、本当か?
- 411 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:06:01]
- >>410
その友達に理由を聞けよ
- 412 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:06:17]
- ネイティブコンパイラを作ろうと思うならな
- 413 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:11:18]
- >412
そうか、アセンブラはいるのか。。。 アセンブラを勉強してから出直してくるよ。
- 414 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:12:36]
- アセンブラなんてCより覚える事少ないぞ
- 415 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:18:06]
- >414
そうなのか? Cも覚えることはほとんどなかったが。。。。 まぁ、いいや。 はじめて読む8086からはじめるよ。
- 416 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:22:34]
- 言語なんてのはすぐに覚えられるが、問題はその先だな。
- 417 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:27:08]
- >>408
そうでもないよ。 言語を理解するには実際に自分で作ってみるのが手っ取り早いよ。
- 418 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:30:54]
- その先は、何を作るかによるだろう。
- 419 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:40:03]
- つーかそれ作って何するかだな
漠然と作ってもただのゴミだし 時間を有効に使う意味では言語処理系なんて手を出さないが吉
- 420 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:46:08]
- >>419
できあがった完成品が重要なのではなく、その過程でできたものがもっとも重要な 物・事である事が多いと思いますよ。 完成品なんてタダでくれてやればいいが、その過程で得たものは絶対誰にもあげない。 そう思います。 って青木淳さんの受け売り…
- 421 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:47:22]
- このスレと路線がずれてないか?
そろそろ元に戻そうぜ。
- 422 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:51:01]
- 953 名前:名前は開発中のものです。 [] 投稿日:04/12/21 20:13:01 ID:ZZkG0tzm
AliceSoftのSystem(開発環境)見たいなのを作りたいのですが、どうしたらいいのでしょうか? 私は、Cの入門書を読み終わったくらいLvです。 954 名前:名前は開発中のものです。 [sage] 投稿日:04/12/21 20:39:50 ID:y3o3j+dn >>953 「コンパイラ・スクリプトエンジン」相談室4 pc5.2ch.net/test/read.cgi/tech/1100097050/ ゲ製板の初心者質問スレで発見。
- 423 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:59:30]
- それ、>407の書いたものだろう?
- 424 名前:デフォルトの名無しさん mailto:sage [04/12/22 04:42:53]
- Cで書こうとすると色々と複雑になって辛くない?
先にC++覚えたほうが楽だと思う
- 425 名前:デフォルトの名無しさん mailto:sage [04/12/22 08:11:24]
- >>422
それだったらアセンブラ知っとく必要ないじゃん。 とりあえず「yacc インタプリタ」でぐぐって好きなの読むといいんじゃない?
- 426 名前:デフォルトの名無しさん mailto:sage [04/12/22 11:43:40]
- 「私はこれで仕事をやめました。」
- 427 名前:デフォルトの名無しさん mailto:sage [04/12/22 11:46:40]
- 「私はこれで仕事をやめさせられました。」
- 428 名前:デフォルトの名無しさん mailto:sage [04/12/22 13:55:40]
- >>410
アセンブラというものがどういう構造なのか知っておくと便利だけど、 アセンブラ言語そのものを覚える必要は無いと思う。 それよりコンピュータがどうして動いてるか理解する方が大事。 メモリから命令を拾って来る→なんかする→次の命令を処理 という流れはどっちも変わらないから。
- 429 名前:410 mailto:sage [04/12/23 00:52:02]
- とりあえず、>407とは別人だぞ。
なんか、一緒にされてる気がするので。 >428 え、ネイティブなら必要だと、上のレスにあるが。。。。
- 430 名前:デフォルトの名無しさん mailto:sage [04/12/23 00:59:14]
- マジでコンパイラ作りたいと思っているのなら、最初はアセンブラから始めるのではなくて
自分の言語→C言語へのトランスレータを作って、system関数か何かを使ってCコンパイラを呼び出してコンパイルするのがいい。 C++なども最初はそのようにして作られたし、元々Cはそのための言語として開発された経緯があるから良い感じで実装できる。 Cのオプティマイザをそのまま借用できるのも便利だ。 もしアセンブラも知っていれば、自分の実装した機能を効率よく実装できる命令が見つかるかもしれない、 そのときにネィティブコンパイラを作ってみようという動機が発生する。 目的が現在の言語の性能が気に入らんから、言語はそのままでより良いオプティマイザを実装しようというなら いきなりアセンブラで行けというところで。
- 431 名前:デフォルトの名無しさん mailto:sage [04/12/23 01:43:13]
- 今んとこ最強の成書↓
www.amazon.co.jp/exec/obidos/ASIN/1558603204/qid=1103732714/sr=1-3/ref=sr_1_2_3/250-6820354-3087400 amazon.comで古本買ったほうが安いかもしれん。 ただしちょっと古い(1997) FORTRANなら↓ www.amazon.com/exec/obidos/tg/detail/-/1558602860/qid=1103733617/sr=1-2/ref=sr_1_2/002-7592221-6291209?v=glance&s=books 物好きには↓ www.amazon.com/exec/obidos/tg/detail/-/0444001581/qid=1103733470/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/002-7592221-6291209?v=glance&s=books&n=507846 持っているといばれる。
- 432 名前:デフォルトの名無しさん mailto:sage [04/12/23 02:00:43]
- ドラゴンブックは今日では読む価値はほとんどない。
記述が難しい上に古い本なので初学者にも上級者にも無用。 新中田本は記述が簡素すぎるので、結局は元の論文を読むはめになる。 ってゆっか、教科書ではなくサーベイだな。 初学者なら佐々本がベストだと思う。 古い本だが、ある程度のレベルを保ちつつこれ以上わかりやすい本は 他には知らない。
- 433 名前:デフォルトの名無しさん mailto:sage [04/12/23 02:19:14]
- www.amazon.com/exec/obidos/ASIN/0805316701/ref=pd_sxp_elt_l1/002-7592221-6291209
lccは全く実用にはならないのだが、 この本はかなりおもしろく、また、類書が全くないので一読の価値あり。
- 434 名前:デフォルトの名無しさん [04/12/23 04:21:30]
- 吉里吉里とかコンパイルすると、シナリオファイルの中身が読めないファイルに変換されていますが、
あれはどうやっているのですか? (ここではスレちがい?)
- 435 名前:デフォルトの名無しさん mailto:sage [04/12/23 08:10:26]
- スクリプトの実装ではなく設計の哲学などを扱った書籍はありませんか?
- 436 名前:デフォルトの名無しさん mailto:sage [04/12/23 08:50:48]
- >>434
暗号化してるだけだろ
- 437 名前:デフォルトの名無しさん mailto:sage [04/12/23 09:18:34]
- 暗号化っちゅうか、
コンパイルってことは普通バイナリファイルにするわけで、 バイナリになったら普通人は読めないだろ。
- 438 名前:デフォルトの名無しさん mailto:sage [04/12/23 11:04:46]
- >>432
ドラゴンブックが古い本なのは確かだが、コンパイラ理論の基礎なんて ドラゴンブックの時代から変わってないから問題ないよ。 佐々本は読んだことないから、そっちの方が良いという意見は否定しないが。
- 439 名前:デフォルトの名無しさん mailto:sage [04/12/23 13:37:39]
- ドラゴンブックは原書でしか読んでないが、古めかしさ的には
佐々本と大差ないと思われる(属性文法あたりの差分はあるけどね)。 日本語で読みたいなら、佐々本の方が良い。1冊にまとまっているし、 なによりドラゴンブックの日本語訳はヤバい。 中田本はちゃんと読んでいないので何とも言えないが、元の論文 読む羽目になるのは仕方ないんじゃないか? というか、中田本を勉強 しなきゃいけないやつは、どうせ元論文だけでなくもっと新しい論文を 読まなきゃ仕事にならんでしょ。
- 440 名前:デフォルトの名無しさん mailto:sage [04/12/23 13:54:43]
- >>431
"Advanced Compiler Design and Implementation" この本は主にどの言語で書かれていますか? C? C++?
- 441 名前:デフォルトの名無しさん mailto:sage [04/12/23 14:13:41]
- >>440
漏れは431ではないが、アルゴリズムの説明などで用いられている擬似言語はpascal風。 とはいっても内容は全くプログラミング言語に依存しない。というか、コンパイラの本で内容が 特定のプログラミング言語に依存するものってあまりないと思う。 ベクトル化コンパイラの本はFortran向けに書かれていることがよくあった気もするが。
- 442 名前:デフォルトの名無しさん [04/12/23 16:36:55]
- >434
Javaと同じと考えていいんでない?
- 443 名前:デフォルトの名無しさん [04/12/23 17:08:20]
- How to WSDL convert to SOAP?
- 444 名前:デフォルトの名無しさん mailto:sage [04/12/23 17:19:36]
- >>443
HTML や XML は正規表現を憶えてツリー型のデータ構造を憶えれば完成だから、 正規表現のスレッドや初心者相談系のところにいったらいいよ。
- 445 名前:デフォルトの名無しさん mailto:sage [04/12/23 17:22:18]
- yaneurao.hp.infoseek.co.jp/ygs2k/
↑のソースは参考になる?
- 446 名前:デフォルトの名無しさん [04/12/23 20:22:14]
- コンパイラを作りたいのですが、どうしたらいいんでしょう
私は、Lispの入門書を読み終えた程度です。
- 447 名前:デフォルトの名無しさん mailto:sage [04/12/23 20:26:03]
- じゃLISPコンパイラ作れ
|

|