エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
再帰下降法にさよなら!Prattパーサーで式解析を簡単かつ効果的に!
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
再帰下降法にさよなら!Prattパーサーで式解析を簡単かつ効果的に!
今までコンパイラでの式のパーサーに再帰下降法を使ってたが、Crafting Interpretersという本(以降CI本... 今までコンパイラでの式のパーサーに再帰下降法を使ってたが、Crafting Interpretersという本(以降CI本)でPrattパーサーという手法があることを知った。 本では加えて直接バイトコードを生成しているため「文法に制限がある」みたいなことが書かれていたのを混同して不安があったが、 試しにC言語の式のパースに使ってみて問題なく使えることがわかったのでもう今後は再帰下降法を使うのはやめるようPrattパーサーを布教したい。 式のパースの難しさ式をパースする際になにが問題かというと、演算子に優先度があって例えば1 + 2 * 3みたいな式の場合にトークンを「1, +, 2」と読んだ時点では判断できず、続く演算子によって結合を変更する必要がある。 また結合に左右があり、例えばa - b - cは(a - b) - cと左結合なのに対して、a = b = cはa = (b = c)と右

