Тоже давно хотел иметь компилятор C-- подобного языка для Z80.
После долгих колебаний начал делать свой велосипед для AVR. Цель была не в том, чтобы поддержать весь синтаксис С--, а только те конструкции, которые хорошо ложатся на систему команд. Т.е., хотелось, чтобы при взгляде на код было сразу более-менее понятно, в какие инструкции он будет скомпилирован. И, если какую-то конструкцию не получается скомпилировать в простой компактный код, то она не поддерживается. Сейчас есть поддержка функций с аргументами, условий и циклов. Ну и простая арифметика с регистрами.
Работает это штука как препроцессор кода, создавая на выходе ассемблерный файл.
Проект написана на яве, исходники на гитхабе: https://github.com/trol73/avr-asm-ext
Некоторое незаконченное (и уже устаревшее) описание попытался изобразить: http://trolsoft.ru/soft/avr-asm-ext (там в конце ссылки на пару примеров проектов на языке).
Проект сыроват, но уже вполне рабочий. Писать код стало ощутимо проще (чем на ассемблере), читать - тем более. Скорость выполнения и размер, при этом, ничем не уступают чистому ассемблеру. Качество кода (если он не совсем тривиален) местами получается ощутимо более высоким, чем у GCC, не смотря на все его оптимизации.
Надеюсь довести проект до ума и потом делать форк для Z80.




Ответить с цитированием