Форум сайта python.su
Хочу написать свой компилятор на Питоне, но не знаю как сделать преобразование (если можно так сказать) чтобы получить из исходника исполняемый файл, то есть
Исходник: “test.test” (мой синтаксис)
echo “Hello, World”
И при запуске myscript.py “test.test” получаем объектный файл “test.out”, который является исполняемым
У меня есть некие идеи, но они (по моему) не очень эффективные, и громозки:
1. Конвертировать код в Ассемблер и вызвать сборщика (например, nasm)
2. То же самое, только Си
————————————————————
Заранее сорри, если вопрос некорректен
Заранее спасибо!
Офлайн
Если это академическая разработка, то http://ru.wikipedia.org/wiki/Компилятор http://ru.wikipedia.org/wiki/Транслятор
Если нет, то имеет смысл дописать расширение к GCC http://ru.wikipedia.org/wiki/GCC
Отредактировано (Сен. 30, 2008 13:37:05)
Офлайн
Ну там теория, и опять же нету (как сделать преобразование (если можно так сказать) чтобы получить из исходника исполняемый файл)
Офлайн
“Транслятор, который преобразует программы в машинный язык, принимаемый и исполняемый непосредственно процессором, называется компилятором”
Переводишь в машинные инстуркции. Бери каку-нибудь книжку по архитекуре x86 микропроцессоров (могу порекомендовать книжки Шагурина И.И), справочник с командами и вперед =)
З.Ы. Я бы начал с досовских COM файлов - у них заголовки попроще.
З.З.Ы. А вообще - если подход серьезный - я бы всетки рекомендовал обратить внимание на GCC.
Отредактировано (Сен. 30, 2008 13:57:22)
Офлайн
Боюсь, что без знания теории написать свой компллятор не получится.
Офлайн
GCC - исходники шарил (частично), но интересного ни чего не нашел
А по поводе книги по “архитекуре x86 микропроцессоров ” Спасибо
Поисчу сейчас
Офлайн
–> Боюсь, что без знания теории написать свой компллятор не получится.
Согласен
Офлайн
Зря.
“GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования.”
Это можно сказать фремворк для компиляторов. Он 80% работы берет на себя.
Офлайн
Еще могу рекомендовать
http://masterpc.alfaspace.net/books/downloads/aho_seti_ulman_kompilyators/
Отредактировано (Сен. 30, 2008 14:13:23)
Офлайн
shiza, видимо тоже этим занимаешься?
Офлайн