Forth (programozási nyelv)

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. szeptember 29-én felülvizsgált verziótól ; az ellenőrzések 18 szerkesztést igényelnek .
Tovább
Szemantika parancsoló
Nyelvóra programozási nyelv , értelmezett programozási nyelv és lefordított programozási nyelv
A végrehajtás típusa tolmács/fordító
Megjelent 1971
Szerző Charles H. Moore
Típusrendszer gépeletlen
Főbb megvalósítások gForth , pForth, kForth, SP-Forth [1] , win32forth [2]
Dialektusok FORTH-79, FORTH-83, ANSI FORTH 1994, ColorForth , RetroForth . Forth 2012 Standard
Befolyásolva APL , Lisp
befolyásolta PostScript , Factor és más konkatenatív nyelvek
 Médiafájlok a Wikimedia Commons oldalon

A Forth ( eng.  Forth ) az egyik első konkatenatív programozási nyelv , amelyben a programokat lexémák sorozataként írják le (a Forth nyelv terminológiájában „szavak”). A matematikai kifejezéseket postfix jelöléssel ábrázoljuk, ha veremjelölést használunk . Támogatja a nyelv szemantikájának és szintaxisának meta-kiterjesztésének mechanizmusait, hogy alkalmazkodjanak a kívánt tárgykörhöz. A Forth alapszintű szintaxisa egyszerű, és egyetlen szabályból áll: "minden definíció szóközzel van elválasztva". A negyedik definíciók bármilyen karakterkombinációt tartalmazhatnak.

Számos tulajdonság, nevezetesen az interaktivitás , a rugalmasság és a könnyű fejlesztés teszi a Forth-ot hatékony nyelvvé az alkalmazott kutatás és az eszközfejlesztés számára. A beágyazott vezérlőrendszerek nyilvánvaló alkalmazási területei ennek a nyelvnek . Egyszerűsége miatt a fordító és gyakran a Forth fordító könnyen megvalósítható a mikrokontrollerek túlnyomó többségénél , és keresztprogramozási eszközként is használható . Különböző operációs rendszereket futtató számítógépek programozásakor vagy független operációs környezetként is használják.

Történelem

Létrehozás

A Forth nyelvet Charles X. Moore hozta létre az 1960-as évek végén és az 1970-es évek elején. Moore negyediknek nevezte a nyelvét , mert azt hitte, hogy ez lesz a negyedik generációs számítógépes nyelv .  De mivel egy IBM 1130 dolgozott , amely legfeljebb öt nagybetűből álló neveket engedélyezett, a nevet FORTH -ra ( eng. forth  - forward) alakították át. Moore első kísérletei azonban az 1950-es évek végére nyúlnak vissza egy egyszerű értelmező létrehozására, amely megkönnyíti a csillagászati ​​berendezések vezérlésére szolgáló programok megírását. [3] 

1971 óta Moore a Nemzeti Rádiócsillagászati ​​Obszervatóriumban dolgozott , és részt vett a rádióteleszkóp által fogadott adatok gyűjtésére és feldolgozására szolgáló programok kidolgozásában . Ekkor jelent meg a Forth nyelv első megvalósítása. Ebben a munkában részt vett Moore munkatársa , Elizabeth Rather is , aki a világ második erődprogramozójának tekinthető . 

Az újonnan létrehozott nyelvet az Amerikai Csillagászati ​​Társaság fő programozási nyelvként fogadta el . Később, 1973-ban Charles Moore és Elizabeth Rather megalapította a FORTH, Inc-t [4] , amelynek során a nyelvet a következő évtized során számos platformra átvitték .

Az 1970-es évek végén a FORTH Interest Group (FIG) a nyelv fejlesztése iránt érdeklődő programozókból alakult. Ez a csoport fejlesztette ki a FIG Forth Model koncepcióját, egy nyilvánosan elérhető forth rendszert, amely könnyen portolható népszerű számítógépes architektúrákra. Ezt a negyedik hivatkozási rendszert, a FIG-FORTH-t gyakran tekintik eredeti nyelvi szabványnak.

