История изменений
Исправление wandrien, (текущая версия) :
Для сборки проекта сейчас используется bash-портянка на 600 строк:
Выглядит это так себе. Да и зависеть от bash
, у которого бинаник в 10 раз больше, чем бинарник моего компилятора — так себе. Компилятор self-hosted, и сборочную систему тоже хотелось бы self-hosted.
Тут я вижу два пути.
1. Взять какой-нибудь готовый небольшой интепретатор встраиваемого языка. Например, lil. Это TCL-подобный ЯП, с single-file реализацией на 3500 строк сишного кода. Переписать его на Qod. И на этом скриптовом ЯП написать сборочные скрипты для проекта.
2. Для Qod дописать недостающие сейчас библиотеки. Например, для работы со строками, списками и т.п. И реализовать «сборочный скрипт» прямо на самом Qod. Точнее это уже будет не скрипт, а компилируемая программа.
В обоих случаях круг замкнётся. Не будет зависимости от bash, make и любых сторонних вещей, кроме ассемблера. Для проекта нужен будет только fasm и предыдуший собранный qodc.
Исправление wandrien, :
Для сборки проекта сейчас используется bash-портянка на 600 строк:
Выглядит это так себе. Да и зависеть от bash
, у которого бинаник в 10 раз больше, чем бинарник моего компилятора — так себе. Компилятор self-hosted, и сборочную систему тоже хотелось бы self-hosted.
Тут я вижу два пути.
1. Взять какой-нибудь готовый небольшой интепретатор встраиваемого языка. Например, lil. Это TCL-подобный ЯП, с single-file реализацией на 3500 строк сишного кода. Переписать его на Qod. И на этом скриптовом ЯП написать сборочные скрипты для проекта.
2. Для Qod дописать недостающие сейчас библиотеки. Например, для работы строками, списками и т.п. И реализовать «сборочный скрипт» прямо на самом Qod. Точнее это уже будет не скрипт, а компилируемая программа.
В обоих случаях круг замкнётся. Не будет зависимости от bash, make и любых сторонних вещей, кроме ассемблера. Для проекта нужен будет только fasm и предыдуший собранный qodc.
Исправление wandrien, :
Для сборки проекта сейчас используется bash-портянка на 600 строк:
Выглядит это так себе. Да и зависеть от bash
, у которого бинаник в 10 раз больше, чем бинарник моего компилятора — так себе. Компилятор self-hosted, и сборочную систему тоже хотелось бы self-hosted.
Тут я вижу два пути.
\1. Взять какой-нибудь готовый небольшой интепретатор встраиваемого языка. Например, lil. Это TCL-подобный ЯП, с single-file реализацией на 3500 строк сишного кода. Переписать его на Qod. И на этом скриптовом ЯП написать сборочные скрипты для проекта.
\2. Для Qod дописать недостающие сейчас библиотеки. Например, для работы строками, списками и т.п. И реализовать «сборочный скрипт» прямо на самом Qod. Точнее это уже будет не скрипт, а компилируемая программа.
В обоих случаях круг замкнётся. Не будет зависимости от bash, make и любых сторонних вещей, кроме ассемблера. Для проекта нужен будет только fasm и предыдуший собранный qodc.
Исходная версия wandrien, :
Для сборки проекта сейчас используется bash-портянка на 600 строк:
Выглядит это так себе. Да и зависеть от bash
, которого бинаник в 10 раз больше, чем бинарник моего компилятора — так себе. Компилятор self-hosted, и сборочную систему тоже хотелось бы self-hosted.
Тут я вижу два пути.
\1. Взять какой-нибудь готовый небольшой интепретатор встраиваемого языка. Например, lil. Это TCL-подобный ЯП, с single-file реализацией на 3500 строк сишного кода. Переписать его на Qod. И на этом скриптовом ЯП написать сборочные скрипты для проекта.
\2. Для Qod дописать недостающие сейчас библиотеки. Например, для работы строками, списками и т.п. И реализовать «сборочный скрипт» прямо на самом Qod. Точнее это уже будет не скрипт, а компилируемая программа.
В обоих случаях круг замкнётся. Не будет зависимости от bash, make и любых сторонних вещей, кроме ассемблера. Для проекта нужен будет только fasm и предыдуший собранный qodc.