Follow coding conventions.
[emacs.git] / etc / ETAGS.EBNF
bloba2b835af748a57eb17057ea2bcafed7ad824c6fe
1 EBNF (Extended Backus Normal Form) description of the format of the tags
2 file created by etags.c and interpreted by etags.el
3 Francesco Potorti` <pot@gnu.org> 2002
4 ================================================================
6 FF ::= #x0c                                /* form feed */
8 LF ::= #x0a                                /* line feed */
10 DEL ::= #x7f                               /* pattern terminator */
12 SOH ::= #x01                               /* name terminator */
14 regchar ::= [^#x0a#x0c#x7f]                /* regular character */
16 regstring ::= { regchar }                  /* regular string */
18 unsint ::= [0-9] { [0-9] }                 /* non-negative integer */
22 tagfile ::= { tagsection }                 /* a tags file */
24 tagsection ::= FF LF ( includesec | regularsec ) LF
26 includesec ::= filename ",include" [ LF fileprop ]
28 regularsec ::= filename "," [ unsint ] [ LF fileprop ] { LF tag }
30 filename ::= regchar regstring             /* a file name */
32 fileprop ::= DEL "(" regstring ")"
34 tag ::= directtag | patterntag
36 directtag ::= DEL realposition
38 patterntag ::= pattern DEL [ tagname SOH ] position
40 pattern ::= regstring                      /* a tag pattern */
42 tagname ::= regchar regstring              /* a tag name */
44 position ::= realposition | ","
46 realposition ::= "," unsint | unsint "," | unsint "," unsint