Szabványosítás

A Forth hivatalos szabványosításának ötlete eredetileg a Nemzetközi Csillagászszövetségen ( Angol  Astronomical Sciences, AST ) származik. 1977 májusában a Kitt Peak Nemzeti Obszervatóriumban ( USA ) tartott értekezleten kidolgozták a Forth nyelv szószedetét , amelyet AST.01-ként jelöltek meg.

1978 februárjában Utrechtben elfogadták a FORTH-77 szabványt, amely a mikroszámítógépes megvalósítást célozta .

1979 októberében a Santa Catalina-szigeten ( Kalifornia ) egy találkozó a FORTH-79 szabvány kidolgozásával ért véget, amely minden típusú számítógépre vonatkozik.

1983 őszén értekezletet tartottak a következő szabvány kidolgozására, amelyet 1984-ben FORTH-83 néven hagytak jóvá. A Fort-83 szabvány bizonyos részletekben eltér a Fort-79 szabványtól, de lényegében nem.

1988-ban az ACM részeként megalakult a SIGFORTH [5] csoport ; volt egy megfelelő orosz ACM-csoport is (elnök - Prof. S. N. Baranov ( Szentpétervár , SPIIRAS )). A SIGFORTH ma már az általánosabb csoport létezik

1994- ben, sok érdeklődő cég bevonásával folytatott hosszas tárgyalás után elfogadták a Forth ANSI nyelvi szabványt. [6]

A jelenlegi Forth nyelvi szabványt 2012-ben fogadták el. [7]

További fejlesztések és felhasználási esetek

A Fort sikerének jól ismert példája a mélytengeri ereszkedő jármű szoftverében való felhasználása, amikor 1985 -ben a Titanicot keresték . A Fortot a Shuttle spektrográfjának szoftverében, mesterséges földi műholdak vezérlésére szolgáló mikromodulokban, a rijádi repülőtér vezérlőrendszerében , számítógépes látórendszerekben , véranalízis és kardiológiai vezérlés automatizálásában, zsebfordítókban is használták.

A Forth dialektust az OpenBootban , a SPARC és PowerPC processzorokon  alapuló számítógépes szoftverben használják .

Az 1980-as évek elején John Warnock és Chuck Geschke, az Adobe Systems munkatársa megalkotta a PostScript nyelvet [8] . A nyelvek hasonlósága ellenére John Warnock megjegyezte [9] , hogy Forth nem volt hatással a PostScript létrehozására.

Vannak olyan processzorok és vezérlők, amelyek hardver szinten támogatják a nyelv számítási modelljét. A Forth számos nyílt forráskódú implementációja készült különféle hardverplatformokhoz. Külön cégek (köztük mindenekelőtt a Charles Moore által alapított FORTH, Inc. és a brit MicroProcessor Engineering Ltd. [10] ) szállítják a nyelv kereskedelmi változatait különböző képességekkel.

Az Electronic Arts 1980-as években készült két otthoni számítógépes játéka a Forth: Worms? (1983) [11] és Starflight (1986). [12] A Canon Cat (1987) a Forth -ot használta rendszerprogramozási nyelvként .

Az EuroForth konferenciákat évente rendezik, többek között Oroszországban, Angliában, Ausztriában, Németországban, Spanyolországban, a Cseh Köztársaságban (korábban Csehszlovákiában). [13]

A klasszikus Forth-rendszer alapfogalmai

A Forth rendszer fő része egy linkelt szólista vagy szótár , amelyből egy szót név szerint hívnak meg, hogy bizonyos funkciókat hajtson végre . A negyedik programozás új szavak meghatározásából áll a szótárban korábban definiált szavak alapján. Miután az új szavakat szótárba állítottuk össze, alakjukban nem különböznek a szótárban már szereplő szavaktól. Egy szó leírását a szótárban szócikknek nevezzük .

A "tipikus" Forth szótár felépítése a következő:

