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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 13:12:25 ]
禁止事項【臨時】
・前スレの911自身の書き込み、またそれに関連した書き込みを禁止致します。
 (スレが荒れる原因となります)

プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。

過去スレ
1 pc.2ch.net/tech/kako/981/981672957.html
2 pc2.2ch.net/test/read.cgi/tech/1021136715/
3 pc5.2ch.net/test/read.cgi/tech/1070089173/
4 pc5.2ch.net/test/read.cgi/tech/1100097050/
5 pc8.2ch.net/test/read.cgi/tech/1106129164/
6 pc8.2ch.net/test/read.cgi/tech/1115335709/
7 pc8.2ch.net/test/read.cgi/tech/1129287390/
8 pc8.2ch.net/test/read.cgi/tech/1131273918/
9 pc8.2ch.net/test/read.cgi/tech/1135082582/
10 pc8.2ch.net/test/read.cgi/tech/1146844753/
11 pc11.2ch.net/test/read.cgi/tech/1160879890/
12 pc11.2ch.net/test/read.cgi/tech/1188688416/
前スレ 13 pc12.2ch.net/test/read.cgi/tech/1233143342/
関連リンクは多分 >>2-10 あたり

656 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:50:14 ]
>>655
勢いがあるのもあるが
ARMのアーキテクチャがstackマシンの素性からそんなに離れていないのでJITのコード変換がすごくやりやすい
マルチスレッドでGC付きの言語をJITで落とし込む際にクリティカルセクションなしでもコンパクションGC作ったりできるような事とかができておもしろすぎる

X86みたいに命令が複雑多岐じゃないせいでもあるけど、実装自体が楽しいのは本当に久方ぶりだよ

657 名前:デフォルトの名無しさん [2010/03/26(金) 20:35:57 ]
なるほど、エロゲ向けだな。

658 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 02:38:47 ]
特にインタプリタの話なんだけど、ベースライブラリは何を使ってる?
日付/時間とか、スレッドとか、ネットワークとか、いろいろ
自前でマルチプラットフォームにする気は起きないし、
ライセンスの問題もあるから難しいよな。
wxはいいけどC++になっちゃうし、glibだとGPL食らうし

659 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 02:43:32 ]
boost

660 名前:デフォルトの名無しさん [2010/03/28(日) 03:50:47 ]
自前。

661 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 04:11:06 ]
俺も自前だな。

662 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 04:57:28 ]
Cで自前。会社じゃ当たり前。

663 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 05:45:31 ]
会社じゃ安全なライブラリを買うか自前だよな。

664 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 06:46:51 ]
>GLibを動的リンクにて使用する場合に限り、ソフトウェアを
>製造、販売が可能になります。

DLLに固めて使うなら大丈夫でなかたっけか…lgpl ver2.1+だっけ…
まるまるスタティックとかOSごと積むとかは
また違うとは思う。でもできれば自前が一番いい



665 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 07:04:30 ]
LGPLで外部DLLはよく使われる手だよね。
何かあっても外部DLLのソースの公開だけで済む。

666 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 07:06:57 ]
ていうか、コンパイラスレでこんな論議必用か?
コンパイラ組めるなら自前で全部出来るだろう。

667 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 08:27:32 ]
ライブラリは外部のものを流用できるように作るものだ

668 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:31:01 ]
投入できるリソースは限られているのだから、
一番注力したいところに集中的に投入するのが良い。

669 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:34:01 ]
>>666
そりゃ何だって自分でできるさ。
自分の家だって時間さえあれば自分で作ってみせる。

670 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:43:35 ]
そんなにたいした共有ライブラリじゃないだろ?
せいぜい2週間しかかからないよ。

671 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 17:00:02 ]
「共有」ってわざわざ付ける意味は?

672 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 17:40:57 ]
頭痛が痛いと同じ表現だったな。すまそ。

673 名前:デフォルトの名無しさん [2010/03/28(日) 18:51:26 ]
つか、そのままGPLじゃまずいのか?

674 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:15:56 ]
>>673
「秘すれば花なり、秘せずば花なるべからず」



675 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:55:54 ]
>>673
そりゃフリーな実装ならいいけどさ
バイナリ納品でメンテ契約あり、ようするにソースコードでの自社のノウハウは出したくないとかあるときはGPLは使えないだろ


