Описание тега program-transformation
Преобразование программы - это (обычно механический) процесс модификации одной программы для создания другой.
1
ответ
Вставка дополнительных строк кода с помощью Antlr4
Цель состоит в том, чтобы вставить коды для контроля входа и выхода синхронизированного блока Java. т.е. enteringSync(); synchronized(lockObj){ enteredSync(); ... leavingSync(); } leftSync(); Моя первоначальная мысль заключалась в том, чтобы реализо…
04 июн '14 в 05:40
1
ответ
Stratego/XT: понимание основ
Я действительно пытался обдумать первые шаги в понимании Stratego/XT. Я много гуглил, и все веб-ресурсы, которые я обнаружил, вначале делают достаточно большой скачок, так что я просто не могу установить соединение. Позволь мне объяснить. Я понимаю …
24 апр '11 в 02:47
1
ответ
Как называется это символическое преобразование кода?
Я часто пересекаю этот вид преобразования кода (или даже математического преобразования). (Пример Python, но относится к любому языку.) Я пошел на функцию def f(x): return x Я использую это в другой. def g(x): return f(x)*f(x) print g(2) приводит к …
28 май '10 в 14:01
4
ответа
Есть ли формальное определение "рефакторинга"?
Кто-нибудь знает способ определить рефакторинг более формально? ОБНОВИТЬ. Рефакторинг - это пара R = (pre; T), где pre - предварительное условие, которому должна удовлетворять программа, а T - преобразование программы.
19 ноя '08 в 05:38
1
ответ
Использование модуля ast для преобразования случайных констант в исходный код Python
Я заинтересован в написании программы, которая использует встроенный в Python модуль AST для случайного изменения констант в произвольном исходном коде Python. Это преобразование, вероятно, будет связано с обходом представления абстрактного синтакси…
27 дек '16 в 04:13
2
ответа
Есть ли язык для автоматического изменения кода?
Я делаю некоторую работу, где мне нужно, чтобы иметь возможность описывать изменения в некотором программном коде, которые должны быть сделаны автоматически. Есть ли язык, который позволяет описать это? Язык должен иметь модули или функции, которые …
08 апр '11 в 15:55
5
ответов
Любой компилятор C с выходом C?
Мы все знаем, что компиляторы C выкладывают сборку. Однако я занимаюсь исследованиями, в которых мой инструмент принимает только узкое подмножество ANSI C. Существуют ли какие-либо трансляторы C-to-C, которые могут встроить функции или сгладить стру…
19 июн '11 в 15:39
4
ответа
Что такое преобразование AST?
Что такое преобразование AST в целом? Я сталкивался с этими словами при чтении блога Groovy. Но что это вообще?
04 июн '11 в 06:07
1
ответ
Реассоциация по Мучнику
Я читаю "Расширенное проектирование и реализацию компилятора" Мучника, где на рис. 12.6 перечислены 20 правил преобразования, которые, если они применяются по порядку, выполняют свертывание и повторное связывание констант для перемещения констант. П…
23 май '14 в 11:05
0
ответов
Плавающий проход полностью ленивый лямбда-лифтинг?
Я читаю реализацию функциональных языков: учебное пособие, и столкнулся с проблемой при реализации плавающего прохода полностью ленивого лямбда-лифтинга. Я хотел бы описать, как работает плавающий, чтобы прояснить этот вопрос, если вы знакомы с ним,…
05 янв '16 в 11:44
11
ответов
Преобразование источника C в C++
Как бы вы пошли о преобразовании достаточно большой (>300 КБ), достаточно зрелой базы кода C в C++? Тип C I имеет в виду, что он разделен на файлы, примерно соответствующие модулям (т.е. менее детализированные, чем типичная декомпозиция на основе кл…
14 окт '08 в 00:51
2
ответа
Запуск сгенерированного машинного кода ARM на Android дает исключение UnsupportedOperationException с растровыми объектами Java
Мы ( http://www.mosync.com/) скомпилировали наш компилятор ARM с помощью Android NDK, который берет наш внутренний байт-код и генерирует машинный код ARM. При выполнении перекомпилированного кода мы видим огромное увеличение производительности, за о…
29 авг '11 в 09:58
2
ответа
Параллельное динамическое программирование
Есть ли хорошие статьи, обсуждающие, как взять динамическую программу и распараллелить ее?
10 июл '09 в 20:52
3
ответа
Существует ли инструмент командной строки для извлечения typedef, структуры, перечисления, переменной, функции из файла C или C++?
Мне нужен инструмент командной строки для извлечения определения или объявления (typedef, структура, перечисление, переменная или функция) из исходного файла C или C++. Также был бы удобен способ замены существующего определения / объявления (после …
27 июн '12 в 02:20
6
ответов
Как автоматически удалить методы в коде Java
Мне нужно удалить некоторые методы в большом проекте Java, и мне было интересно, есть ли инструменты, которые помогут мне сделать это. Я бы в основном указал подпись и исходную папку, в которой будет удален весь соответствующий метод. Такого не быва…
21 окт '11 в 11:16
2
ответа
Что такое устранение хвостовой рекурсии?
Стив Йегге упомянул об этом в своем блоге, и я понятия не имею, что это значит, кто-то может меня заполнить? Это то же самое, что оптимизация хвостового вызова?
06 авг '09 в 18:11
2
ответа
Преобразование исходного кода Java для перемещения аннотаций из геттеров в свойства
У меня есть около 300 объектов JPA, где получатели снабжены аннотациями постоянства. Я хотел бы найти способ переместить все такие аннотации вместо свойств и удалить все методы получения и установки. Я сделал это вручную примерно для 100 из этих кла…
13 июн '19 в 18:52
1
ответ
Как я могу использовать MVars для перемещения весла в моей игре в пингпонг на Haskell?
У меня уже есть функция, которая перемещает 2 весла в игре в пинг-понг в Haskell. Я хочу изменить, чтобы он теперь использовал MVars. Я знаю, что мне нужно изменить wHeld, sHeld, downHeld и upHeld на MVars, но есть идеи, как изменить movePaddle для …
24 июн '19 в 21:38
2
ответа
Избегайте двойного рекурсивного вызова в Прологе
У меня есть этот код Пролога: f([ ],-1). f([H|T],S):- f(T,S1), S1>0, !, S is S1+H. f([_|T],S):- f(T,S1), S is S1. Как мне избежать второго (избыточного) рекурсивного вызова f(T,S1), в третьем предложении общий эффект предиката остается таким же? …
13 фев '20 в 11:28
0
ответов
Преобразования AST с помощью babel
Я новичок в работе с babel и пытаюсь использовать шаблон посетителя для выполнения некоторого обхода и преобразований AST. Код JS, который я хочу преобразовать: .data(данные).attr("высота", function (d) { высота возврата - y(Number(d.Speed)); }); AS…
22 июн '20 в 19:47