Тут возможно поможет специалист по низкоуровневому программированию помогут мне: есть такой процесс, который присутствует возможно в каких-то компиляторах в виде опциональных фич. Я не знаю, как точно он называется, но суть процесса в том, чтобы складывать уровни абстракции, как карточный домик. Лет 7 назад помню делали фреймворк на Ruby для программирования микроконтроллеров, там вот как раз использовали это дело.