676 名前:デフォルトの名無しさん mailto:さげ [2010/03/28(日) 21:46:21 ]
いや、それはわかるんだけど
いままで請求されたことないし
ぶっちゃけ、ソース出てもノウハウは出ないってw

677 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 00:12:46 ]
最低だなお前
すべてにおいて

678 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 03:27:14 ]
>>656
armはcpuは普通につかえるが
ペリフェラルが使いにくいのが多いんよね

679 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 09:36:51 ]
>>678
組み込みのCPUはDMA,IRQ以外って高機能なデバイスを無理矢理つっこんでるのでレジスタの設定がメチャクチャめんどくさかったりするけど
そういう意味の使いにくいってことかな?


680 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 11:54:11 ]
PICは使いづらいね。そー言えばエロゲ屋の人もPICは無理でAVRは作ったって行ってたね。
PICのレジスタは地獄。PIC16でようやくまともになった。

681 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 11:55:02 ]
picはウンコ
ARM使えよ

682 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 17:13:01 ]
どっかのarmでdmaが一転送あたり32回しか回らないのあったな
毎回チェーン使うのは無駄くさい

683 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 17:46:12 ]
組み込みCPUはたいてい
外部ピンがMuxされてるから
余計にめんどいんだよな

684 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 18:13:37 ]
>>682
ポーリングするのかw
PIOで素直に転送した方がましだねw



685 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:53:56 ]
>>684
よせよ、CPUもったいねぇじゃねぇか


686 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:58:30 ]
基本はHLTだよな

687 名前:デフォルトの名無しさん [2010/03/30(火) 02:26:12 ]
だよなampmだよな。

688 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 08:56:33 ]
>>684
最大32回をチェーンでつないだら
たくさん送ってくれるから
PIOよりゃましだがチェーン必須はめんどいw

689 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 12:56:22 ]
中田育夫氏の最適化の本ってどうなんでしょうか?
基本的な機能を備えた言語で論理的な部分からどの様な最適化が一般に可能か、について調べています。
定価が10000円だったみたいですが、そんなに特別な本なのでしょうか?

690 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 13:59:17 ]
日本語しか読めなければ、他に選択肢はない。
ドラゴンブックくらいしか。


691 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 14:21:23 ]
中田さん懐かしいな

692 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 14:24:26 ]
どのような方法があるかを調べるだけならググるで十分な気もするが。

693 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 18:17:37 ]
美しい日本のMLコンパイラとかね。

694 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:13:42 ]
ドラゴンブックにのってて中田本にないものってある?



695 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 03:55:47 ]
逆はあるな
りんご園とか

696 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 19:50:02 ]
りんご園てなに?

697 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 20:11:27 ]
>>696
スモールコンパイラの制作で学ぶプログラムのしくみ

698 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 21:05:42 ]
りんご園とコンパイラでぐぐってみたら変わった本が出てきたけど、そういうことか。thx

699 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 23:10:25 ]
>>695
あれは監修だけだから中田本とは違うんじゃ?


700 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 03:12:48 ]
「これは文系のセンスで書かれたコンパイラの本です。」
--中田氏推薦の言葉はこの一文から始まる。
この言葉に魅力を感じつつ、実際に購入して読んでみたが、
読み進むにつれ、この言葉の皮相さがだんだんと理解されてる
ことになる。
どうやら、ここで言う「文系のセンス」とは、
1.「ストーリー仕立て」でとっつきやす「そうな」文章、
2.全編を通して出てくるリンゴの比喩
主としてこのことを指しているようだ。
しかし、まったくもって残念ながら、
1.は決して名文とはいえない拙い言い回しが散見されるところどころ設定に無理がある稚拙な「ストーリー」であり、
2.はかならずしも的を得た比喩とはいいがたい代物で読み進めるにあたってかえって理解の邪魔になるといったものだ。
とりわけ2.を称揚しているかにも見える「推薦の言葉」は少なからぬ問題を孕んでさえいると思う。
比喩において、喩えられる対象と喩えそのものにおいては、
互いの概念の抽象度合い(というか抽象化のレベル)がきちんと符合しているべきである。しかしながら本書においては、そのレベルがまちまち、バラバラであり、必ずしも適切な比喩でないものが実に多い。
読み進むにつれ、拙い比喩表現を「文系のセンス」などと言ってしまう無神経な理系の教授と、「文系の持ち味を生かした」と悦に入っている無神経な文型の学生。どうしてもそういう印象がもたれてならないのだ。
本来よい比喩のための「センス」に文系も理系もないのであり、あるのは明晰な概念把握、適切な抽象化、適切な想像力これらに関する「センス」があいまってはじめてよい比喩表現が可能になるのだと思う。
そしてよい比喩表現だけが、複雑な物事を理解する助けとなるのである。
「ただ単にたとえればいいってもんじゃないんだ!」と声を大にして言いたい。