Hagyományosan a Forth cikkek két kategóriába sorolhatók: alacsony szintű cikkek és negyedik cikkek . Az első típusú cikkek a kódmezőben egy mutatót tartalmaznak a célprocesszor kódjaiban egy olyan eljárásra, amely közvetlenül végrehajtja a szó szemantikáját. Az ilyen cikkek paramétermezője az eljárásnak átadott paramétereket vagy magát annak kódját tartalmazza. A negyedik cikk más cikkekre mutat mutatókat a paramétermezőben, a kódmező pedig egy speciális eljárásra, az úgynevezett hivatkozás értelmezőre mutat . A gyakorlatban a cikk szerkezete a megvalósítástól függ, de általában hasonló a fent tárgyalthoz. A negyedik cikk paramétermezőjében használt elvet szálas kódnak , a hivatkozás értelmezőt pedig virtuális negyedik gépnek nevezik  .

Nyelvtanilag a Forth fordító által feldolgozott szöveg tokenek sorozata ( eng.  token ), amelyeket szóközök és sorvégi karakterek választanak el. A bemeneti karakterlánc fordító kiválasztja a következő tokent, és megkeresi az aktuális szótárban, és a keresést az újabb szavaktól a régebbiekig végzi. Ha a szó nem található, a tokent megkísérlik számbejegyzésként értelmezni, amely sikeres esetben a verem tetejére kerül. Ha a token megegyezik a Forth szóval, akkor a rendszer elemzi a Forth rendszer fordítási jelzőjének aktuális állapotát . Ha a zászló törlődik, akkor a szó végrehajtásra kerül - az irányítás átadásra kerül a talált cikk kódmezőjének mutatója szerint. Ha a jelző be van állítva, akkor a szó lefordításra kerül, azaz a kódmezőre mutató mutató hozzáfűződik az éppen létrehozott cikkhez. Ha egy számot lefordítottak, a rendszer kiugrik a veremből, és egy literális kódba fordítja , amelynek végrehajtása egy szótári bejegyzésen belül a verem tetejére tolja a számot. Ezenkívül a szavak tartalmazhatnak egy azonnali jelzőt is, ebben az esetben mindig végrehajtásra kerülnek.

A paraméterek szavak közötti átadásának mechanizmusa:

A nyelv lehetőséget biztosít a rendszermemória mint lineáris régió kezelésére.

A rendszer kötelező eleme a visszatérő verem is. Programozottan elérhető a program vezérlési folyamatának megváltoztatásához.

A fentiek mindegyike csak az első közelítésben vonatkozik az Erőd fogalmára. A Forth nem éppen egy programozási nyelv; inkább átfedi a programozási nyelv fogalmát. A Forth inkább egy virtuális gép és egy ForthOS operációs rendszer. [tizennégy]

A Forth szintaxisa és szemantikája bármely más programozási nyelvre kiterjeszthető közvetlenül a Forth program értelmezése (összeállítása) idején. A Forth metanyelvként való használata kényelmes a Forth-eszközök elérhetősége miatt, amelyek támogatják azokat a nyelveket, amelyek már szerepelnek a Forth rendszerben. A Forth rendszer összes erőforrása elérhető a felhasználó számára, és szótári bejegyzések formájában jelennek meg. Általános szabály, hogy a felhasználó által definiált szótárbejegyzések pontosan ugyanolyan reprezentációval rendelkeznek a Forth rendszerben, mint az összes többi szótárbejegyzés, amely a teljes Forth rendszert alkotja.

Negyedik kódtípusok

Valamilyen szálas kódot használnak egy lefordított program gépi reprezentációjaként .

A szubrutinkód használatakor gépi kódot kapunk, amelyben a hagyományos programozási nyelv fordítója által generált kóddal összehasonlítva, ahol a változók és a szubrutinokból származó visszatérési címek is egyetlen veremben vannak elhelyezve, nincs művelet a „húzásra”. and drop” szubrutin paramétereinek. Visszatérő veremként a processzor fő veremét használjuk, az adatvermet szoftverek rendezik.

