ETAGS.EBNF 1.15 KB
Newer Older
1 2 3 4 5 6 7 8 9
EBNF (Extended Backus Normal Form) description of the format of the tags
file created by etags.c and interpreted by etags.el
Francesco Potorti` <pot@gnu.org> 2002
================================================================

FF ::= #x0c				   /* form feed */

LF ::= #x0a				   /* line feed */

Francesco Potortì's avatar
Francesco Potortì committed
10
DEL ::= #x7f				   /* pattern terminator */
11

Francesco Potortì's avatar
Francesco Potortì committed
12
SOH ::= #x01				   /* name terminator */
13

Francesco Potortì's avatar
Francesco Potortì committed
14
regchar ::= [^#x0a#x0c#x7f]		   /* regular character */
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

regstring ::= { regchar }		   /* regular string */

unsint ::= [0-9] { [0-9] }		   /* non-negative integer */



tagfile ::= { tagsection }		   /* a tags file */

tagsection ::= FF LF ( includesec | regularsec ) LF

includesec ::= filename ",include" [ LF fileprop ]

regularsec ::= filename "," [ unsint ] [ LF fileprop ] { LF tag }

filename ::= regchar regstring		   /* a file name */

Francesco Potortì's avatar
Francesco Potortì committed
32
fileprop ::= DEL "(" regstring ")"
33 34 35

tag ::= directtag | patterntag

Francesco Potortì's avatar
Francesco Potortì committed
36
directtag ::= DEL realposition
37

Francesco Potortì's avatar
Francesco Potortì committed
38
patterntag ::= pattern DEL [ tagname SOH ] position
39 40 41 42 43 44 45 46

pattern ::= regstring			   /* a tag pattern */

tagname ::= regchar regstring		   /* a tag name */

position ::= realposition | ","

realposition ::= "," unsint | unsint "," | unsint "," unsint