реклама на сайте
подробности

 
 
> Средства для упрощения создания полиморфных модификаций…, Есть ли в каких-нибудь ЯВУ такие средства?
Дон Амброзио
сообщение Jun 22 2008, 08:55
Сообщение #1


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Средства для упрощения создания полиморфных модификаций фрагментов кода

Вопрос шибко заумный, но очень актуальный.

Попытаюсь объяснить, в чём суть. Надеюсь, что у меня это получится.

Объяснение построю на примере решения конкретной задачи.

Имеется 4 флага состояния некоего вычислительного процесса. Соответственно имею 16 возможных состояний вычислительного процесса. А значит 16 ветвей алгоритма. Пишу на АСМе. Но это не существенно для обсуждаемой проблемы – так как с подобными проблемами мы сталкиваемся при написании программы на любом языке: СИ, СИ++ и т.п.

Каждая ветвь представляет собой фрагмент кода, который отличается от любого другого из 16-ти в 3-4-х местах. Например, вместо команды SUBI, команда SBCI, или вместо регистра ZH в команде используется XH. Сам же размер кодовых фрагментов порядка 50-ти ASM-команд.

Так вот. Хотелось бы не переписывать каждый раз 50 команд во всех 16-ти ветвях, а просто указать директивой какой кодовый фрагмент нужно взять за базовый и в каких местах и что нужно заменить.

Макросами не получиться. Потому что изменения каждый раз в разных местах – получается более 30-ти параметров. Указывать при вызове макроса все его 30 параметров вряд ли можно назвать упрощением решения задачи.

Есть ли в каких-нибудь языках средства, позволяющие генерировать новые кодовые фрагменты путём указания кодового фрагмента-прототипа, который нужно взять за базовый и указания что в нём нужно заменить для получения нового фрагмента кода.

Т.е. в каких-нибудь языках программирования средства, упрощающие и облегающие создание полиморфных модификации фрагментов кода? Если есть, то что это за средства.

Сообщение отредактировал Дон Амброзио - Jun 22 2008, 08:57


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
733259
сообщение Jun 24 2008, 14:07
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата(alx2 @ Jun 24 2008, 17:27) *
Мне кажется, инструмент должен более-менее соответствовать масштабу задачи. Запускать perl или vim каждый раз, когда надо в каком-то файле сделать s/шило/мыло/ можно, конечно, но ИМХО очень уж избыточно. Не та весовая категория. smile.gif
Не понятно, что считать избыточностью.
Perl запускается моментально и отрабатывает много быстрее компилера. Просто еще одно правило для make.
Цитата
Согласен, для многострочных подстановок m4 - более адекватный инструмент.
Наиболее адекватен тот инструмент, на котором скрипт быстрее пишется.
Или просто более знакомый, привычный.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Дон Амброзио   Средства для упрощения создания полиморфных модификаций…   Jun 22 2008, 08:55
- - Дон Амброзио   Мне нужна возможность объявить любой фрагмент кода...   Jun 22 2008, 17:03
|- - alx2   Цитата(Дон Амброзио @ Jun 22 2008, 22:03)...   Jun 23 2008, 19:12
|- - _Pasha   Цитата(alx2 @ Jun 23 2008, 22:12) man sed...   Jun 23 2008, 20:53
||- - alx2   Цитата(_Pasha @ Jun 24 2008, 01:53) Дык т...   Jun 24 2008, 11:27
|- - XVR   Цитата(alx2 @ Jun 23 2008, 23:12) man sed...   Jun 24 2008, 08:45
- - Rst7   Вменяемый макроассемблер поддерживает макроопредел...   Jun 22 2008, 17:13
|- - Дон Амброзио   Цитата(Rst7 @ Jun 22 2008, 21:13) Вменяем...   Jun 22 2008, 17:46
||- - Дон Амброзио   Тут тоже обсуждается эта тема   Jun 23 2008, 04:35
|- - _Pasha   Цитата(Rst7 @ Jun 22 2008, 20:13) Вменяем...   Jun 22 2008, 18:05
|- - Дон Амброзио   Цитата(_Pasha @ Jun 22 2008, 22:05) 1. У ...   Jun 22 2008, 18:19
- - 733259   Насколько я понял - требуется не переписывать 16 р...   Jun 23 2008, 05:02
- - _Pasha   Гуглим по словам метод раскрутки компилятор bootst...   Jun 23 2008, 06:36
- - Дон Амброзио   Докладываю. Решил проблему с помощью препроцессор...   Jun 26 2008, 18:41


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.02001 секунд с 7
ELECTRONIX ©2004-2016