Reserved names

The SPL compiler reserves a few names for its internal use and does not allow these names to appear in certain locations within your SPL source.

The reserved names are as follows:

  • Stream attribute names cannot contain C++ keywords.
  • Operator names cannot contain C++ keywords.
  • Namespace components cannot contain C++ keywords.
  • The name streams is reserved and cannot be used as a top-level namespace.

The SPL compiler detects these cases as errors, and reports an appropriate message. In addition to these, top-level directories are implicitly invalid as namespaces. Since the spl-make-toolkit tool does not index these directories, SPL files that are contained in them cannot be compiled by the sc command.