WebMD
本页大纲

语义(Semantics)

缩写:无

简述

编程语言中关于「合法程序表示什么、执行产生什么效果」的规则与约定。相对语法的「形」,语义是「义」:求值顺序、作用域规则、类型含义、内存与副作用、错误如何产生等。理解语义才能预测行为、做正确重构与并发推理。

使用场景

解释「为什么这样运行」、语言对比、形式化规范、排查与直觉不符的边角行为。

实践与应用

• 对关键路径查语言规范或权威参考中的求值与绑定规则。
• 重构时保持可观察语义(或有意识地改变并测全)。
• 跨语言移植时逐项核对相等、数值、字符串、异步语义。

注意事项

• 未定义行为/实现定义行为(某些语言)会导致「看似能跑、换平台炸」。
• 优化不得擅自改变规定语义。
• 文档示例的简化语义可能忽略错误路径。

对比与易混

语义 语法
焦点 含义与效果 记号如何拼
例子 短路求值、作用域规则 括号、关键字位置

关联术语

• 语法:只约束形式是否合法
• 求值:按语义计算表达式结果的过程
• 副作用:求值时对状态或外部的可观察影响
• 未定义行为:部分语言中语义未规定时的风险区