Část IX. Slovníky

Abstrakt

abstract

Zde uvádím někdy ne zcela úplné slovníky různých implementací forthu.

Předem se omlouvám za organizaci této části. Je ve stavu do jakého se pomalu vyvýjela. Nikdy jsem s ní nebyl spokojen a nejsem ani teď. Ovšem nenapadá mne lepší způsob organizace. Vždy se vyskytnou nějaká ale a zcela zásední problémy.

Abych uvedl čtenáře do obrazu, každé slovo má svůj identifikátor, který mi dovoluje se na něj odkazovat. Potom ukázky programů kdekoliv v této knize jsou doslova „prošpikovány“ odkazy na použitá slova. Čtenář tak může ihned přeskočit k definici slova kterému nerozumí, nebo by je potřeboval osvětlit, jak je vidět na ukázce.

&session.dict-plus-store;

Zásadním problémem je, že v knize zmiňuji nekolik implementací forthu které se liší přidanými slovy. Vyvztává otázka jak slova v této části organizovat, neb některá slova se zcela přirozeně vyskytují ve více nebo téměř všech implementacích. Rozdělení na samostatné slovníky přinese jednak navýšení objmu knihy z důvodu duplicitních informací. Druhým závažnějším problémem je, která varianta slova, v kterém slovníku je ta správná na kterou se odkazovat.

Nejpřirozenější mi přijde vytvořit jeden veliký slovník pojímající slova všech implementací. Tím se vyřeší problém s duplicitami i odkazy. Ovšem tento jeden veliký slovník se pak z určitého pohledu stává měně přehledným, neb obsahuje velmi rozsáhlou koleci slov. Připustil jsem proto existenic samostatných slovníků tam, kde jsou rozsáhlé specifické množiny slov dané implementace, jako je například slovník [xref linkend="PalmOS-API"/].

Ovšem zůstává problém historický, kdy mnoho slov je zapsáno některým z dřive použitých způsobů a tak potrvá delší čas než překlopím celou slovníkovou přílohu do nové organizace.

Obsah