Ha a szubrutinkódtól eltérő szálas kódot használ, a csak gépi kódból álló Forth definíciókat primitíveknek nevezzük . Egy ilyen szálas kódban gyakran a főprocesszor veremét próbálják adatveremként használni, és gépi utasítások popés formátumban hozzáférni a rajta heverő adatokhoz push.

Az indirekt szálas kód használatának egyik nem túl nyilvánvaló előnye, hogy az összes natív kód, azaz a primitívek, a kódértelmező hívások és a változók egyetlen kódszegmensbe helyezhetők, amely nem lesz hozzáférhető megváltoztatásra. Az összes többi Forth kód az adatszegmensben található. Sok ilyen szegmens lehet, és könnyebb egyetlen szegmensszámmal dolgozni, mint kettővel.

A negyedik rendszerek a bájtkódot is használhatják logikai következtetésként az indirekt szálas kód és a címtáblázattal ellátott hajtogatott szálas kód fejlesztéséhez. Ebben az esetben a programkód (Forth) bájtok sorozata, vagy valamilyen kitalált virtuális processzor kódja. A kód végrehajtásához szükség van egy 256 címből álló (2 bájtos, 4 bájtos vagy 8 bájtos) címtáblázatra, amelyen a Forth primitívek vagy összetett definíciók találhatók.

Ez az opció nagyon különbözik a többi kódtípustól, és külön figyelmet érdemel.

Programpéldák

.( Helló Világ)

Példa egy .SIGN szódefinícióra, amely kiírja a megfelelő kifejezést a verem tetején lévő szám előjelétől függően:

\ Nyomtassa ki egy szám jelét : .JEL ( n -- ) ?DUP 0=HA "NULLA" MÁS 0>HA ." POZITÍV SZÁM" EGYÉB ." NEGATÍV SZÁM" AKKOR AKKOR ;

Példa valódi kódra, amely egy karakterlánc-konstanst hoz létre a Forth-ban elfogadott formában (számlálóval):

\ Hozzon létre egy "konstanst" egy karakterláncból : S-ÁLLÓ ( c-addr u "<szóközök>név" -- ) TEREMT DUP, 0?DO DUP C@C,CHAR+ LOOP DROP 0 C, TESZ> DUP CELL+ SWAP @ ;

Ez a példa szódefiníciót hoz létre a szó namehasználatával CREATE. A szónév végrehajtásakor a memóriaterületre mutató mutató címe, amely a szó fordításakor volt, a verembe kerül. Ahhoz, hogy valahogy használni lehessen, egy karakterláncot írnak oda ("összeállítva"). Amikor egy szót végrehajtanak, a szó után megadott szavak végrehajtásra kerülnek DOES>.

Így ebben a példában egy új szintaktikai konstrukciót hoztak létre. Hasonló szolgáltatások ritkán állnak rendelkezésre más programozási nyelvekben.

Amellett, hogy új szintaktikai konstrukciókat hoz létre, a Forth egyik legerősebb tulajdonsága az, hogy azonnali végrehajtási szavakkal (azonnali szavakkal) megzavarhatja a fordítási folyamatot.

Példák az ilyen szabványos szavakra:

[ - Átmenetileg végrehajtási módba váltás (sőt, gyakran csak 0-t ír a STATE változóba).

] — Váltson vissza fordítási módba.

LITERAL - Állítsa össze konstansként a verem tetején lévő számot. Ez is az azonnali végrehajtás szava.

Példakód, ahol ezek a szavak használatosak:

\ Bizonyos adatméret kilobájtban 16 ÁLLANDÓ méret \ Nyomtasson jelentést a kilobájtok bájtokká alakításáról :jelentés(-) méret . ." kilobájt egyenértékű a következővel: " [ méret 1024 * ] LITERAL . "bájt" ;

A Forth nyelv jellemzői

Forth vitájának egyik visszatérő témája a „klasszikus” imperatív nyelvek között elfoglalt hely. A Forth programok rendkívül szokatlan megjelenésűek:

  • A program egy szokatlan szósorozatból áll, amelyek között nincsenek úgynevezett "kulcsszavak", amelyeket más programozási nyelveken speciális módon felismernek és dolgoznak fel.
    A Star Wars filmsorozat megjelenésével ezzel kapcsolatban megjelent egy, mára klasszikussá vált vicc, ami jól illusztrálja az Erődnek ezt a tulajdonságát:

