IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

2008-08-23から1日間の記事一覧

再帰下降パーサで左再帰が何故ダメなのかが分かった

やっと分かった 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] } そりゃ無限ループになるわなあ。 手書きパーサなら演算子順位法を使…