Science Fair Project Encyclopedia Formal semantics of
programming languages The formal semantics of a language is
given by a mathematical model to represent the possible
computations described by the language. There are many
approaches to providing a formal semantics for programming
languages. The three main classes of approach are: -
Denotational semantics, including domain theory; - Operational
semantics, such as abstract machine models , most famously the
SECD machine; - Axiomatic semantics, for example predicate
transformer semantics and algebraic semantics . but additionally
there are awkward cases that do not obviously fit into the above
classes, such as: - Action semantics, which seems to be a kind
of hybrid of denotational and operational semantics; -
Categorical semantics (also called Functorial semantics ), which
is most easily understood as an algebraic semantics (and so is
an axiomatic semantics), but which can also be understood as a
kind of denotational semantics, and indeed familiarity with cat