Try   HackMD

Hogyan kell programozni a colorForth cF2019-ben?

Bevezetés

Ez egy bemutató arról, hogyan kell programozni a colorForth-ban Windows alatt, az általam forgalmazott és támogatott cf2019 rendszer használatával.
AcolorForth a Forth programozási nyelv egy dialektusa, mindkét nyelvet Charles H. "Chuck" Moore találta fel ; - a Forth-ot 1968 körül, a colorForth-ot pedig az 1990-es évek végén.
A cf2019_colorForth.pdf fájl részletesebb magyarázatot ad.
A colorForth nem olyan, mint bármi más.
Amikor a colorForth-ban megnyomunk egy billentyűt, történik valami. Hogy pontosan mi történik, az a rendszer aktuális állapotától függ, és ez a rendszerállapot jelenik meg a képernyőn. Absztrakt módon ez minden számítógépes programra igaz - a colorForth esetében az a különbség, hogy teljes - semmi más nem történik.
A cf2019 egy folyamatban lévő munka, és mindig is az lesz. Remélem, hogy hozzáadhatok verziókezelést, stringeket stb. stb. stb., de anélkül, hogy elveszíteném a colorForth elképesztő egyszerűségét.
A colorForth támogatásával az a szándékom, hogy a lehető legtöbb ember számára elérhetővé tegyem.
Visszajelzéseket szívesen fogadok howerd@inventio.co.uk www.inventio.co.uk.
Jó szórakozást!
Howerd Oakford

A colorForth letöltése és futtatása

Töltsd le a colorForth programot a "cf2019 Issue 2021Aug15.7z" fájl segítségével a: http://www.inventio.co.uk/colorforth/ vagy ide kattintva:
https://www.inventio.co.uk/colorforth/cf2019 Issue 2021Aug15.7z
Csomagold ki egy Windows rendszert futtató számítógépen, például a cF2019 mappába.

Kattints duplán a go.bat parancsra.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Nyomjd meg az Enter billentyűt a billentyűzeten, vagy kattints az OK gombra, hogy a Bochs teljes képernyős módban fusson:

Megjegyzés: a billentyűzeten az Alt-Enter billentyűvel kiléphetsz a teljes képernyős módból, és onnan a Power gombbal bezárhatod a Bochs-t.

A colorForth logó rövid ideig villogni fog, majd a colorForth szerkesztőben a 32-es blokknak kell megjelennie:

Nyomja meg az F4 billentyűt a billentyűzeten a színvak üzemmód kiválasztásához:

A színvak üzemmód a piros szavakhoz ':', a megjegyzésekhez '(' és ')', az azonnali szavakhoz pedig '[' és ']' hozzáadódik.
Ezáltal a kód jobban hasonlít a hagyományos Forth-ra, és színvakok számára is használhatóvá válik.

Nyomja meg a billentyűzet szóköz billentyűjét a colorForth szerkesztőből való kilépéshez:

Figyelje meg a sárga billentyűzetet a jobb alsó sarokban, amelyen a "pyfi gcrl" stb. szerepel. A sárga szín azt jelenti, hogy "azonnali" - bármit is írsz be, azonnal végrehajtódik, amikor megnyomod a szóköz billentyűt. Figyeljük meg, hogy a billentyűzet felett és alatt lévő két narancssárga vonal (amelyek a szerkesztő módot jelzik) már nincs ott.

Mostantól kezdve a billentyűzetre hivatkozva válassza ki, hogy melyik karaktert írja be, nem pedig a billentyűzetre. A cf2019_colorForth.pdf részletesebb magyarázatért olvassa el a cf2019_colorForth.pdf fájlt.


Ábra 1 A billentyűzet


Ábra 2 A gombok térképe

A billentyűzet alsó sorában lévő "9*" azt jelenti, hogy a szóköz billentyű számmódra vált ("9"), a kis "x" pedig azt jelenti, hogy az AltGr billentyű alternatív karakterekre vált (például ). A '' csillag karakter úgy néz ki, mint egy kis 'x', mert szorzást jelent. A billentyűzet 'N' billentyűjét gyakran használják az üzemmódból való kilépésre.

A billentyűzet mind a 27 használt billentyűzetbillentyűjének műveleteit a billentyűzet megfelelő karaktere jelzi.

Nincs '_' aláhúzás, ezért az alábbi utasításokban azt fogom használni, hogy "nyomja meg a szóközt".

A 250-es blokk szerkesztése

