自上而下(top down)和自下而上分析(bottom up parsing)的区别

top-down和bottom-up解析的关键区别在于,top-down解析执行从起始符号到输入字符串的解析,而bottom-down解析执行从输入字符串到起始符号的解析。此外,自顶向下和自底向上解析的另一个重要区别是,自顶向下的解析使用最左边的派生,而自下而上的解析使用最右边的派生。...

top-down和bottom-up解析的关键区别在于,top-down解析执行从起始符号到输入字符串的解析,而bottom-down解析执行从输入字符串到起始符号的解析。此外,自顶向下和自底向上解析的另一个重要区别是,自顶向下的解析使用最左边的派生,而自下而上的解析使用最右边的派生。

高级语言有助于编写计算机程序。程序员更容易理解它们,但计算机不容易理解。因此,将程序转换为高级程序。编译器的任务是将人类可读的源代码转换为机器可读的机器代码。一个程序要经过几个步骤才能转换成机器码。整个过程称为语言处理系统。其中之一是汇编。语法分析器或解析器在编译器中,它执行解析任务。

目录

1. 概述和主要区别
2. 什么是自顶向下的解析
3. 什么是自下而上的解析
4. 并排比较-表格形式的自顶向下与自下而上分析
5. 摘要

什么是自顶向下分析(top down parsing)?

每种编程语言都有一组表示语言的规则。语法分析器或语法分析器获取输入字符串,并根据语法结果检查它是否正确。换句话说,语法应该使用解析树生成该字符串。

在自顶向下的解析中,解析从起始符号开始,并将到达给定的输入字符串。考虑以下语法产生式规则。输入字符串(w)为cad。

S->cAd

A->ab/A

执行自顶向下解析后的解析树如下所示。

自上而下(top down)和自下而上分析(bottom up parsing)的区别

图01:自顶向下的解析树1

S产生c A d,A产生b。弦是cabd。它不是必需的字符串。因此,有必要进行回溯,即使用其他替代方法。

类似地,S产生c A d。对A应用另一个选项将得到A。现在它给出了所需的字符串。因此,解析器接受这个输入字符串。执行自顶向下解析后的解析树如下所示。

自上而下(top down)和自下而上分析(bottom up parsing)的区别

图02:自顶向下的解析树2

当输入字符串(w)为abcde时

考虑以下语法产生式规则。

S->aABe公司

A->Abc/b

B->d

在自顶向下的分析中,

S->aABe(代替A->Abc)

S->aAbcBe(替换A->b)

S->Abcbe(代替B->d)

圣母院

替换首先从最左边的变量开始,然后到下一个右边的位置,依此类推。因此,它遵循最左边的求导方法。此外,当存在变量时,决定选择什么样的产生式规则是很重要的。

什么是自下而上分析(bottom up parsing)?

在自下而上中,解析是以另一种方式进行的。解析从输入字符串到起始符号。考虑以下语法产生式规则,并让输入字符串为wɛcad

S->cAd

A->ab/A

执行自底向上解析后的解析树如下所示。

自上而下(top down)和自下而上分析(bottom up parsing)的区别

图03:自下而上解析的解析树

给定的字符串是cad。a由a生成。c、a和d组合得到起始符号S。

当输入字符串(w)为abcde时

考虑以下语法产生式规则。

S->aABe公司

A->Abc/b

B->d

在自下而上的分析中,

S->aABe(代替B->d)

S->aAde(替换A->Abc)

S->aAbcde(子例程A->b)

圣母院

替换首先从最右边的变量开始,然后移到下一个左边的位置,依此类推。因此,它遵循左mot求导方法。

自上而下(top down)和自下而上分析(bottom up parsing)的区别

自顶向下解析是一种解析策略,它首先查看解析树的最高级别,然后使用形式语法的规则沿着解析树向下展开。自底向上解析是一种解析策略,它首先查看解析树的最低层,然后使用形式语法的规则向上搜索解析树。在自顶向下的解析中,解析从起始符号到输入字符串。另一方面,在自下而上的解析中,解析从输入字符串到起始符号。

此外,自顶向下分析的主要决策是选择使用什么产生式规则来构造字符串,而自下而上分析的主要决策是选择何时使用产生式规则来减少字符串以获得起始符号。此外,自顶向下的解析使用最左边的派生,而自下而上的解析使用最右边的派生。

自上而下(top down)和自下而上分析(bottom up parsing)的区别

总结 - 自上而下(top down) vs. 自下而上分析(bottom up parsing)

top-down和bottom-up解析的区别在于,top-down解析执行从起始符号到输入字符串的解析,而bottom-down解析执行从输入字符串到起始符号的解析。

