-1

次の簡単な文法を考えてみましょう。

S -> a | b

文法によって生成される文字列のセットは次のとおりです。

{a、b}

したがって、文法は文字列のセットを生成します。

文法のパーサーは、入力文字列を受け取り、その文字列が文法によって生成できるかどうかを判断します。

したがって、パーサーは文法のレコグナイザーです

少なくとも、それはパーサーの 1 つの用途です。

しかし、多くの場合、パーサーは他の目的で使用されます。たとえば、文法のパーサーは、入力文字列を受け取り、入力データを含み、文法に準拠するツリー構造を作成する場合があります。

その場合、パーサーはレコグナイザーではなく、データ構造ビルダーです。

さまざまな種類のパーサーがあると結論付けています。

私は論理的に考えていますか?本当にさまざまな種類のパーサーがありますか?

パーサーが作成されたさまざまなタイプのリストを誰かが作成しましたか?

上記の記述に緩みや曖昧さがある場合はお知らせください。私は、これらの概念について正確に説明することを学ぼうとしています。たとえば、「文法は一連の文字列を生成する」ことに同意しますか? それは正確ですか?正しい?

4

1 に答える 1