docidx_lang_syntax(n) 1.0 tcllib "Documentation tools"

This document contains the formal specification of the syntax of the
docidx markup language, version 1 in Backus-Naur-Form. This document
is intended to be a reference, complementing the
docidx language command reference.
A beginner should read the much more informally written
docidx language introduction first before trying to
understand either this document or the command reference.

In the broadest terms possible the docidx markup language is
like SGML and similar languages. A document written in this language
consists primarily of markup commands, with text embedded into it at
some places.

Each markup command is a just Tcl command surrounded by a matching
pair of [ and ]. Which commands are available,
and their arguments, i.e. syntax is specified in the
docidx language command reference.

In this document we specify first the lexeme, and then the syntax,
i.e. how we can mix text and markup commands with each other.

Any XXX stands for the markup command [xxx] including its
arguments. Each markup command is a Tcl command surrounded by a
matching pair of [ and ]. Inside of these
delimiters the usual rules for a Tcl command apply with regard to word
quotation, nested commands, continuation lines, etc.

<WHITE> stands for all text consisting only of spaces, newlines,
tabulators and the comment markup command.

This document, and the package it describes, will undoubtedly contain
bugs and other problems.
Please report such in the category doctools of the
Tcllib Trackers.
Please also report any ideas for enhancements you may have for either
package and/or documentation.