I. (Veliký) Slovník Forthu
!CSP - sound popis
II. Slovník ANSI forthu
! - store, uložení hodnoty na adresu
number - number-sign, dělení čísle v proměnné
number > - number-sign-greater, ukončení formátování
#S - FIXME: jednořádkový popis
number TIB - t-i-b adresa buňky obsahující velikost tib
' - tick
( - paren, zahájení kometáře
(LOCAL) - popis
* - star, násobení
*/ - FIXME: jednořádkový popis
*/MOD - FIXME: jednořádkový popis
+ - plus, sečte dva prvky na zásobníku
+! - plus-store, přičte hodnotu k buňce na adrese
+LOOP - FIXME: jednořádkový popis
, - comma
- - minus odčítání
-TRAILING - dash-trailing FIXME:
. - dot zobrazí/vytiskne číslo na vrcholu zásobníku
." - dot-quote zobrazí/vytiskne řetězec znaků až do znaku "
.( - dot-paren tisk textu až do znaku )
.R - dot-r zobrazení čísla v poli zadané šířky
.S - dot-s vytiskne obsah celého datového zásobníku bez změny zásobníku
/ - slash, dělení
/MOD - slash-mod, dělení se zbytkem
/STRING - slash-string FIXME:popis
0< - zero-less vrátí true, je-li v TOS záporné číslo
0<> - zero-not-equals test nenulovosti
0= - zero-equals vrátí true, je-li v TOS nula
0> - zero-grater vrátí true, je-li v TOS kladné nenulové číslo
1+ - one-plus zvětší číslo na vrcholu zásobníku o jedničku
1- - one-minus zmenší číslo na vrcholu zásobníku o jedničku
2CONSTANT - two-constant definice konstanty velké dvě buňky
2DROP - two-drop odstranění dvou buňek ze zásobníku
2DUP - Zdvojení dvoubuňky Duplicate cell pair
2OVER - two-over zkopíruje druhý pár buněk pod vrcholem zásobníku na vrchol
2SWAP - FIXME:Exchange the top two cell pairs.
2VARIABLE - two-variable Vytvoření proměnné veliké dvě buňky.
: - colon, překladač, zahájení definice nového slova — DOCON
; - ukončení/uzavření definice slova
< number - FIXME: jednořádkový popis
>IN - offset/posunutí ve vstupním bufferu tib
>R - popis
?DUP - question-dupe podmíněné zdvojení
@ - fetch, uloží na vrchol zásobníku hodnotu určenou adresou (FETCH)
AGAIN - převede řízení na jiné místo
ALSO - jednořádkový popis
BASE - jednořádkový popis
BYE - ukončení práce v prostředí forthu a návrat do systému
CELL+ - cell-plus FIXME: jednořádkový popis
CELLS - FIXME: jednořádkový popis
CREATE - vytvoří hlavičku slova na slovníku
D+ - sčítání v dvojnásobé aritmetice
DEPTH - hloubka zásobníku, počet buněk uložených na zásobník
DO - FIXME: jednořádkový popis
DROP - Odstraní prvek z vrcholu zásobníku
DUP - dupe duplikuj tos
ELSE - else část větvení ...
EXECUTE - Vykoná slovo jehož CFA najde na TOS
FALSE - umístní do zásobníku příznak/logickou hodnotu false
HERE - proměnná obsahující adresu první volné buňky v datovém segmentu
I - FIXME: jednořádkový popis
IF - větvení programu podle podmínky
LEAVE - FIXME: jednořádkový popis
LOOP - FIXME: jednořádkový popis
M* - m-star FIXME:
M+ - m-plus FIXME:popis
NIP - Odstraní položku pod vrcholem zásobníku
OVER - Place a copy of x1 on top of stack
PARSE - čte/parsuje řetězec ve vstupním bufferu (TIB)
PICK - duplikování prvku z hlouby zásobník na vrchol
POSTPONE - FIXME: jednořádkový popis
ROLL - rolování zásobníku, vyjmutí prvku z hlouby zásobníku a uložení na vrchol
ROT - *FIXME:
S>D - rozšíření čísla se znaménkem na dlouhé číslo
SOURCE - adresa a velikost vstupního buferu
SOURCE-ID - identifikuje/popisuje vstupní zdroj
STATE - proměnná obsahující informaci o stavu EXECUTE/COMPILE
SWAP - prohodí mezi sebou dvě buňky na vrcholu zásobníku, TOS a NOS
THEN - ukončení podmíněného větvení ... nebo ......
TIB - popis
TUCK - FIXME:
VARIABLE - vytvoření proměnné
['] - popis
III. Slovník FAKE
evaluate - 7.6.1.1360
exit -
IV. Slovník FIG forthu
Výplň - sound popis
V. Slovník ANSI forthu
BlankFormId - jednořádkový popis
MainFormId - jednořádkový popis
TitledFormId - jednořádkový popis
C@A - přečte znak z absolutní 32bitové adresy
currentx - jednořádkový popis
currenty - jednořádkový popis
event - adresa event struktury obsahující poslední událost obdrženou od PalmOSu
eventhandler - jednořádkový popis
needs - Načtení zdrojového kódu z jiného souboru/memo. Obdoba include.
noop - jednořádkový popis
(bye) - jednořádkový popis
(ekey) - Vyzvednutí události z fronty událostí
(ID) - převádí čtyřznakový identifikátor zdroje na číslo (32-bitové)
>ABS - převod 16-ti bitové adresy datového prostoru na 32-ti bitovou absolutní adresu
>BYTE - refpurpose
>digit - Převod znaku na číslo
window-bounds - jednořádkový popis
VI. Slovník 2
CloseDB - Uzavření databáze určené ovladačem dbr.
CreateDB - vytvoření nové databáze s daným jménem, typem a tvůrcem.
HwrBacklight - refpurpose
OpenDB - Otevření existující databáze.
OpenResDB - otevření databáze zdrojů (resource database) podle tvůrce a typu
UseCard - Nastavení karty se kterou bude pracovat .
docincluded - jednořádkový popis
ekey - Kořenový tag knihy
freeHandle - jednořádkový popis
itemID -
ms - čekání
string>Handle - jednořádkový popis
stringfield - FIXME:
VII. Události PalmOS
appStopEvent - 22 aplikace je informována o tom že bude zastavena
ctlEnterEvent - 7
ctlSelectEvent - 9 aplikace je informována o tom že bude zastavena
fldEnterEvent - 15
nilEvent - prázdná událost, je vytvořena vždy když do zadaného limitu nepřijde jiná událost
penDownEvent -
penMoveEvent -
penUpEvent -
VIII. PalmOS API
DmArchiveRecord - FIXME: jednořádkový popis
DmAttachRecord - FIXME: jednořádkový popis
DmAttachResource - FIXME: jednořádkový popis
DmCloseDatabase - FIXME: jednořádkový popis
DmCreateDatabase - Vytvoří novou databázi na uvedné kartě, s uvedeným názvem, tvůrcem a typem.
DmCreateDatabaseFromImage - FIXME: jednořádkový popis
DmDatabaseInfo - získání atributů databázového souboru
DmDatabaseProtect - FIXME: jednořádkový popis
DmDatabaseSize - FIXME: jednořádkový popis
DmDeleteCategory - FIXME: jednořádkový popis
DmDeleteDatabase - Odstraní databázi se všemi záznamy.
DmDeleteRecord - FIXME: jednořádkový popis
DmDetachRecord - FIXME: jednořádkový popis
DmDetachResource - FIXME: jednořádkový popis
DmFindDatabase - FIXME: jednořádkový popis
DmFindRecordByID - FIXME: jednořádkový popis
DmFindResource - FIXME: jednořádkový popis
DmFindResourceType - FIXME: jednořádkový popis
DmFindSortPosition - FIXME: jednořádkový popis
DmFindSortPositionV10 - FIXME: jednořádkový popis
DmGet1Resource - FIXME: jednořádkový popis
DmGetAppInfoID - FIXME: jednořádkový popis
DmGetDatabase - FIXME: jednořádkový popis
DmGetLastErr - FIXME: jednořádkový popis
DmGetNextDatabaseByTypeCreator - FIXME: jednořádkový popis
DmGetRecord - FIXME: jednořádkový popis
DmGetResource - FIXME: jednořádkový popis
DmGetResourceIndex - FIXME: jednořádkový popis
DmInit - FIXME: jednořádkový popis
DmInsertionSort - FIXME: jednořádkový popis
DmMoveCategory - FIXME: jednořádkový popis
DmMoveOpenDBContext - FIXME: jednořádkový popis
DmMoveRecord - FIXME: jednořádkový popis
DmNewHandle - FIXME: jednořádkový popis
DmNewRecord - vytvoření nového záznamu, vyhrazení místa pro něj
DmNewResource - FIXME: jednořádkový popis
DmNextOpenDatabase - FIXME: jednořádkový popis
DmNextOpenResDatabase - FIXME: jednořádkový popis
DmNumDatabases - FIXME: jednořádkový popis
DmNumRecords - FIXME: jednořádkový popis
DmNumRecordsInCategory - FIXME: jednořádkový popis
DmNumResources - FIXME: jednořádkový popis
DmOpenDatabase - FIXME: jednořádkový popis
DmOpenDatabaseByTypeCreator - FIXME: jednořádkový popis
DmOpenDatabaseInfo - FIXME: jednořádkový popis
DmPositionInCategory - FIXME: jednořádkový popis
DmQueryNextInCategory - FIXME: jednořádkový popis
DmQueryRecord - FIXME: jednořádkový popis
DmQuickSort - FIXME: jednořádkový popis
DmRecordInfo - atributy a informace o záznamu
DmReleaseRecord - FIXME: jednořádkový popis
DmReleaseResource - FIXME: jednořádkový popis
DmRemoveRecord - FIXME: jednořádkový popis
DmRemoveResource - FIXME: jednořádkový popis
DmRemoveSecretRecords - FIXME: jednořádkový popis
DmResetRecordStates - FIXME: jednořádkový popis
DmResizeRecord - FIXME: jednořádkový popis
DmResizeResource - FIXME: jednořádkový popis
DmResourceInfo - FIXME: jednořádkový popis
DmSearchRecord - FIXME: jednořádkový popis
DmSearchResource - FIXME: jednořádkový popis
DmSeekRecordInCategory - FIXME: jednořádkový popis
DmSet - Zapsání speciální hodnoty do části záznamu.
DmSetDatabaseInfo - Nastavení informací o databázi
DmSetRecordInfo - FIXME: jednořádkový popis
DmSetResourceInfo - FIXME: jednořádkový popis
DmStrCopy - FIXME: jednořádkový popis
DmWrite - FIXME: jednořádkový popis
DmWriteCheck - FIXME: jednořádkový popis
MemCardInfo - Vrací informace o paměťové kartě.
MemCmp - Porovnání dvou bloků paměti.
MemHandleFree - Uvolní/rozpustí (dispose) posouvatelný kousek paměti (movable chunk).
MemHandleLock - Allocate a new movable chunk in the dynamic heap and returns a handle to it.
MemHandleNew - Allocate a new movable chunk in the dynamic heap and returns a handle to it.
MemHandleResize - Změní velikost kousku paměti (chunk).
MemHandleSize - Zjistí velikost kousku paměti (chunk).
MemHandleUnlock - Uvolnění/odemčení kousku paměti (chunk).
MemPtrNew - Vyhrazení (alokování) nového neposouvatelného kousku paměti na dynamické haldě.
MemStoreInfo - Return information on either RAM store or the ROM store for memory card.
WinDrawPixel - jednořádkový popis Systrap 0xA383
WinErasePixel - jednořádkový popis Systrap 0xA384