直接左再帰
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/11/04 01:39 UTC 版)
直接左再帰は、次のような形をした構文規則で発生する。 A → A α | β {\displaystyle A\rightarrow A\alpha \,|\,\beta } ここで、 α {\displaystyle \alpha } と β {\displaystyle \beta } は任意の非終端記号と終端記号の並び(文字列)であり、 β {\displaystyle \beta } の先頭は A ではない。 例えば、次のような規則があるとする。 E x p r → E x p r + T e r m {\displaystyle Expr\rightarrow Expr\,+\,Term} これは直接左再帰である。これをそのまま再帰下降構文解析で実装したものは次のようになる。 function Expr() { Expr(); match('+'); Term();} これを実行すると、無限再帰に陥ってしまう。
※この「直接左再帰」の解説は、「左再帰」の解説の一部です。
「直接左再帰」を含む「左再帰」の記事については、「左再帰」の概要を参照ください。
- 直接左再帰のページへのリンク