]> git.eshelyaron.com Git - emacs.git/commitdiff
Description of the tags file format.
authorFrancesco Potortì <pot@gnu.org>
Tue, 12 Mar 2002 10:57:49 +0000 (10:57 +0000)
committerFrancesco Potortì <pot@gnu.org>
Tue, 12 Mar 2002 10:57:49 +0000 (10:57 +0000)
etc/ETAGS.EBNF [new file with mode: 0644]

diff --git a/etc/ETAGS.EBNF b/etc/ETAGS.EBNF
new file mode 100644 (file)
index 0000000..c9d053c
--- /dev/null
@@ -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