Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Парсер кода программы на Perl |
Автор: Octane 27.12.2007, 00:35 |
Здравствуйте. При написание несложного парсера програмного кода C++ застрял на проверке правильности вызова функции по ее прототипу (зачем мне это нужно? не знаю ![]() Допустим есть код программы например на языке C++, есть прототип функции int f1(int a, int b); В коде программы вызываем функцию, например так: printf("%d",f1(5,7)); или c=f1(x,y); необходимо проверить правильность вызова этой функции по ее прототипу, т.е. найти функцию, найти соответствующий прототип и посчитать количество отправляемых в функцию параметров и по возможности соответствие типу (ограниченному количество, там например int, float, char) Помогите пожалуйста разобраться с такой задачей) |
Автор: KSURi 27.12.2007, 03:11 | ||
Организовать сбор и парсинг прототипов можно так: (писал прямо в форум, но должно работать)
Над проверкой уже лень думать, но имхо сложно быть не должно... Завтречка, в смысле уже сегодня, может накидаю) |
Автор: Octane 28.12.2007, 01:50 | ||||
Спасибо) Вот что получилось ![]()
Помогите довести до ума плиз))) и еще есть одна проблема, когда мы ищем функцию в коде программы то повторно находим и прототипы, избавился от этого только добавлением пробела между именем функции и открывающей скобочкой, надо как то исправить, чтобы везде работало ![]() |