Go backward to Command Semantics
Go up to Top
Go forward to Example

Expression Semantics

[[.: _exp]]: Store -> (Int union Bool)

[[N: intexp]](s) = [[N: int]]
[[@L: intexp]](s) = lookup([[L: intloc]], s)
[[not E: boolexp]](s) = not([[E: boolexp]](s))
[[E_1+E_2: intexp]](s) =
    plus([[E_1: intexp]](s), [[E_2: intexp]](s))
[[E_1=E_2: boolexp]](s) =
    equalbool([[E_1: boolexp]](s), [[E_2: boolexp]](s))
[[E_1=E_2: boolexp]](s) =
    equalint([[E_1: intexp]](s), [[E_2: intexp]](s))

[[.: intloc]]: Location

[[loc_i: intloc]] = loc_i

[[.: int]]: Int

[[n: int]] = n

The meaning of an expression is a function from Store to Int or Bool.


Wolfgang.Schreiner@risc.uni-linz.ac.at
Id: core.tex,v 1.3 1996/02/05 10:34:52 schreine Exp schreine

Prev Up Next