Посоветуйте литературы по трансляции кода из одного ЯП в другой
Требуется реализовать свой простой ЯП, и его транслятор в обычный C. Что можно почитать на эту тему?
Требуется реализовать свой простой ЯП, и его транслятор в обычный C. Что можно почитать на эту тему?
Трансляция из одного языка в другой, что в ассемблер, что в Си -- это примитивная задача, решить которую можно и вручную, и используя автоматические инструменты типа lex + yacc.
Ваша творческая задача -- определить/разработать однозначные непротиворечивые лексические правила вашего нового языка, составить по ним BNF, если будете использовать автоматические инструменты. Дальше чистая механика.
Что можно почитать:
1. Книга дракона
2. Для совсем новичков Креншоу. Давайте создадим компилятор!
3. SICP 5.5.1. Структура компилятора
Что вы надеетесь вычитать?
Вы не знаете, как искать и заменять подстроки в строках, читать и сохранять файлы, работать с регулярками? По этим темам полно информации в интернете, особая книга не нужна.
Другое дело, помимо технической составляющей, в задаче есть творческая составляющая.
Чтобы создать стоящий ЯП, даже простой, нужно, прежде всего, определиться, что вы хотите писать, кому и зачем оно будет нужно, и для каких целей будет подходить лучше простого Си, а в идеале - и не только Си, но и других языков тоже.
Это будет ваше маленькое изобретение. А пока изобретение не сделано, оно, естественно, не может быть описано ни в каких книгах, так что вам точно не придется идти проторенным путем.
Зато, когда вы со всем этим определитесь, вы сможете составить примерный проект своего языка, и легко приступите к его реализации - общая схема уже будет, останется проработать детали.
А если вы не будете знать, что вы конкретно хотите сделать, то вы ничего путного и не сделаете.