なあ、再帰関数好きな人いる? パート2 [転載禁止]©5ch.io
レス数が950を超えています。1000を超えると書き込みができなくなります。
あぁそうだね、300個の還元/還元衝突だね。
あれは文法を変換したりすれば消すことが出来るよ。
というかCやJavaの仕様書に載ってる文法が(LALR解析表を作る上では)クズすぎるのが原因だから、
同じ文を受理する曖昧性のない文法を導出すれば済む話。
あるいはGLR法を試してみたら?再帰を一切使わず実装できるよ?
>>972
continuationとループを使って実装すれば良いんじゃないかい?
>>973
任意の再帰は、不動点コンビネータが使えるならば、再帰を持たない関数だけで表現できる。
不動点コンビネータは、S関数とK関数、I関数により表現できる。例えばY=S(K(SII))(S(S(KS)K)(K(SII))) (by Wikipedia)
S関数とK関数とI関数はそれぞれチューリングマシン上でエミュレート出来る。
なのでチューリングマシン自体に再帰の機能が無くても、再帰は使える。
レス数が950を超えています。1000を超えると書き込みができなくなります。