begin byte b short sh integer i longinteger li b = 255 b = 127 b = -128 b = 16_FF b = 16_7F b = 16_80 sh = 65535 ;! Too big - warning or error - "Short numerical constant too big" Should cause runtime integer overflow sh = 32767 sh = -32768 sh = 16_FFFF ;! Too big - warning or error - "Short numerical constant too big" Should cause runtime integer overflow sh = 16_7FFF sh = 16_8000 sh <- b sh = b sh <- i sh <- li ! i = 4294967295 ;! Too big - type error i = 2147483647 ! i = -2147483648 ;! Too big - type error! Because it is compiled as -(2147483648) i = -2147483647 ;! Too big - type error! Because it is compiled as -(2147483648) i = 16_FFFFFFFF ;! Too big - warning or error Should cause runtime integer overflow i = 16_7FFFFFFF i = 16_80000000 i <- b i = b i <- sh i = sh i <- li ! li = 18446744073709551615 ;! Too big - type error ! li = -9223372036854775808 ;! Too big - type error ! li = 9223372036854775807 ;! Too big - type error li = 16_FFFFFFFFFFFFFFFF ;! These three are accepted, but I believe will be truncated because our pass1 is 32-bit Should cause runtime integer overflow li = 16_7FFFFFFFFFFFFFFF li = 16_8000000000000000 li <- b li = b li <- sh li = sh li <- i li = i endofprogram