什么是抽象语法?(the abstract syntax?)

抽象语法是计算机程序员绘制出他们想要创建的程序结构的一种方法,而不必担心实现它所需的实际代码。它允许程序员在关注如何让计算机实际执行所需功能之前,先关注程序需要做什么。抽象语法概述了程序的特定任务,例如将两个数字相加,并显示了该程序中可以使用的数据类型。抽象映射完成后,将绘制一个抽象语法树,该树将抽象概念与具体语法相匹配,即程序员需要键入的实际符号来运行她正在创建的程序。。...
Abstract syntax is a way for computer programmers to map out the structure of the program they want to create without worrying about the actual code.

抽象语法是计算机程序员绘制出他们想要创建的程序结构的一种方法,而不必担心实现它所需的实际代码。它允许程序员在关注如何让计算机实际执行所需功能之前,先关注程序需要做什么。抽象语法概述了程序的特定任务,例如将两个数字相加,并显示了该程序中可以使用的数据类型。抽象映射完成后,将绘制一个抽象语法树,该树将抽象概念与具体语法相匹配,即程序员需要键入的实际符号来运行她正在创建的程序。。

抽象语法的思想是关注数据类型及其关系,而不必关注如何对其进行编码的细节。计算机代码与人类语言大不相同,试图用这些术语来思考是很困难的。相反,程序员会列出程序需要完成的步骤,然后使用具体语法将抽象术语与执行这些步骤的计算机代码术语相匹配。通常,程序员会在其抽象标记中包含数据类型,以显示程序可以处理哪些类型的数据(数字、字母或小数)。但是,在编程的这个阶段不需要特定的数据类型,程序员可以选择使用抽象数据类型,这些数据类型纯粹是理论上的,在编写程序时将被特定的数据类型所取代。。

这种抽象的编程思想在编译理论中经常使用。计算机只能理解两个值:1和0。这就是所谓的二进制代码。为了让计算机理解用编程语言编写的程序,它必须将单词和字母编译或翻译成1和0的流。编译器很难创建和映射出一个模糊或抽象的概念来帮助程序员规划出无错误的代码。

当程序员想要将抽象语法映射到具体语法并开始编写程序或编译器时,她会创建一个抽象语法树。这只是她编写的所有抽象指令的列表,例如“添加2个变量”,从每个抽象术语到执行该指令所需的特定代码行都画了一条线。程序员可以使用任何她想要的抽象术语,但更常见的是使用众所周知的代码术语,如“var”表示变量,“int”表示整数。。

  • 发表于 2022-01-05 20:06
  • 阅读 ( 38 )
  • 分类:IT

你可能感兴趣的文章

语法错误(syntax error)和逻辑错误(logical error)的区别

...或逻辑的错误而发生的错误。 目录 1. 概述和主要区别 2. 什么是语法错误 3. 什么是逻辑错误 4. 语法错误与逻辑错误的相似性 5. 并列比较-语法错误与表格形式的逻辑错误 6.摘要 什么是语法错误(syntax error)? 通常,程序是用高级...

  • 发布于 2020-10-19 09:24
  • 阅读 ( 758 )

禁用vim中的语法突出显示

...行OS X的Mac以来,我注意到我的终端有一个巨大的麻烦…语法高亮显示使得我无法读取我试图编辑的文件。 请注意,这不是osx的错,这是因为我已经打开了ansi颜色和我的设置配置错误。那么,如何在Vim中禁用语法高亮显示呢? ...

  • 发布于 2021-04-14 12:46
  • 阅读 ( 106 )

语法(grammar)和语法(syntax)的区别

很多时候,你可能会发现自己认为语法和语法是一回事。大多数人都这么认为,除非你对这两个或其中任何一个进行深入研究,否则你可能永远不会意识到它们是不同的。然而,它们之间有细线分隔,除非你对获取它们非常感兴...

  • 发布于 2021-06-25 20:44
  • 阅读 ( 263 )

混凝土(concrete)和抽象名词(abstract nouns)的区别

...ollective nouns, countable and uncountable nouns. 什么是抽象名词(an abstract noun)? 抽象名词是具体名词的对立面。抽象名词指思想、信仰、概念或事物的状态。它们指的是不能通过五种感官来体验的事物:视觉、声音、嗅觉、触觉和味觉。...

  • 发布于 2021-06-27 06:18
  • 阅读 ( 906 )

语法(syntax)和语义学(semantics)的区别

...义的主要区别在于句法与结构有关,语义与意义有关。 什么是语法(syntax)? 句法是研究句子结构的语言学分支学科。它研究一套规则、原则和过程,这些规则、原则和过程控制着任何语言的句子结构。在这里,句子的术语结构...

  • 发布于 2021-06-27 06:31
  • 阅读 ( 600 )

措辞(diction)和语法(syntax)的区别

...分析词汇和句法的区别来探讨这两个方面之间的联系。 什么是措辞(diction)? 用词是指说话者或作者对词语的具体选择。词汇的选择是决定文本质量的一个重要方面。在选词时,作者必须注意准确度、字词的清晰度以及与语境的...

  • 发布于 2021-06-27 07:56
  • 阅读 ( 333 )

语法(grammar)和语法(syntax)的区别

...rds in a language. This is the main difference between grammar and syntax. 什么是语法(syntax)? 句法是研究句子结构的语言学领域。句法是指在一种语言中用来造句的单词和短语的排列。它研究支配任何语言句子结构的一套规则、原则和过程。句...

  • 发布于 2021-06-28 01:01
  • 阅读 ( 697 )

形态学(morphology)和语法(syntax)的区别

...中,我们将更详细地研究这些字段。 这篇文章包括, 1.什么是形态学 2.语素类型 2.什么是语法 3. Difference Between Morphology and Syntax   什么是形态学(morphology)? 形态学是语言学的另一个重要分支学科。形态学研究单词的结构。它专...

  • 发布于 2021-06-28 02:04
  • 阅读 ( 293 )

解析树(parse tree)和语法树(syntax tree)的区别

...译器和以后代码生成所需的符号表。 覆盖的关键领域 1.什么是语法树-定义,功能2.什么是语法树-定义,功能3.语法树和语法树的区别是什么-关键区别的比较 关键术语 抽象语法树,编译器,具体语法树,派生树,解析树,语法...

  • 发布于 2021-07-01 10:14
  • 阅读 ( 1736 )

运行时错误(run time error)和语法错误(syntax error)的区别

...其中两种是运行时错误和语法错误。 覆盖的关键领域 1.什么是运行时错误–定义,功能2.什么是语法错误–定义,功能3.运行时错误和语法错误之间的区别是什么–主要区别的比较 关键术语 运行时错误,语法错误 什么是运行时...

  • 发布于 2021-07-01 13:56
  • 阅读 ( 225 )
护你爱你
护你爱你

0 篇文章

相关推荐