701 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 03:46:26 ]
>>700
どの本の推薦文?

702 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 03:57:55 ]
りんご園

703 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 18:48:14 ]
りんご園は読まない方が良いよ
教科書の丸写しに訳の分からない説明を加え
JAVAで書き直した。そんな本

704 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 19:50:32 ]
というか比喩なんてどうでもいい。
比喩を排除するために数学的記述があるのだから。



705 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 20:28:39 ]
>>699
監修しちゃった以上責任はあるだろw
推薦の言葉なんて書いてる場合じゃなくて出版止めるべきだったとしか思えないレベル

706 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 20:47:32 ]
>>705
学術書じゃなくて一般人向けの本に何を期待したんだ?


707 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 09:27:52 ]
関数型言語のコンパイラを解説した本てある?

708 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 09:40:14 ]
Modern Compiler Design in ML
分量はたいしたことないけど後ろの方にあった

最近和訳出てたよね?


709 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 21:15:14 ]
>>707
MSRのサイモン・ペイトン・ジョーンズのページも見て。
research.microsoft.com/en-us/um/people/simonpj/papers/papers.html

710 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 22:37:20 ]
>>708
少し違ってModern Compiler Implementation in MLのことだろうか。

その翻訳本の「最新コンパイラ構成技法」を見てきたけど1章が関数型に費やされてたわ。
まあでも頁数のためか、思いつくような事が難しく高級に書いてある感じで終わってたが

711 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 22:10:11 ]
>>710
俺も立ち読みしたけど、訳が悪いと思うなぁ。
いや、悪くはないんだけど、堅い。

原文はそんなに難しい英語ではないし、学部生向けの教科書
だと思った

712 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 20:23:06 ]
GPPGでBisonのYYDEBUGでのデバッグ機能を使用したいのですが、同様の機能がありますでしょうか?
どんな解析がされたのかがわからなくて辛いです(。>д<。)
今はConsole.Writeを実行して、どのような解析がされたかを確認してます。


お忙しいところ申し訳ありませんが、どなたかよろしくお願いいたします。

713 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 20:24:02 ]
>>712
俺の研究室の学生っぽいからダメ

714 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 21:13:00 ]
身内ならなおさら、こんぐらい教えたれやw



715 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 21:56:39 ]
ドキュメント読めば書いてあるよ
HTML吐かせたりできたはず

716 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 22:16:06 ]
   ( 。>д<。)


(。>д<。 )


 ( ゚д゚ ) 

717 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 00:45:08 ]
英語の勉強もかねてるんでしょうね。
でも、大変そう(w
plas.fit.qut.edu.au/gppg/files/gppg.pdf
ドキュメントってこれっすよね。きっと
上から眺めたらそれっぽいのを見つけられたよ。
一字一句を訳してると死ぬほど時間掛かるから、ざっくり眺めてみるといいのでは?
htmlとかなんとかって書いてあったのでたぶんこれだろう。
34ページしかないので、10分くらい眺めてみては?

718 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 03:26:08 ]
最初はちゃんと読んでいんじゃない
そのうち斜め読み出来るようになるし

719 名前:712 mailto:sage [2010/04/29(木) 12:47:45 ]
皆様返信ありがとうございます。
GW中に調べてみますv(^ ^

ちなみに、私はサラリーマンなので713さんの後輩ではないと思いますよ。
私の場合は自力で調べてみますが、後輩には優しく教えてあげてくださいね。

720 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 14:13:39 ]
やさしく教えるのって結局質問者のためになってるのかな
突き放した方が良い場合もある(そっちの方が多い)んじゃないか

721 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 14:16:04 ]
>>720
要は主体的に動かすための動機づけが重要なんだよ。
手取り足取り何もかも用意してやるのも害になるし、
突き放して何も与えないのも害になる。
さじ加減が重要だよ。

722 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 14:18:28 ]
教育には、○○をすれば必ずうまくいく、なんていう銀の弾丸はなくて、
人それぞれさじ加減を変えないとうまくいかないんだよ。

