- 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
- 515 名前:デフォルトの名無しさん mailto:sage [03/03/19 05:20]
- >>482
cygwinのが1.875bで手元では一番新しかったんで試してみたけど、そんなコー ドは吐かないな。
- 516 名前:デフォルトの名無しさん mailto:sage [03/03/19 11:20]
- とりあえず付箋紙ベースのスクリプトエンジンを作成しようとおもいますた。
Basicインタープリターは別なところでできてるんだけど、アイデア暮れ。
- 517 名前:デフォルトの名無しさん mailto:sage [03/03/19 13:32]
- 付箋紙?
- 518 名前:デフォルトの名無しさん mailto:sage [03/03/19 14:43]
- >>509-512=日下部
- 519 名前:デフォルトの名無しさん mailto:sage [03/03/20 01:06]
- 結局ライブラリをどうするかなんだよ。スクリプト作る時間よりも、
ライブラリ用意する手間の方がでかい。特にOO系言語のクラスlib なんてもうみてらんない。シコシコ使うかどうかもわからんクラス階層 作ったりしてんの。バカみたい。クソインターフェース量産したりしても 誰もつかわねえよ(ププドキュメントも用意しないとわかんねえし、 忘れるし。そんなことしてる暇あったらデバッガ作れよ。 結局クラスがクソなら誰もつかわねえって。 時間の無駄だっつうの。
- 520 名前:デフォルトの名無しさん mailto:sage [03/03/20 01:58]
- >>519
Java の仕事がメインになったけど、Cばかりを組んできたから、うまく対応できなくて困っている 老人ですか? MFC はともかく、Javaは、ライブラリーの規模を考えれば、うまく設計されていると思いますが?
- 521 名前:デフォルトの名無しさん mailto:sage [03/03/20 05:25]
- 要するに標準入出力さえきちんとしてくれれば全てオッケー
言語はどうでもいい。 その分野を最も得意とする言語で書く。
- 522 名前:デフォルトの名無しさん mailto:sage [03/03/20 23:26]
- 言っていることは正しいし、激しく同意だが、すれ違いだ。
- 523 名前:デフォルトの名無しさん [03/03/21 18:19]
- これからの主流はスクリプト言語なんだろうか?
なんか、パールとルビーの宝石コンビじゃいやだなぁ〜(w
- 524 名前:デフォルトの名無しさん mailto:sage [03/03/21 18:37]
- スレと無関係ない事書くなや、ここは死滅スレじゃねぇ
- 525 名前:デフォルトの名無しさん mailto:sage [03/03/21 21:20]
- >>524
スレタイトルがわるい
- 526 名前:デフォルトの名無しさん mailto:sage [03/03/21 21:27]
- >>525
> >>524 > スレタイトルがわるい 分かりやすくていいじゃないの? 何が不満なの?
- 527 名前:525 mailto:sage [03/03/21 22:47]
- >>526
別に不満はないよ。不満があるのは>>524さんでしょ。
- 528 名前:デフォルトの名無しさん [03/03/21 23:45]
-
☆^〜^★「探し物とくとくページ」☆^〜^★ sagatoku.fc2web.com/ あなたの探し物きっとみつかります ほぼ毎日 新着情報追加 毎日更新 新着情報メールでお知らせ
- 529 名前:デフォルトの名無しさん mailto:sage [03/03/22 04:29]
- >>527
ここは言語仕様でなく、 実装について語るスレだったはずなんだが・・・
- 530 名前:デフォルトの名無しさん mailto:sage [03/03/22 11:27]
- >>529
>前スレ1より >>yaccやlexの使い方やら言語仕様やらの話題。 って>>1にかいてあるよ?
- 531 名前:デフォルトの名無しさん mailto:sage [03/03/22 12:46]
- >>530
529ではないが、どうにも最近は厨が来るから次スレから抜きにしないか? > all 必要なときは関連して話題になるだろうし、そういう状況なら厨が入り込む余地はないだろう。 ここで在っていいのは宗教論争ではなく実装に関連した言語仕様の話題のほうがいいと思う。
- 532 名前:デフォルトの名無しさん mailto:sage [03/03/22 15:56]
- yacc/lex の使い方の高度な話題はここでいいと思うが。
まあ、次スレまで行くのかどうか問題だが。
- 533 名前:デフォルトの名無しさん mailto:sage [03/03/22 21:23]
- flexに #include <unistd.h> を出力させない方法はないですか?
- 534 名前:デフォルトの名無しさん [03/03/22 21:59]
- 宝石兄弟と仲良くする擦れはここですか?
- 535 名前:デフォルトの名無しさん mailto:sage [03/03/23 07:02]
- (*゚ー゚) しぃ の、言語をつくろう!!(゚ー゚*)
pc.2ch.net/test/read.cgi/prog/1034581899/
- 536 名前:int [03/03/23 09:37]
- ちょっと聞きたいんだけど、いわゆるスクリプトと呼ばれるインタプリタ処理系は、
(中間言語を含め)内部で事前コンパイルしてるものなのでしょうか?
- 537 名前:デフォルトの名無しさん mailto:sage [03/03/23 09:52]
- してるよ
- 538 名前:int [03/03/23 10:15]
- それは、事前に全ソース(つまり頭から尻尾まで)変換してから
実行しているってことですか?
- 539 名前:デフォルトの名無しさん mailto:sage [03/03/23 10:25]
- >>538
大抵は一括変換だけど、 ある単位(関数や変数など)ごとに変換していくのもあるよ
- 540 名前:デフォルトの名無しさん mailto:sage [03/03/23 10:26]
- ∩
∧_∧ | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´Д`)// < 先生!こんなのを発見シマスタ! / / | / /| / \ saitama.gasuki.com/sinagawa/ __| | .| | \ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄\ \_____________ ||\ \ ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄ || || ̄ ̄ ̄ ̄ ̄ ̄ ̄|| .|| ||
- 541 名前:デフォルトの名無しさん mailto:sage [03/03/23 10:29]
- ↑ブラクラなので踏まない様に
- 542 名前:デフォルトの名無しさん mailto:sage [03/03/23 10:52]
- >>533
自分はあきらめて空の unistd.h をシステムインクルードディレクトリに入れてしまいました。
- 543 名前:int [03/03/23 17:16]
- >>539
文字通り1行毎に逐一変換&実行している言語はないのでしょうか? なんか、そのほうがインタプリタ(スクリプト)というイメージに ぴったりなんですが。。。
- 544 名前:デフォルトの名無しさん mailto:sage [03/03/23 17:17]
- N88BASIC?
- 545 名前:デフォルトの名無しさん mailto:sage [03/03/23 17:24]
- >>543
sh
- 546 名前:ろうひ男爵 mailto:sage [03/03/23 18:55]
- >>544
N88BASICも、入力されたときに中間コードに落とすんじゃなかったですっけ? >>543 GOTOなどのジャンプ先のアドレス解決を毎回やると、 検索だけで重くなってしまうので実用的ではないのでは?
- 547 名前:デフォルトの名無しさん mailto:sage [03/03/23 19:16]
- >>543
自分の場合は、スクリプトとして自働実行する以外に、コマンドラインのインターフェイスを 持たせたいときは、そういうことをする場合もあります。 ただ・・・ 構造化された構文がこれだと作りにくいんだ、 だからある程度派手な構文を持つ場合はパースするか、コマンドラインだけ文法限定して 別パーサーで作っていたりします。 ちなみに、古いベーシックなんかが一行入力時にそのつどパースしてるんじゃないかな。 いまどきの文法はちょっと苦しいかも。
- 548 名前:int [03/03/23 23:05]
- やはり、実行速度がもんだいのようですね。
いろいろとありがとうございました。
- 549 名前:デフォルトの名無しさん mailto:sage [03/03/24 09:24]
- >>547
だからshのソース嫁。gotoはないけどブロックはある。
- 550 名前:デフォルトの名無しさん mailto:sage [03/03/24 11:02]
- >>549
まあできんことは無いんだが・・・ たんに大変だなとか思ってね。
- 551 名前:デフォルトの名無しさん mailto:sage [03/03/24 12:52]
- >>546
実行時にsyntax errorが出るくらいだから、それはないと思う。
- 552 名前:デフォルトの名無しさん mailto:sage [03/03/24 12:57]
- >>551
たしか予約語を中間コードに置き換えるようなことはやってたと思うが。 でも構文チェックをしたり構文木を作ったりは当然しない。
- 553 名前:デフォルトの名無しさん mailto:sage [03/03/24 16:41]
- >>551
N88しか知らないけど、runした瞬間に出るエラーもあるよ。 for〜nextの対応関係だったかなぁ。
- 554 名前:デフォルトの名無しさん [03/03/26 22:14]
- その中間言語って、なにか規格みたいなものあるの?
それともデファクトスタンダードな仮想マシンがあるの???
- 555 名前:デフォルトの名無しさん mailto:sage [03/03/26 22:19]
- >>554
そんなもんは無いです、当時は中間コードの利用目的は高速化とプログラムのメモリー占有サイズの削減が目的。 わずか数キロバイトにプログラムを収めるのにTEXTデータは大きすぎたのです。
- 556 名前:デフォルトの名無しさん [03/03/27 03:20]
- つまらんこと聞きますが、まぁバグはあるにせよ、VC++って異常に的確な
エラーメッセージを吐き出しますよね。 LALR(1)で解析してて、あんなことってできるもんなんですか? yaccとかだと、ちょっとerrorを突っ込んだだけでconflict起こしますよねぇ。 LR(1)とかだったらそこいらじゅうに、擬似シンボル埋め込めばできなくも なさそうな気はしますが、、、 そのへんってどうなんでしょう?
- 557 名前:デフォルトの名無しさん [03/03/27 03:54]
- >>555
THANX
- 558 名前:デフォルトの名無しさん mailto:sage [03/03/27 11:42]
- >>556
「異常に的確なエラーメッセージ」の例を挙げないと、 答えづらいと思うよ。
- 559 名前:デフォルトの名無しさん [03/03/27 20:00]
- >>556
異常に典型的なミスを犯しているだけでは?(w
- 560 名前:デフォルトの名無しさん mailto:sage [03/03/28 17:07]
- VCのエラーメッセージって異常に意味不明なものが多いと思うがな。
- 561 名前:デフォルトの名無しさん mailto:sage [03/03/29 01:13]
- 「予期せぬ EOF が検出されました」
のどこが的確なメッセージなのかと、小一時間t(ry
- 562 名前:デフォルトの名無しさん [03/03/29 16:28]
- やはり、>>559だろう
- 563 名前:デフォルトの名無しさん mailto:sage [03/03/29 18:30]
- >>556
>つまらんこと聞きますが、まぁバグはあるにせよ、VC++って異常に的確な 具体的にどの辺が的確なエラーメッセージだと思ったのか、書け。
- 564 名前:デフォルトの名無しさん mailto:sage [03/03/29 19:04]
- >>559-563
煽りは死滅スレでやれや
- 565 名前:563 mailto:sage [03/03/29 19:24]
- >>564
煽りに見えてのはお前だけだと思われ。 もし>>556=>>564だとしたら被害妄想だよ。 死滅スレ居座りすぎて病気になったか(w 説明不足を解消せよってだけ。
- 566 名前:デフォルトの名無しさん mailto:sage [03/03/29 19:27]
- >>565
>>558がもう指摘してるじゃん。
- 567 名前:563 mailto:sage [03/03/29 19:45]
- >>566
んなことわかってるよ。 これじゃ話が進まないから催促してるの。
- 568 名前:デフォルトの名無しさん mailto:sage [03/03/29 21:15]
- 563 は "(w" とかつけている段階で論外。
毎日見ていない人もいるだろう、そのうち書かれた時に理由を考えればいい。 ただ煽るだけで意味のないことするな。
- 569 名前:デフォルトの名無しさん mailto:sage [03/03/29 21:49]
- 結局556がアホなだけだな。
- 570 名前:デフォルトの名無しさん [03/03/30 20:24]
- インタプリタの中間コードは8ビットが普通ですか?
いきなり32ビットとはしてるものはありますか?
- 571 名前:デフォルトの名無しさん mailto:sage [03/03/30 20:35]
- >>570
Java。全て4バイトがベース。
- 572 名前:デフォルトの名無しさん [03/03/30 20:52]
- 皆さんのお力でぜひぬるぽをageて下ちい。
∧_∧ ( ´∀`)< ぬるぽ ぬるぽ 投票ヨロシク pumpkinnet.to/ranking/words/
- 573 名前:デフォルトの名無しさん mailto:sage [03/03/30 21:50]
- Javaは8bitじゃないのか?
- 574 名前:デフォルトの名無しさん [03/03/31 00:29]
- そういえば、java関係の本はそれこそ腐るほど(?)あるが、
バイトコードとか仮想マシンの説明をしてるものってある?
- 575 名前:デフォルトの名無しさん mailto:sage [03/03/31 00:49]
- >>574
オライリがバーチャルマシン仕様の解説本出してるよ。
- 576 名前:デフォルトの名無しさん mailto:sage [03/03/31 00:50]
- >>574
本屋で立ち呼んだ記憶があるからあるんじゃない?
- 577 名前:デフォルトの名無しさん mailto:sage [03/03/31 02:52]
- ソースコード読めばいんじゃないの?
そこまでやるのはちょっと、、、という のなら、そもそもVMの勉強なんてしなくても いいんじゃないの?
- 578 名前:デフォルトの名無しさん mailto:sage [03/03/31 03:31]
- Structured Computer Organization by Andrew S. Tanenbaum
www.amazon.com/exec/obidos/tg/detail/-/0130959901/ にちょっとだけ説明があります。 オペコードが1バイトで全体としては1〜3バイトのがほとんどだそうです。 java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html のどこかに説明あるかと思いましたが、発見できませんでした。 見落としあるかもしれません。 あとamazon.comをjava virtual machineで検索すると7冊ほどひっかかりますね。 www.amazon.com/exec/obidos/search-handle-url/index=books&field-keywords=java%20virtual%20machine&search-type=ss&bq=1
- 579 名前:デフォルトの名無しさん [03/03/31 04:36]
- WSHとかってプログラム上から使ってその結果を受け取ることは出来ないのでしょうか?
MSDNを見ますと「IActiveScript」と言うのが在るのですが, いまいちサンプルが乏しくて困っています.
- 580 名前:デフォルトの名無しさん mailto:sage [03/03/31 04:43]
- 一通りの使い方ならRuby256本の邪道編に書いてあった気がするが。
スレ違いじゃないか?
- 581 名前:579 mailto:sage [03/03/31 19:20]
- IActiveScriptってWSHにRubyとかの他の言語拡張するための
インターフェイスなのですか? 今考えているソフトでWSHスクリプトファイルをユーザに用意してもらい, そこに書いているスクリプトを実行することによってアプリケーションの 挙動を変化させたいと思っています. WSHあるいはJSCRIPT,VBScript等をプログラム上でロードして実行させる 方法が知りたいです. よろしくお願いします. 環境: VC++ 6.0 IE Ver 6.0.2
- 582 名前:デフォルトの名無しさん [03/03/31 20:09]
- >>577
何のソースコードを読めばいいの? VMのソースコード?それって公開されてるの?
- 583 名前:デフォルトの名無しさん mailto:sage [03/03/31 20:19]
- 良い子は検索したり、過去ログ読んだりします。
- 584 名前:デフォルトの名無しさん mailto:sage [03/04/01 01:40]
- <死ね>
www.amazon.co.jp/exec/obidos/ASIN/490090063X/qid%3D1049128711/250-2465643-1535410 www.amazon.co.jp/exec/obidos/ASIN/489471356X/qid=1049128646/sr=1-1/ref=sr_1_2_1/250-2465643-1535410 VMはオープンソースのプロジェクトがいくつかあったはず。 GNUにもあった気がする。 俺が知ってるのはOSがマイナーなんで言ってもしょうがない。 </死ね>
- 585 名前:デフォルトの名無しさん mailto:sage [03/04/01 01:43]
- <死ね target=">>582">
www.amazon.com/exec/obidos/ASIN/3540420886/qid=1049128836/sr=2-2/ref=sr_2_2/104-8886811-5842366 全部読んだわけではないが書き方が変わってるんでVMの勉強としては素直に薦められない。 www.amazon.com/exec/obidos/ASIN/0201432943/qid=1049128836/sr=2-1/ref=sr_2_1/104-8886811-5842366 は上にあげたとおり邦訳が出てるんでそっちを読め。訳に問題はない。 あとの洋書は大体到着待ち。 </死ね>
- 586 名前:デフォルトの名無しさん mailto:sage [03/04/01 02:32]
- >>582
www.kaffe.org とか…
- 587 名前:デフォルトの名無しさん [03/04/05 17:27]
- いろいろと参考になりますね、この擦れ。
ところで、JAVAのVMがやはり事実上のスタンダードになりつつあるのでしょうかね?
- 588 名前:デフォルトの名無しさん mailto:sage [03/04/05 17:33]
- 現状はそう。
でもCLRとかParrotとか、未来の可能性は閉じてはいない。
- 589 名前:デフォルトの名無しさん [03/04/05 17:35]
- >>587
なんの事実上のスタンダード? VMといえばJavaのVMってことか?
- 590 名前:デフォルトの名無しさん [03/04/05 17:57]
- >>581
やり方が分かったら連絡してくれ.
- 591 名前:デフォルトの名無しさん mailto:sage [03/04/06 02:48]
- >>587
スタンダードというか、参照・参考にするのに比較的お手軽なのは確か。
- 592 名前:デフォルトの名無しさん [03/04/08 21:55]
- VMってJAVAスクリプト自体は解釈できんのね?
- 593 名前:デフォルトの名無しさん mailto:sage [03/04/08 22:17]
- JavaとJavaScriptは何の関係も無い(たしか)
- 594 名前:名無し mailto:sage [03/04/09 01:24]
- VMが理解できるのはバイトコードだけかと
- 595 名前:デフォルトの名無しさん mailto:sage [03/04/09 11:34]
- はぁ?
- 596 名前:デフォルトの名無しさん mailto:sage [03/04/09 13:44]
- >>593
そだね最初はNetscape社のLiveScript。でJavaが現れて なんとなく名前をJavaScriptに変更。 www.howtocreate.co.uk/jshistory.html つうかこれくらいはgoogleですぐ見つかるんだが…
- 597 名前:デフォルトの名無しさん mailto:sage [03/04/10 11:47]
- Javaを意識してみたという点では、まったく無関係でもない。
- 598 名前:デフォルトの名無しさん mailto:sage [03/04/10 12:40]
- >>597
ばーか
- 599 名前:コンパイラを勉強するには? [03/04/10 15:41]
- 今まで、業務でJavaを1年半使った以外、プログラム経験はありません。そのJavaもWeb系が主です。
こんな僕でも、コンパイラの事を理解する事ができるでしょうか?JavaCCと言うのをやろうとしているのですが、 これをやるには、Java以外の知識よりもプログラム全般に詳しくないとできないですよね? 『おまえには、まだ無理だ。そんなんじゃJavaCCなんて理解できるはずはない。』なんてことは、皆さん思いませんか? それとも、私ほどの経験でもJavaCCを理解する事は可能なんでしょうか? 何年かかっても良いので、最良の道を行きたいと思っています。 それには、やはりC言語などからプログラムというものを理解し、一般のコンパイラ事情を知ってから、JavaCCに行った方が良いのでしょうか? よろしくお願いします。
- 600 名前:デフォルトの名無しさん mailto:sage [03/04/10 15:50]
- 愛さえあればできるよ。
- 601 名前:デフォルトの名無しさん mailto:sage [03/04/10 15:52]
- できちゃった♥
- 602 名前:デフォルトの名無しさん mailto:sage [03/04/10 16:15]
- >>599
個人的にゃJavaって泥臭いとこを隠してるから一回Cでそういう所を 見た方がいい気がする。 UNIX使えるならシェル書いてみるのはどうよ。
- 603 名前:デフォルトの名無しさん mailto:sage [03/04/10 16:17]
- Java慣れてるならJavaでいいじゃん。
なんで遠回りすんの?>602
- 604 名前:デフォルトの名無しさん mailto:sage [03/04/10 16:28]
- んー?別にCで全部やれっちゅうワケじゃないのよ。
ただ、作ろうとしてるモンはJavaでもCでもない「別の言語」 だから他の言語との違いを知っとった方がいいかと思う。
- 605 名前:デフォルトの名無しさん mailto:sage [03/04/10 16:34]
- あ、でもJavaってアプリ自身がJavaで書かれたコードを実行する機能を
持たれられた気がするな… マクロとかだとそっちの方が早いか?
- 606 名前:デフォルトの名無しさん mailto:sage [03/04/10 17:50]
- >>599
C yacc lex は書籍が多いから、それがいいかもね。 とりあえず C をマスターしておいて、整数だけbasicからjavaへのトランスレータとか作ってみたらどう? でき上がったものは無意味だけど、やり方は理解できると思うよ。
- 607 名前:デフォルトの名無しさん mailto:sage [03/04/10 18:05]
- (´-`).。oO(>602 コンパイラ作るのになんでシェルが関係あるんだろう?)
最終的に機械語やバイトコードに落とす必要は必ずしもないのだし、 そこまでいくには道のりは遠いので、まずは構文解析できるように なればいいのでは。 ただ、言語を作るのはただツールをいじっていればなんとかなるものでもない。 きちんとしたものを作れるようになるには知識が必要なので、しっかりした 解説を読むべし。 Java + JavaCC で書いてあるwebなり本なりが見つかればそれでもいいし、 見つからなければCを覚えて本を読む方がいい。理論がわかればツールを使うの はJavaCCだろうがyaccだろうがたいしてかわらない。 過去ログを見ればweb上の講義ノートもあったと思う。(前スレだったかも)
- 608 名前:デフォルトの名無しさん mailto:sage [03/04/10 18:24]
- シェルスクリプトあたりからってことじゃないの
- 609 名前:デフォルトの名無しさん mailto:sage [03/04/10 18:40]
- だとしてもなんでshなんだよ。
まだLISPでもやってた方がいいぞ。
- 610 名前:コンパイラを勉強するには? [03/04/10 19:55]
- どうも、皆さん幅広いご意見ありがとうございます。
大変参考になったのですが、やはり難しそうですね。しかし、生まれつき、計算とかが 好きなものですから、話しを見ているだけで、とてもわくわくしてきます。 やはり、いきなり、JavaCCに入るのではなく、他の方から入っていく事にします。 もっといろいろ読みたいので、良ければみなさん、またいろいろ書いておいてください。 よろしくお願いします。
- 611 名前:デフォルトの名無しさん mailto:sage [03/04/10 20:36]
- >>610
yacc lex なら、そんな難しいものじゃないから、習うより馴れろでガンガンいけばいいよ。 ただCは押さえて置かないと進むものも進まないから、Cはがんばってね。 多分なじみの薄い物で参考資料も少なく、yacc を使うにあたって必要不可欠なCの概念は union だと思います。 そこは気合で行ってくれ。
- 612 名前:コンパイラを勉強するには? [03/04/10 21:32]
- 気合で行くわ。
- 613 名前:デフォルトの名無しさん mailto:sage [03/04/10 21:38]
- どうも、仕事で簡易スクリプトを作ることになりそう。
基本的には、引数付の関数呼び出しと変数への値代入程度 で済ませたいけど、制御構造も作らざるを得ないかも・・・。 まあ、ちょうどよい勉強と思ってやってみるつもりです。
- 614 名前:デフォルトの名無しさん mailto:sage [03/04/10 23:03]
- 仕事なら既存のやつ使った方がいいんじゃねーの?
- 615 名前:デフォルトの名無しさん mailto:sage [03/04/11 00:59]
- この時期だし研修用でそ
|

|