I am not very sure about the difference between syntax and semantics.
Does each of the following concepts belong to syntax or semantics?
- terms
- values: terms that are possible final results of evaluation.
- types
- (typing) context
- evaluation (rules)
- typing (relation)?
Here are two examples from Types and Programming Languages by Pierce.
For example, I thought evaluation (rules) belongs to operational semantics, so values should also belong to operational semantics, by the definition of values. Why does the book list "values" under "Syntax"?