From 717a0a0d846b7bfb726638042b2933921728b87d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Francesco=20Potort=C3=AC?= Date: Tue, 12 Mar 2002 10:57:49 +0000 Subject: [PATCH] Description of the tags file format. --- etc/ETAGS.EBNF | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 etc/ETAGS.EBNF diff --git a/etc/ETAGS.EBNF b/etc/ETAGS.EBNF new file mode 100644 index 00000000000..c9d053c1760 --- /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` 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 -- 2.39.2