Definitions have three possible forms, simple, with alternatives, and tag as shown here in order.
Syntax:
def id object % simple def def id <tag_1> object_1 % def with alternatives <tag_2> object_2 ... <> default_object def id <> % tag def
The simple definition merely associates object with the identifier id.
The definition with alternatives associates object_i with id, where tag_i is the first defined tag in the list of alternative tag references. If no tag in the list is defined, then default_object is associated with identifier id.
The final form defines id as a tag. Another way to define a tag is with the -D command line option. See Command line.