Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Как создать компилятор? |
Автор: dark_religion 12.10.2008, 16:35 |
Вопрос такой, каким образом создается исполняемый файл? При компилировании кода. То есть как преобразовать код в исполняемый файл. При создании собственного языка. |
Автор: mr.Anderson 12.10.2008, 16:44 |
dark_religion, долго и нудно читать книжки по созданию компиляторов. ЗЫ это самый подробный ответ, который можно дать в принципе на заданный вопрос. |
Автор: vinick 12.10.2008, 17:11 |
http://www.faqs.org/docs/Linux-HOWTO/GCC-Frontend-HOWTO.html, а так же документ GCC Internals Достаточно написать frontend транслирующий твой язык в специальное представление, а генерацию машинного кода возьмет на себя GCC. |
Автор: CppDevelopeR 12.10.2008, 17:14 |
dark_religion, встречный вопрос: А зачем тебе это?! |
Автор: dark_religion 12.10.2008, 18:01 | ||
Хм сначала на мой вопрос ответь потом свои задавай! |
Автор: Mayk 13.10.2008, 05:39 | ||
если ты не заметил, на твой вопрос уже ответили:
|
Автор: Cycle 13.10.2008, 09:07 |
Если лениво изучать GCC Front End HOWTO, можно генерить программу на С с последующей компиляцией. Заодно и оптимизацию получишь. |
Автор: Lycifer 13.10.2008, 10:02 |
Дело довольно сложное, перфое что приходит в голову переводи свой язык в ассемблер, а из ассемблера в hex, ну а потом запись, честно сказать не пробывал писать, как то не надо было |
Автор: triclosan 14.10.2008, 18:15 |
http://zouev.blogspot.com/2008/04/blog-post_28.html особенно абзац про компилятор LISPa |
Автор: Maka6er 15.10.2008, 23:25 |
Если серьезно заинтересовались то: Книга дракона (А.В. Ахо, Р. Сети, Д.Д. Ульман - Компиляторы. Принципы, технологии, инструменты.) Классика в которой очень понятно и 2mr.Anderson интересно ;-) все разложено. Если в кратце то: лексический анализ, синтаксический анализ, генерация кода. |