0

Hello,

I want to code an application that calculates a program's complexity. I may have put this the wrong way: I want to count the operators, variables, function calls etc. in a C/C++ program.

At first I thought about reading the .C file as a .txt file, looping through each character and counting a symbol's appearance: ";" 10 times, "." 2 times, "^" 1 time, printf 3 times etc.

However, if someone uses #include <math.h>, I need to count the number of calls to math functions and so on.

What I need to do is obtain the names of functions included in a header and check for their calls. How to do that? Or any other ideas ?


LE: I'd also have to check for user defined functions. This might not be so doable as I originally thought. :D

Edited by Buffalo101: n/a

2
Contributors
3
Replies
4
Views
6 Years
Discussion Span
Last Post by Buffalo101
0

You'll need to perform a Lexical analysis of the code. Your software will need to 'understand' that something like // This is a test of the sprintf() function ... doesn't have a function call, isn't using . operators, etc.

This might help.

0

Thanks for the reply.

I am going to postpone this until my "Designing Compilers" class next year.

0

I've recently learned about regular expressions. Seems promising and suitable for my case.

If anyone has experience with this, please post; I'll update my progress.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.