← Journey
2000 · BASIC, Pascal & olympiads

Russian Pascal

A translator that let you write Pascal in Russian — a way in for those who didn’t know English. Keywords came from an editable dictionary, so any language would do; Russian identifiers were transliterated automatically; << and >> stood for begin and end, and there were inline macros. It plugged into the Borland Pascal IDE as a Tools hotkey: Shift+F9 translated the file, compiled it with Borland’s own compiler and ran it. A small resident program highlighted the Russian keywords right in the Borland editor.

PascalBorland Pascal

Original source code

FIRST.PAS
программа первая;
используется unit1;
переменная
  а,б,в,г:число;
старт
  а:=100;
  в:=0;
  написать(a);
  от б:=1 до а делай в:=в+а;
  задержка(1000);
  написать(в);
финиш

Version 0.1, 11 October 2000: a first program written in Russian.

FIRST.RPS
program pervaa;
uses unit1;
var
  a,b,v,g:integer;
begin
  a:=100;
  v:=0;
  writeln(a);
  for b:=1 to a do v:=v+a;
  _aderzka(1000);
  writeln(v);
end.
Copyright IVA vision

What RP.EXE turned it into before handing it to the Borland compiler. Keywords come from the dictionary; unknown words are transliterated — задержка (delay) became _aderzka.

FIRST.PAS
программа первая; // демонстрация макросов
используется unit1;
переменная аа:число;
макро вывод(п1,р2:число; с:строка);
<<
  писать(п1:4); // каждое число быдет распологаться в четырех знакоместах
  писать(р2*2:4);
{  писать('(C)>',с);}
>>
все
макро права;
писать('Copyright');
все
старт
  {начало программы}
  написать('1');  задержка(1000);  написать('2');
  от аa:=1 до 10 делай вывод(аа,аa+1,'');  писать('Таблица'); вывод(222,223,'Конец');
  writeln;
  права;
финиш

Version 1.0, 28 October 2000: macros (макро … все) are pasted into the code instead of being called, and << >> replace begin/end.