723 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 00:57:30 ]
組み込み系言語総合スレは何処に

724 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 01:09:32 ]
立てたよ。

【Lua】組み込み系言語総合 その3【Squirrel】
pc12.2ch.net/test/read.cgi/tech/1272643397/



725 名前:デフォルトの名無しさん [2010/05/08(土) 02:33:42 ]
ANTLRの質問です。
JAVAも初心者なんですが、日本語(UTF-8)のコメントが入った*.gを
ANTLRにかけるとエラーが出るんですが、何とかならないでしょうか?

726 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 07:05:26 ]
>>725
options 節でcharVocabularyの範囲を指定すると通るよ
charVocabulary = '\u0000' .. '\uFFFE';


727 名前:725 mailto:sage [2010/05/09(日) 21:54:07 ]
>>726
charVocabularyの指定ではダメでした。
後出しですいませんが、使っているのはANTLR3で、
何となく、ANTLR3から使えないような気もします。


728 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 20:08:20 ]
FORTH系でスタックの深さをインデントの深さで表現するって言うのはどうだろう
1 + 2 * 3 + 4 / 5

1 2 3 * + 4 5 / +

1
2 3
あれ?


729 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 20:24:18 ]
あんまり見栄え良くないよ。


1 2 3
 *
+ 4 5
 /
+

730 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 00:25:27 ]
>>728
積んでから帰ってくるとか消費して帰ってくるのとかがキモく見えるだけじゃないか?
今まで通りスタックの伸縮についてコメントで記す方式で十分な気がする

だいたいわかんなくなる位巨大なワード組まないようにすべきだと思うし


731 名前:728 mailto:sage [2010/05/22(土) 17:56:42 ]
いや、
1 2 3 4 5
+
で、(1+2+3+4+5)が計算できると、いいかと思ったんだ。
このスタック位置まで繰り返しみたいな。

732 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 18:02:26 ]
本格的にparserを実装したいならIronyを使う。
ただ計算だけできればいいならなにかインタプリタを使えばいい。

個人的にBooをおすすめしておく。
コンパイラにインタプリタに標準ライブラリまでついて1.45MBと軽くていい。

733 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 18:54:05 ]
>731
検討したことあるけど、後置のメリットをダメにするから止めたほうが良い。結局カッコ付けるのと変わらなくなるし。

734 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 18:57:09 ]
++ とやったらスタック内が1つになるまで加算する、
とかしたらいいんじゃない



735 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 21:02:29 ]
>>731
それ括弧でくくってから呼び出し関数の名前を最初に書いたら単なるLISPじゃないのかな?


736 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 16:18:33 ]
>>735
>それ括弧でくくってから呼び出し関数の名前を最初に書いたら単なるLISPじゃないのかな?
しー!、黙っていればわからないって!
見た目がPython風にならないかと思っただけ。
>>730
>今まで通りスタックの伸縮についてコメントで記す方式で十分な気がする
これで、IDEでワードを打ち込むと、前のキーワードの色が変わったりすると便利だな
でも、深さが任意のキーワードとかがあったらだめだろうけどな。


737 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 23:57:02 ]
lemonとかcaperとかのプッシュ型パーサージェネレーター使ってる人いる?

738 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 01:40:55 ]
caperは使ってる、でかいの書いたらコンパイル時間がたまらん事になった

739 名前:737 mailto:sage [2010/05/26(水) 12:48:47 ]
プッシュ型パーサーって入力の終わりを示すトークンを自分で入れるでしょ。
あれがどうもやりにくいというかピンとこないというか。

対話型でスクリプトを入力するようなやつ(ぶっちゃけるとlisp)で
単純に改行を入力の終わりと出来ないやつは一体いつ終了トークンをプッシュするんだと。
「全ての左括弧と右括弧が対応したかを自分で検査してtoken_eofをプッシュ」ってやんのかな?あれ?

740 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 21:47:01 ]
それでいいんじゃね、字句解析機でネストレベルを覚えとくのは普通にやる。
あと、プッシュ型パーサは字句解析と構文解析の間で小細工できるのが便利だと思う

741 名前:jonigata mailto:sage [2010/05/26(水) 21:56:43 ]
なるほど……

スペース的なトークンを用意したら
なんとかなったりしないかな?

それはそれで文法作るの面倒かしら