A 0-31-es blokkok a colorForth rendszer primitív szavait tartalmazzák, a 32-63-as blokkok a colorForth rendszer Forth szavait,
a 64-511-es blokkok pedig az Alkalmazásokat.

\ Nyomja meg a billentyűzet szóköz billentyűjét a számok üzemmódba való belépéshez.

Ábra 3 Szám üzemmódban, a billentyűzetgombok térképe

250
\ Nyomja meg a számbillentyűket egy szám beírásához
Ez azt jelenti, hogy nyomja meg az 'I' billentyűt, majd a 'K' billentyűt a billentyűzeten, majd az 'L' billentyűtől jobbra lévő bármelyik billentyűt.
billentyű mögött. Egy német QWERTZ billentyűzeten ez az 'Ö', egy QWERTY billentyűzeten valószínűleg egy ';'.
Nyomja meg újra a szóköz billentyűt, hogy visszatérjen a szöveges üzemmódba - erre utal az 'a' betű a billentyűzeten:
_ \ a számmódból való kilépéshez nyomja meg a billentyűzet szóköz billentyűzetét.
Most már a '250' szám van a veremben:

edit_ \ a 250-es blokk szerkesztéséhez írja be az "edit" szót (az '_' a szóköz billentyűt jelenti).
A "szerkesztés" beírásához a billentyűzeten a DVRK billentyűket kell megnyomnia, de a legjobb, ha megpróbál elfelejteni a billentyűzetet és
a billentyűzetre koncentráljon. Vegye figyelembe, hogy a billentyűzet folyamatosan változik.

A képernyőnek most így kell kinéznie:

Balra fent a narancssárga kurzor mutatja, hogy hova kerül be a következő Forth szó.
Jobbra fent a szerkesztett blokk száma, ebben az esetben 250. Ez a blokk jelenleg üres.
Balra lent a verem látható, amely jelenleg szintén üres (korábban így nézett ki).
A narancssárga vonalak a billentyűzet felett és alatt azt mutatják, hogy szerkesztési módban vagyunk.
A billentyűzet bal oldalán lévő "edit" szó az utoljára beírt Forth szót mutatja. Mivel egy szó minden egyes karaktere
beírása során a karakter értéke felhalmozódik a veremben, és ennek a felhalmozott értéknek a szöveges megjelenítése a következő
a billentyűzet bal oldalán jelenik meg.
Ha kilépett a szerkesztőből, és vissza akar térni, a sárga azonnali módban írja be az "e" billentyűt, (majd a szóközt), hogy szerkesszen
az utoljára szerkesztett blokkot.
Most a 250-es blokkot szerkesztjük a főszerkesztő billentyűzetével:

Ábra 4 A főszerkesztő billentyűzete

A program beírása

Egy új Forth szó definiálásához be kell írnunk egy piros nevet, ezért nyomjuk meg az 'r' billentyűt a főszerkesztő billentyűzetén (ez az 'I' billentyű).
billentyű a billentyűzeten). Nem kell kettőspontot (':' ) beírni, mert színvak üzemmódban ez automatikusan hozzáadódik.

Ábra 5 A "fib" Forth szó létrehozása, mielőtt megnyomná a Space billentyűt.

A fenti képen a képernyő a "fib" beírása után, de a szóköz megnyomása előtt látható. A "fib" név van a felső részén a Huffman tömörített értékként (46051) a verem tetején van, és jobbra lentebb "fib"-ként dekomprimálva látható.

Ábra 6 A "fib" Forth szó létrehozása, a Space megnyomása után

A szóköz megnyomása után a veremben lévő érték (45061) eltávolításra került, és átmásolódott a kurzor pozíciójába a blokkba. A szerkesztő a blokk első 32 bitjében lévő értéket piros színű (':' betűvel) "fib" szövegként jeleníti meg.
A szerkesztő billentyűzete most zöldre váltott, ami a fordítási módot jelzi. Figyeljük meg a billentyűzet jobb alsó sarkában lévő 'g'-t, ami zöldet jelez (korábban piros 'r' volt).

A kurzor most a ": fib" szöveg utánra került. Nincs szóköz karakter a colorForth Huffmanben. tömörített 32 bites értékekben, de a szerkesztő automatikusan hozzáad egyet a következő szó megjelenítésekor.
Most már beírhatjuk a zöld (lefordított) kódot az új Forth szóhoz: fib push 1 dup pop -2 +


Ábra 6