Yoda mester beszédtitka kiderült:
az Old Fort programozója csak ő volt.

Eredeti szöveg  (angol)[ showelrejt]

Yoda beszédének feltárt rejtélye a következő: Yoda
csak egy régi Forth programozó volt. [tizenöt]

  • A fenti példa egyben rámutat a Forth egyedülálló tulajdonságára: a zárójelben lévő paraméterlista hiányára és az anyanyelvükön történő programozás lehetőségére. Az anyanyelvi szókincs-szerkezetek használata lehetővé teszi a program érthetővé tételét, ami növeli annak megbízhatóságát. .
  • Az aritmetikai kifejezések " fordított lengyel jelölése " és több verem.
  • A Forth fordító kettős természete. Lehetetlen egyértelműen megmondani, hogy Forth fordító vagy tolmács. Szinte mindig két módban használható, kivéve a ritka eseteket, mint például a "célösszeállítás" (egy program gépi kódjára történő fordítása egy eltérő architektúrájú rendszerhez).
  • Nincs típusrendszer . Az assembly nyelvekhez hasonlóan a Forth sem rendelkezik beépített típusrendszerrel. Nem lehet tudni, hogy a verem teteje egy előjeles szám, egy előjel nélküli szám, egy karakterláncra mutató mutató, egy karakter vagy egy hosszú számként kezelt két szám. A típusellenőrzés a programozó feladata. Ebben az esetben speciális szókészleteket használnak (például a memóriacellák írása és olvasása szavakkal történik, a karakterek pedig szavakkal !és ), bizonyos entitások speciális veremekre kerülnek (például egy halom lebegőpontos számok , az ANSI FORTH 94 szabvány szerint; megvalósítható, megvalósítható vagy nem a fő verem segítségével).@C!C@

Ezek a tulajdonságok határozzák meg a Forth nyelv előnyeit és hátrányait:

  • Egy gyakorlott programozó, aki ismeri az utasításkészletet és a processzor architektúrát, néhány nap alatt meg tudja írni a Forth rendszer "kernelt".
  • A programozó számára biztosított szabadság erős önkontrollt igényel. A Forth nyelven történő programozás belépési küszöbe alacsonyabb, mint a klasszikus programozási nyelveké, de ehhez nemcsak a Forth szintaxis képességeinek és jellemzőinek megszokása és megértése szükséges, hanem a mögöttes filozófia megértése is.
  • A Forth egyetlen programozási paradigmát sem támogat, és egyszerre támogatja őket. Egy Forth programban megírni egy szókészletet az OOP rendszerezéséhez (és egyszerre több is lehet, és jól kijönnek egymással) sokkal könnyebb, mint eldönteni, hogy milyen tulajdonságok szükségesek ebből a szókészletből.
  • A program sok apró szóra bontása lehetővé teszi, hogy gyorsan és egyszerűen ellenőrizzük őket egyenként, átadjuk nekik a szükséges bemeneti paramétereket, és szabályozzuk, hogy mi maradjon a veremben. Valójában ez azt jelenti, hogy bizonyos programösszetevők teszteléséhez nem kell letöltenie az összes függő összetevőt.
  • A Forth legtöbb implementációja lehetővé teszi a program visszafordítását. Az így kapott szöveg alig tér el az eredetitől.
  • A Forth lehetővé teszi bármely más nyelven és rendszeren elérhető programozási technológia megvalósítását. Lehetővé teszi a más nyelveken tiltott technikákat is (például a kód önmódosítását). E technikák negatív következményeinek kiküszöbölése a megfelelő szókincs kialakításával, amely a használatukra kompetens technikát ösztönöz, szintén a programozóra van bízva.
  • A 16 bites rendszerek Forth kódjának mérete, ha a program helyesen van megírva, néha 10-20-szor kisebb, mint a C programból lefordított kódé. A 32 bites rendszerek esetében ez a különbség még nagyobb. Operációs rendszerekben a teljes nyereség százszoros vagy akár ezerszeres is lehet. Az ok nagyon egyszerű - a Forth-ban egy kész feladat több bájt méretű, az összes segédrutin mindenki számára elérhető definícióként valósul meg. A processzorba belefér a Forth rendszer, amit más rendszerek elvileg nem képesek beilleszteni.
  • A folyamatok és szálak szinkronizálása többfeladatos rendszerekben, a kontextusváltás, a korlátozott erőforrásokhoz való hozzáférés megvalósítása jelentik a legnehezebb problémákat az operációs rendszer írásakor. Ezen funkciók támogatására a mikroprocesszorokban speciális utasítások is készülnek. A tolmács számára ez egyáltalán nem probléma, mivel bármilyen processzort és minden szükséges utasítást emulál.

