0 / 0 / 0
Регистрация: 02.10.2014
Сообщений: 17
|
|
1 | |
Написание компилятора на C++02.10.2014, 16:10. Показов 2773. Ответов 6
Метки нет (Все метки)
Хочу написать компилятор на С++ под свой язык. Ни в одной книге не описывается, как создать exeшник без TASM,MASM,WASM, только анализаторы, генератор кода преобразует код в команды ассемблера, а дальше что делать не понятно. Посоветуйте книгу или интернет-ресурс по созданию компилятора от начала до конца, чтобы написал исходник , а получил exeшник.
0
|
02.10.2014, 16:10 | |
Ответы с готовыми решениями:
6
Написание компилятора для С++ программ в блокноте Написание простого компилятора Написание простого компилятора Написание компилятора на паскале |
87 / 68 / 19
Регистрация: 07.03.2011
Сообщений: 169
|
|
02.10.2014, 16:47 | 2 |
Вам в любом случае потребуется ассемблер - встроенный в компилятор или отдельный - неважно. Потому что именно он превращает ассемблерный листинг в исполняемый файл. А эта задача гораздо сложнее.
0
|
02.10.2014, 20:13 | 3 |
Сообщение было отмечено Убежденный как решение
Решение
Кодогенерация - и дальше по ссылкам. Начальное представление можно получить здесь: Компиляторы: принципы, методы и средства разработки
0
|
02.10.2014, 20:50 | 4 |
Думаю ТС имел ввиду упаковку кода в исполняемый файл (PE, elf, etc). Никогда не занимался этим, но я бы начал с изучения целевого формата файла и гугления на тему есть ли готовые open source упаковщики.
0
|
02.10.2014, 21:07 | 5 |
Дальше писать программу-ассемблер. Можно даже в качестве примера скачать binutils, в состав которого входит ассемблер gas. Если работаешь под линуксом, то это дефолтный ассемблер, если под виндой, то он входит в состав всяких компиляторных сборок, основанных на gcc (Min-GW, dev-cpp, может что-то ещё есть). Но опять-таки, если стоит цель понимать, как полученный бинарник дальше работает, то надо бы изучить как работает операционная система и загрузчик приложений
0
|
Ушел с форума
|
|
02.10.2014, 21:07 | 6 |
На всякий случай, ибо ссылка так и просится:
Microsoft PE and COFF Specification (Updated: February 6, 2013) http://msdn.microsoft.com/en-u... 63119.aspx
0
|
02.10.2014, 21:13 | 7 |
А потом ещё и линковщик
Добавлено через 36 секунд На всякий случай Процесс компиляции Добавлено через 3 минуты Один из стандартных подходов - написать конвертор с твоего языка в Си, а затем полученный текст на Си скормить стандартному компилятору. Если ты хотя бы до такого состояния доведёшь свой проект, то уже можно будет задумываться о реализации полной технологической цепочки. Если не доведёшь - то и фиг с ним, не придётся тратить время на получение знаний, которые потом уйдёт в помойку
0
|
02.10.2014, 21:13 | |
02.10.2014, 21:13 | |
Помогаю со студенческими работами здесь
7
Написание собственной ОС, Антивируса и компилятора На каком языке объясняется написание компилятора в книге? Ошибка компилятора fatal error C1091: ограничение компилятора: длина строки превышает 65535 байт Посоветуйте литературу по написание основам написание плагинов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |