Writing Code Analysis and Refactoring tools with the CDT

Doug Schaefer

Technology Talks · Short
Wednesday, 10:00, 25 minutes | Schubartsaal


There has been a many man year investment in CDT's capability to parse and index C and C++ source code. Much of the focus has been on the speed and accuracy of the indexer and we have had great success in that area over the last two CDT releases.

But there's more to the CDT parser and indexer than simply implementing base features such as content assist and open declaration. The CDT provides a complete abstract syntax tree (AST) that complements the index to provide a document object model (DOM) that represents the structures and relationships in your code.

This talk presents examples on how to harness the power of CDT's DOM to provide custom code analysis tools. Combine that with CDT's new refactoring framework and very interesting features become possible allowing you to put the CDT to work for you in ways no other C/C++ IDE can.

Doug Schaefer is the Eclipse CDT (C/C++ Development Tools) project lead and has been contributing to the CDT since it's inception in 2002. Doug is also an engineering manager at Wind River where his team works on install and licensing technology for Wind River's products. In that role, he is becoming a p2 expert as well. Doug is also leading the Eclipse e4 Resource project which is working on updates to the Eclipse resources system for the Eclipse 4.0.


towerbyte logo

brox logo

geensys logo

in2solutions logo


ericsson logo

ilog logo

BIRT-Exchange logo

froglogic logo

innovations logo

exxcellent logo

windriver logo

google logo

Software & Support logo

adacore logo

bredex logo

sopera logo

microdoc logo

OSGi Users Forum logo

versant logo

Methods & Tools logo

instantiations logo

inovex logo

compeople logo

bluage logo

siemens logo

itemis logo

adacore logo

Obeo logo

sap logo

innoopract logo

amd logo

symbian logo

open-xchange logo

united-internet logo

ww-im logo

cloudsmith logo

anyware logo

report a problem with this page