Static Semantics meaning?

2019-03-30 17:03发布

问题:

What does term "static semantics" mean in programming?

What is relationship between static semantics, semantics and dynamic semantics?

I know that semantics stands for checking if written code (without syntax errors) has any meaning.

回答1:

Semantics is about meaning. It includes:

  • the static semantics, which is the part that can be ascertained at compile time, including data typing, whether all variable are declared, which declaration applies to which variable in the case of scoping, what their type is, whether functions and methods are called with correct calling sequences, whether assignments are type-compatible, etc., and

  • dynamic semantics, which is what actually happens when the program is executed.