Есть у нас в коллекции ретрокомпьютерных тулов такая штука как
besmc. С её помощью можно программировать на БЭСМ-6 на разных языках программирования (и их смеси). Фактически это фронтэнд ко всем имеющимся компиляторам, ассемблерам, линкеру и симулятору. Для besmc надо также установить симулятор
dubna. Подробности читайте в
README.
К примеру, компилируем и выполняем программу на Паскале:
$ cat hello.pascal
program main(output);
_(
writeln('Hello, Pascal!');
_).
$ besmc hello.pascal
$ ./hello.exe
HELLO, PASCAL!
Или пусть главная программа будет на Паскале, а подпрограмма на Фортране:
$ cat caller.pascal
program main (output);
procedure hello; fortran;
_(
hello;
_).
$ cat callee.ftn
subroutine hello
print 1000
1000 format('Hello Fortran from Pascal!')
end
$ besmc caller.pascal callee.ftn -o example
$ ./example.exe
HELLO FORTRAN FROM PASCAL!
Есть куча примеров на разных языках: смотрите
examples/README.md. Список примеров:
- Pascal — `hello.pascal`
- Pascal-re — `hello.pas`
- Algol-ГДP — `hello.algol`
- Fortran-ГДP — `hello.ftn`
- Fortran Dubna — `hello.fortran`
- Forex — `hello.forex`
- Assembler Madlen — `hello.assem`
- Assembler Madlen-3.5 — `hello.madlen`
- Assembler БЕМШ — `hello.bemsh`
- B language — `hello.b`
- Object modules — `stdarray.std`
- Mixed-language: Pascal calling Fortran — `caller.pascal` + `callee.ftn`
Да, а собственно новость в том, что утилита besmc теперь поддерживает
язык программирования Би:
$ cat hello.b
main() {
printf("Hello, B!*n");
}
$ besmc hello.b
$ ./hello.exe
HELLO, B!
Примеры интересных программ на Би можно глянуть здесь:
examples/b.
Исторически языка Би на БЭСМ-6 не было. Это уже современная доделка. Хотя уже тогда ничто не мешало. Просто ни в Дубне, ни в ИТМиВТ не знали про язык Би.