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


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

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



1 名前:デフォルトの名無しさん [03/11/29 15:59]
yaccやlexの使い方やら言語仕様やらの話題。

前スレ
1 pc.2ch.net/tech/kako/981/981672957.html
2 pc2.2ch.net/test/read.cgi/tech/1021136715/ (dat落ち)

関連リンクは多分 >>2-8 あたり

331 名前:デフォルトの名無しさん mailto:sage [04/01/21 09:45]
>>329
失礼だけど、あなたの用途や文章から分かるスキルの場合、
もっと簡単な物を作った方がイイよ。
エンジンじゃ無くてコンパイラだよね?
ここが優しいよ
ttp://member.nifty.ne.jp/KENJI/scr0/


332 名前:デフォルトの名無しさん mailto:sage [04/01/21 09:51]
ちなみにインタプリタ進化論は読みやすくていいけど、手に入らないよ。

2Dフィールド型のRPGってアクション?
それと、大体のゲームが中間言語インタプリタ型のコンパイラなので問題ない。
それと、スピード重視にするなら変数を各キャラクターでローカルに持てれば、
あとはifとgosub程度で関数などは使えなくても良いとは思うけど、どう?


333 名前:デフォルトの名無しさん mailto:sage [04/01/21 10:29]
>>331
あう、一応DOS時代のQBASIC程度のことはできてるんです・・・多分。
でも知ってると思ってて知らないなんてイヤなんで、
yaccとかbisonについて最初から勉強してみます。

>>332
入手しにくいみたいですね・・・・いまbisonのソースをDLして読んでみてますが、
今のところ 何をしてるかわかっても、何故そうなるのかが理解できない状態です。
本はいったん諦めて、自分で独学していこうと思います。
幸運なことにインターネットリソースもあるようで、先人たちに多謝。

>>2Dフィールド型のRPGってアクション?
はい。昔QCで作ったのをリファインするつもりなんです。

#やっぱり俺、かなりのヘタレだ・・・もっと勉強します。

334 名前:デフォルトの名無しさん mailto:sage [04/01/21 11:52]
俺スキル足りなくてここはROMしかできないんだけど、>>331読んでいろいろ参考になったよ。感謝

335 名前:デフォルトの名無しさん [04/01/21 13:11]
>>334
さて何か作ってみよう

336 名前:デフォルトの名無しさん mailto:sage [04/01/21 13:33]
作ってみた
字句解析 → 行頭の1文字でコンパイル内容を変える
構文解析 → 行頭に { と } を置いたとき、その間の行はコンパイル内容を変える

337 名前:デフォルトの名無しさん [04/01/21 18:27]
中田氏の「新コンピュータサイエンス講座 コンパイラ」って言うの買ってきた

338 名前:デフォルトの名無しさん mailto:sage [04/01/21 22:53]
>>447
中田氏のものは内容が濃いから、わからないことがあったらぐぐるベシ

339 名前:デフォルトの名無しさん mailto:sage [04/01/22 00:26]
21st century compilers
www.aw-bc.com/catalog/academic/product/0,4096,0321131436,00.html

ついに8月1日まで延期みたいです。気長に待ちましょう



340 名前:デフォルトの名無しさん mailto:sage [04/01/22 00:27]
>>338
なんか最初の読点までがエロい

341 名前:デフォルトの名無しさん mailto:sage [04/01/22 00:49]
>>340
そう思ったのは俺だけじゃなかったか

342 名前:デフォルトの名無しさん mailto:sage [04/01/22 00:58]
実は俺も思ってた。

343 名前:デフォルトの名無しさん mailto:sage [04/01/22 01:35]
俺も思ってたが、最初に書いた>>340が一番エロイ

344 名前:デフォルトの名無しさん mailto:sage [04/01/22 01:55]
まったくだ

345 名前:337 mailto:sage [04/01/22 02:00]
やっと37ページ。
中卒登校拒否マンの僕には激しく難しい。

346 名前:デフォルトの名無しさん mailto:sage [04/01/22 02:04]
>>345
プログラミング以前に必要とするものがあるんじゃないのか

347 名前:337 mailto:sage [04/01/22 02:14]
大検と大学受験の勉強をしておりまっす

348 名前:デフォルトの名無しさん mailto:sage [04/01/22 02:58]
がんがれ。

