[表示 : 全て 最新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

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    朝だす、みんな起きるだす!!

358 名前:デフォルトの名無しさん mailto:sage [03/01/10 11:58]
29■■■■■■■■■■■■■■□□
28■■■■■■■■■■■■■■■■■■■■■■□□□□□□□□
27■■■■■■■■■■■■□□□□□□□□
26■■■■■■■■■■■■■■■□□□□□□□□□□□
25■■■■■■■■■■■■■■■■■■■■■■■■■■□□□□□□
24■■■■■■■■■■■■■■■■■■■■■■■■■■■□□□□□□□□□□□
23■■■■■■■■■■■■■■■■■■■■■■■■■■■■□□□□□□
22■■■■■■■■■■■■■■■■■□□□□□□□□
21■■■■■■■■■■■■■■■■■■■■■□□□□□□
20■■■■■■■■■■■■■■■■□□□□
19■■■■■■■■■■■■■■■■■■■■■■■■■□□□□□
18■■■■■■■■■■■■■■□□□□□□□
17■■■■■■■■■■■■■■■■□□□□□□□□□□
16■■■■■■■■■■■□□□□
15■■■■■■□□□□□
14■■■■■□□
12■
09■
06■


359 名前:デフォルトの名無しさん mailto:sage [03/01/10 12:50]
おい!おまいら!

ttp://dailynews.yahoo.co.jp/fc/computer/2channel/

のアンケートで5を選びませんか? 目標50%

360 名前:デフォルトの名無しさん mailto:sage [03/01/10 15:15]
だからあれほどかちゅにしろとっ…!

361 名前:デフォルトの名無しさん mailto:sage [03/01/10 16:41]

それじゃあ匿名掲示板の長所を否定することと同義
じゃないか。俺の言ってることに賛成といいながら
IP記録にも賛成とはどういうことだ。

362 名前:デフォルトの名無しさん mailto:sage [03/01/10 23:02]
質の低い書き込みを減らしたいのに
質の低い板を生かしておくのはどうしてなんでしょうか?



363 名前:デフォルトの名無しさん mailto:sage [03/01/10 23:07]
全ての板ってことっすか?

364 名前:デフォルトの名無しさん mailto:sage [03/01/11 00:25]
今回の件で言論の自由さえも脅かされることになるかも
誰も何も言えない時代が来そうな伊予柑

365 名前:デフォルトの名無しさん mailto:sage [03/01/11 00:34]
匿名掲示板の意味を履き違えてる人が多くて萎える。

366 名前:デフォルトの名無しさん mailto:sage [03/01/11 09:57]
それ、なんかの話であったな。
たしか漫画だった。なんってやつだったけなぁ

367 名前:デフォルトの名無しさん mailto:sage [03/01/11 10:30]
======2==C==H======================================================

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

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

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

368 名前:デフォルトの名無しさん mailto:sage [03/01/11 11:22]
ぬちゃんねる

369 名前:デフォルトの名無しさん mailto:sage [03/01/11 11:53]
事実無根で訴えます。

370 名前:デフォルトの名無しさん mailto:sage [03/01/11 13:27]
昔+にもいたぞ。
バカ丸出しだなw

371 名前:デフォルトの名無しさん mailto:sage [03/01/11 16:12]
もう、マンコとかアナルとか書き込めなくなっちゃうね!

372 名前:デフォルトの名無しさん mailto:sage [03/01/12 00:20]
マスコミや官僚・政治家・企業の秘密独占
そこからの権力維持
これを打ち破るのが巨大掲示板群
2ちゃんねるだ
警察は言論統制を目的に2ch攻撃の手を緩めない
個人情報保護法
当面は反米野郎を血祭りにあげるのだろう



373 名前:デフォルトの名無しさん mailto:sage [03/01/12 00:30]
6億って鯖実況?

374 名前:デフォルトの名無しさん mailto:sage [03/01/12 10:44]
判例がいっぱい出来たら
もうメガサイトなど誰もやらない・やれないんじゃないか?

375 名前:デフォルトの名無しさん mailto:sage [03/01/12 15:20]
>>1-343
荒らされる前までのリンク。

376 名前:デフォルトの名無しさん mailto:sage [03/01/12 21:16]
www.sponichi.co.jp/society/kiji/2003/01/11/05.html

もう予告は止めた方が良いだろうね。

377 名前:デフォルトの名無しさん mailto:sage [03/01/12 21:18]
法律上の「代理」の意味はスルーしたようです(w

378 名前:山崎渉 mailto:(^^)sage [03/01/13 18:56]
(^^)

379 名前:山崎渉 mailto:(^^)sage [03/01/15 18:10]
(^^)

380 名前:デフォルトの名無しさん mailto:sage [03/01/20 12:53]
マ板にあったギコBASICスレが御亡くなりになりました。
2000年の6月からの長寿スレ なのに残念です。


381 名前:デフォルトの名無しさん [03/01/20 14:51]
native compilerを作った奴いるか?

382 名前:デフォルトの名無しさん mailto:sage [03/01/20 16:21]
自分の時間で作れるのはスタックマシン中間言語インタプリタへのコンパイラまでだった






383 名前:デフォルトの名無しさん mailto:sage [03/01/20 16:47]
Scheme で >>382 みたいなコンパイラ、VM を作るのに参考になる論文とかあっ
たら教えてください。英語か日本語のやつで。処理系のソース見てるんだけど
難しくて。

384 名前:デフォルトの名無しさん mailto:sage [03/01/20 17:52]
処理系のソースから何かを得られないのなら、参考文献で
概要を理解することはできても永遠に「作れない」気がする。
というわけで、何のソースを見てるのか分からないけど、
ソース解析を侮らずにしっかりやるのがよいと思われ。

385 名前:デフォルトの名無しさん mailto:age [03/01/21 20:57]
>>383
理論が先か実践が先か・・・

386 名前:デフォルトの名無しさん [03/01/21 22:29]
コンパイラの本を読んでいると、コンパイラを変換系、高級言語で書かれた
ソースコードを原始言語、コンパイラによって得られたアセンブラコードを、
目的プログラムと呼ぶ、と書かれているのですが、この3者の関係って、
変換系=アセンブラ、原始言語=アセンブラコード、目的プログラム=オブジェクトコード
にも当てはまるのでしょうか?

387 名前:デフォルトの名無しさん mailto:sage [03/01/21 22:37]
compilerはtranslatorの一種?

388 名前:デフォルトの名無しさん mailto:sage [03/01/21 23:45]
アセンブラみたいに1:1対応に近いものは
コンパイラとは呼ばないんじゃないかなあ。
よく分からんけど。

389 名前:デフォルトの名無しさん [03/01/22 01:01]
HTMLのようなタグ付き文字列を解析したいんだけど、
良い方法はありますか?

例えば、
<data><name>aaaa</name><size>2000</size></data>
のような文字列からaaaと200を取り出したいんですけど・・・
よろしくお願いいたします。

390 名前:デフォルトの名無しさん [03/01/22 01:02]
2000でした。申し訳ありません。

391 名前:デフォルトの名無しさん mailto:sage [03/01/22 01:08]
>>389
それはXMLのDOM使った方がいいんでないの?
だとするならスレ違いじゃないかねえ。

392 名前:デフォルトの名無しさん mailto:sage [03/01/22 01:11]
>>389
取り出すだけなら、
1. < が現れたら > まで読み飛ばす
2. > が現れたら < までを出力とする
3. ただし、半角スペース、タブ、改行は読み飛ばす



393 名前:デフォルトの名無しさん [03/01/22 01:21]
>>391
レスサンクスです。
私XMLのDOMっていうのはよく分からないんです。
下降再帰の手法でできるのかなぁ・・・とか思ったんで。

>>392
やはりそのようにやるしかないんでしょうか・・・
ファイルが複雑になったり、ファイルの形式が変わったりすると
パーサを書くのが嫌になってきてるんで・・・

クラスが10種類ほどあるんですが、その種類によって全部構造が違うんです。
ファイルから読み込むと同時に、オブジェクトに値をぶち込みたいんですけど
やはりこういうプリミティブなやり方しかないんですね・・・
明日のことを考えるとちょっと鬱になってしまいました・・・

394 名前:デフォルトの名無しさん mailto:sage [03/01/22 01:26]
>399
このスレの上のほうで一度でているが
上昇解析な手法がある。
https://sourceforge.jp/projects/frogger/
再帰だと解析終わるまで戻ってこないから、
用途が限定される。こちらは一文字単位で
戻ってくるからエディタなんかでも使えそ。

395 名前:デフォルトの名無しさん mailto:sage [03/01/22 01:36]
>>394
なるほど、そういうのもあるんですか・・・
でもなんか散雑な感じで、夜中の思考力ではなんだか分かりませんでした・・・
スミマセン・・・・

つまりはxmlを解析してパースツリーを構築するものですよね?


396 名前:デフォルトの名無しさん mailto:sage [03/01/22 01:41]
>>395
そうでふ。
プログラム見れば分かるけどすげー短くて
ボーゼンとするほど単純。

397 名前:デフォルトの名無しさん mailto:sage [03/01/22 03:08]
>>394
それって上向き解析なの?オートマトンでツリー作ってるように見えるんだけど。

398 名前:デフォルトの名無しさん mailto:sage [03/01/22 03:24]
>>397
プログラムの書き方が上向き解析のスタックを
使う要領でノードを操作してる上向き風味。
オートマトンは字句解析だけ。

399 名前:デフォルトの名無しさん mailto:sage [03/01/22 23:53]
いや全然上向きに見えないなー。むしろ下向き?
どんどん部分木作ってるわけでしょ。
あとオートマトンも字句解析の一つ上で使ってるように見える。
どうでもいいけど。

400 名前:デフォルトの名無しさん [03/01/23 00:33]
400getしたわけですが、
キリ番getするための良い入門書はありますか?

401 名前:デフォルトの名無しさん mailto:sage [03/01/23 02:15]
>>400
お前が書け。


402 名前:デフォルトの名無しさん [03/01/23 18:55]
bison/flexをVC++でMFCと併用していますが、どうもパーサ走らせると終了時に
メモリリーク起こします。ダンプされたのを見てると、どうもyytextの中身っぽい
文字列が…。これってflexの仕様でつか?
>>191の言ってるスレッドセーフ云々っていうのも気になりますた・・・



403 名前:山崎渉 mailto:(^^)sage [03/01/23 20:01]
(^^)

404 名前:デフォルトの名無しさん [03/01/25 00:08]
Programming Language Processors in Java: Compilers and Interpreters
www.amazon.com/exec/obidos/tg/detail/-/0130257869/
この本読んだ人はいますか?いたら感想聞かせてください。

405 名前:デフォルトの名無しさん mailto:age [03/01/31 23:19]
最適化するのにポインタって邪魔ですか?

406 名前:デフォルトの名無しさん mailto:sage [03/02/01 00:58]
>>405
ポインタというか aliasing が邪魔。

407 名前:デフォルトの名無しさん mailto:sage [03/02/01 08:47]
>>404
amazon のレビューを見る限り、非常に好意的だけど何か不満な点でも?

日本人で実際に読んだ人に背中を押してほしいと言うことですか?

408 名前:デフォルトの名無しさん mailto:sage [03/02/02 01:30]
>405
なんの最適化か知らないけど、追跡がしにくい。
実装する側の思考をすればわかると思うけど。
アドレスの同一判定までしてるコンパイラってあるのかな。

409 名前:デフォルトの名無しさん mailto:sage [03/02/09 01:08]
>408
一応、解析して指されている対象を絞り込む技法はあります。
解析コストと精度でトレードオフはありますが。

実行時のアドレスの同一性を考えるのではなく、
あるポインタ型変数についてその変数に代入するように
プログラム上でメモリ割り当てた部分の集合を計算します。
なるたけ集合が小さく絞れれば精度が高いと考えます。
解析に当たっては各手法の間で
関数呼び出しをまたいでの解析をするかしないか、
関数(メソッド)内のコントロール/データ・フローにどこまで配慮するか、
オブジェクト指向言語でメソッドの呼び出しの際のオブジェクトに配慮するか、
などの様々なオプションがあります。

こうやって得られたPoints-toグラフは関数(メソッド)やスレッドなどからの
Escapeを調べたりするのに使えます。

興味のある方はPoints-to analysisとかAlias analysisというキーワードで
ググって見てください。

410 名前:デフォルトの名無しさん mailto:sage [03/02/11 08:25]
Lex and YACC primer/HOWTO
www.linux.or.jp/JF/JFdocs/Lex-YACC-HOWTO.html
訳されている。


411 名前:デフォルトの名無しさん [03/02/16 18:41]
lex/yaccの初心者です。
lex/yacc使用してInterpreterパターンで計算機を作ろうと思ったんですが、コンパイルすらできません。
lexファイル内のcaseが不正だとか言ってきます。(他にもエラーがでてきますが…)
どこが間違ってるのでしょうか?ちなみに"Expression.h"に間違いはないはずなので省略しています。
=========================[calc_lex.l]
%{
#include "Expression.h"
#include "calc_yacc.cpp.h"
%}
%%
([0-9]+|([0-9]*\.[0-9]+)([eE][-+]?[0-9]+)?){
  yylval.exp=new Number(atof(yytext));
  return NUMBER;};
[ \t] ;
.  {return yytext[0];};
%%


412 名前:411 mailto:sage [03/02/16 18:42]
続き
==========================[calc_yacc.y]
%{
#include "Expression.h"
%}
%union{
  Expression* exp;
}
%token <exp> NUMBER
%left '-' '+'
%type <exp> expression
%%
statement:
  expression {printf("= %g\n", $1->Evaluate());};
expression:
  expression '+' expression {$$=new MathExp($1, $3, MathExp::ADD);}
  | NUMBER  {$$=$1;};
%%
main(){yyparse();}



413 名前:デフォルトの名無しさん [03/02/22 14:17]
再帰下降構文解析で実験的にコンパイラを作っているのですが、
関数のオーバーロードの実現方法がわかりません。
引数だけのオーバーロードなら、再帰下降の各関数が返す関数呼出しノードがひとつに絞れそうな気もするのですが
返り値もオーバーロード可能にしようとすると、もうどうやっていいものか。
何かいい方法はありませんか?

考えている仕様:
int A();
string A();
void B(int);
があって B(A) としたら上のほうの Aが呼ばれるようにしたい。
もうひとつvoid B(string); があれば曖昧エラーを出す。

414 名前:デフォルトの名無しさん mailto:sage [03/02/22 14:37]
>>413
それは無理じゃないの? だってさ、
void B(int);
void B(string);
の2つが定義されたらどうするの? つまりマッチングをどっちで取るの?




415 名前:デフォルトの名無しさん mailto:sage [03/02/22 14:43]
>>414
413の最後の行に書きましたように、曖昧エラーを出したいと思います。
勿論実用的には、解決を行えるように、明示的に型を指定する構文が必要になるでしょうが…。

他の言語でも、F(int, double)とF(double, int)があったときにF(1,1)なんて呼ぶと曖昧エラーになるので
返り値でも曖昧エラーを出すことは多分許容範囲内だろう、と。

416 名前:デフォルトの名無しさん mailto:sage [03/02/22 14:55]
追記。Adaでも可能なので、無理ってことは無い筈です。

417 名前:414 mailto:sage [03/02/23 08:29]
スマン 俺が間違ってた。
 再帰下降という事は、
  代入する変数の型
  関数の型
  先行演算子の型
 が先に判るわけだから、それをグローバルにとってスタック上に保存しながら使ったら?

 

418 名前:413 mailto:sage [03/02/23 16:27]
>>417
ありがとう。ええと、それですと

void A(int);
void A(string);

int B(int);
string B(string);
bool B(bool);

A(B("XXX"));

で、Aの時点で、期待する型はintとstring
 Bに入ったら、boolでは無いことがわかる。しかしintとstringのどちらかは区別が付かない
 ということで両方を候補に入れ、Bもやはりintとstringを期待して、
  で定数の解析に入ったら、定数はstring
 Bに戻って、B(string)が選ばれたことが確定
Aに戻って、A(string)が選ばれたことが確定

こんなイメージ…ですよね?合ってます?

419 名前:414 mailto:sage [03/02/23 16:50]
>>418
それは実装上厳しいんじゃない?
Aの引数を解釈してる時に、Bが出た時点で、曖昧にした方がいいと思うけどなあ

420 名前:デフォルトの名無しさん mailto:sage [03/02/23 19:25]
>419
え、特に問題なさそうだけど?
>Aの引数を解釈してる時に、Bが出た時点で、曖昧にした方がいいと思うけどなあ
なんでそう思ったの?


421 名前:413 mailto:sage [03/02/23 19:44]
まず一旦、型を特定しない構文木を作ることにしました。理由は、

string* A();
int* A();

*(A()) = 10;

再帰下降だと、A()を解析している時、その後代入されるのが整数なのか文字列なのか、
それ以前にそもそも代入されるのかどうかもわからないため。
(代入もされず値としても使われないなら曖昧エラー出さないといけませんし)

取り敢えず構文木を作るとこまで書きました。これから>>418の実装に挑戦します。
もっと手っ取り早い方法があればいいのですけれど。

422 名前:デフォルトの名無しさん mailto:sage [03/02/24 18:11]
スレ違いな質問かもしれないのですが、スクリプト言語のインタープリターを作ってみたいのですが、これを作るには、
コンパイラーの勉強が役に立つのでしょうか?

なにからやればいいのかさっぱり分からないので、なにか指針でもアドバイスお願いします。



423 名前:422 mailto:sage [03/02/24 18:27]
>>175 さんが同じような質問をしてた。
Perl や PHP のような大規模な言語ではないのだけど、コンパイラに関する資料が役に立つみたいですね。
まぁ、またーりとがんばってみます。

424 名前:デフォルトの名無しさん mailto:sage [03/02/25 19:03]
「UNIXプログラミング環境」で (lex + yacc を使った) 簡単な言語処理系の
作り方が紹介されてますよ。コードも web 上にありました。







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

前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