p4 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. .NH
  2. Particular details
  3. .NH 2
  4. Lower case/Upper case
  5. .PP
  6. Keywords must be either fully written in lower case or in upper case, thus
  7. \fBPAR\fP is equivalent to \fBpar\fP but \fBPar\fP is not a keyword. Identifiers
  8. may be of mixed case. Different styles are used in our examples just to indicate
  9. what's accepted by the compiler.
  10. .NH 2
  11. File inclusion
  12. .PP
  13. The C preprocessor is applied to the input file before
  14. compilation, so that files containing useful \fBPROC\fP and \fBDEF\fP
  15. declarations can be used in the program by using the \fB#include\fP-directive
  16. of the preprocessor.
  17. .NH 2
  18. Substitution
  19. .PP
  20. Named processes are not textually substituted. A procedure call is used instead.
  21. The semantics of occam substitution imply this by letting a global variable
  22. (i.e. not declared inside the named process' body) be found where the named
  23. process is defined and not where it is substituted.
  24. .NH 2
  25. ANY
  26. .PP
  27. According to the occam syntax the \fBANY\fP keyword may be the only argument of
  28. an input or output process. Thus,
  29. .DS
  30. .ft CW
  31. c ? ANY; x
  32. .ft
  33. .DE
  34. is not allowed. Because it was easy to add, and it was used by some programs,
  35. our compiler allows it. (If portability is an issue, usage of this feature
  36. is not advisable).
  37. .NH 2
  38. Configuration
  39. .PP
  40. The special configuration keywords like \fBPLACED\fP, \fBALLOCATE\fP, \fBPORT\fP
  41. and \fBLOAD\fP are not implemented. Only \fBPRI\fP works because \fBPAR\fP and
  42. \fBALT\fP work the same without it.