1 |
|
-*- indented-text -*- |
2 |
|
|
3 |
This file contains two sections: |
This file contains two sections: |
4 |
|
|
5 |
1) An EBNF (Extended Backus Normal Form) description of the format of |
1) An EBNF (Extended Backus Normal Form) description of the format of |
6 |
the tags file created by etags.c and interpreted by etags.el |
the tags file created by etags.c and interpreted by etags.el |
7 |
2) A discussion of tag names and implicit tag names |
2) A discussion of tag names and implicit tag names |
8 |
|
|
9 |
======================= EBNF tag file description ======================= |
======================= EBNF tag file description ======================= |
58 |
|
|
59 |
|
|
60 |
|
|
61 |
======================== discussion on tag names ========================= |
======================== discussion of tag names ========================= |
62 |
|
|
63 |
- What are tag names |
- What are tag names |
64 |
Tag lines in a tags file are usually made from the above defined pattern |
Tag lines in a tags file are usually made from the above defined pattern |
74 |
part of tag lines in the tags file, so we call them "explicit". |
part of tag lines in the tags file, so we call them "explicit". |
75 |
|
|
76 |
- Why implicit tag names are even better |
- Why implicit tag names are even better |
77 |
Often tag names are redundant; this happens when the name of a tag is an |
When a tag line has no name, but a name can be deduced from the pattern, |
78 |
easily guessable substring of the tag pattern. We define a set of rules |
we say that the tag line has an implicit tag name. etags.c uses |
79 |
to decide whether it is possible to deduce the tag name from the pattern, |
implicit tag names when possible, in order to reduce the number of |
80 |
and make an unnamed tag in those cases. The name deduced from the |
explicit tag names in a tags file, thus reducing the size of the tags |
81 |
pattern of an unnamed tag is the implicit name of that tag. The use of |
file. When the user looks for a tag, and Emacs founds no explicit tag |
82 |
implicit tag names reduces the size of the tags file. When the user |
names that match it, Emacs then tries to match the tag with an implicit |
83 |
looks for a tag, and Emacs founds no explicit tag names that match it, |
tag name. Such a match occurs when the tag matches a pattern, subject |
84 |
Emacs then tries to match the tag with an implicit tag name. Such a |
to the satisfaction of all the following four rules: |
|
match occurs when the tag matches a pattern, subject to the satisfaction |
|
|
of all the following four rules: |
|
85 |
|
|
86 |
NONAM=" \f\t\n\r()=,;"; |
NONAM=" \f\t\n\r()=,;"; |
87 |
1. the tag does not contain any of the characters in NONAM; |
1. the tag does not contain any of the characters in NONAM; |