当前位置:首页 > 百科

抽象语法树

在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简语法树(Syntax tree),是源代码语法来自结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。

  • 中文名称 抽象语法树
  • 外文名称 abstract syntax tree
  • 缩写 AST
  • 本质 树状表现形式
  • 应用 计算机科学

简介

  之所求民尝晚以说语法是"抽象"的,是因为这里的语法并不会表示出真实语法中出现的每个细节。比如,嵌套括号被隐含在树的结构腊邀删中,并没有以节点的形式呈现;而类似于if-condition-then这样的条件跳转语句,可以使用带有两个分支的节点来表示。

  和抽象语法树相对付射宙的是具体语法树(通常称作分析树)。一般的,在源代码的翻译和编译过程中,语法分析器创建出分析树。一旦AST被创建出来,在后续的处理过程中,比如语义分析阶段,会添加一些信息

语法分析器

  在计算机科学和语言学中,语法分析(英语:syntactic analysis,也叫parsing)元抹桨是根遥击据某种给茶液定的形式文法对由单词序列(如英语单词序列)构成的输入文本来自进行分析并确定其语法结济晚老困构的一种过程。

  语法分析器360百科(parser)通常是作主整霉为编译器或解释美规由粉念则器的组件出现的,它的作用是进行响裂校脚厂语法检查、并构建由输入的单词组成的数据结构(一般是语法分析树、抽象吃侵均延合以作语法树等层次化的数据结构)。语法分析器通常使用一个独立的词法分析器从输她说每局苏府先卫入字符流中分离出一个个的"单词",并将单词流作为其输入。实际开率吧金位发中,语法分析器可以手工编写,也可以使用工具(半)自动生成。

语法分析器分类

  语法分析器的任务主要是确定是否可以以及如何从语法为任最周酒村袁的起始符号推导出输入符号串(输入文本),主要来自可以通过两种方式完成:

  • 360百科顶向下分析:根据形式语法规则丝树,在语法分析树的自顶向下展开中搜索输入符号串可能的最左推导。单词按从左到右的顺序依次航答交般使用。
  • 自底向上分否积一秋析:语法分析器从现有的输入符号串开始,尝试将其根据给定的形式语法殃删民犁规则进行改写,最终改写为语法的起始符号。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信
上一篇:魏学洢
下一篇:外汇存款

相关文章