Вы можете прочитать некоторую литературу, касающуюся специфичных для предметной области языков , например, DSL2011 и более ранних процедур.
Не зацикливайтесь на лексизировании и разборе.Большая часть работы и проблем заключаются в определении языка семантики и его реализации.
Создание DSL, переведенного на C, - непростая задача.См., Например, мою статью DSL2011 о MELT .
. Прочитайте несколько хороших книг по семантике и прагматике языка, например, Прагматика языка программирования Скотта.
Прочтите также Справочник по вывозу мусора (Джонс, Хоскинг, Мосс).
Наконец, прочтите какое-нибудь издание C.Queinnec Lisp in Small Pieces , которое, в частности, охватываетперевод динамически типизированного языка на C.
Помните, что лексизация и синтаксический анализ - самая легкая задача в вашей работе.
Рассматривали ли вы встраивание какого-либо существующего языка сценариев, например, lua , python или guile или использование существующих виртуальных машин, например Parrot или nekovm
Не забудьте изучить несколько различных предметно-ориентированных или скриптовых языков или языков программирования.Вам нужно знать гораздо больше!
Я настоятельно рекомендую сделать вашу реализацию свободно доступной в исходном виде.Привлечь пользователей к новому DSL довольно сложно, и предоставление бесплатной реализации снижает барьер.