modula2.mod 890 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. (* -*- mode: modula-2; m2-indent:3 -*- *)
  2. IMPLEMENTATION MODULE Indent ;
  3. (* This is (* a nested comment *) *)
  4. // This is a single-line comment.
  5. FROM SYSTEM IMPORT ADR, TSIZE, SIZE, WORD ;
  6. CONST
  7. c1 = 2;
  8. TYPE
  9. t = POINTER TO ARRAY [0..10] OF LONGINT;
  10. VAR x: t;
  11. y:LONGINT;
  12. PROCEDURE f1 (f: File) : INTEGER ;
  13. VAR
  14. fd: FileDescriptor ;
  15. PROCEDURE foo (a:CARDINAL) : INTEGER;
  16. BEGIN
  17. END foo;
  18. BEGIN
  19. IF f#Error
  20. THEN
  21. fd := GetIndice(FileInfo, f) ;
  22. IF fd#NIL THEN
  23. RETURN( fd^.unixfd )
  24. ELSE
  25. CASE z OF
  26. 1: do1();
  27. | 2: do2();
  28. toto(x);
  29. | 3: ;
  30. | 4: do4();
  31. ELSE do5();
  32. END ; (* CASE selection *)
  33. END
  34. END ;
  35. FormatError1('file %d has not been opened or is out of range\n', f) ;
  36. RETURN( -1 )
  37. END f1 ;
  38. BEGIN
  39. init
  40. FINALLY
  41. done
  42. END Indent.