view etc/ETAGS.EBNF @ 45844:983092eca478

New version from ric Jacoboni <jaco@teaser.fr>.
author Eli Zaretskii <eliz@gnu.org>
date Sun, 16 Jun 2002 17:12:06 +0000
parents 147a637372eb
children c5474d1cf831
line wrap: on
line source

EBNF (Extended Backus Normal Form) description of the format of the tags
file created by etags.c and interpreted by etags.el

Productions created from current behaviour to aid extensions
Francesco Potorti` <pot@gnu.org> 2002
================================================================

FF ::= #x0c				   /* tag section starter */

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

DEL ::= #x7f				   /* pattern terminator */

SOH ::= #x01				   /* name terminator */

regchar ::= [^#x0a#x0c#x7f]		   /* regular character */

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 */

fileprop ::= "(" regstring ")"		   /* an elisp alist */

tag ::= directtag | patterntag

directtag ::= DEL realposition		   /* no pattern */

patterntag ::= pattern DEL [ tagname SOH ] position

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

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

position ::= realposition | "," 	   /* charpos,linepos */

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