program ptest1(output); { test simple expression rearrangement } const zero = 0; one = 1; two = 2; bytelimit = 255; halflimit = 65535; type byte = 0 .. bytelimit; half = 0 .. halflimit; var b1, b2, b3: byte; h1, h2, h3: half; i1, i2, i3: integer; begin b1 := 0; b1 := b1; b2 := bytelimit; b3 := b1 + zero; b1 := b3 + zero + one; b2 := one + b3 + zero; b3 := one + b3 + zero; writeln('b1=',b1,'b2=',b2,'b3=',b3); h1 := halflimit; h1 := h1; writeln('h1=',h1,'h2=',h2); i1 := maxint; i2 := -maxint; i3 := 0; i3 := i3; i1 := i2 * zero; i2 := i3 * one; i3 := i1 div one; i1 := i1 + 1; i2 := i2 - 1; i1 := i2 * 2; { i1 := i2 << 1} i2 := i3 * (bytelimit + 1); { i2 := i3 << 8 } i3 := i1 div (halflimit + 1); { i3 := i1 >> 16 } i1 := two + one * i2 - one; { i1 := i2 + 1} i2 := (i1 + one) * two; { i1 := i1 << 1 + 2 } i3 := (i1 + one) + (i2 + two); { i3 := i1 + i2 + 3 } i1 := (i1 + one) - two; { i1 := i1 -1 } writeln('i1=',i1,'i2=',i2,'i3=',i3) end { ptest1 }.