Talán ami igazán hátráltatja a Fort fejlesztését, az az a "nehéz örökség", amely azoktól a kis kapacitású gépektől származott, amelyekhez eredetileg létrehozták. Az ANSI FORTH 94 szabvány például a következő jellemzőkkel rendelkezik:

  • Egy hordozható programnak feltételeznie kell, hogy a lebegőpontos számokból álló halom megvalósítható az alapul szolgáló verem segítségével. Szerencsére ez a legtöbb modern fordító esetében nem így van. De maga a tény, hogy egy ilyen záradék megtalálható a szabványban, bizonyos kellemetlenségeket okoz. A lebegőpontos aritmetika aktív használatával történő programozás során a szabvány ezen normáját hagyományosan figyelmen kívül hagyják.
  • Hasonló szabály vonatkozik a vezérlőfolyam-veremre is. Itt nem minden olyan egyszerű, mivel gyakran pontosan ez az, amiről van szó - a fordítási folyamat során a veremet maga a fordító használja. Ennek az esetek túlnyomó többségében nincs hatása a programra, de magát a funkciót emlékezni kell. Például, ha a fordítás során ki akarunk számítani egy számot a definíció elején kívül, majd konstansként beszúrni egy szóba, akkor valamilyen kerülő megoldást kell alkalmaznia.
  • Sok szó meghatározása a szabványban túl alacsony szintű. Például a szó 2*nem szoroz kettővel, ahogy a neve is sugallja, hanem "az első számú bitet a legjelentősebb bináris számjegyre tolja, a legkisebb jelentőségű bitet nullával tölti meg". Természetesen a legtöbb modern gépen ez ugyanaz, de egy adott architektúra funkcióinak használatának ténye riasztó. (Vannak nyilvánvalóbb szabványos biteltolásos szavak is, LSHIFTés RSHIFT.)

Ezen jellemzők nagy része annak a ténynek köszönhető, hogy a szabvány elfogadásának idején sok rosszul kompatibilis Forth rendszer volt, amelyek két, részben eltérő szabványon alapultak 1979-ből és 1983-ból.

Lásd még

Dialektusok Alkalmazások

