vak: (бэсм-6)
[personal profile] vak
Есть у нас в коллекции ретрокомпьютерных тулов такая штука как 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 не было. Это уже современная доделка. Хотя уже тогда ничто не мешало. Просто ни в Дубне, ни в ИТМиВТ не знали про язык Би.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org