Summary

Semantics means meaning

Once sentence structure is understood we can try to understand meaning. Compilers perform limited analysis to catch inconsistencies.

Programming languages define strict rules to avoid ambiguities (like we have in english). We do this with scoping and variable binding (parens and such {}).

Type checking happens here as well.