t_fwdprop.mod 431 B

1234567891011121314151617
  1. MODULE TFwdProp;
  2. // A forward module-level variable inside a compound expression
  3. // (`(arr[0] + arr[1]) * 2`): the enclosing nodes are typed InvalidType
  4. // at parse time and re-typed by the resolve pass. Exit 42.
  5. VAR ExitCode : INTEGER;
  6. PROCEDURE SetIt;
  7. BEGIN z := (arr[0] + arr[1]) * 2 END SetIt;
  8. VAR arr : ARRAY [0..3] OF INTEGER;
  9. VAR z : INTEGER;
  10. BEGIN
  11. arr[0] := 10; arr[1] := 11;
  12. SetIt;
  13. ExitCode := z
  14. END TFwdProp.