直接左再帰の除去とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 直接左再帰の除去の意味・解説 

直接左再帰の除去

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/11/04 01:39 UTC 版)

左再帰」の記事における「直接左再帰の除去」の解説

直接左再帰除去する一般的なアルゴリズム次の通りである。このアルゴリズムには Robert C. Moore の "Removing Left Recursion from Context-Free Grammars" で説明されているものを含めていくつかの改善策がある。なお、文法LL(1)にするために必要なことがある「左くくりだし」は似ているが違うものなので注意すること。 次のような形式生成規則があるとする。 A → A α 1 | . . . | A α n | β 1 | . . . | β m {\displaystyle A\rightarrow A\alpha _{1}\,|\,...\,|\,A\alpha _{n}\,|\,\beta _{1}\,|\,...\,|\,\beta _{m}} ここで: A は左再帰非終端記号である。 α {\displaystyle \alpha } は空でない( α ≠ ϵ {\displaystyle \alpha \neq \epsilon } )終端記号と非終端記号並びである。 β {\displaystyle \beta } は終端記号と非終端記号並びであり、先頭は A ではない。 A の生成規則次の生成規則置き換える。 A → β 1 A ′ | . . . | β m A ′ {\displaystyle A\rightarrow \beta _{1}A^{\prime }\,|\,...\,|\,\beta _{m}A^{\prime }} そして、次の新たな非終端記号生成する。 A ′ → ϵ | α 1 A ′ | . . . | α n A ′ {\displaystyle A^{\prime }\rightarrow \epsilon \,|\,\alpha _{1}A^{\prime }\,|\,...\,|\,\alpha _{n}A^{\prime }} この新たな記号は "tail" または "rest" と呼ばれるので、慣例として "元の記号名_tail" ないし "元の記号名_rest" といった名前を付けられることが多い。

※この「直接左再帰の除去」の解説は、「左再帰」の解説の一部です。
「直接左再帰の除去」を含む「左再帰」の記事については、「左再帰」の概要を参照ください。

ウィキペディア小見出し辞書の「直接左再帰の除去」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「直接左再帰の除去」の関連用語

1
14% |||||

直接左再帰の除去のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



直接左再帰の除去のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの左再帰 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS