Есть у нас в коллекции ретрокомпьютерных тулов такая штука как besmc. С её помощью можно программировать на БЭСМ-6 на разных языках программирования (и их смеси). Фактически это фронтэнд ко всем имеющимся компиляторам, ассемблерам, линкеру и симулятору. Для besmc надо также установить симулятор dubna. Подробности читайте в README.
К примеру, компилируем и выполняем программу на Паскале:
К примеру, компилируем и выполняем программу на Паскале:
Или пусть главная программа будет на Паскале, а подпрограмма на Фортране:$ cat hello.pascal
program main(output);
_(
writeln('Hello, Pascal!');
_).
$ besmc hello.pascal
$ ./hello.exe
HELLO, PASCAL!
Есть куча примеров на разных языках: смотрите examples/README.md. Список примеров:$ 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!
- 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`
Примеры интересных программ на Би можно глянуть здесь: examples/b.$ cat hello.b
main() {
printf("Hello, B!*n");
}
$ besmc hello.b
$ ./hello.exe
HELLO, B!
Исторически языка Би на БЭСМ-6 не было. Это уже современная доделка. Хотя уже тогда ничто не мешало. Просто ни в Дубне, ни в ИТМиВТ не знали про язык Би.
