静态语义是什么意思?

时间:2016-11-04 19:38:26

标签: syntax static compiler-construction semantics

术语"静态语义"编程意味着什么?

静态语义,语义和动态语义之间的关系是什么?

我知道语义代表检查编写代码(没有语法错误)是否有任何意义。

3 个答案:

答案 0 :(得分:15)

语义是关于意义的。它包括:

  • 静态语义,这是可以在编译时确定的部分,包括数据类型,是否声明所有变量,哪个声明适用于作用域中的哪个变量,它们的类型是什么,是否使用正确的调用序列调用函数和方法,无论赋值是否类型兼容等,

  • 动态语义,这是执行程序时实际发生的事情。

答案 1 :(得分:1)

静态语义:这意味着您的编程语句不应基于语法规则生成多个结果。

答案 2 :(得分:0)

程序的静态属性是编译器可以在编译时检测到的属性。

编译器在编译时只能检测到静态语义错误。

动态语义错误只能在执行时检测到,编译器无法在执行前检测到。