vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2022-04-24 09:22 pm

XPL

Был в 70-е годы такой язык программирования: XPL. Вовсе не вариант PL/I, как кое-где заявляется, а вполне самостоятельный язык, на котором было написано много системного софта. В 1971 году вышла книжка "A Compiler Generator", рассказывающая, как писать компиляторы на примере XPL - один из первых учебников на эту тему. В частности, на XPL был написан компилятор с языка HAL/S для НАСА. Тогда практически весь софт для американского космоса писался на HAL/S, в частности для Шаттла.

Компилятор XPL имеется здесь: https://sourceforge.net/projects/xpl-compiler/
Преобразует код XPL в язык Си. Вполне нормально работает на маке и Линуксе.

В качестве примера приведу реализацию утилиты /bin/echo на XPL:
if argc < 2 then do;
output = 'No args.';
return 1;
end;

declare i fixed;
declare s character;
do i = 1 to argc - 1;
if i > 1 then
s = s || ' ';
s = s || argv(i);
end;
output = s;

return 0;
eof
spamsink: (Default)

[personal profile] spamsink 2022-04-25 06:16 am (UTC)(link)
У нас есть по крайней мере одна нетривиальная программа на XPL, небезызвестная программа сжатия. :)
brumka: (Default)

[personal profile] brumka 2022-04-25 06:27 am (UTC)(link)
Язык "HAL" для Шаттла?! Какая прелесть
spamsink: (Default)

[personal profile] spamsink 2022-04-25 08:36 am (UTC)(link)
На XPL можно написать

declare TRUMP literally 'Hitler';

vlad_m: (Default)

[personal profile] vlad_m 2022-04-25 04:30 pm (UTC)(link)
Уже, кажется, ДеСантис.
Literally 'Trump'.