semantic: Analyzer Internals

 
 3.4 Analyzer Internals
 ======================
 
 The Semantic analyzer is a complex engine which has been broken down
 across several modules.  When the Semantic analyzer fails, start with
 ‘semantic-analyze-debug-assist’, then dive into some of these files.
 
 ‘semantic-analyze.el’
      The core analyzer for defining the “current context”.  The current
      context is an object that contains references to aspects of the
      local context including the current prefix, and a tag list defining
      what the prefix means.
 
 ‘semantic-analyze-complete.el’
      Provides ‘semantic-analyze-possible-completions’.
 
 ‘semantic-analyze-debug.el’
      The analyzer debugger.  Useful when attempting to get everything
      configured.
 
 ‘semantic-analyze-fcn.el’
      Various support functions needed by the analyzer.
 
 ‘semantic-ctxt.el’
      Local context parser.  Contains overloadable functions used to move
      around through different scopes, get local variables, and collect
      the current prefix used when doing completion.
 
 ‘semantic-scope.el’
      Calculate “scope” for a location in a buffer.  The scope includes
      local variables, and tag lists in scope for various reasons, such
      as C++ using statements.
 
 ‘semanticdb-typecache.el’
      The typecache is part of ‘semanticdb’, but is used primarily by the
      analyzer to look up datatypes and complex names.  The typecache is
      bound across source files and builds a master lookup table for data
      type names.
 
 ‘semantic-ia.el’
      Interactive Analyzer functions.  Simple routines that do completion
      or lookups based on the results from the Analyzer.  These routines
      are meant as examples for application writers, but are quite useful
      as they are.
 
 ‘semantic-ia-sb.el’
      Speedbar support for the analyzer, displaying context info, and
      completion lists.