123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- .TH EM_M2 6 "$Revision$"
- .ad
- .SH NAME
- em_m2 \- ACK Modula\-2 compiler
- .SH SYNOPSIS
- .B ~em/lib.bin/em_m2
- .RI [ option ]
- .I source
- .I destination
- .SH DESCRIPTION
- .I Em_m2
- is a
- compiler, part of the Amsterdam Compiler Kit, that translates Modula-2 programs
- into EM code.
- The input is taken from
- .IR source ,
- while the
- EM code is written on
- .IR destination .
- .br
- .I Option
- is a, possibly empty, sequence of the following combinations:
- .IP \fB\-I\fIdirname\fR
- .br
- append \fIdirname\fR to the list of directories where definition modules
- are looked for.
- .PP
- When the compiler needs a definition module, it is first searched for
- in the current directory, and then in the directories given to it by the
- \-\fBI\fR flag
- in the order given.
- .IP \fB\-M\fP\fIn\fP
- set maximum identifier length to \fIn\fP.
- The minimum value for \fIn\fR is 14, because the keyword
- "IMPLEMENTATION" is that long.
- .IP \fB\-n\fR
- do not generate EM register messages.
- The user-declared variables will not be stored into registers on the target
- machine.
- .IP \fB\-L\fR
- do not generate the EM \fBfil\fR and \fBlin\fR instructions that enable
- an interpreter to keep track of the current location in the source code.
- .IP \fB\-V\fIcm\fR.\fIn\fR,\ \fB\-V\fIcm\fR.\fIncm\fR.\fIn\fR\ ...
- .br
- set the size and alignment requirements.
- The letter \fIc\fR indicates the simple type, which is one of
- \fBw\fR(word size), \fBi\fR(INTEGER), \fBl\fR(LONGINT), \fBf\fR(REAL),
- \fBd\fR(LONGREAL), or \fBp\fR(POINTER).
- It may also be the letter \fBS\fR, indicating that an initial
- record alignment follows.
- The \fIm\fR parameter can be used to specify the length of the type (in bytes)
- and the \fIn\fR parameter for the alignment of that type.
- Absence of \fIm\fR or \fIn\fR causes a default value to be retained.
- .IP \fB\-w\fR\fIclasses\fR
- suppress warning messages whose class is a member of \fIclasses\fR.
- Currently, there are three classes: \fBO\fR, indicating old-flashioned use,
- \fBW\fR, indicating "ordinary" warnings, and \fBR\fR, indicating
- restricted Modula-2.
- If no \fIclasses\fR are given, all warnings are suppressed.
- By default, warnings in class \fBO\fR and \fBW\fR are given.
- .IP \fB\-W\fR\fIclasses\fR
- allow for warning messages whose class is a member of \fIclasses\fR.
- .IP \fB\-x\fR
- make all procedure names global, so that \fIadb\fR(1) understands them.
- .IP \fB\-g\fR
- produce a DBX-style symbol table.
- .IP \fB\-l\fR
- enable local extensions. Currently, there are two local extensions:
- procedure constants, and the type LONGCARD.
- .IP \fB\-s\fR
- make INTEGER ranges symmetric, t.i., MIN(INTEGER) = - MAX(INTEGER).
- This is useful for interpreters that use the "real" MIN(INTEGER) to
- indicate "undefined".
- .IP \fB-R\fR
- disable all range checks.
- .IP \fB-A\fR
- enable extra array bound checks, for machines that do not implement the
- EM ones.
- .IP \fB-U\fR
- allow for underscores within identifiers. Identifiers may not start with
- an underscore, even if this flag is given.
- .IP \fB-3\fR
- only accept Modula-2 programs that strictly conform to [1].
- .LP
- .SH SEE ALSO
- \fIack\fR(1), \fImodula-2\fR(1)
- .IP [1]
- N. Wirth, \fIProgramming in Modula-2\fP, 3rd edition, Springer Verlag.
- .SH DIAGNOSTICS
- All warning and error messages are written on standard error output.
- .SH REMARKS
- Debugging and profiling facilities may be present during the development
- of \fIem_m2\fP.
|