![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
kamre |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Это называется полный:
? |
||||
|
|||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Ну всеже полнее, чем голая грамматика
![]() Хотя ТС похоже все же ни то ни другое на самом деле не нужно. Нужен лексический анализ + кусок синтаксического парсера. А судя по первому посту вообще никакой синтаксический анализ не нужен. По крайней мере из объяснений ТС я не понял почему замена на уровне лексем не устраивает. |
|||
|
||||
ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: нет Всего: 4 |
xvr,
а из чего следует, что синтаксический анализ не нужен? |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
ElKa, есть ряд терминалов, которые могут появиться только в контексте выражений - операции +,-,/,&&,||,==,< и т.д. Их можно заменять не опасаясь за правильность синтаксиса.
Целочисленные встроенные типы тоже можно менять свободно, если они совместимы (неявно приводятся друг к другу) - например, long на char. Еще можно менять значения литералов. |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Не нужен ПОЛНЫЙ анализ. Нужно уметь вычленить интересующие вас куски грамматики и в них модифицировать то, что вам надо. Например - если вас интересует только выражения в функциях (но не внутри классов), то нужно уметь найти функции, попутно пропустив все классы и структуры. Например так:
|
||||
|
|||||
ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: нет Всего: 4 |
xvr,
просто неполный анализ я себе как-то не представляю.. не сталкивалась пока |
|||
|
||||
ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: нет Всего: 4 |
xvr,
этот парсер ничего не дает он что-то вроде рефлексии делает, т.е. парсит структуру классов из .h-файлов и достает все функции и переменные классов, как рефлексия в яве мемберсы достает а мне надо именно содержимое функций и значения и типы менять |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
'Этот' - в смысле gcc-xml?
Не совсем. Парсит он все, а вот выводит только заголовки функции и пр. Остальное игнорирует. Если очень хочется, то можно дописать ему и вывод всего остального ![]() |
|||
|
||||
ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: нет Всего: 4 |
остроумно
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |