📜  自底向上解析器的工作

📅  最后修改于: 2021-08-24 08:19:10             🧑  作者: Mango

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

前提条件–解析

自下而上的解析器:

  • 它将从字符串开始,然后继续进行。
  • 在自下而上的解析器中,识别正确的句柄(子字符串)始终很困难。
  • 它将按照相反的顺序遵循最右边的推导。

笔记 :
在自下而上的解析器中,没有变量可以解释为什么自底向下没有任何派生,但是却具有相反的顺序,当您拥有最右边的派生时,它看起来就像自上而下。

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

例子 –

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

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

输入 –

abbcde$

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

  • 首先,您可以从A-> b开始。
  • 现在,展开A-> Abc。
  • 在此之后,B-> d。
  • 最后,只需展开S-> aABe
  • 最后的字符串,您将得到abbcde

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

从上面的说明和图表中,您可以清楚地看到并说它遵循最右边的推导的逆向。