(* Title: Jinja/Common/Value.thy ID: $Id: Value.html 1910 2004-05-19 04:46:04Z kleing $ Author: David von Oheimb, Tobias Nipkow Copyright 1999 Technische Universitaet Muenchen *) header {* \isaheader{Jinja Values} *} theory Value = TypeRel: types addr = nat datatype val = Unit -- "dummy result value of void expressions" | Null -- "null reference" | Bool bool -- "Boolean value" | Intg int -- "integer value" | Addr addr -- "addresses of objects in the heap" consts the_Intg :: "val => int" the_Addr :: "val => addr" primrec "the_Intg (Intg i) = i" primrec "the_Addr (Addr a) = a" consts default_val :: "ty => val" -- "default value for all types" primrec "default_val Void = Unit" "default_val Boolean = Bool False" "default_val Integer = Intg 0" "default_val NT = Null" "default_val (Class C) = Null" end