A szöveg és a számok beírása a billentyűzet segítségével némi gyakorlatot igényel!
Az '1' szám beírásához nyomja meg a szóköz billentyűt anélkül, hogy más karaktereket írna be - ezzel belép a számok üzemmódba.
Nyomja meg az '1'-et a billentyűzet segítségével ('U' a billentyűzeten), majd a szóköz billentyűt. A "-2" beírásához nyomja meg a "-" billentyűt a billentyűzeten.
('N' a billentyűzeten), majd a '2' számot ('I' a billentyűzeten). Ezután nyomja meg a szóköz billentyűt.


Ábra 7 Számbillentyűzet

A "+" karakter beírásához nyomja meg a billentyűzeten a "*" billentyűt (Alt-Gr a billentyűzeten), hogy alternatív karakter módba lépjen:


*Ábra 8/a Karaktertábla 8/b Alternatív karaktertábla

Ezután nyomja meg a billentyűzeten a "+" billentyűt (a billentyűzeten a "C" billentyűt), majd a szóköz billentyűt.

Mentsd el a munkádat

Miután eltöltött egy kis időt a program beírásával, itt az ideje, hogy elmentse a munkáját.
Lépjen ki a szerkesztőből a billentyűzet '.' billentyűjével (a billentyűzeten az 'N' billentyűvel), majd nyomd meg a szóköz billentyűt visszatérni a sárga azonnali billentyűzethez:

Írd be a billentyűzetre a "sa" szót, majd a szóközt. A cf2019 rendszer a cf2019.img fájlba lesz mentve.

A "sa" beírásával visszatérhet a szerkesztőhöz, hogy további szavakat adhasson hozzá.

Ha kikapcsolja a Bochs-t, és újra lefuttatja a go.bat programot, a kurzor visszaáll a blokk elejére. Használja a
"ludr" billentyűket a billentyűzeten, vagy a billentyűzet nyílbillentyűit, hogy a kurzort a "+" utánra helyezze. A Kezdőlap és a Vég
billentyűk ( Pos1 és Ende a német billentyűzeten) szintén a kód elejére és végére mozgatják a kurzort.
Ezután a billentyűzeten megnyomhatja az "r" billentyűt az új piros definíció megadásához.
: f -if drop nip ; akkor push swap over + pop -1 + f ;
Vegye figyelembe, hogy a "-if"-ben lévő '-' egy kötőjel, nem pedig számbillentyüzetel beírható minusz jel, ezért az alternatív karakterrel kell beírnia.

A "-2"-ben lévő '-' viszont minusz karakter, és a számbillentyűzetet kell használni (a '-' billentyűt a '2' előtt kell megnyomni).
Mentse el újra a munkáját!

A program betöltése és futtatása

Lépjen ki ismét a szerkesztőből a szóköz megnyomásával, majd írja be az "ll" billentyűt az aktuális blokk betöltéséhez.
Az "ll" egy a sok kétbetűs szó közül - a lista megtekintéséhez lásd az A. függelék Hasznos parancsok című részét.
Nyomja meg a szóköz billentyűzetet az azonnali számbillentyűzet megjelenítéséhez, nyomja meg a "8"-at a billentyűzeten (például), majd a szóköz billentyűt,
majd írja be a "fib" billentyűt a 8. Fibonacci-szám kiszámításához.
1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584….

Láthatjuk a 8-as számot a veremben, majd a Huffman tömörített "fib" szót (46051). A szóköz megnyomása
megnyomásával a válasz a veremre kerül: 34.
Figyeljük meg, hogy a billentyűzeten az F4 billentyűt nyomtam meg, hogy kilépjek a színvak üzemmódból - a kód jobban elfér egy sorban.

További funkciók

Hozzáadhat megjegyzéseket, halmazkommentárokat és kék szavakat (a szöveg formázásához a kijelzőn):

Nyomja meg az F3 gombot a kék szavak megjelenítésének engedélyezéséhez/letiltásához. Nyomja meg az F4 gombot a színvak üzemmód engedélyezéséhez/tiltásához.
Egy alternatív kijelző így néz ki:

Jó gyakorlat egy árnyékblokk hozzáadása, amely elmagyarázza, hogy mit csinál az alkalmazás:

