mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-24 07:20:37 +00:00
Description of the tags file format.
This commit is contained in:
parent
656132ebd3
commit
717a0a0d84
46
etc/ETAGS.EBNF
Normal file
46
etc/ETAGS.EBNF
Normal file
@ -0,0 +1,46 @@
|
||||
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 */
|
||||
|
||||
PATTERM ::= #x80 /* pattern terminator */
|
||||
|
||||
NAMTERM ::= #x01 /* name terminator */
|
||||
|
||||
regchar ::= [^#x0a#x0c#x80] /* 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 ::= PATTERM "(" regstring ")"
|
||||
|
||||
tag ::= directtag | patterntag
|
||||
|
||||
directtag ::= PATTERM realposition
|
||||
|
||||
patterntag ::= pattern PATTERM [ tagname NAMTERM ] position
|
||||
|
||||
pattern ::= regstring /* a tag pattern */
|
||||
|
||||
tagname ::= regchar regstring /* a tag name */
|
||||
|
||||
position ::= realposition | ","
|
||||
|
||||
realposition ::= "," unsint | unsint "," | unsint "," unsint
|
Loading…
Reference in New Issue
Block a user