Commit | Line | Data |
---|---|---|
717a0a0d FP |
1 | EBNF (Extended Backus Normal Form) description of the format of the tags |
2 | file created by etags.c and interpreted by etags.el | |
3 | Francesco Potorti` <pot@gnu.org> 2002 | |
4 | ================================================================ | |
5 | ||
6 | FF ::= #x0c /* form feed */ | |
7 | ||
8 | LF ::= #x0a /* line feed */ | |
9 | ||
10 | PATTERM ::= #x80 /* pattern terminator */ | |
11 | ||
12 | NAMTERM ::= #x01 /* name terminator */ | |
13 | ||
14 | regchar ::= [^#x0a#x0c#x80] /* regular character */ | |
15 | ||
16 | regstring ::= { regchar } /* regular string */ | |
17 | ||
18 | unsint ::= [0-9] { [0-9] } /* non-negative integer */ | |
19 | ||
20 | ||
21 | ||
22 | tagfile ::= { tagsection } /* a tags file */ | |
23 | ||
24 | tagsection ::= FF LF ( includesec | regularsec ) LF | |
25 | ||
26 | includesec ::= filename ",include" [ LF fileprop ] | |
27 | ||
28 | regularsec ::= filename "," [ unsint ] [ LF fileprop ] { LF tag } | |
29 | ||
30 | filename ::= regchar regstring /* a file name */ | |
31 | ||
32 | fileprop ::= PATTERM "(" regstring ")" | |
33 | ||
34 | tag ::= directtag | patterntag | |
35 | ||
36 | directtag ::= PATTERM realposition | |
37 | ||
38 | patterntag ::= pattern PATTERM [ tagname NAMTERM ] position | |
39 | ||
40 | pattern ::= regstring /* a tag pattern */ | |
41 | ||
42 | tagname ::= regchar regstring /* a tag name */ | |
43 | ||
44 | position ::= realposition | "," | |
45 | ||
46 | realposition ::= "," unsint | unsint "," | unsint "," unsint |