Az árnyékblokkok páratlan számozású blokkokban vannak, a Forth kód páros számozású blokkokban van, váltani lehet a a főszerkesztő billentyűzetén található '*' billentyűvel tudunk a kettő között váltani.
A sárga azonnali szavak [ 8 fib ] a blokk betöltésekor kerülnek végrehajtásra, így a 34-es válasz a veremre kerül. Ez némi gépelést takarít meg ;-)
A fehér megjegyzés a felső sorban "App: Fibonacci" jelöli ezt a blokkot, mint cf2019 App.
Vegye figyelembe, hogy az első szónak pontosan úgy kell lennie, ahogyan a főszerkesztő billentyűzetén a nagy 'C' módot használva "App:" írva van.
A colorForth explorer App futtatása az "xx" beírásával megmutatja az összes Alkalmazást a rendszerben:

A billentyűzet '-' és '+' billentyűivel jelölje ki az alkalmazást, majd nyomja meg a szóköz billentyűt a futtatásához. Láthatod, hogy futtattam a Fibonacci alkalmazást kétszer, így két válasz maradt a veremben.

Mentsd el a munkádat 2. rész

Ha elégedett vagy a programoddal, akkor valóban el kell mentened azt újra, más módon.
Az "sa" vagy hasonló szavak, mint például az "ss" és a "save" beírásával az általad írt kódot (ami a RAM-ban van) átmásolod a
cf2019.img fájlba a lemezen.
A cf2019.img fájlról biztonsági másolatot kell készítenie, mert a goc.bat fájl futtatása felülírja azt, és törli az összes
munkáját.
A goc.bat lefordítja a rendszert, majd lefuttatja azt, de a rendszer cf2019Ref.img hivatkozási másolatát használja, mint a
goc a go_compile rövidítése. A go.bat csak a cf2019.img-et futtatja.
Én például a Windows segítségével a cf2019.img fájlt a cf2019_2022Jan01.img fájlba szoktam másolni - ez egy durva formája a cf2019_2022Jan01.img fájlnak.
verzióellenőrzés.
Van egy new.bat batch fájl is, amely a cf2019.img-et a cf2019Ref.img-be másolja:
copy /b .\cf2019.img .\cf2019Ref.img
A new.bat futtatása az új programot a cf2019 rendszer részévé teszi, így a goc.bat futtatása nem fogja törölni azt.
Ne feledje, hogy a goc.bat futtatása visszaállítja a rendszer "gyári alapértelmezett állapotát" - az "xx"-et használhatja az alkalmazás megkereséséhez, vagy a "250"-t.
edit" segítségével megtekintheti a kódot.

Hasznos parancsok

Parancs akció
e A legutóbb szerkesztett blokkot megjelenítő szerkesztő futtatása
32 edit A colorForth szerkesztő futtatása a 32-es blokk megjelenítésével.
xx A colorForth Explorer futtatása
ll A szerkesztő által megjelenített aktuális blokk betöltése
vv Az ld parancs által utoljára betöltött blokk megtekintése
uu Az aktuális blokk összes módosításának visszavonása
ss Az aktuális blokk mentése a lemezre
save A teljes rendszer mentése a lemezre. Megváltoztathatja az USB stick biztonsági mentéshez.
sa Mentés és visszatérés a szerkesztőhöz
logo A colorForth logó képernyő megjelenítése
empty A mark meghívása óta összeállított összes definíció eltávolítása
mark Az aktuális rendszerállapot jelölése üres
$1000 dump Az $1000 címen kezdődő 16 32 bites cella kiürítése.
bye Kilép a rendszerből, elvetve az utolsó mentés, sa vagy ss óta végzett összes szerkesztést.
hlp Frissíti a hardveres rendszerinformációt és megjeleníti a start blokkot. Ez jelenleg a 32-es blokk, és megjeleníti az Alkalmazások listáját.
life Futtassa a Conway's Game of Life demóját. Nyomja meg a szóköz billentyűt a kilépéshez (a billentyűzet mnemonikájában egy '.' jelöli), majd írja be az xx és nyomja meg a szóköz billentyűt. Görgessen a "Conways Game of Life" (Conway életjátéka) menüponthoz és nyomja meg az e billentyűt a forráskód megtekintéséhez, majd nyomja meg a '*' billentyűt a szerkesztőben a dokumentációs árnyékblokk megtekintéséhez.

A kurzort a szerkesztőben a kurzorvezérlő billentyűkkel, illetve a nyíl a HOME és az END billentyűkkel is mozgathatja közvetlenül egy piros szó után (szerkesztő vagy értelmező módban), majd nyomja meg az Enter billentyűt (a QWERTY vagy a QWERTZ billentyűzeten, nem a billentyűzeten) az adott szó végrehajtásához.