コンセプト:
フレーズ、簡単なフレーズやハンドルを求めて構文木:
1)フレーズ:シンボルのサブストリング終端ノードツリーの形成。
2)サブツリーのシンプル:唯一のサブツリーのブランチ。
簡単な記号列エンド・ノードのサブツリーが形成されている:3)直接フレーズ(句シンプル)。
4)ハンドル:父と息子の二世代のすべてのサブツリーが左から右に並んでのみ、ツリーのリーフノード左端のサブツリーは、それはハンドルの文です。
例:
これにより、この文章のための文法をS =(SD(T)DB)を得ました。
-
語句:S(T)、B、SD(T)、SD(T)DB(SD(T)DB)
-
直接フレーズ:S、(T)、B
-
ハンドル:S
-
この時点で、最も直接的なフレーズはすべてS Sを処理するために残されています
トピック:
1.既知の文法:
S-> A | ^ |(T)
T-> T、S | S
分析文(T、(^、a))は、すべてのフレーズ、フレーズを検索し、直接扱います。
:質問の意味に応じて以下のように構文木を取得します:
すべてのフレーズ:(T、(^、A))T、(^、a)の(^、A)^、A ^ A
直接フレーズ:^ A
ハンドル:^
2.文脈自由文法構造記述言語:
(1){ n個の B N | N> = 0}
(2){ m個の B N | M> = N> = 0}
(3)if文
答:(1)G [S]:S - > ASB | AB | ε
(2)G [S]:S - > ASB | | ε
(3)if文 - > <条件>そして<声明>の場合|の場合、<条件>そして<声明>他の<声明>