changeset 43850:4c55c058ad72

Description of the tags file format.
author Francesco Potortì <pot@gnu.org>
date Tue, 12 Mar 2002 10:57:49 +0000
parents fa1c570ab72f
children 1f98e32d6f46
files etc/ETAGS.EBNF
diffstat 1 files changed, 46 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/ETAGS.EBNF	Tue Mar 12 10:57:49 2002 +0000
@@ -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