Semantik (programmering)
Vad ett program betyder, vad det gör när det körs. Skiljs från syntax (hur det ser ut). Tre formella ansatser för att specificera: operational, denotational, axiomatic.
Operational: program = state machine, semantik = vad varje steg gör (SECD machine, abstract interpretation). Denotational: program = matematisk funktion (Scott + Strachey, 1970s). Axiomatic: program = logiska påståenden om state (Hoare logic, separation logic). Praktiskt viktigt för: compiler-design, formell verifiering, language design. Undefined behavior i C/C++ är "när semantiken inte säger något" → compiler kan optimera bort fall.