aboutsummaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorFrancesco Potortì <[email protected]>2002-03-12 10:57:49 +0000
committerFrancesco Potortì <[email protected]>2002-03-12 10:57:49 +0000
commit717a0a0d846b7bfb726638042b2933921728b87d (patch)
treed5aebdf9068abc327475aede0e8f30cffe0c910c /etc
parent656132ebd3ac2359182c1bf8822253c60bbdb153 (diff)
Description of the tags file format.
Diffstat (limited to 'etc')
-rw-r--r--etc/ETAGS.EBNF46
1 files changed, 46 insertions, 0 deletions
diff --git a/etc/ETAGS.EBNF b/etc/ETAGS.EBNF
new file mode 100644
index 0000000000..c9d053c176
--- /dev/null
+++ b/etc/ETAGS.EBNF
@@ -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` <[email protected]> 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