📜  自顶向下解析器的工作

📅  最后修改于: 2021-09-27 14:56:31             🧑  作者: Mango

在本文中,我们将介绍自顶向下解析器的工作,并将了解如何获取输入并解析它,还将介绍自顶向下的一些基础知识。

先决条件 – 解析

自上而下的解析器:

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

自顶向下解析器的工作:
让我们考虑一个示例,其中给出了语法并且您需要使用自顶向下的解析器技术构建一个解析树。

例子 –

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

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

输入 –

abbcde$

现在,您将看到自上而下方法的工作原理。在这里,您将看到如何根据自顶向下方法的语法生成输入字符串。

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

下面给出了构建自顶向下分析树的图表解释。您可以在图中清楚地看到如何使用自顶向下方法的语法生成输入字符串。