43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
.NH
|
|
Particular details
|
|
.NH 2
|
|
Lower case/Upper case
|
|
.PP
|
|
Keywords must be either fully written in lower case or in upper case, thus
|
|
\fBPAR\fP is equivalent to \fBpar\fP but \fBPar\fP is not a keyword. Identifiers
|
|
may be of mixed case. Different styles are used in our examples just to indicate
|
|
what's accepted by the compiler.
|
|
.NH 2
|
|
File inclusion
|
|
.PP
|
|
The C preprocessor is applied to the input file before
|
|
compilation, so that files containing useful \fBPROC\fP and \fBDEF\fP
|
|
declarations can be used in the program by using the \fB#include\fP-directive
|
|
of the preprocessor.
|
|
.NH 2
|
|
Substitution
|
|
.PP
|
|
Named processes are not textually substituted. A procedure call is used instead.
|
|
The semantics of occam substitution imply this by letting a global variable
|
|
(i.e. not declared inside the named process' body) be found where the named
|
|
process is defined and not where it is substituted.
|
|
.NH 2
|
|
ANY
|
|
.PP
|
|
According to the occam syntax the \fBANY\fP keyword may be the only argument of
|
|
an input or output process. Thus,
|
|
.DS
|
|
.ft CW
|
|
c ? ANY; x
|
|
.ft
|
|
.DE
|
|
is not allowed. Because it was easy to add, and it was used by some programs,
|
|
our compiler allows it. (If portability is an issue, usage of this feature
|
|
is not advisable).
|
|
.NH 2
|
|
Configuration
|
|
.PP
|
|
The special configuration keywords like \fBPLACED\fP, \fBALLOCATE\fP, \fBPORT\fP
|
|
and \fBLOAD\fP are not implemented. Only \fBPRI\fP works because \fBPAR\fP and
|
|
\fBALT\fP work the same without it.
|