check_indexes.ob 738 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. (*options:{"checkIndexes": true}*)
  2. MODULE m;
  3. PROCEDURE readCharArray(a: ARRAY OF CHAR);
  4. VAR
  5. c: CHAR;
  6. BEGIN
  7. c := a[1];
  8. c := a[ORD(a[1])]
  9. END readCharArray;
  10. PROCEDURE writeCharArray(VAR a: ARRAY OF CHAR);
  11. VAR
  12. c: CHAR;
  13. BEGIN
  14. a[1] := c;
  15. a[ORD(a[1])] := c;
  16. END writeCharArray;
  17. PROCEDURE readIntArray(a: ARRAY OF INTEGER);
  18. VAR
  19. i: INTEGER;
  20. BEGIN
  21. i := a[1];
  22. i := a[a[i]]
  23. END readIntArray;
  24. PROCEDURE writeIntArray(VAR a: ARRAY OF INTEGER);
  25. VAR
  26. i: INTEGER;
  27. BEGIN
  28. a[1] := i;
  29. END writeIntArray;
  30. PROCEDURE multiDimArray(i, j: INTEGER);
  31. VAR
  32. a: ARRAY 5, 5 OF INTEGER;
  33. BEGIN
  34. a[1][2] := a[3, 4];
  35. END multiDimArray;
  36. PROCEDURE arrayOfRecords(i: INTEGER);
  37. VAR
  38. a: ARRAY 3 OF RECORD END;
  39. BEGIN
  40. a[i] := a[i + 1];
  41. END arrayOfRecords;
  42. END m.