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