| Type-based Assessment of the Java Byte-level Language (1998) | |||||||||||||
Abstract | |||||||||||||
| Value Spaces The abstract value space is constructed from pairs of types with their associated abstract values. For example, the whole number abstract value space has five types (i.e. byte, char, short, int & long) and five values ( \Gamma 1 A ; 0 A ; + 1 A ; n0 A & VA ) where: \Gamma 1 A representing minus one and the exclusive or mask for not operation; 0 A representing zero and false; + 1 A representing one and true; n0 A representing non-zero number; VA representing any number. Thus operations such as subtract can be defined by: sub A \Gamma 1 A 0 A + 1 A n0 A VA \Gamma 1 A 0 A \Gamma 1 A n0 A VA VA 0 A + 1 A 0 A \Gamma 1 A n0 A VA + 1 A n0 A + 1 A 0 A VA VA n0 A VA n0 A VA VA VA VA VA VA VA VA VA Note that: the decimal numbers (i.e. float & double) and void types have only one value VA ; the reference types (i.e. class & array) have an integer value which refers to a list of objects for that method; the method type has its name as its val... | |||||||||||||
Publication details | |||||||||||||
| |||||||||||||