BeFull.mod 633 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. (* Generated by SimpleM backend *)
  2. MODULE BeFull;
  3. CONST
  4. Limit = 20;
  5. TYPE
  6. Range = [1..10];
  7. Point = RECORD
  8. x, y : INTEGER
  9. END;
  10. Table = ARRAY Range OF INTEGER;
  11. VAR
  12. p : Point;
  13. t : Table;
  14. k, n : INTEGER;
  15. ch : CHAR;
  16. BEGIN
  17. p.x := 3;
  18. p.y := 4;
  19. FOR k := 1 TO 10 DO
  20. t[k] := k * k
  21. END;
  22. n := t[p.x] + t[p.y];
  23. CASE n OF
  24. 1, 2 : ch := 'a'
  25. | 3..30 : ch := 'b'
  26. ELSE
  27. ch := 'z'
  28. END;
  29. REPEAT
  30. n := n + 1
  31. UNTIL n >= Limit;
  32. LOOP
  33. IF n > 100 THEN
  34. EXIT
  35. END;
  36. n := n + 1
  37. END;
  38. WITH p DO
  39. p.x := p.y
  40. END;
  41. IF (NOT (n < 0)) AND (ch # 'q') OR (16 = 10H) THEN
  42. n := 0
  43. END
  44. END BeFull.