Аспектно-ориентированное программирование с LLVM - PullRequest
0 голосов
/ 22 сентября 2011

Есть ли способ интегрировать аспекты в LLVM-байт-код?

1 Ответ

1 голос
/ 24 сентября 2011

Если вы имеете в виду существующий способ, я не видел ничего стабильного / в производстве, но есть ряд статей, например:

http://www.cs.rochester.edu/meetings/TRANSACT07/papers/felber.pdf

http://llvm.org/pubs/2005-03-14-ACP4IS-AspectsKernel.pdf

Лучше всего было бы найти интересующий вас язык с поддержкой LLVM, а затем искать проекты, в которых есть AOP-инфраструктура для этого языка.Некоторые из них являются прекомпиляторами, которые будут работать «как есть» (при условии, что вы можете запустить все, что написано в прекомпиляторе).Фреймворки, которые напрямую манипулируют выходными данными компилятора, должны быть изменены для работы с кодом LLVM.

Ответ general «конечно» - любая система, которая разрешает доступчтобы сгенерированный код или процесс компиляции поддерживали аспекты, это просто вопрос того, сколько усилий вы хотите приложить к нему.

У LLVM есть отличные инструменты для работы с байт-кодом, которые в IMO делают такие вещи, как AOP, многовеселее играть.

...