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
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 ‐