Next: , Previous: , Up: Top   [Contents][Index]


Appendix F Info Format Specification

Here we describe the technical details of the Info format.

This format definition was written some 25 years after the Info format was first devised. So in the event of conflicts between this definition and actual practice, practice wins. It also assumes some general knowledge of Texinfo; it is meant to be a guide for implementors rather than a rigid technical standard. We often refer back to other parts of this manual for examples and definitions, rather than redundantly spelling out every detail.

In this formal description, the characters <>*()|=# are used for the language of the description itself. Other characters are literal. The formal constructs used are typical: <...> indicates a metavariable name, ‘=’ means definition, ‘*’ repetition, ‘?’ optional, ‘()’ grouping, ‘|’ alternation, ‘#’ comment. Exception: ‘*’ at the beginning of a line is literal.

The sections in an Info file (such as nodes or tag tables) are separated with a sequence:

(^L)?^_(^L)?^J

That is, a ‘CTRL-_’ character followed by a newline, with optional formfeed characters. We refer to such sequences as <separator>.

We specify literal parentheses (those that are part of the Info format) with <lparen> and <rparen>, meaning the single characters ‘(’ and ‘)’ respectively. The two-character sequence ‘^x’ means the single character ‘CTRL-x’, for any x.