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 your 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 5
|
||
|
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 you prefer portability you are advised not to make
|
||
|
use of it.)
|
||
|
.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.
|