1. Naming scheme

A flat name space will suffice for TDF token names if producer writers adopt the simple constraints described here. TDF has separate provision for a hierarchic unique naming scheme, but that was intended for a specific purpose that has not yet been realised.

External names for program or application specific tokens should be confined to “simple names”, which we define to mean that they consist only of letters, digits and underscore, the characters allowed in C identifiers. Normally there will be very few such external names, as tokens internal to a single capsule do not require to be named. All other token names will consist of some controlled prefix followed by a simple name, with the prefix identifying the control authority.

For API tokens, the prefix will consist of a sequence of simple names, each followed by a dot, where the first simple name is the name of the API as listed or referred to in §6.

The prefix for producer specific and target dependency tokens will begin and end with characters that distinguish them from the above cases. However, common tools such as DISP, TNC and PL-TDF assume that token names contain only letters, digits, underscore, dot, and/or twiddle.

The following prefixes are currently reserved:

PrefixReservation
~TDF interface tokens as specified in §4 below, and also LPI tokens specific to DRA's C producer.
.~Registered target dependency tokens as specified in §2 below, and basic mapping tokens specified in section §3.
~c.LPI tokens specific to DRA's C++ producer, other than those it shares with the C producer.
.Et~LPI tokens specific to Etnoteam's Fortran77 producer.