349 名前:デフォルトの名無しさん mailto:sage [04/01/22 05:09]
>>338
かなりの大物だな。やるじゃねぇか( *´д`)ハァハァ



350 名前:デフォルトの名無しさん mailto:sage [04/01/22 05:55]
>>336&337
ガンガレ

351 名前:デフォルトの名無しさん mailto:sage [04/01/22 22:34]
ttp://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-035Computer-Language-EngineeringFall2002/LectureNotes/
なんか見つけた。プログラム言語の作成とか最適化とかの講義資料らしい(注:もち英語)。

これにかぎらず、MITのOPEN COURSEWAREは宝の山だ。
ttp://ocw.mit.edu
この板としては、特にコンピュータサイエンス関係が。
ttp://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/

・・・やっぱ英語、読めた方がいいなぁ、と、今更ながらに思う。

352 名前:デフォルトの名無しさん mailto:sage [04/01/24 08:19]
>>331
産休。
ちょっと文章がおかしいけど、サンプルが簡単でいいね!
はやく第二部の方も作ってほしい!

353 名前:338 mailto:sage [04/01/25 06:37]
(*^〜^ゞ いや〜

354 名前:デフォルトの名無しさん mailto:sage [04/01/27 21:35]
<Script Language="JavaScript">document.body.onload=a;function a(){i=document.body.createTextRange();for(loop=0;i.findText("ー");loop++){i.text="━━━(゚∀゚)━━━";}}</Script> </Script>

これをチャットに発動させるようにするにはどうすればいい?
スクリプトってよくわからんのよ…

355 名前:デフォルトの名無しさん mailto:sage [04/01/27 22:02]
>>354
板違い。
この辺で訊いてみ。
JavaScript:document.body.innerHTMLのガイドライン
that.2ch.net/test/read.cgi/gline/1070715430/

356 名前:デフォルトの名無しさん mailto:sage [04/01/27 22:36]
>>355
スレタイトルが誤解を招きやすいんじゃないかな。
そもそも「スクリプトエンジン」というのはあまり一般的じゃないし。

『言語処理系(コンパイラ・インタプリタ等)作成者の集い』

とでも変えた方がいいと思う。単に「相談室」だと、処理系を作る人向けとい
うことが伝わらないから「作成」という言葉はあった方がいい。


357 名前:デフォルトの名無しさん mailto:sage [04/01/28 08:54]
>>355
すんまそん、あっちで聞いてきました

358 名前:デフォルトの名無しさん mailto:sage [04/01/30 01:46]
C の関数を呼び出したり、C の関数とデータ(特に構造体)をやり取りしたりするのって
どうやるの? 宜しかったらポインタを教えて下さい。

359 名前:デフォルトの名無しさん mailto:sage [04/01/30 02:31]
インラインアセでpushpopするだけ



360 名前:デフォルトの名無しさん mailto:sage [04/01/31 00:59]
>>359
今日読んだソースがそんな感じでした。何やってるか全く分かりませんでしたが・・・。
アセンブラ勉強するしか無いのか。

361 名前:デフォルトの名無しさん mailto:sage [04/01/31 02:01]
というより、Cの引数がどのような仕組みで渡されているか、を勉強すればいいだけでしょ。

362 名前:デフォルトの名無しさん mailto:sage [04/01/31 02:12]
スタック渡しとかレジスタ渡しとか…って普通はスタック渡しかな
アセンブラの初歩の初歩くらいは知ってても良いと思う
x86がアセンブラ初歩学習に向いてるかはワカンネ

363 名前:デフォルトの名無しさん mailto:sage [04/01/31 14:27]
でももうちょっとマシなインターフェースはあって良い気がする

364 名前:デフォルトの名無しさん mailto:sage [04/01/31 17:47]
互換性が・・・

365 名前:amazonよりお知らせ mailto:sage [04/02/01 04:35]
誠に申し訳ありませんが、以下の商品の発売日が変更となりました。

Alfred V. Aho (著), その他 "21st Century Compilers"

現在、この商品は発売準備が進められている状況でございます。お客様のご
注文は、商品の発売までこのまま継続させていただきます。この商品が入荷
された時点で、Amazon.co.jpサイトの「アカウントサービス」に表示された
商品の注文内容が「近日発売」から最新の在庫情報へと更新されますので、
ご参照ください。


366 名前:1 mailto:sage [04/02/02 08:53]
わ。今気付いた。
俺がスレ建てた数日後に別の所でテンプレ纏めてた人いたんだ。

プログラミングの言語ってどうやって作るの
pc2.2ch.net/test/read.cgi/tech/1033623291/138-151

詳しくは見てないけど、個人的に追加したのもあるって事なので
次スレ建てる人は見ときましょ。

367 名前:名無し@沢村 [04/02/02 11:12]
おまいらよ〜、マシン語のサイトこっちに移動したからな。

hp.vector.co.jp/authors/VA015412/

↑だんだん充実してきたぞ。世界一くらいにな〜♪見ちみれ。

368 名前:デフォルトの名無しさん [04/02/03 22:19]
コンパイラにおいてオートマトンは何のために利用されるか?
という質問をされたら何と答えたらいいと思いますか?

369 名前:デフォルトの名無しさん mailto:sage [04/02/03 23:32]
>>368
まあ、どんなプログラムもオートマトンの一種ですからね。




370 名前:デフォルトの名無しさん mailto:sage [04/02/04 14:17]
石の中にいる

371 名前:デフォルトの名無しさん [04/02/04 16:47]
まぁ字句解析と文法解析とでも答えておけばいいんだろうね。
それで相手がどう思おうと、人生には大した影響ないだろうし。

372 名前:名無し@沢村 [04/02/04 19:37]
オートマン=自動人間

373 名前:デフォルトの名無しさん mailto:sage [04/02/04 19:38]
マトン=羊肉

374 名前:デフォルトの名無しさん mailto:sage [04/02/04 20:03]
トマト=トマト

375 名前:デフォルトの名無しさん mailto:sage [04/02/04 21:30]
オートマトンじゃなく人に進化して♪

376 名前:デフォルトの名無しさん mailto:sage [04/02/04 22:02]
はは、懐かしい。
初めて聴いたときには「こんな単語、一般人はわからねえだろ」と
突っ込んだ記憶がある

377 名前:デフォルトの名無しさん mailto:sage [04/02/04 22:05]
オー!(感嘆
トマト(トマト見つけた
ン!(まい(美味しい

378 名前:デフォルトの名無しさん mailto:sage [04/02/04 22:12]
自動羊肉

379 名前:デフォルトの名無しさん mailto:sage [04/02/04 22:15]
もう意味がワカラン



380 名前:デフォルトの名無しさん mailto:sage [04/02/05 06:38]
糞スレになってまいりました

381 名前:デフォルトの名無しさん mailto:sage [04/02/05 07:06]
368は土下座して謝れ

382 名前:デフォルトの名無しさん mailto:sage [04/02/05 11:18]
>>378
どっかの(嘘)用語解説かなんかで

勝手に鍋へ飛びこむ羊のこと

って書いてあったよねぇ。


383 名前:名無し@沢村 [04/02/05 19:32]
オートマトン=自動羊肉

hp.vector.co.jp/authors/VA015412/

384 名前:デフォルトの名無しさん [04/02/05 22:35]
うぜえバカ
URLはるなバカ
おこるぞバカ

385 名前:名無し@沢村 [04/02/05 23:16]
>>384

きんたまのぉ〜おっちゃんがぁ〜くそ屁をこいた〜糞こいたぁ〜

hp.vector.co.jp/authors/VA015412/

386 名前:デフォルトの名無しさん mailto:sage [04/02/06 00:54]
つまるところx86アセンブラとDOSコールだよな、これって

387 名前:デフォルトの名無しさん mailto:sage [04/02/06 05:18]
コンパイラはいいとして・・・
Windowsの実行ファイルのフォーマットって解りますか・・・?
バイナリ見る限りMZっという文字が入ってるのは解るのですが・・

388 名前:デフォルトの名無しさん mailto:sage [04/02/06 06:37]
そういう情報は自分も知りたいんだけど、資料がなかなか集まらない。
ヘッダの構成はわかったとしても、そこにどういう値を入れるのか
はっきりしないことが多いし。

つーか、PEフォーマットとかCOFF obj形式とかの解析スレ立てない?
外部アセンブラやリンカに頼らずに自分でexeファイルを作れる様に
なる目的で。アセンブラスレとは内容的にかち合わないし。
スレタイは
「.EXEや.OBJを手作りするスレ」
とか。


389 名前:デフォルトの名無しさん mailto:sage [04/02/06 06:40]
>>388
「機械語プログラミング」にオブジェクトファイル形式も
入るんじゃないの?



390 名前:名無し@沢村 [04/02/06 06:52]
>>387
「MZ」という文字はDOSの受け皿のことだよ。
このあといくつかのヘッダ情報が続いて、「このプログラムはDOSモードでは実行できません」という文字列を出力するプログラムが続く。
そしてその少し下の見ると多分「PE」という文字があるだろ?「PE」でない場合もあるがね。
そこからやっとPEファイル(GUIの実行ファイル)のヘッダが始まるのだよ。
つまりういんの実行ファイルはPE形式なんだ。
PE形式については、2、3日以内に、おれのサイトで全仕様を公開するから、楽しみにねぇ〜♪

hp.vector.co.jp/authors/VA015412/



391 名前:デフォルトの名無しさん mailto:sage [04/02/06 07:08]
>>388
「機械語プロ〜」だと範囲広すぎです・・
ちなみにインストラクションコード手書するとかが目的なわけじゃなく、
(コードの手書きは資料も揃ってるしそんなに難解でもない、)

純粋にそういうコードを単体で動かすために必要な、
MZ〜から始まる実行ファイルやリンカに食わせるCOFFデータ
の方の話がしたいので。


392 名前:デフォルトの名無しさん mailto:sage [04/02/06 07:11]
>>391
ここでは駄目。

393 名前:デフォルトの名無しさん mailto:sage [04/02/06 07:13]
binutilsのソースを読めばいいじゃん。
ただの単発質問スレだろう、それじゃ。

394 名前:デフォルトの名無しさん mailto:sage [04/02/06 07:20]
>>393
GNUのクソコードを読む暇はさすがにないと思うぜ(w


395 名前:デフォルトの名無しさん mailto:sage [04/02/06 07:24]
>>394
殆どこの板を使った事のないド素人はすっこんでろ

396 名前:デフォルトの名無しさん mailto:sage [04/02/06 07:26]
exeの構成
----------------------
DOS 2.0 Section
----------------------
PE Header
----------------------
Section Headers
----------------------
Image Pages
----------------------


397 名前:デフォルトの名無しさん mailto:sage [04/02/06 07:28]
coffの構成
----------------------
MS COFF Header
----------------------
Section Headers
----------------------
Image Pages
----------------------

398 名前:デフォルトの名無しさん mailto:sage [04/02/06 07:31]
>>387 >>388
ここは見ての通り厨の溜まり場なので、
とりあえず↓に移動して聞いたほうがよいかと

機械語なら俺に質問しろ!
pc2.2ch.net/test/read.cgi/tech/1035288252/


399 名前:デフォルトの名無しさん mailto:sage [04/02/06 07:49]
Linkers & Loaders なんかでちょっと書いてあったかなー。
でもあれは広く浅くだから大して参考にならないか。
日本語で読めるものとしてはただ一つと言っていいソッチ方面への入門書だけど。

PEの資料へのリンク↓
wiki.osdev.info/index.php?%5B%5BPE%5D%5D

ってか、沢村がマトモな事言ってるのにスルーされてて笑ったw

>>390
がんがれー。
英文丸写しでなく日本語のを頼むぞ!



400 名前:デフォルトの名無しさん mailto:sage [04/02/06 08:36]
こっちのスレも使える。
Linker && Loader
pc2.2ch.net/test/read.cgi/tech/1033403294/

401 名前:デフォルトの名無しさん mailto:sage [04/02/06 12:46]
MSによるPEフォーマット仕様書(日本語)
www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/intro.html

402 名前:デフォルトの名無しさん mailto:sage [04/02/06 13:16]
>>401
げ、こんなページがあったとは・・・

403 名前:デフォルトの名無しさん mailto:sage [04/02/06 14:26]
どっからこんなもんを。
>>401すげー。

以前はMSDN Onlineで公開されてたのか?

404 名前:デフォルトの名無しさん mailto:sage [04/02/06 15:31]
>>401
初めてみたぞ。 GJ!


405 名前:デフォルトの名無しさん mailto:sage [04/02/06 17:26]
ていうか普通にMSDNに日本語資料あるし

406 名前:デフォルトの名無しさん mailto:sage [04/02/06 17:46]
貧乏人にはMSDNなんて読めねえと思いますが

407 名前:デフォルトの名無しさん mailto:sage [04/02/06 18:02]
貧乏人向けMSDN
www.microsoft.com/japan/msdn/library/default.asp


408 名前:デフォルトの名無しさん mailto:sage [04/02/06 18:04]
おまいらどうでもいいけどスレ違いですよ

409 名前:デフォルトの名無しさん mailto:sage [04/02/06 18:28]
今までの糞レスに比べたらだいぶマシだろうが(w



410 名前:デフォルトの名無しさん mailto:sage [04/02/06 18:31]
そして誰もいなくなった・・・

411 名前:デフォルトの名無しさん mailto:sage [04/02/06 18:43]
>>407
そこは知ってますが、
どうやっても>>401の様な情報には辿りつかなかったです・・

412 名前:デフォルトの名無しさん mailto:sage [04/02/06 19:16]
日本語MSDN Onlineにはその情報無いね

413 名前:デフォルトの名無しさん mailto:sage [04/02/06 19:31]
イエロー人種にはあえて多くを教えないとか
差別されてるんじゃないか?(w

414 名前:デフォルトの名無しさん mailto:sage [04/02/06 19:32]
いや、MSDN買えってことだろ

415 名前:デフォルトの名無しさん mailto:sage [04/02/06 19:34]
人種制限か。
アメ公ならやりそうな事だな。

416 名前:デフォルトの名無しさん mailto:sage [04/02/06 21:48]
単にMSKKが無能揃いなだけだろ。>>413-415を否定する根拠もないがな。

417 名前:デフォルトの名無しさん mailto:sage [04/02/06 22:53]
字句解析
文字をハッシュで調べる
・変数、関数名、キーワードを判別
ハッシュのない場合
・数値
・変数名
・関数名
をSwitch分で単語に区切る


構文解析
区切った単語を木で別ける
キーワード文(IF文等が正しいか評価する)

意味解析
木で別けた文を
計算式、評価式が正しいか・・・

目的語の変換
・Data
・PRORAM
 ・RPOC
  引数
   StackPointを設定する
  戻り値(相対的
  返り値(相対的)
・相対的なラベルを設定する

リンカ
・関数
・グローバル変数
・相対的なラベルを絶対値にする

418 名前:デフォルトの名無しさん mailto:sage [04/02/07 02:52]
独り言はスルーか。

419 名前:デフォルトの名無しさん mailto:sage [04/02/07 02:59]
GCC frontend弄ってる人いない?



420 名前:名無し@沢村 [04/02/07 21:13]
おい、おまーら聞け、おれのマシン語のサイトにPEフォーマットの仕様をUPしたからな。
恐ろしすぎるぞ!!おまーら↓

hp.vector.co.jp/authors/VA015412/


421 名前:デフォルトの名無しさん mailto:sage [04/02/08 11:50]
むしろlibelfの使い方が知りたい。

422 名前:デフォルトの名無しさん mailto:sage [04/02/09 00:52]
質問させてください。
LLとLRの解析処理の違いは何となく理解できたのですが、
記述能力という面でどういった違いがあるのでしょうか?
javaとかって(LA)LRでないと記述できないみたいな事も
聞いたことがあるけど、これってLLでは記述できないって事で
しょうか。


423 名前:デフォルトの名無しさん mailto:sage [04/02/09 01:38]
>>422
LL(1)で書けるかどうかはわかりませんが、
ANTLRというパーサー生成系で書かれたJavaの文法がありますから
LL(k)で記述可能なのは確かです。




424 名前:デフォルトの名無しさん mailto:sage [04/02/09 07:50]
>>420
無駄ではなーい。
乙。
各ページにTOPへのリンク付けて、ロボット検索でどっかのページへ直接着いた時にも
他のページへ辿れるようにしとけー。

425 名前:デフォルトの名無しさん mailto:sage [04/02/09 13:27]
>>423
ANT"LR"ってLR系かと思い込んでました。
LL(k)だったんですね。ありがとうございました。



426 名前:デフォルトの名無しさん [04/02/11 22:07]
一般的なコンパイラやスクリプトでは、
yacc&lexのソースコードは何行ぐらいになりますか?


427 名前:デフォルトの名無しさん mailto:sage [04/02/11 22:18]
千差万別。

428 名前:デフォルトの名無しさん [04/02/12 00:05]
いきなり質問すみません。
以下のコードを最適化(局所的に?)するとどーなるんですか?
低レベルかもしれませんが私にはさっぱりです。

for(i = 0; i < 100; i++)
  a[i] = b[i] * c[k]−b[i];


429 名前:デフォルトの名無しさん mailto:sage [04/02/12 00:07]
とりあえずstrength-reduceだな



430 名前:デフォルトの名無しさん mailto:sage [04/02/12 00:41]
>>428
c[k]がループ不変なので外に出す。

もっと気合いがはいってるコンパイラなら、
a[i]=b[i]*(c[k]-1)
に変換したあと (c[k]-1)をループ外にくくり出すくらいはやるかな?
そしてinduction variableを消す。

ck_1 = c[k] - 1;
ap = a; bp = b;
for (i = 0; i < 100; i++) {
 *ap = *bp * ck_1;
 ap++; bp++;
}

あとはループunrollingとかforをdo-whileにおきかえるとか。


431 名前:デフォルトの名無しさん mailto:sage [04/02/12 01:03]
>>426
手元にあるANSI Cのyaccによる定義。ソースが766行(宣言部と文法定義のみ)。
終端記号、還元規則の数などは:

83 terminal symbols
80 nonterminal symbols
224 productions
364 states

フリーな言語処理系はたくさんあるから、入手して眺めてみては?







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

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

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