SPITBOL: быстрая реализация языка SNOBOL4. Компилируемая версия для IBM/360, SPARC и других процессоров. Преодоление ограничений SNOBOL4 по скорости и памяти.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Реализация языка программирования SNOBOL4. SPITBOL (Speedy Implementation of SNOBOL) — это компилируемая реализация языка программирования SNOBOL4. Изначально разработанный для семейства компьютеров IBM System/360 и System/370, он был портирован на большинство основных микропроцессоров, включая SPARC. Его создателями были Роберт Дьюар и Кен Белчер, в то время работавшие в Иллинойском технологическом институте. До разработки SPITBOL считалось, что SNOBOL4 работает медленно, требует больших затрат памяти и не подлежит компиляции из-за своей динамической природы. Хотя позднее связывание не позволяет определить всё во время компиляции, SPITBOL использует различные стратегии для принятия решений как можно раньше. Доступны современные версии компилятора SPITBOL. С 2001 года исходный код оригинального компилятора SPITBOL 360 находится в открытом доступе под лицензией GNU General Public License. MACRO SPITBOL — это реализация SPITBOL, написанная в 1970-х годах Робертом Дьюаром и Энтони П. Макканном. MACRO SPITBOL написан на MINIMAL — языке ассемблера для абстрактной машины. Набор инструкций тщательно определён, чтобы обеспечить некоторую гибкость при реализации, позволяя использовать аппаратные операции, благоприятные для обработки строк. Реализация MINIMAL, предназначенная для интерпретации на микрокомпьютерах, была выполнена путём преобразования MINIMAL в MICRAL с использованием транслятора, который сам был реализован на SPITBOL. Версия MACRO SPITBOL для MICRAL вместе с интерпретатором MICRAL занимала менее 40 КБ. Такое экстремальное сжатие объектного кода MICRAL достигается за счёт набора макроподстановок машинного кода, которые минимизируют объём, необходимый для объектного кода и таблицы макросов. Сложность известных алгоритмов для оптимального решения этой задачи высока, однако эффективные эвристики позволяют достичь почти оптимальных результатов. Исходный код MACRO SPITBOL был опубликован под лицензией GNU General Public License 17 апреля 2009 года.
Implementation of the SNOBOL4 programming language. SPITBOL (Speedy Implementation of SNOBOL) is a compiled implementation of the SNOBOL4 programming language. Originally targeted for the IBM System/360 and System/370 family of computers, it has now been ported to most major microprocessors including the SPARC. It was created by Robert Dewar and Ken Belcher, who were then at the Illinois Institute of Technology. Prior to the development of SPITBOL, SNOBOL4 was thought to be slow, memory intensive, and impossible to compile due to its dynamic nature. While delayed binding prevents everything from being determined at compile time, SPITBOL adopts various strategies for making decisions as early as possible. Recent versions of the SPITBOL compiler are available. Since 2001 the source code for the original SPITBOL 360 compiler has been made available under the GNU General Public License. MACRO SPITBOL is an implementation of SPITBOL written in the 1970s by Robert Dewar and Anthony P. McCann. MACRO SPITBOL is coded in MINIMAL, an assembly language for an abstract machine. The instruction set is carefully defined to allow some latitude in its implementation, so that hardware operations favorable to string processing can be exploited. An implementation of MINIMAL that was designed for interpretation on microcomputers was done by translating MINIMAL into MICRAL using a translator that was itself implemented in SPITBOL. The MICRAL version of MACRO SPITBOL, together with the MICRAL interpreter ran in under 40K bytes. This extreme object code compression of MICRAL is achieved using a set of machine code macro substitutions that minimizes the space required for the object code and macro table. The complexity of known algorithms for an optimal solution to this problem are high, but efficient heuristics attain near optimal results. The source code for MACRO SPITBOL was released under the GNU General Public License on April 17, 2009.