Найти - Пользователи
Полная версия: Мини-компилятор
Начало » Python для экспертов » Мини-компилятор
1 2
eden
Хочу написать свой компилятор на Питоне, но не знаю как сделать преобразование (если можно так сказать) чтобы получить из исходника исполняемый файл, то есть

Исходник: “test.test” (мой синтаксис)

echo “Hello, World”

И при запуске myscript.py “test.test” получаем объектный файл “test.out”, который является исполняемым

У меня есть некие идеи, но они (по моему) не очень эффективные, и громозки:
1. Конвертировать код в Ассемблер и вызвать сборщика (например, nasm)
2. То же самое, только Си

————————————————————
Заранее сорри, если вопрос некорректен
Заранее спасибо!
shiza
Если это академическая разработка, то http://ru.wikipedia.org/wiki/Компилятор http://ru.wikipedia.org/wiki/Транслятор
Если нет, то имеет смысл дописать расширение к GCC http://ru.wikipedia.org/wiki/GCC
eden
Ну там теория, и опять же нету (как сделать преобразование (если можно так сказать) чтобы получить из исходника исполняемый файл)
shiza
“Транслятор, который преобразует программы в машинный язык, принимаемый и исполняемый непосредственно процессором, называется компилятором”

Переводишь в машинные инстуркции. Бери каку-нибудь книжку по архитекуре x86 микропроцессоров (могу порекомендовать книжки Шагурина И.И), справочник с командами и вперед =)
З.Ы. Я бы начал с досовских COM файлов - у них заголовки попроще.

З.З.Ы. А вообще - если подход серьезный - я бы всетки рекомендовал обратить внимание на GCC.
ZAN
Боюсь, что без знания теории написать свой компллятор не получится.
eden
GCC - исходники шарил (частично), но интересного ни чего не нашел

А по поводе книги по “архитекуре x86 микропроцессоров ” Спасибо
Поисчу сейчас
eden
–> Боюсь, что без знания теории написать свой компллятор не получится.

Согласен
shiza
Зря.
“GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования.”
Это можно сказать фремворк для компиляторов. Он 80% работы берет на себя.
shiza
Еще могу рекомендовать
http://masterpc.alfaspace.net/books/downloads/aho_seti_ulman_kompilyators/
eden
shiza, видимо тоже этим занимаешься?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB