与编程语言/API 相关的常用“语义”的简单定义?

2024-04-15

今天我突然想到,虽然我在提到语言元素和命名约定时已经采用并且不经常使用“语义”一词,但我对正式定义没有任何感觉。

我试图在编程领域找到一个正式的定义 http://en.wikipedia.org/wiki/Formal_semantics_of_programming_languages让我目光呆滞。

我从我所遇到的上下文以及它在语言学方面更常见的用法中了解了它的含义,并且我通常使用该术语来指代语言元素的含义或表现力,或命名法对其所命名的意图、行为或功能的忠实度.

不过,这个定义是我自己的想法。我主修人类学/英语,从未上过计算机科学课程。这是CS里教的吗?

是否有一个更准确的定义可以归结为一两个陈述,而不是一篇详尽无遗的文章?


抄袭的定义here http://web.archive.org/web/20040410154109/cs.wwc.edu/~aabyan/PLBook/HTML/Semantics.html is 编程语言的语义描述了语法和计算模型之间的关系。。这几乎正​​是您推断的定义。症结所在,也是让你目光呆滞的地方,正是计算模型的精确定义。

有许多不同的计算形式模型,每种模型都会导致不同形式的语义。操作语义可能最接近大多数人非正式地建模语义的方式,让每个代码片段通过解释器运行并更改抽象例程的状态。这种方法在许多并发性或不确定性等模型中都失败了,因此还有其他语义更适合这些情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与编程语言/API 相关的常用“语义”的简单定义? 的相关文章

  • 如何获取C指针数组的长度? [复制]

    这个问题在这里已经有答案了 可能的重复 函数参数中数组的长度 https stackoverflow com questions 8269048 length of array in function argument 有没有像Java c
  • python 中“除了 Exception as e”是什么意思? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 异常处理的典型结构如下 try pass except Exception e raise else pass finally pas
  • 现代 x86 CPU 使用什么缓存一致性解决方案?

    我对缓存一致性系统在现代多核 CPU 中的功能有些困惑 我已经看到基于侦听的协议 例如基于 MESIF MOESI 侦听的协议 已在 Intel 和 AMD 处理器中使用 另一方面 基于目录的协议对于多核来说似乎更加高效 因为它们不广播而是
  • 客户端语言

    我不是网络程序员 所以请原谅我的无知 当谈到服务器端编程时 我们有很多可用的技术 例如 PHP ASP net JSP 等 然而 说到客户端脚本 我只听说过 JavaScript 和 AJAX 也许您还可以包含 Java Applet 因为
  • 声明一个元素数量为 0 的数组仍然可以存储值

    我知道使用负索引纯粹是运气 但出于好奇我尝试了这个 我知道你可以声明 array 0 就像 malloc 0 一样 是合法的 但是我为什么可以在 array 0 中存储一个值呢 include
  • 设计模式作为(缺失的)语言功能

    有时人们将设计模式称为缺少的编程语言功能 为了避免关于什么是设计模式的争论 假设我们只考虑原始的 GoF 模式 例如 单例模式在 Scala 中消失了 Scala 使用关键字支持单例对象object 关于这方面的资源很少 特别是设计模式是否
  • 将 EBNF 转换为 BNF

    我的计算机语言课已经过去几年了 所以我已经忘记了 BNF 和 EBNF 的要点 而且我身边也没有教科书 具体来说 我忘记了如何将 EBNF 转换为 BNF 据我所知 我知道要点之一是转换 term into
  • 我用带有垃圾收集器的语言构建了一个解释器。我需要一个用于解释器的垃圾收集器吗?

    这是一个幼稚的问题 但在我迄今为止看到的教程中并没有拼写清楚 如果我在一种高级语言 不是 C C 等 之上构建一个解释器 并且它有一个垃圾收集器 是否有必要为解释器本身制作一个 如果答案是肯定的 那一定是同一类宿主吧 即 如果主机是标记 清
  • 哪些通用编程语言/实现编译为 C [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我目前正在使用 Eiffel SmartEiffel ISE Eiffel 它正在编译为 c 我发现 如果输出进入可移植汇编语言 也称为
  • 正则表达式中的顺序不重要吗?

    我正在查看此 stackoverflow 链接中提出的问题 奇数个 a 的正则表达式 https stackoverflow com questions 28902496 regular expression for odd number
  • HTML 语义:将链接(锚元素)放在标题中是个好主意吗?

    以这种方式建立新闻列表是错误的吗 h1 a href article 1 html That happened a h1 div class short Just like planned div 我应该更喜欢这个吗 h1 That hap
  • C++ static constexpr 成员在类外重新声明

    对于以下代码 为什么 main 中的第一个案例无需重新声明 Foo bar 就可以正常工作 而带有该函数的第二个案例则需要它 struct Foo static constexpr int bar 30 Declaration of Foo
  • 静态/动态类型与静态/动态绑定

    大家这4个术语有什么区别 能举个例子吗 Static and dynamic是指解决某些编程元素的时间点的行话 Static表示解析是在程序构建时发生的 Dynamic表示解析是在程序运行时发生的 静态和动态打字 Typing指由于数据值之
  • 现代正则表达式引擎可以解析什么样的形式语言?

    人们有时会说 你不能用正则表达式解析 X 因为 X 不是正则语言 然而 根据我的理解 现代正则表达式引擎可以匹配的不仅仅是正则语言乔姆斯基的感觉 http en wikipedia org wiki Chomsky hierarchy 我的
  • 算法的最佳、最差和平均情况运行时间是多少?

    算法的最佳 最差和平均情况运行时间是多少 用最简单的术语来说 对于输入大小为n 最好的情况 最快完成时间 选择最佳输入 例如 排序算法的最佳情况是已经排序的数据 最坏的情况下 完成最慢的时间 选择了消极的输入 例如 排序算法的最坏情况可能是
  • ALGOL 曾经用于“主流”编程吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我知道ALGOL http en wikipedia org wiki ALGOL作为一种理论语言 该语言非常重要 并且根据维基百科 它也
  • Winform 没有.NET 框架?

    我必须创建一些表单并将其作为直接 EXE 提供 而不是安装程序 它安装 NET 框架 最终用户对此不满意 他们想要可以直接打开和工作的东西 我知道它可以作为网络完成 但我正在寻找 winforms 吗 请建议哪种工具 技术可以处理这个问题
  • 语言是如何以及为何形成的/是否有任何正在发展的语言表现出希望? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 概念数据建模:RDF 是正确的工具吗?其他解决方案?

    我正在规划一个系统 该系统结合了各种数据源 并允许用户对这些数据源进行简单的查询 系统的一部分需要充当抽象层 了解所有连接的数据源 用户不应该 需要 了解底层数据 提供者 数据提供者可以是任何东西 关系 DBMS 错误跟踪系统 气象站 它们
  • 我们如何计算这段代码片段中缓存的读取/未命中次数?

    鉴于我目前正在学习的这本教科书中的代码片段 Randal E Bryant David R O Hallaron 计算机系统 程序员的视角 第 3 版 2016 年 Pearson 全球版 因此本书的练习可能是错误的 for i 31 i

随机推荐