IT lexicon › Programming › Semantics (programming)

Semantics (programming)

Programming På svenska → Updated: 2026-05-26

What a program means, what it does when it runs. Distinct from syntax (what it looks like). Three formal approaches to specify it: operational, denotational, axiomatic.

Operational: program = state machine, semantics = what each step does (SECD machine, abstract interpretation). Denotational: program = mathematical function (Scott + Strachey, 1970s). Axiomatic: program = logical statements about state (Hoare logic, separation logic). Practically important for: compiler design, formal verification, language design. Undefined behavior in C/C++ is "when semantics doesn't say anything" → compiler may optimize cases away.

← Back to the lexicon