Был такой компьютер
БК-0010, БК-0011М


 

AUGUSTA


Augusta - язык программирования на основе Паскаля, изобретенный мной специально для компьютера БК-0010. Дело в том, что мне потребовалось уложиться в 16кб памяти, но при этом сделать не какую-то урезаную демонструшку, а полноценный транслятор для быстрых вычислений (как целочисленных, так и с плавающей запятой) с графическим представлением результатов, т.е. все, что нужно физику. В этой памяти должно было помещаться одновременно и сам транслятор, и исходные тексты программы, и полученные после трансляции коды, так что экономить необходимо было на всем. Кроме очевидного написания максимально компактных кодов, необходимо было еще сделать оптимизацию полученных кодов программы. И самое главное - так преобразовать синтаксис языка, что исходный текст был компактнее (чего стоит одно только изобилие бессмысленных "begin"ов), и чтобы такой текст было проще транслировать, используя более компактный транслятор, за счет устранения массы нелогичностей классического Паскаля. А почему не Си? Чтобы использовать существующие программы, написанные на Паскале, с минимальной переработкой текста, и практически без изменения приемов программирования.
Мне это удалось, транслятор, вместе с объектными библиотеками, занимает 8кб, а получаемые программы работают быстрее всех, что сделаны на этой платформе (имея ввиду вычисления с действительными числами, а также векторную графику).
Транслятор написан в кодах PDP11, которые близки к современным кодам Motorola 68k: процессора 680x0, микроконтроллера 68332 и других. В свое время этот пакет был коммерческим, со смертью платформы я раздаю все разработки бесплатно, с оговоркой об авторстве. Вы можете свободно скачать все исходные тексты и описания, но вы не вправе отменять мое авторство. Я также готов принять участие в каком-либо коммерческом проекте, с учетом того, что я умею.

Сайт управляется системой uCoz