ウィキペディア |
解析表現文法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/02/04 20:50 UTC 版)
解析表現文法(かいせきひょうげんぶんぽう、英: Parsing expression grammar, PEG)は、分析的形式文法の一種であり、形式言語をその言語に含まれる文字列を認識するための一連の規則を使って表したものである。PEG は再帰下降構文解析を文法を示すためだけに純粋に図式的に表現したものと見ることもでき、具体的な構文解析器の実装やその用途とは独立している。
PEG における構文(文法)の定義は文脈自由文法のバッカス・ナウア記法によるそれに似ているが、文脈自由文法では一般に「|」(縦棒、バーティカルバー)で表される「これらのうちどれか」ではなく、「最初の解析がうまくいったらそれを、失敗なら次を順に試してゆき、成功したものを採用」(「/」であらわす)という意味を使う。
このため、文脈自由文法とは異なり、PEG には曖昧さは存在しない。文字列を構文解析する場合、正しい構文木は常に1つしかない。このため PEG はコンピュータ言語の構文解析に向いているが、自然言語の多義性を、そのまま複数の構文木が可能である、という形で形式化するのには向かない。
- ^ "Packrat Parsing: a Practical Linear-Time Algorithm with Backtracking" §3.1.1 pp.32〜33
- ^ a b Ford, Bryan (2002年9月). “Packrat Parsing: a Practical Linear-Time Algorithm with Backtracking”. Massachusetts Institute of Technology. 2007年7月27日閲覧。
- 1 解析表現文法とは
- 2 解析表現文法の概要
- 3 利点
- 4 関連項目
解析表現文法と同じ種類の言葉