em_pc.6 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. .TH EM_PC 6 "$Revision$"
  2. .ad
  3. .SH NAME
  4. em_pc \- Pascal compiler
  5. .SH SYNOPSIS
  6. .B ~em/lib.bin/em_pc
  7. .RI [ option ]
  8. .I source
  9. .I destination
  10. .SH DESCRIPTION
  11. .I Em_pc
  12. is a compiler that translates Pascal programs into EM code.
  13. Normally the compiler is called by means of the user interface program
  14. \fIack\fR(1).
  15. .PP
  16. The input is taken from
  17. .IR source ,
  18. while the EM code is written on
  19. .IR destination .
  20. .br
  21. .I Option
  22. is a, possibly empty, sequence of the following combinations:
  23. .IP \fB\-M\fP\fIn\fP
  24. set maximum identifier length to \fIn\fP.
  25. The minimum value for \fIn\fR is 9, because the keyword
  26. "PROCEDURE" is that long.
  27. .IR n
  28. .IP \fB\-n\fR
  29. do not generate EM register messages.
  30. The user-declared variables will not be stored into registers on the target
  31. machine.
  32. .IP \fB\-L\fR
  33. do not generate the EM \fBfil\fR and \fBlin\fR instructions that enable
  34. an interpreter to keep track of the current location in the source code.
  35. .IP \fB\-V\fIcm\fR.\fIn\fR,\ \fB\-V\fIcm\fR.\fIncm\fR.\fIn\fR\ ...
  36. .br
  37. set the size and alignment requirements.
  38. The letter \fIc\fR indicates the simple type, which is one of
  39. \fBw\fR(word size), \fBi\fR(INTEGER), \fBl\fR(LONG), \fBr\fR(REAL),
  40. \fBp\fR(POINTER).
  41. It may also be the letter \fBS\fR, indicating that an initial
  42. record alignment follows.
  43. The \fIm\fR parameter can be used to specify the length of the type (in bytes)
  44. and the \fIn\fR parameter for the alignment of that type.
  45. Absence of \fIm\fR or \fIn\fR causes a default value to be retained.
  46. .IP \fB\-w\fR
  47. suppress warning messages.
  48. .IP
  49. .IP \fB\-R\fR
  50. disable range checks. Additionally, the run-time tests to see if
  51. a function is assigned, are skipped.
  52. .IP \fB\-A\fR
  53. enable extra array bound checks, for machines that do not implement the
  54. EM ones.
  55. .IP \fB\-C\fR
  56. the lower case and upper case letters are treated differently.
  57. .IP "\fB\-u\fR, \fB\-U\fR"
  58. allow underscores in identifiers. It is not allowed to start an identifier
  59. with an underscore.
  60. .IP \fB\-a\fR
  61. don't generate code for assertions.
  62. .IP \fB\-c\fR
  63. allow C-like strings. This option is mainly intended for usage with
  64. C-functions. This option will cause the type 'string' to be known.
  65. .IP \fB\-d\fR
  66. allow the type 'long'.
  67. .IP \fB\-i\fR\fIn\fR
  68. set the size of integer sets to \fIn\fR. When not used, a default value is
  69. retained.
  70. .IP \fB\-s\fR
  71. allow only standard Pascal. This disables the \fB\-c\fR, \fB\-d\fR, \fB\-u\fR,
  72. \fB\-U\fR and \fB\-C\fR
  73. options. Furthermore, assertions are not recognized at all (instead of just
  74. being skipped).
  75. .IP \fB\-t\fR
  76. trace calls and exits of procedures and functions.
  77. .PP
  78. .SH FILES
  79. .IR ~em/lib/em_pc :
  80. binary of the Pascal compiler.
  81. .SH DIAGNOSTICS
  82. All warning and error messages are written on standard error output.