引用

  • 发表于 2020-10-18 09:45
  • 阅读 ( 708 )
  • 分类:IT

你可能感兴趣的文章

行(row)和柱(column)的区别

...是一列(a column)? 柱是指垂直排列。换句话说,这是一种自上而下或自下而上的安排。列可以指单词、数字、对象或数据的排列。然而,与row不同,我们通常不会用这个词来形容人。例如,我们可以说是一排人,但不是一列人。...

  • 发布于 2020-10-17 12:20
  • 阅读 ( 1024 )

一般化(generalization)和数据库管理系统专业化(specialization in dbms)的区别

... 同义词 泛化被称为自下而上的方法。 专业化被称为自上而下的方法。 主要任务 在泛化中,根据多个实体的相似特性,将多个实体组合成一个广义实体。 在专业化中,一个实体根据其特征被划分为子实体。 总结 - 一般...

  • 发布于 2020-10-19 04:33
  • 阅读 ( 775 )

呃(er)和eer图(eer diagram)的区别

...上到下,人的实体可以进一步专业化为学生和讲师。这是自上而下的方法。人员的姓名和城市属性属于学生实体讲师实体。Student实体有自己的Student_id属性,而讲师实体有它的讲师_id。 下面是聚合的一个示例。 图03:聚合 根据...

  • 发布于 2020-10-19 04:37
  • 阅读 ( 1254 )

归纳的(inductive)和演绎研究(deductive research)的区别

...tive research)? 演绎研究与归纳研究大不相同,因为它使用自上而下的方法来反对归纳研究。演绎研究可以理解为一个研究范畴,包括为了验证一个理论而检验假设的过程。与归纳研究不同,归纳研究通过理论的创造产生新的知识...

  • 发布于 2020-10-23 12:38
  • 阅读 ( 1389 )

鸭鸭哥(duckduckgo)和谷歌(google)的区别

...任何考虑就去那里。 为了处理垃圾邮件,DuckDuckGo采取了自上而下的方法以及自下而上的方法。与ParkedDomainProject合作,DuckDuckGo爬网以识别并从网站结果中消除垃圾邮件。这些域名中的大多数将在谷歌索引中可见。从自上而下的...

  • 发布于 2020-10-24 00:33
  • 阅读 ( 248 )

预定的(intended)和突现战略(emergent strategies)的区别

...未来公司计划来实施的战略。 管理方法 预期战略实施自上而下的管理方法。 紧急策略实施自下而上的管理方法。 灵活性 预期战略采取僵化的管理方法,因此在很大程度上被认为不够灵活。 应急策略因其高度的灵活性而...

  • 发布于 2020-10-25 22:22
  • 阅读 ( 936 )

扣钮扣(button up)和按下按钮(button down)的区别

...0;line-height:1;margin:0 0 16px}.entry-content ol,.entry-content ul{margin-bottom:28px;margin-left:40px}ol,ul{margin:0;padding:0}.entry-content ul > li{list-style-type:disc}table{border-collapse:collapse;border-spacing:0;line-height:1.6;margin-bottom:40px;width:100%}tbody{border-bottom:1px solid ...

  • 发布于 2020-10-26 14:11
  • 阅读 ( 1098 )

深思熟虑(deliberate)和应急策略(emergent strategy)的区别

...战略和紧急战略的关键区别在于,深思熟虑的战略是一种自上而下的战略规划方法,它强调实现预期的业务目标,而应急战略则是从战略执行过程中识别出不可预见的结果,然后学习如何将这些意外结果纳入其中的过程通过采取...

  • 发布于 2020-10-26 20:36
  • 阅读 ( 808 )

全面质量管理(tqm)和业务流程再造(bpr)的区别

...而BPR强调使用信息技术。 •实施全面质量管理可以采用自上而下和自下而上的方法,但业务流程再造只能通过自上而下的方法来实施。   全面质量管理与全面质量管理的区别 img.centered,.aligncenter{display:block;margin:0 auto 24px}.ga...

  • 发布于 2020-11-03 04:07
  • 阅读 ( 531 )

自上而下和自下而上投资有何不同?

...弄清楚它与你的投资目标有多吻合。其中两种策略被称为自上而下和自下而上投资。 自上而下的投资包括着眼于宏观经济因素来做出投资决策,而自下而上的投资则着眼于公司特定的基本面,如财务状况、供需状况以及公司提...

  • 发布于 2021-06-04 21:10
  • 阅读 ( 157 )
jm1tdxii
jm1tdxii

0 篇文章

相关推荐