Semantic is a package that provides language-aware editing commands
source code parsers. This section provides a brief
description of Semantic; for full details,
Most of the “language aware” features in Emacs, such as Font Lock mode (see Font Lock), rely on “rules of thumb”1 that usually give good results but are never completely exact. In contrast, the parsers used by Semantic have an exact understanding of programming language syntax. This allows Semantic to provide search, navigation, and completion commands that are powerful and precise.
To begin using Semantic, type M-x semantic-mode or click on the menu item named ‘Source Code Parsers (Semantic)’ in the ‘Tools’ menu. This enables Semantic mode, a global minor mode.
semantic-complete-analyze-inline). This also activates a set of special key bindings for choosing a completion: <RET> accepts the current completion, M-n and M-p cycle through possible completions, <TAB> completes as far as possible and then cycles, and C-g or any other key aborts completion.
In addition to the above commands, the Semantic package provides a variety of other ways to make use of parser information. For instance, you can use it to display a list of completions when Emacs is idle. See Semantic, for details.
 Regular expressions and syntax tables.