2003. szeptember 05 - Howerd Oakford www.inventio.co.uk
A colorForth magenta változója a forráskódbeli cellájának címét adja vissza. A magenta értékének futtatás közbeni megváltozása automatikusan átírja a forráskódban a változóhoz rendelt értéket, megnyitva az utat a program és az adatok szorosabb integrálása érdekében.
Chuck Moore legújabb Forth fejlesztése, a colorForth, egyszerűbb, mint a többi Forth, mert olyan kialakítást használ, amely a korábban nélkülözhetetlennek gondolt számos funkciót kiküszöböl:
Meglepőnek tartom, hogy Chuck képes volt egyszerűsíteni vagy eltávolítani ezeket a szabványos Forth-struktúrákat, és mégis olyan környezetet biztosít, amely felhasználható komplex alkalmazások fejlesztésére:
save
„mentés” funkcióval másolják ki a lemezre vagy más külső tárolóra..S
nem szükséges, mivel a verem megjelenik a szerkesztőben.Érdekes megjegyezni, hogy a hagyományos Forth konstrukcióknak nincs egyszerű colorForth megfeleltetése.
Például a QUIT funkcionalitását felváltotta a legfelső veremelem Huffman kódolása, a kijelző folyamatos háttérfeladat-frissítése és egy összetettebb szerkesztő kombinációja.
Hasonlóképpen a colorForth bíborváltozó nem írható le egyetlen hagyományos Forth konstrukcióval. A legközelebbi analógia VÁLTOZÓ, és bármelyik változótípus végrehajtása valóban az adatok címét hagyja a veremben. A különbség abban rejlik, hogy hol tárolják az adatokat. A hagyományos változó egy címet ad vissza, amely a lefordított kód paramétermezőjére mutat. A bíborváltozó a forráskód következő 32 bites cellájának címét adja vissza.
Fontolja meg a változó két típusának inicializálását:
VÁLTOZÓ x 123 x! \ hagyományos
A forráskódban megadott értéket a változó paramétermezőjében tároljuk.
[ bíborvörös ] x 0 \ colorForth
A bíborváltozó definiálásakor az alapértelmezett értéke 0 lesz. Ha új értéket tárolunk benne, a forrás megváltozik.
[ sárga ] 123 x! \ sárga „értelmezett” parancsok
[ bíborvörös ] x 123 \ colorForth
Mivel az érték magában a forráskódban van tárolva, egy új érték tárolása megváltoztatja a forrást.
A fordítás az ember által olvasható forráskódot gépi futtatható utasításokká alakítja. Mivel az emberek és a számítógépek nagyon különbözőek, ez nem triviális művelet. Mivel a bíborváltozó adatait a forrás tárolja, a lefordított kód eldobható az információk elvesztése nélkül.
Ennek három hatása van:
A colorForth környezet lehetővé teszi egy új konstrukciót, a bíborváltozót , amelynek adatait a forráskód tárolja. Ez lehetővé teszi az alkalmazások összeállítását és elvetését állapotinformációik elvesztése nélkül, ami viszont más, egyszerűbb stílusú programozást tesz lehetővé.