あるいは、改行のところでパーサのインスタンスを保存して、
改行にあわせて無理やりeof打ち込んで、
エラーになったら保存したインスタンスを復帰してどうにかするってのは
どうでしょう

742 名前:737 mailto:sage [2010/05/26(水) 23:46:56 ]
>>740
> それでいいんじゃね、字句解析機でネストレベルを覚えとくのは普通にやる。 
即効性で言っても多分それが一番かなぁ。

>>741
> スペース的なトークンを用意したら 
> なんとかなったりしないかな? 
外側の都合が文法に影響するのはなんとなく気持ち悪い気が…。

> あるいは、改行のところでパーサのインスタンスを保存して、 
> 改行にあわせて無理やりeof打ち込んで、 
> エラーになったら保存したインスタンスを復帰してどうにかするってのは 
概念的には一番わかりやすいと思うけど、
括弧が閉じられた後、改行が来るまでに別のトークンが来ないとも限らないのが…。

(defun foo ()
  5) (foo)

とかだったら
==> foo
==> 5

みたいにfooの定義とfoo呼び出しの戻り値5が返って欲しいし。

743 名前:jonigata mailto:sage [2010/05/27(木) 00:15:48 ]
それはトップレベルがS式のリストじゃだめ?

それも気持ち悪いor実はそんなことじゃ解決しない
ということであれば、何をどうできればいいかなあ
eofを仮にpostしてacceptするかどうかだけ判定する
メソッドとか?

一切コーディングせずに妄想だけで言ってるけど!


744 名前:737 mailto:sage [2010/05/27(木) 08:56:44 ]
> それはトップレベルがS式のリストじゃだめ?
あ、なるほど。そう考えたら「パーサのインスタンスを保存して〜」で問題ないのかな…。
まだやってないけどメソッドの追加はいらなさそうな気がします。
実際試すまでちょっと間が空くかも知れないけどまた報告に来ます。



745 名前:737 mailto:sage [2010/05/30(日) 14:46:41 ]
とりあえずやったこと書いてみます。
まず、字句解析器から受け取ったトークンをcaperにプッシュするループのところに以下の部分を挟みました。

    if( token == token_LINE_FEED ){
        Parser< Value, SemanticAction > backup = parser;
        if( parser.post( token_eof, 0 ) ){
            break;
        }
        parser = backup;
    }

と、backupを書き戻そうとしたところでoperator=使えないというエラーが。
で、Parserクラスに代入演算子を入れました。

public:
    self_type& operator!=(const self_type& other)
    {
        if (this != &other) {
            accepted_       = this->accepted_;
            error_          = this->error_;
            accepted_value_ = this->accepted_value_;
            stack_          = this->stack_;
        }
        return *this;
    }
};

これでエラーは無くなりました。
(つづく)


746 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 14:46:58 ]
じゃあさ、SQLでViewが画面とかどうだろう。
入力困るけど。

747 名前:737 mailto:sage [2010/06/01(火) 10:44:02 ]
次に今までS式が最上位だった所へ更に上を追加しました。

Top<int>                 : [] 
                         | [] Top Datum(0)
                         ;

とここでふと疑問が。
・全体をS式の列として受理するとして、スタックに積む値の型はどうなるの?

typedef boost::variant<std::string, int, bool, Sexp *> Value;

となっていたのが
typedef boost::variant< std::string, int, bool, Sexp *, std::list< boost::variant< std::string, int, bool, Sexp * > > > Value;

とでもなるのかな?えー。

…SemanticAction内でYYACCEPTに相当する何かを行った時にも
postでtrueを返せばbisonの置き換えが楽そうな気がするんだけど。



748 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 17:43:52 ]
中田の新しい本は何が変わりましたか?

749 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 18:54:51 ]
>748
ちょっと自分で調べといて
おれ忙しいから


750 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 22:12:22 ]
>>748
新刊でたの?、それとも改訂版?


751 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 22:21:56 ]
>750
ちょっと自分で調べといて
おれも忙しいから

752 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 22:24:16 ]
>>751
そんなこと書き込んでる間に調べられるだろう

753 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 13:31:54 ]
>>750
2版が出た

754 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 17:06:45 ]
>>745 >>747

型に関しては、単にリストをオブジェクトを用意すればよいのではないかな?

代入演算子とかはこれから実装しますです

YYACCEPT云々についてはちと考えます。



755 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 19:48:52 ]
良く見たらoperator!=になってるw






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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