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
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.
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 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
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.
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!
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.
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.
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.
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.