エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
再帰下降パーサで左再帰が何故ダメなのかが分かった - IT戦記
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
再帰下降パーサで左再帰が何故ダメなのかが分かった - IT戦記
やっと分かった parse("1+1+1", i); function parse(expr, i) { var left = parse(expr, i); if (expr[i... やっと分かった parse("1+1+1", i); function parse(expr, i) { var left = parse(expr, i); if (expr[i++] !== '+') return 1; if (expr[i++] !== '1') throw Error; return [left, 1] } そりゃ無限ループになるわなあ。 手書きパーサなら演算子順位法を使うからいいけど ちなみに 右再帰だとこう parse("1+1+1", i); function parse(expr, i) { if (expr[i++] !== '1') throw Error; if (expr[i++] !== '+') return 1; var right = parse(expr, i); return [1, right] } 無限ループしない