構文解析器を使った例とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 構文解析器を使った例の意味・解説 

構文解析器を使った例

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2015/11/30 09:29 UTC 版)

ボトムアップ構文解析」の記事における「構文解析器を使った例」の解説

以下に簡単な例を示す。下記のような簡単な文法があるとする。 S → Ax①A → a …②A → b …③ 入力が "ax" だった場合左端導出トップダウン構文解析)では次のように導出される。 (1) S ⇒ (開始記号)(2) Ax ⇒ (①を適用(3) ax (②を適用開始記号(S)以外の非終端記号1つしかないため、右端導出でも偶然同じ導出となる。 LL(1)構文解析開始記号(S)から開始し、「どの生成規則適用すべきか」を判断する。この場合生成規則左辺に S があるものは1つしかない次に A を置き換えるために A に対応する手続き実施する再帰下降構文解析場合)。この場合、 A → a が入力マッチするのでこれが選択され構文解析完了する導出された構文木次のうになる。 S / \\A x|a ボトムアップ構文解析では、これを逆から行い、以下のような順で導出する。 (1) ax ⇒ (入力文字列)(2) Ax ⇒ (②を適用(3) S (①を適用直観的にトップダウン構文解析非終端記号左辺にある生成規則適用して、その右辺文字列展開していく。一方ボトムアップ構文解析生成規則左辺入力マッチするものを選び生成規則逆向き適用して最終的に開始記号非終端記号)へと還元させる。ボトムアップ構文解析では、まず "a" を A に置換して "Ax" とし、次に "Ax" を S に置換する入力され文字列全体として S に還元され時点構文解析成功して停止するトップダウン構文解析のように力づく方法でも機能する。つまり、パターンマッチする生成規則が見つかるまで次々探索していく方法である。このような単純な例では示せないが、力任せ方法では不適切規則適用もあり、さらに規則適用として後戻りバックトラッキング)することになる。これは効率的ではない。そのような後戻りを防ぐために入力先読みし不適切規則適用しないという方法もある。 トップダウン構文解析では、どの生成規則適用するかという判断しながら解析進めていく。ボトムアップ構文解析では、以下のような2つ判断をする。 ある時点shift アクショントークンスタックに移す)をすべきか、reduce アクション生成規則適用)をすべきか? reduce アクションをする場合、どの生成規則適用すべきか?

※この「構文解析器を使った例」の解説は、「ボトムアップ構文解析」の解説の一部です。
「構文解析器を使った例」を含む「ボトムアップ構文解析」の記事については、「ボトムアップ構文解析」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「構文解析器を使った例」の関連用語

構文解析器を使った例のお隣キーワード
検索ランキング

   

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



構文解析器を使った例のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS