42 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| .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 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 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.
 |