emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/etc/ETAGS.EBNF


From: Francesco Potortì
Subject: [Emacs-diffs] Changes to emacs/etc/ETAGS.EBNF
Date: Fri, 21 Jun 2002 08:05:52 -0400

Index: emacs/etc/ETAGS.EBNF
diff -c emacs/etc/ETAGS.EBNF:1.4 emacs/etc/ETAGS.EBNF:1.5
*** emacs/etc/ETAGS.EBNF:1.4    Thu Jun 13 06:57:55 2002
--- emacs/etc/ETAGS.EBNF        Fri Jun 21 08:05:52 2002
***************
*** 1,9 ****
! EBNF (Extended Backus Normal Form) description of the format of the tags
! file created by etags.c and interpreted by etags.el
  
  Productions created from current behaviour to aid extensions
  Francesco Potorti` <address@hidden> 2002
! ================================================================
  
  FF ::= #x0c                              /* tag section starter */
  
--- 1,14 ----
! This file contains two sections:
! 
! 1) An EBNF (Extended Backus Normal Form) description of the format of
!    the tags file created by etags.c and interpreted by etags.el 
! 2) A discussion of tag names and implicit tag names
! 
! ======================= EBNF tag file description =======================
  
  Productions created from current behaviour to aid extensions
  Francesco Potorti` <address@hidden> 2002
! ----------------
  
  FF ::= #x0c                              /* tag section starter */
  
***************
*** 46,48 ****
--- 51,91 ----
  position ::= realposition | ","          /* charpos,linepos */
  
  realposition ::= "," unsint | unsint "," | unsint "," unsint
+ 
+ ==================== end of EBNF tag file description ====================
+ 
+ 
+ 
+ ======================== discussion on tag names =========================
+ 
+ - What are tag names
+ Tag lines in a tags file are usually made from the above defined pattern
+ and by an optional tag name.  The pattern is a string that is searched
+ in the source file to find the tagged line.
+ 
+ - Why tag names are good
+ When a user looks for a tag, Emacs first compares the tag with the tag
+ names contained in the tags file.  If no match is found, Emacs compares
+ the tag with the patterns.  The tag name is then the preferred way to
+ look for tags in the tags file, because when the tag name is present
+ Emacs can find a tag faster and more accurately.  These tag names are
+ part of tag lines in the tags file, so we call them "explicit".
+ 
+ - Why implicit tag names are even better
+ The purpose of implicit tag names is to reduce the number of tag names
+ in a tags file, thus reducing the size of the tags file.  When the user
+ looks for a tag, and Emacs founds no explicit tag names that match it,
+ Emacs then tries to match the tag with an implicit tag name.  Such a
+ match occurs when the tag matches a pattern, subject to the satisfaction
+ of all the following four rules:
+ 
+  NONAM=" \f\t\n\r()=,;";
+   1. the tag does not contain any of the characters in NONAM;
+   2. the pattern contains the tag as either a rightmost, or rightmost
+      but one character, substring;
+   3. the character, if any, immediately before the tag in the pattern
+      must be a character in NONAM;
+   4. the character, if any, immediately after the tag in the pattern
+      must also be a character in NONAM.
+ 
+ ===================== end of discussion on tag names =====================



reply via email to

[Prev in Thread] Current Thread [Next in Thread]