16.06.2015 Views

ForthLogic inst prog H P.1.2 120113.pdf - F&F

ForthLogic inst prog H P.1.2 120113.pdf - F&F

ForthLogic inst prog H P.1.2 120113.pdf - F&F

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Instrukcja <strong>prog</strong>ramowania w języku <strong>ForthLogic</strong> wersja <strong>P.1.2</strong><br />

1. WSTĘP<br />

Język <strong>prog</strong>ramowania Forth (ang. forth [do przodu, dalej] i jednocześnie skrót od fourth [czwarty]), który leży u podstaw<br />

języka <strong>ForthLogic</strong>, pojawił się na początku lat 70 w USA. Jego twórca, Charles Moore, na początku zastosował go do<br />

opracowania o<strong>prog</strong>ramowania do małej elektronicznej maszyny liczącej, która kierowała pracą radioteleskopu. Zalety<br />

pracy z językiem Forth były tak duże, że już wkrótce zaczęto go wykorzystywać do pracy z innymi wyspecjalizowanymi<br />

elektronicznymi maszynami liczącymi.<br />

Efektywność zastosowania języka Forth potwierdza fakt, że jest on wykorzystywany przez gigantów przemysłu: korporacja<br />

Boeing stosuje wbudowany interpretator języka Forth w systemie awioniki (wyposażenia pokładowego) samolotu Boeing<br />

777; korporacja Tektronix wykorzystuje język Forth dla serii analizatorów protokołów sieciowych K1297 i K1205;<br />

korporacja Lockheed Martin wykorzystuje język Forth w wyposażeniu pokładowym naziemnego systemu telemetrycznego<br />

SMART do rakiety balistycznej Trident 2 D5; korporacja FedEx wykorzystuje ręczny czytnik kodów kreskowych<br />

SuperTracker z wbudowanym Forth‐systemem w swoim elektronicznym systemie kontroli przesyłek COSMOS II;<br />

korporacja General Electric wykorzystuje język Forth w serii przełączników SONET JungleMUX; korporacja Europay<br />

wykorzystuje język Forth przy tworzeniu o<strong>prog</strong>ramowania do uniwersalnych terminali kasowych i czytników kart smart z<br />

architekturą Open Terminal Architecture (OTA); korporacja Sun Microsystems od 1989 r. wykorzystuje <strong>prog</strong>ram ładujący<br />

OpenBoot (<strong>prog</strong>ram typu BIOS) z wbudowanym interpretatorem języka Forth w swoich komputerach SparcStation i<br />

serwerach SPARCServer; a korporacja Apple Inc. wykorzystuje analogiczny <strong>prog</strong>ram Open Firmware w swoich<br />

komputerach Power Macintosh. Poza tym język Forth jest standardowym językiem sterowania teleskopów – zarówno na<br />

ziemi, jak i w kosmosie.<br />

2. MODEL PROGRAMISTYCZNY<br />

Za realizację zadań i interpretację <strong>prog</strong>ramu w języku <strong>ForthLogic</strong> odpowiedzialny jest system sprzętowo‐<strong>prog</strong>ramistyczny<br />

zwany forth‐systemem. Model obliczeniowy leżący u podstaw języka <strong>ForthLogic</strong> składa się ze stosów, globalnych<br />

zmiennych, słownika, buforu wejściowego i buforu wyjściowego. Język <strong>ForthLogic</strong> pozwala opisywać procesy<br />

przebiegające równolegle i funkcjonuje w środowisku wielozadaniowym.<br />

2.1 SŁOWA<br />

Jest to grupa rozkazów o określonym działaniu. Każdy rozkaz – zwany dalej słowem, składa się z ciągu znaków (bez spacji).<br />

Długość słowa jest ograniczona do 14 znaków. Program napisany w języku <strong>ForthLogic</strong> to sekwencja słów i odpowiednich<br />

wartości będących parametrami wykonawczymi tych słów. Słowa są oddzielane spacją. Modelem obliczeniowym forthsystemu<br />

jest tzw. maszyna stosowa. Słowa zdejmują niezbędne operandy ze stosu i kładą swoje wyniki na tymże stosie,<br />

jeżeli są. W forth‐systemie określono relatywnie nieduży zestaw „standardowych” słów. Wśród nich są słowa, pozwalające<br />

definiować nowe poprzez już istniejące i w ten sposób poszerzać początkowy zestaw słów w wymaganym dla danego<br />

zadania kierunku.<br />

Spośród słów standardowych, ze względu na specjalny sposób działania, stosowania lub sposób ich kompilacji z innymi<br />

słowami możemy wyodrębnić dodatkowe dwie podgrupy: słowa pomocnicze i słowa wywoławcze.<br />

Słowa pomocnicze ‐ jest to grupa słów, możliwych do zastosowania tylko podczas pracy dialogowej, czyli podczas<br />

bezpośredniego połączenia sterownika z komputerem (MAX‐PC). Nie mogą one być wykorzystane w aplikacji (po prostu<br />

ich działanie nie ma praktycznego zastosowania i nie są one wykonywane w ogóle). Służą użytkownikowi jedynie przy<br />

nauce <strong>prog</strong>ramowania, rozwiązywaniu zadań <strong>prog</strong>ramistycznych lub rozwiązywaniu zaistniałych problemów w pracy<br />

sterownika. Pozwalają na odszukiwanie, przywoływanie i poznawanie odpowiednich wartości lub elementów stosów dla<br />

analizy pracy poszczególnych słów standardowych i zdefiniowanych oraz rozwiązywania problemów części lub całego<br />

<strong>prog</strong>ramu. Również dla dalszego ich wykorzystania. Słowa te mogą być zestawiane z innymi słowami standardowymi w<br />

krótkich blokach <strong>prog</strong>ramowych pisanych bezpośrednio na terminalu lub mogą być podane samodzielnie w nowej linii i<br />

bezpośrednio wykonywane.<br />

Słowa wywoławcze ‐ jest to grupa słów standardowych wyróżnionych ze względu na sposób ich kompilacji z innymi<br />

słowami. Bezpośrednio po takim słowie może znaleźć się tylko inne słowo lub słowa jako wymagane parametry<br />

wykonawcze (nazywane w nomenklaturze <strong>prog</strong>ramistycznej callback), natomiast nie mogą zostać podane jakiekolwiek<br />

‐ 5 ‐

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!