![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| LordNet |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 23.3.2005 Репутация: нет Всего: нет |
Люди учусь я на программиста и задали мне написать программу,
которая зарагружает сpp файл и определяет скока в ней была объявлена переменых. Помоготи плз в написаний этой программы а то в голову нечего нормально не приходит. Зарание спасиба!!! P.S Проблема в том что переменая может быть объявлена в током виде: "int a=3,f,b=a;"; P.S Под Microsoft c++ (под консоль). |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Ну идея такая. Сначала ищешь в cpp файле слова (int,loat,...)И при нахождении считаешь кол-во запятых на этой стороке,кол-во переменных будет на одно больше.
ЗЫ ИМХО с этой идеей можно че то придумать -------------------- Жизнь - печальная штука. |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
а ты "выпрями" текст программы и будет уже полутше! |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
потом этот выпрямленный текст программы можно порезать на строки оканчивающиеся на ; и уже такую строку проверять и считать
|
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
И тем самым мы еще посчитаем количество параметров в объявленных ф-циях. И не посчитаем переменные custom типов (структуры, etc). LordNet Страшные вам какие-то задания дают -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Да и правда лопукнулся я. -------------------- Жизнь - печальная штука. |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Если помучится можно к примеру после int считывать по символу ,если попадается '(',то это функция,если ';' значит это были переменные. Если еще считать обьекты ,то это совсем гемор:надо искать слова "class","struct","union",затем фиксировать их названия,а потом еще раз в файле искать уже названия и как переменный.Вобщем один гемор и что самое главное (ИМХО) от этой проги никакой практической пользы. -------------------- Жизнь - печальная штука. |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Надо еще не забыть про конструкцию анонимными типами. Типа union { struct { union{struct{int i1,i2}st2; char s2;}u1}s1}u2; Вот это вообще может быть геморой(особенно если потребуется подсчитать кол-во объектов в классах(мрак!))... Плюс еще typedef'ы надо не забыть. Не только про typedef a b; но и typedef union { struct { union{struct{int i1,i2}st2; char s2;}u1}s1}u2;; Вообщем жуткая задача. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Хек, а мне с первого взгляда показалось,что прога очень простая,а она вон скока времени требует для написания.
-------------------- Жизнь - печальная штука. |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Ага, всего-то парсер C++ написать надо... Впрочем, человеку уже здесь все объяснили -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Void,я еще не такой метр как ты,pls,скинь мне ссылку или сам обьясни,что такое эти парсеры?(просто интересно)
ЗЫ А почему тогда тема не закрыта,если решение уже найдено??? -------------------- Жизнь - печальная штука. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |