📜  自上而下的解析器的工作

📅  最后修改于: 2021-08-29 10:56:13             🧑  作者: Mango

在本文中,我们将介绍自上而下的解析器的工作,并了解如何获取输入并对其进行解析,以及自上而下的一些基础知识。

前提条件–解析

自上而下的解析器:

  • 在自上而下的技术中,从顶部解析树结构,并且输入将从左到右读取。在自上而下,自上而下的解析器中,它将从符号开始到字符串。
  • 遵循最左边的推导。
  • 在自上而下的解析器中,自上而下的解析器的困难在于,如果变量包含一个以上的可能性,则选择1是困难的。

自上而下的解析器的工作:
让我们考虑一个给出语法的示例,您需要使用自上而下的解析器技术构造一个解析树。

例子 –

S -> aABe
A -> Abc | b
B -> d

现在,让我们考虑使用自上而下的方法读取和构建解析树的输入。

输入 –

abbcde$

现在,您将看到自上而下的方法是如何工作的。在这里,您将看到如何从语法中生成用于自上而下方法的输入字符串。

  • 首先,您可以从S-> AB e开始,然后您将在开头看到输入字符串a,在结尾看到e。
  • 现在,您需要生成一个bbcd e
  • 展开A-> Abc,然后展开B-> d。
  • 现在,您具有像aAbcde这样的字符串,并且您输入的字符串是abbcde。
  • 展开A-> b。
  • 最后的字符串,您将得到abbcde

下面给出了用于构造自顶向下解析树的图说明。您可以在图中清楚地看到如何使用自上而下的语法使用语法生成输入字符串。