DIRECTIVES - B compiler directives.

Description:

The B compiler accepts several types of "directives" in the source code. These directives are not executable statements; instead, they are identifiers are used when generating an object deck during compilation.

Any line of source code whose first character is a '#' is assumed to be a compiler directive. The recognized directives are described below.

#title <text>
This places the given text in the comments field of any $OBJECT card written from the time the directive is encountered.
#lbl <text>
This places the given text (truncated to eight characters) in the "deck name" field of any $OBJECT or $DKEND card written after the directive is encountered. If this directive has not been encountered when it comes time to generate an object deck, the current file name is used instead.
#ttldat <text>
This uses the given text (truncated to six characters) to fill the "ttl" date field of any $OBJECT card written from the time the directive is encountered.
#copyright <text>
This is taken as a comment.
#alias <bname> <symdef>
This is used to give a second symdef to a B external name. This must be placed after the definition of "bname".

The example below demonstrates all five directives.

#title tss login subsystem - .tslog
#lbl tlga
#ttldat 810924
#copyright (c) 1981, Thinkage Ltd.
null(a) return(a);
#alias null .null

Copyright © 1996, Thinkage Ltd.