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