Source File Syntax

All fields of a source line are separated by a single blank character. Any other blank characters are considered as being part of the subsequent field.

Comments begin with a $ followed by a space and the text of the comment. For example:

$ This is a comment

A $set directive is used to associate a message number with all subsequent messages, until the end of file or the next $set directive. The format is:

$set <number> <comment>

For example:

$set 1 this is the first set in the file

The set number must be in the range [1, {NL_SETMAX}]. Set numbers must be ascending within the file, but need not be contiguous. Any string following the set number is treated as a comment. If no $set directive is specified in a message text source file, all messages will be located in an implementation-defined default message set NL_SETD.

A $delset directive is used to delete a message set from an existing message file. The format is:

$delset <number> <comment>

For example:

$delset 1 this deletes any previous definition of set 1 from this file

A message consists of a message number followed by the message text. The message number must be in the range [1, {NL_MSGMAX}]. The message text is stored in the message catalog with the set identifier specified by the last $set directive, and with message the message number. If the message text is empty, and a blank character field separator is present, an empty string is stored in the message catalog. If a message source line has a message number, but neither a field separator nor message text, the existing message with that number (if any) is deleted from the set. Message numbers must be in ascending order with a single set, but need not be contiguous. The length of the message text must be in the range [0, {NL_TEXTMAX}].

For example:

1 "This is the first message"
2 "This is the second message"

A $quote directive specifies an optional quote character, which can be used to surround message text so that trailing spaces or null messages are visible in a message source line. By default, or if an empty $quote directive is supplied, no quoting of message text will be recognized. The format is:

$quote <character>

For example:

$quote "

Empty lines in the message file are ignored. The effects of lines starting with any character other than those defined above are implementation-defined.

Text strings can contain the special characters and escape sequences defined in the following table:

┌────────────────────────────────────────┬────────────────────┐
│Description                             │Sequence            │
├────────────────────────────────────────┼────────────────────┤
│newline                                 │\n                  │
├────────────────────────────────────────┼────────────────────┤
│horizontal tab                          │\t                  │
├────────────────────────────────────────┼────────────────────┤
│vertical tab                            │\v                  │
├────────────────────────────────────────┼────────────────────┤
│backspace                               │\b                  │
├────────────────────────────────────────┼────────────────────┤
│carriage-return                         │\r                  │
├────────────────────────────────────────┼────────────────────┤
│form-feed                               │\f                  │
├────────────────────────────────────────┼────────────────────┤
│backslash                               │\\                  │
├────────────────────────────────────────┼────────────────────┤
│octal character encoding                │\ddd  (three or     │
│                                        │fewer octal digits) │
└────────────────────────────────────────┴────────────────────┘

If the character following a backslash is not one of the above or the end of line, the backslash is ignored. A backslash at the end of a line is used to continue a string on the following line. For example:

1 This line continues \
to the next line


[Back: Examples]
[Next: Related Information]