「コンパイラ・スクリプトエンジン」相談室16 (648レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
140(1): デフォルトの名無しさん [] 2014/12/10(水) 14:14:42.32 ID:lFxVBhH5(1/5) AAS
>>136
文法作るのはものすごく難しいんだよ。
同じ文書を受理する複数の文法が存在し、複数の間で優劣がある。
しかも、優劣を機械的に評価することが難しい。
「こいつを使えば簡単にできる」というようなソフトウェア紹介を見かけると
思うけど、そんな魔法の杖みたいなソフトは無いから。
そういうこと言ってる人は、付属してきたサンプルを動かして簡単といってるだけ。
信じちゃだめだ。
構文解析器の生成系を自分で作れるようにならないと文法を作れないと思っていい。
少なくともその程度の理解は必要。
まずドラゴンブックを買ったらどうかと思うんだが。
141(1): デフォルトの名無しさん [] 2014/12/10(水) 14:18:41.54 ID:lFxVBhH5(2/5) AAS
まずドラゴンブックを買う。
実際に作ってみる。
この作ったものは実用にはならないよ。
テーブルが大きすぎるからね。
それでも作ることが重要。
その後に、市中に出回る生成系を使ってみたらどうだろう。
俺はこの順番が良いと思うよ。
中身の動作を知らないと使えないって、ツールとしては下等だけど、
今はまだその程度の世界なんだよ。
143(2): デフォルトの名無しさん [] 2014/12/10(水) 17:17:43.47 ID:lFxVBhH5(3/5) AAS
>>142
そこが勘違いなんだよ。
JavaCCを使うにはJavaCCを作れる程度の知識が必要。
だからドラゴンブックが必須。
ドラゴンブックは決して読みやすい書籍ではないよ。
どうとでもとれる表現がいくつもある。
読み解きながら理解する必要があるので、結局生成系を自分で一つ書き上げる必要がある。
「JavaCCを使えば知識がなくてもこんなに簡単」的なことを書く人は
実はJavaCCを使っていないんだよ。
そこに騙されてはいけない。
文法を作るには深い理解が必要なんだよ。
簡単にできる方法はない。
153(2): デフォルトの名無しさん [] 2014/12/10(水) 23:46:18.31 ID:lFxVBhH5(4/5) AAS
文法を作ることの難しさを理解できていないんだよ。
嘘ではなく、本当に難しい。
実用性は無くとも理論通りに動作する生成系を自分で作るのは絶対必要。
遠回りに見えるだろうけど、これが最短の道なんだよ。
「俺の考えた言語」の文法をきちんと作れるなら、生成系程度すぐ作れる。
その逆は無いよ。
何か考え違いをしてるんだと思う。
文法程度すぐ作れるけど、生成系を作るのは難しいと思っていそう。
まるっきり逆。
154: デフォルトの名無しさん [] 2014/12/10(水) 23:48:44.51 ID:lFxVBhH5(5/5) AAS
さらに言えば、理論通り動く生成系を作っても、それは実用性を持たない。
学習のために作るんだ。
実用には、既存の生成系を使うんだよ。
そういう順番が良い。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s