Jegyzetek

  1. SP-Forth Project a SourceForge.net oldalon
  2. Win32Forth Project Group . Letöltve: 2006. augusztus 18. Az eredetiből archiválva : 2006. augusztus 13..
  3. CH Moore, ED Inkább DR Colburn. Forth evolúciója . ACM SIGPLAN közlemények, 28. évfolyam, 2. sz. 1993. március 3. / Programozási nyelvek története Konferencia (1993. április). Letöltve: 2010. február 19. Az eredetiből archiválva : 2011. augusztus 22..
  4. ↑ A FORTH, Inc. beágyazott rendszerfejlesztő és programozási eszközei . Letöltve: 2010. február 19. Az eredetiből archiválva : 2010. január 4..
  5. 22. EuroForth Konferencia . Hozzáférés dátuma: 2010. február 19. Az eredetiből archiválva : 2008. december 5.
  6. DPANS'94 . Hozzáférés dátuma: 2007. július 22. Az eredetiből archiválva : 2007. június 30.
  7. Előre . forth-standard.org . Letöltve: 2022. május 2. Az eredetiből archiválva : 2022. május 11.
  8. Adobe PostScript 3 - Erőforrások . Letöltve: 2006. december 2. Az eredetiből archiválva : 2007. január 3..
  9. Federico Biancuzzi, Shane Worden. Programozási úttörők. Beszélgetések a főbb programozási nyelvek alkotóival = A programozás ötletgazdái: Beszélgetések a főbb programozási nyelvek alkotóival. - Symbol-Plus, 2011. - S. 502. - 608 p. — ISBN 9785932861707 .
  10. MPE - MicroProcessor Engineering Limited . Letöltve: 2010. február 19. Az eredetiből archiválva : 2010. január 5..
  11. Maynard, David S. David Maynard: Szoftverművész . Letöltve: 2021. június 27. Az eredetiből archiválva : 2021. június 15.
  12. Maher, Jimmy Starflight . A Digitális Antikvárium (2014. október 28.). Letöltve: 2017. május 23. Az eredetiből archiválva : 2017. április 25.
  13. EuroForth: European Forth Conference . Hozzáférés dátuma: 2010. január 24. Az eredetiből archiválva : 2010. június 16.
  14. ForthWiki - ForthOS . Letöltve: 2006. február 1. Az eredetiből archiválva : 2005. augusztus 30..
  15. Aquatix felhasználói származás . Letöltve: 2012. augusztus 12. Az eredetiből archiválva : 2014. február 9..

Irodalom

  • Baranov S. N., Kolodin M. Yu. Fort Phenomenon // Rendszerinformatika. - Novoszibirszk: VO "Nauka". Szibériai kiadó, 1995. - Szám. 4 . - S. 193-291 . — ISBN 5-02-030678-9 .
  • Baranov S. N., Nozdrunov N. R. A negyedik nyelv és megvalósításai. - L .: Mashinostroenie, 1988. - 157 p. - (számítógép gyártásban). — 100.000 példány.  — ISBN 5-217-00324-3 .
  • Leo Brody. Thinking Forth . — ISBN 0-9764587-0-5 . Archiválva : 2005. december 16. a Wayback Machine -nél
  • Brody L. Beginning Forth Programozási tanfolyam = Starting Forth. Bevezetés a Forth nyelvbe és operációs rendszerbe kezdőknek és profiknak / Per. angolról; Előszó I. V. Romanovszkij. - M. : Pénzügy és statisztika, 1990. - 352 p. - 40.000 példány.  - ISBN 5-279-00252-6 .
  • Brody L. Gondolkodásmód - Fort .
  • Burago A. Yu., Kirillin V. A., Romanovsky I. V. Fort egy nyelv mikroprocesszorokhoz. - Társaság "Knowledge", Leningrádi Szervezet, 1989. - 36 p. - (Az előadó segítségére). - 26.000 példány.
  • Dyakonov V. P. A személyi számítógépek programozásának negyedik rendszerei. - M. : Nauka, 1992. - 352 p. — ISBN 5-02-014460-6 .
  • Kelly M., Spies N. Programozási nyelv Fort / Per. angolról. - M . : Rádió és kommunikáció, 1993. - 320 p. — ISBN 5-256-00438-7 .
  • Szemjonov Yu. A. Programozás a Forth nyelven. - M . : Rádió és kommunikáció. — 240 s. — 50.000 példány.  — ISBN 5-256-00547-2 .
  • Townsend K., Foght D. Szakértői rendszerek tervezése és szoftveres megvalósítása személyi számítógépeken / Per. angolról. V. A. Kondratenko, S. V. Trubitsyna. - M. : Pénzügy és statisztika, 1990. - 320 p. - ISBN 5-279-00255-0 (Szovjetunió) ISBN 0-8306-2692-1 (USA).
Folyóirat-kiadványok

Linkek

Alapértelmezett Orosz nyelvű források A forrásokhoz mutató hivatkozások gyűjteményei