アカウント名:
パスワード:
昔は構文木をテーブルで持つyacc
昔話をすると爺くさくてやなんだけど、僕は昔kmyaccというクローンを実装しまして、CP/M(80の方)上で動かしてました。Cの構文程度ならちゃんと処理できましたよ。
yaccって、人が思ってるほどメモリ食うもんじゃないです。生成されるテーブルもかなり圧縮されてますし。
ただし、「それ程難しくない」とは言えないなあ。このifconfigの構文程度なら簡単でしょうけど。
実際、conflictが出まくると頭かかえちゃいます。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
kameで (スコア:0)
途方に暮れたことがあります。
gdbで追っていくと、confファイルを読んで
プログラム内のtmpリストに追加しているように読める。
そして、ちょうどメンバ数2までの制限が
かかってることまではわかったが、改造出来ない・・・。
そしてまわりを見回しても、C+スクリプト言語(sed,awk,per
yaccは便利 (スコア:0)
BNFさえ理解できれば、後はそれ程難しくないですね。お約束レベルの事をいくつか憶えればおしまい。
BNFわからなければRFCも読めませんから当然みんな判っ
Re:yaccは便利 (スコア:3, 参考になる)
昔話をすると爺くさくてやなんだけど、僕は昔kmyaccというクローンを実装しまして、CP/M(80の方)上で動かしてました。Cの構文程度ならちゃんと処理できましたよ。
yaccって、人が思ってるほどメモリ食うもんじゃないです。生成されるテーブルもかなり圧縮されてますし。
ただし、「それ程難しくない」とは言えないなあ。このifconfigの構文程度なら簡単でしょうけど。
実際、conflictが出まくると頭かかえちゃいます。
Re:yaccは便利 (スコア:1)
昔ずいぶんお世話になりました。どうもありがとうございます。
ちょっとしたインタプリタ風ツールの入力解析やら#446560のACの方同様の設定ファイルの解析やら程度にしか使ってませんでしたが、私みたいに頭の出来のよろしくない奴が手で書くぐらいだったらyaccに吐かせたほうが効率のいいものができたような気がしてました。
(パーサの類を手書きすると状態遷移が多すぎてわけがわからなくなって、実行時間やメモリの話以前に結局いつになっても物が出来上がらないからだ、というオチは伏せておきます…)
ついでに言うと、そんな程度のものでもなかなかconflictの解決ができずに頭をかかえちゃったりして。「それ程難しくない」といえる人がうらやましい…
まあ、最初の投稿者の方の話じゃないですが、使っている人自体少ないし使いこなしている人はさらに少ないというのは当たっているかなと思います。
それはさておき、今手元で動いてるFreeBSD5.1のifconfigのマニュアルを見ると、「こんなの手で書きたくない!」とは思いますね。yaccを使おうというのは正しい選択かなと。
Re:yaccは便利 (スコア:1)
bisonやFreeBSDに付属のyaccに比べて、出力するコードがコンパクトだし、
liby.a が要らないのがUNIX/Win(BorlandC++)でコードを共用するのに便利なもので。