Natural Semantics
-
a way of specifying the semantics of programming languages
(or other computer formalisms)
-
a specification language (Typol)
-
can be compiled to produce executable code
-
currently implemented as part of a programming environment
generator (Centaur)
-
has its origin in Structural Operational Semantics and Natural
Deduction
-
semantics is expressed by mean of inference rules which define
a set of valid theorems (theory)
A : a
B : b
-------------
plus(A, B) : a+b
"If A has value a and B has value b, then plus(A, B) has
value a+b"
In this rule, we manipulate a schema containing variables: A and B
Need of context to represent symbol tables or memories
(for example)
E |- var X : V (X : V in E)
-
possibility to add recovery rules to generate useful tools
