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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

><br />

Najpierw obliczamy wynik mnożenia 2*2 i otrzymuje odpowiedź 4. Następnie definiując słowo 2 jako liczbę o wartości 3,<br />

otrzymamy odpowiedź 9. Po wykluczeniu znaczenia słowa 2 poprzez słowo FORGET, wraca ono do dawnej semantyki<br />

słowa 2, czyli zwykłej cyfry.<br />

Do pracy z nowymi słowami i słownikiem służą także słowa pomocnicze WORDS (słowa) i UNUSED (nie wykorzystany).<br />

Słowo WORDS drukuje na terminalu listę wszystkich słów w słowniku. Jeżeli wszystkie słowa nie zmieszczą się na ekranie,<br />

to klawiszem „spacja” drukujemy następny zestaw słów zawarty w słowniku. Słowo UNUSED kładzie na stos liczbę<br />

wolnego miejsce w słowniku wyrażoną w bajtach. Dalej, przy pomocy słowa . (kropka), element ten można wydrukować<br />

na terminalu.<br />

Każde słowo standardowe i zdefiniowane ma przyporządkowany swój adres (kod), który jest znany forth‐systemowi.<br />

Słowo NAME zdejmuje ze stosu górny element i interpretuje go jako adres. Następnie w słowniku forth‐systemu<br />

poszukuje słowa o danym adresie i, jeśli takie słowo znajdzie, to drukuje je w buforze wyjściowym i na terminalu, w<br />

przeciwnym wypadku drukuje nic. W przypadku zatrzymania pracy aplikacji z powodu błędów na terminalu może zostać<br />

wydrukowany adres słowa, w którym doszło do błędu. Dzięki słowu NAME możemy je bezpośrednio poznać, np.:<br />

[ERROR: 7 RS: 2354]<br />

> 2354 NAME<br />

alarm (OK)<br />

Słowo FIND (znaleźć) pozwala poznać adres wykonawczy słowa. Słowo FIND sczytuje wiersz z bufora wyjściowego do<br />

pierwszej spacji (słowo, dla którego trzeba znaleźć wykonawczy adres) i jeśli słowo to jest znane forth‐systemowi, na stos<br />

kładzie adres wykonawczy tego słowa. W przeciwnym przypadku na stos kładzie znaczenie FAŁSZ (0).<br />

> .” alarm ” FIND .<br />

alarm 2354 (OK)<br />

><br />

Rozkaz systemowy BUILD DICTIONARY powoduje powrót słownika do stanu pierwotnego. Po tym rozkazie w<br />

słowniku pozostaną tylko słowa standardowe (wbudowane). Wszystkie słowa zdefiniowane zostaną<br />

usunięte.<br />

Przy definiowaniu nowych słów zdarza się, że brakuje miejsca w jednym wierszu, aby zakończyć budowę nowego słowa.<br />

W sytuacjach, kiedy wiersz przekracza ustaloną długość, można przejść do następnego wiersza przy pomocy przycisku<br />

„Enter” i w nim kontynuować definiowanie. Proces ten można powtarzać, póki nie zakończy się definiowanie, czyli do<br />

słowa „;”.<br />

Przy definiowaniu nowych słów można wykorzystywać słowa standardowe systemu, jak i te uprzednio zdefiniowane.<br />

System pozwala na definiowanie nowych słów z wykorzystaniem już zdefiniowanego słowa. „Głębia” układu<br />

definiowanych słów może sięgać 64 poziomów. Przekroczenie jest sygnalizowane jako błąd.<br />

Zawartość słów standardowych w słowniku forth‐systemu zależy od o<strong>prog</strong>ramowania firmware. Do sprawdzania wersji<br />

firmware służy sowo VERSION, które drukuję na terminalu i buforze wyjściowym wersję o<strong>prog</strong>ramowania (jest to liczba<br />

składająca się z dwóch liczb rozdzielonych kropką).<br />

4.4 STAŁE, ZMIENNE i WIERSZE<br />

Zamiast pracy z konkretnymi wartościami wygodniej jest pracować z nazwanymi wartościami. Analogicznie do zasobów<br />

innych języków zasoby języka <strong>ForthLogic</strong> są nazywane stałymi i zmiennymi. Istnieją także wiersze – obiekty, które<br />

wykorzystuje się dla wyprowadzenia tekstu do bufora wyjściowego i na terminal.<br />

‐ 17 ‐

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

Saved successfully!

Ooh no, something went wrong!