Introduction
|
|
|
Because of the fact that there is a lot C code currently in use, programmers should get support by understanding and
changing those. There are various so called refactoring tools for object oriented languages, but there
are merely a few tools for refactoring C. That is why this project is concerned with creating a tool
for understanding legacy C code.
Furthermore there are few crossreferencing tools that are also aware of the scope of identifiers in a C file and preprocessing commands.
CMT aims at solving those problems and providing a reliable tool, useful for software engineers, students of software engineering and freetime programmers as well.
|
| |
Features
|
|
|
- cross-references identifier of one or more C file(s):
- provides definition line and column and further occurrences for each identifier(variables and functions)
- handles scope of variables and functions
- handles included files, standard libs as well as self written libs
- handles preprocessing macros and conditional directives
- renaming facility is provided as well
- provides output:
- in a textfile
- in html format
|
| |
Further documentation
|
|
|
|
| |
Helpful references
|
|
|
- for parsing C files I use the parser generator Antlr
- I am using eclipse because it is, in my opinion, a very confortable IDE
- there is a GUI for Antlr, called AntlrWorks, but I figured out that using Antlr's eclipse plugin is easier,
especially because of the great videos by Scott Stanchfield
- I can also recommend the book "The Definitive ANTLR Reference: Building Domain-Specific Languages" by Terence Parr, it helps you to understand, write and extend Antlr grammars
|
| |
Download
|
|
|
--under construction--
|
| |
Developer/Author
|
|
|
- Anna-Christina Friedrich, id c00132716
- 4th year project of the course 'B. Sc. Software Engineering'
- Institute of Technology Carlow
|