annotate etc/ETAGS.EBNF @ 45872:2793b29e84b3

*** empty log message ***
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 17 Jun 2002 16:15:58 +0000
parents 147a637372eb
children c5474d1cf831
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
1 EBNF (Extended Backus Normal Form) description of the format of the tags
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
2 file created by etags.c and interpreted by etags.el
45799
147a637372eb Comments added.
Francesco Potortì <pot@gnu.org>
parents: 43858
diff changeset
3
147a637372eb Comments added.
Francesco Potortì <pot@gnu.org>
parents: 43858
diff changeset
4 Productions created from current behaviour to aid extensions
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
5 Francesco Potorti` <pot@gnu.org> 2002
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
6 ================================================================
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
7
45799
147a637372eb Comments added.
Francesco Potortì <pot@gnu.org>
parents: 43858
diff changeset
8 FF ::= #x0c /* tag section starter */
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
9
45799
147a637372eb Comments added.
Francesco Potortì <pot@gnu.org>
parents: 43858
diff changeset
10 LF ::= #x0a /* line terminator */
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
11
43857
1e419a707ae1 *** empty log message ***
Francesco Potortì <pot@gnu.org>
parents: 43850
diff changeset
12 DEL ::= #x7f /* pattern terminator */
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
13
43857
1e419a707ae1 *** empty log message ***
Francesco Potortì <pot@gnu.org>
parents: 43850
diff changeset
14 SOH ::= #x01 /* name terminator */
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
15
43858
8d0430162d52 *** empty log message ***
Francesco Potortì <pot@gnu.org>
parents: 43857
diff changeset
16 regchar ::= [^#x0a#x0c#x7f] /* regular character */
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
17
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
18 regstring ::= { regchar } /* regular string */
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
19
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
20 unsint ::= [0-9] { [0-9] } /* non-negative integer */
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
21
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
22
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
23
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
24 tagfile ::= { tagsection } /* a tags file */
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
25
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
26 tagsection ::= FF LF ( includesec | regularsec ) LF
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
27
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
28 includesec ::= filename ",include" [ LF fileprop ]
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
29
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
30 regularsec ::= filename "," [ unsint ] [ LF fileprop ] { LF tag }
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
31
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
32 filename ::= regchar regstring /* a file name */
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
33
45799
147a637372eb Comments added.
Francesco Potortì <pot@gnu.org>
parents: 43858
diff changeset
34 fileprop ::= "(" regstring ")" /* an elisp alist */
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
35
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
36 tag ::= directtag | patterntag
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
37
45799
147a637372eb Comments added.
Francesco Potortì <pot@gnu.org>
parents: 43858
diff changeset
38 directtag ::= DEL realposition /* no pattern */
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
39
43857
1e419a707ae1 *** empty log message ***
Francesco Potortì <pot@gnu.org>
parents: 43850
diff changeset
40 patterntag ::= pattern DEL [ tagname SOH ] position
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
41
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
42 pattern ::= regstring /* a tag pattern */
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
43
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
44 tagname ::= regchar regstring /* a tag name */
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
45
45799
147a637372eb Comments added.
Francesco Potortì <pot@gnu.org>
parents: 43858
diff changeset
46 position ::= realposition | "," /* charpos,linepos */
43850
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
47
4c55c058ad72 Description of the tags file format.
Francesco Potortì <pot@gnu.org>
parents:
diff changeset
48 realposition ::= "," unsint | unsint "," | unsint "," unsint