CEDET 
 User Tools 
  Simple Setup 
  Project Management 
  Smart Completion 
  Find References 
  Code Generation 
  UML Graphs 
  Language Support 
  Project Support 
 Developer Primers 
  Add a Language 
  Add external tool 
 Parts of CEDET 
  EDE 
  Semantic 
  SRecode 
  Cogre 
  Speedbar 
  EIEIO 
  Misc Tools 
  Documentation 
 Releases 
  1.0.1 
  1.1 
 Source Forge 
  Project 
  Mailing Lists 
   cedet-devel 
   cedet-semantic 
   cedet-eieio 
  Screenshots 
  Bzr Repository 
 More Tools 
  JDEE 
  ECB 
  CompletionUI 
 
<< Files >>

Add support for external tools

If you maintain or use a tool that is not Emacs specific but is related to code development, you might be able to integrate the features into CEDET as well. Example tools include GNU Global tagging system, or CScope.

There are several ways a tool might be used. Here are some examples.

Parser

A tool that can provide tagging information by parsing a file could be integrated in place of using CEDET's built in parsing infrastructure. See Add a Language page for a little more on this.

Tag Database

Some tools parse many files at once, and create indices for fast symbol lookup. GNU Global is one such tool. Interpreted languages often implement a form of introspection, allowing the language interpreter to also by a symbol reference engine.

Tools such as these can be used as a Semantic database back end. The database engine in Semantic uses the EIEIO object system to created a structured interface for managing tags. Creating a new semanticdb database object allows your tool to provide tags searching methods that will work transparently through the rest of the CEDET infrastructure.

There are several examples of this, including semanticdb-ebrowse and semanticdb-global.

Symbol References

Semantic does not index files for symbol renference checking. It depends on external tools such as ID Utils or, at a more primitive level, grep for this.

A good example of adding support is in semantic-symref-global.el. It usually involves an invocation method, and a method to parse a line of output. The other support file for GNU Global is cedet-global.el, which has basic invokation methods for semantic-symref, and the locate function (below.) It also handles version checking.

File Location

Some EDE project types don't index the entire source tree, but depend on some basic guesses about how to find files. Adding support of a file indexing tool to locate files can make EDE's file lookup more robust, and faster. All the EDE external tool support is in ede-locate.el, though new types don't need to be done there.


 
Get CEDET at SourceForge.net.
gnu Eric's homepage
Return to CEDET.
Send mail to cedet-devel to contact the developers.
Visit Siege-engine.com to see what I do in analog land.

Copyright(C) 1997,98,99,2000,01,02,03,04,05,06,07,08,09,10,11 Eric M. Ludlam
Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.