FORTH

Trochę historii...

Moja platoniczna miłość do języka FORTH sięga swymi korzeniami mojego dzieciństwa, kiedy to oswajałem się z kalkulatorem programowalnym BZ-34 używającym odwrotnej notacji polskiej i stosu do przechowywania operandów. W późniejszych czasach, wyposażony w książki zacząłem tworzyć interpreter FORTH dla amatorskiego komputera "Specjalist", jednakowoż pracy nad nim nie doprowadziłem do końca. Następnie przesiadłszy się na PC 386 zapoznałem się z już istniejącymi systemami opartymi na języku FORTH, które były całkiem udane, ale pewnego razu pojawiła się u mnie chęć utworzenia w pełni zrusyfikowanego języka programowania. Efektem tego było pojawienie się zrusyfikowanej wersji systemu opartego na FORTH. Była to pierwsza taka duża aplikacja napisana przeze mnie w asemblerze x86, dlatego nie może służyć za wzorzec stylu programowania. Niemniej jednak okazało się, że nadaje się ona do wykorzystania i, moim zdaniem, jest to program całkiem udany. Po upływie kilku lat, kiedy to zajęty byłem innymi interesującymi sprawami, postanowiłem wrócić do tego porzuconego zagadnienia, aby zrobić to, co od dawna zamierzałem, ale na co nie mogłem znaleźć wystarczającej ilości czasu.


Zrusyfikowany system oparty na FORTH

Stworzony ongiś jako praca zaliczeniowa na kursie programowania. Pracuje pod kontrolą systemu MS-DOS. Do uruchomienia w Windows 2k/XP niezbędne jest użycie programów rusyfikujących keyrus, unikbd/univga itp. Pierwotna wersja przewidziana była do kompilacji przy pomocy kompilatora TASM i przedstawia sobą jedynie wartość historyczną. :)

Druga wersja jest znacznie młodszej daty i przystosowana do składni FASM-a
W system wbudowałem czcionki i procedurę obsługi klawiatury z CKD! - obecnie już system nie wymaga wstępnej rusyfikacji klawiatury i ekranu, mimo wszystko jeszcze wymaga dopracowania. Po uruchomieniu systemu domyślnym językiem jest rosyjski. Przełączenie pomiędzy klawiaturą rosyjską a łacińską: prawy klawisz Ctrl. Dokładny opis systemu znajduje się w dołączonych plikach.


Demonstracja działania

Aplikacja ПФАЙЛ - wyświetlanie zawartości danego pliku na ekranie. Najpierw załadowujemy ją poleceniem "ПРОГРАММА", a następnie posługujemy się dodanym właśnie poleceniem ".ФАЙЛ" w celu wydrukowania na ekranie zawartości innego pliku:

: .ФАЙЛ ВКПС ПБ СЛОВО НС 1+ ДЛЯ_ЧТЕНИЯ ОТКРОЙ_ФАЙЛ
  ЕСЛИ
    НАЧИНАЙ
      !! КУЧА ? СЕГМЕНТ 512 ЧИТАЙ_ФАЙЛ
      ЕСЛИ
        !!
        ЕСЛИ
          КУЧА ? + 0 (2) С!
          КУЧА ? ПЧТ НЕТ
        ИНАЧЕ
          >> ВКПС ." КОНЕЦ" ДА
        ТОГДА
      ИНАЧЕ
        ВКПС ." ОШИБКА ЧТЕНИЯ" ДА
      ТОГДА
    ?ХВАТИТ ЗАКРОЙ_ФАЙЛ >>
  ИНАЧЕ
    ВКПС ." ОШИБКА ОТКРЫТИЯ"
  ТОГДА ."  ФАЙЛА " НС .СТР
;

Systemem, który wywarł największy wpływ "ideologiczny" na RFORTH był GP-FORTH


FORTH dla komputera "Specjalist"

Niżej zaprezentowano odzyskane z kasety magnetofonowej, zapisane w formacie edytora "Mikron" źródła FORTH, który stworzyłem dla komputera "Specjalist". Interpreter nie został ukończony, jednakże działał prawidłowo. Do uzyskania w pełni wartościowego najprostszego systemu pozostało zaimplementowanie poleceń kompilujących i polecenia NUMBER konwertującego łańcuchy znaków w liczby.

W zasadzie teraz jest już to możliwe, ponieważ drugie z archiwów zawiera najnowszą, przystosowaną do składni FASM-a, skompilowaną i przetestowaną pod kontrolą emulatora emu wersję programu.

Ostatnia aktualizacja: 2013-04-28 14:18:56 EEST