Érdekes

Evolúció az Forth

Eredetileg egy https://www.forth.com/resources/forth-programming-language/.

Absztrakt

Forth között egyedülálló programozási nyelvek a fejlesztése, elterjedése már egy alulról szerveződő erőfeszítés által nem támogatott jelentősebb vállalati vagy tudományos szponzorok. Eredetileg fogant, kifejlesztett egy egyedi, a későbbi fejlődés fejlődött alatt két jelentős hatások: profi programozók, akik kifejlesztett eszközök alkalmazás, hogy megoldja a problémákat, akkor kereskedelmi forgalomban őket, valamint az érdekeit amatőrök érintett ingyenes megoszlása Forth. Ezek a hatások létre, hogy egy nyelv jelentősen eltér a hagyományos programozási nyelvek.

Bemutatták a ACM SIGPLAN Történelem Programozási Nyelvek Konferencia (HOPL II., Aprilis, 1993). Megjelent ACM SIGPLAN Közlemények, Hangerő 28, No 3, Március 1993 . Engedély másolat díj nélkül, részben vagy egészben ez az anyag nyújtott, feltéve, hogy a másolatok nem készült, vagy elosztott közvetlen kereskedelmi előny, az ACM szerzői jogi figyelmeztetés, illetve a címet a kiadvány, illetve a dátum jelenik meg, vegyük észre, tekintettel arra, hogy a másolás engedélyével, az Association for Computing Machinery. Másolni, különben vagy újbóli, megköveteli a díj és/vagy adott engedélyt.

Szerzők

Elizabeth D. Rather
Elizabeth Rather a társ-alapítója  FORTH, Inc. egy vezető szakértője a Forth programozási nyelv. Elizabeth volt egy kollégám, Chuck Moore, amikor dolgozott NRAO a korai 1970-es években. Közben a fejlesztés Forth, ő lett a második valaha Forth-programozó. Azóta lett egy vezető szakértő, a nyelv, az egyik fő támogatói. Elizabeth volt a szék, az ANSI Műszaki Bizottság, hogy a termelt az ANSI Szabvány Forth (1994). Ő egy szerző több könyvet, Forth adta a sok képzési szemináriumokon a használat.

Donald R. Colburn
Don Colburn volt az egyik legkorábbi Forth a felhasználók. Ő volt az egyik alapítója a Negyedik Csoport Érdeke, hozzájárult ahhoz, hogy a fejlesztés az első public-domain figForth. Ezt követően megalapította a Kreatív Megoldások, Inc. (CSI), amely bevezette MacForth™ 1984-ben. MacForth volt az első programozási nyelv képes futtatni a Macintosh, amikor először bevezetésre. Nem volt tagja az ANSI-Műszaki Bizottság, hogy a termelt az ANSI Szabvány Forth (1994). Halt meg 2009-ben.

Charles H. Moore
Chuck Moore Elnök-CTO Zöld Tömbök, Inc. Ő alapította FORTH, Inc., 1971-ben, majd ment, hogy dolgozzon ki egy Oda-alapú chip (RTX2000) az 1980-as évek közepétől, származékai, amelyek még mindig széles körben használják a NASA által. A Számítógép Cowboyok, Moore úgy tervezték, az Sh-Boom mikroprocesszor aztán alapította iTv, az Internet Készülék a gyártó. Az 1990-es években használta a saját CAD szoftver tervezés több egyéni VLSI chips, beleértve a F21 processzor hálózati interfész. Az utóbbi időben, hogy ő találta fel a colorForth, majd nekiláttak a VLSI tervezés eszközei. Moore szolgált CTO a IntellaSys a fejlesztés során az S40 multi-chip.

1. Chuck Moore Programozási Nyelv

1.1 Korai Fejlesztés

Moore programozási karrierje akkor kezdődött, az 1950-es években a Smithsonian Asztrofizikai Obszervatórium, a programok számítási ephemerides, orbitális elemek, sat tv állomás pozíciók, stb. [Moore, 1958], [Veis, 1960]. A forráskód töltött két kártya tálcát. Minimalizálni újrafordítása ez a nagy program, kidolgozott egy egyszerű tolmács olvasni kártya ellenőrzése a program. Ez lehetővé tette, hogy össze különböző egyenletek több műholdak nélkül újrafordítása. Ez a tolmács szerepelt több parancsok, valamint a fogalmak, hogy túlélte a modern Oda, elsősorban a parancsot, hogy olvassa el a “szavak” szóközökkel elválasztva egy átalakítani számok külső, belső forma, plusz egy IF … ELSE konstrukció. Talált szabad formájú bemeneti, hogy mind hatékonyabb (kisebb, gyorsabb kód), valamint megbízható, mint a gyakoribb Fortran gyakorlat, a formázás a konkrét oszlopok, amelyek eredményeként számos újra fut miatt mis igazítva oszlopok.forth_charles_moore 1

1965-ben költözött New Yorkba, hogy legyen egy free-lance programozó. Dolgozik a Fortran, Algol, Jovial, PL/I, valamint a különböző összeszerelők, hogy továbbra is használja a tolmács, amennyire csak lehetséges, a szó szoros értelmében könyv körül a paklihoz, recoding, mint szükséges. Minicomputers megjelent a ’60-as évek, velük telex terminálok, amelyek Moore ki szereplők kezelése karakter bemenet, mind a kimenet. Egy projektben írás egy Fortran-Algol fordító fájl szerkesztése rezsi. Ez megerősített neki az érték a terek között, a szavakat, amelyek nem voltak szükségesek a Fortran forrás.

Frissen házasodott meg, akik egy kisvárosi környezet, Moore csatlakozott Mohasco Iparágak, Amsterdam, NY, 1968-ban. Itt kifejlesztett számítógépes grafikai programok egy IBM 1130 minicomputer egy 2250 grafikus kijelző. Ez a számítógép egy 16-bites CPU, 8k RAM, az első lemez, billentyűzet, nyomtató, kártyaolvasó/punch (használt lemezre mentés!), pedig Fortran fordító. Hozzátette, egy kereszt-assembler, hogy a program generálja a kódot a 2250, valamint egy primitív szerkesztő, forrás-menedzsment eszközök. Ez a rendszer is felhívni animált 3d-s képek, amikor az IBM szoftver konfigurációs drew csak statikus 2-D-s képek. A szórakoztató, ő is írt egy változata Spacewar, korai videó játék, átalakított, az Algol Sakk programot az új nyelvet, most (az első alkalommal) hívott FORTH. Lenyűgözte, hogy sokkal egyszerűbb lett.

A neve FORTH célja az volt, hogy azt sugallják, szoftver, a negyedik (következő) generációs számítógépek, amelyek Moore láttam, mint az, hogy jellemzi elosztott kis számítógépek. Az operációs rendszer használta, abban az időben korlátozott fájl nevét, hogy öt karakter, ezért az “U” elvetettük. FORTH volt írva a felső ügyet, amíg az 1970-es években, mert az előfordulása a felső-esetben-csak az I/O eszközök. A használat “FORTH”, az volt az általánosan elfogadott, ha kisbetűs vált széles körben elérhető, mert a szó nem volt egy mozaikszó.

Moore talált az Forth alapú 1130 környezet, programozási az 2250 jobb, mint a Fortran környezet, amelyben az 1130 szoftvert fejlesztettek ki, így kiterjesztett be egy 1130 fordító. Ez a hozzáadott hurok parancsok, a koncepció tartja forrás 1024 byte-os blokkok, eszközök kezelése őket, a legtöbb fordító funkciók felismerjük, hogy az Forth.

A legfontosabb, hogy volt már egy szótár. Eljárások már volt neve, a tolmács keresett egy láncolt listát, a mérkőzés. A nevek összeállított egy gróf, három karakter, a gyakorlatban tanultam a fordító, író, a Stanford, amely érvényesült az Forth, míg az 1980-as években. Belül egy szótár bejegyzés volt egy “kód mezőbe”, amely a címét kód végezni ezt a gyakorlatot. Ez egy közvetett menetes kód végrehajtása (lásd 5.2 pont) volt használatban, öt évvel azelőtt, Dewart, papír, közvetett menetes kódolt megjelent Kommunikáció a ACM [Dewar 1975]. A használata közvetett menetes kód volt egy fontos újítás, mivel közvetett ugrás volt az egyetlen rezsi egyszer egy szót találtak. Szótár bejegyzések állhat mutatók egyéb “magas szintű” rutin vagy a gépi utasításokat.

Végre, annak érdekében, hogy egy egyszerű mechanizmus fészkelő rutinok, a második verem az úgynevezett “return stack” volt hozzá. Az az előnye, hogy egy verem fenntartva feladó címe az volt, hogy a másik verem felhasználható szabadon a paraméter halad, anélkül, hogy “kiegyensúlyozott” előtt, illetve hívások után. Az első papír, Forth volt írva a Mohasco [Moore, 1970a]. 1970-ben Mohasco rendelt Moore, hogy egy ambiciózus projekt során egy új Univac 1108 kezelése a hálózat bérelt vonalak a parancs-entry rendszer. Ő hordozott Forth, rá a 1108, elintézte, hogy a felület COBOL modulok volt a tranzakció-feldolgozás. A 1108 Oda volt kódolva az assembler. Ez pufferelt bemenet, mind a kimenet, üzeneteket, valamint a megosztott a CPU között, feladatok kezelése minden vonalon. Úgy is értelmezni, hogy a bemenet, majd kivégezték a megfelelő COBOL modulok. Ez a verzió Forth hozzá mechanizmusok meghatározó, irányító feladatokat, valamint egy hatékony rendszer kezelése lemez blokk pufferek hasonló rendszerek ma is használnak. Sajnos egy gazdasági visszaesés led Mohasco, hogy megszünteti a 1108 projekt befejezése előtt. Moore azonnal felmondott, majd írt egy dühös verset, valamint egy könyvet Forth [Moore, 1970b], hogy soha nem adták ki. Megírta, hogy a fejleszteni Forth-szoftver, illetve ösztönözni az egyszerűség, az innováció.

1.2 Filozófia, Célok

Hogy Moore, Forth volt egy személyes választ, hogy a csalódottság, a meglévő szoftver eszközök, amelyek azt tekinteni, mint egyfajta “Bábel tornya” [Moore, 1970a]:

A szoftver rendelkezik nagy számítógépek, kellékek egy hierarchia nyelvek: az assembler meghatározza a nyelv leírásához a fordító, illetve felügyelő; a felügyelő a nyelv, a munka ellenőrzése; a fordító a nyelv alkalmazási programok; a program a nyelv véleményét. A felhasználó nem ismeri, vagy ismeri, ezeket a nyelveket: de ott vannak. Állnak köztünk, a számítógép, impozáns, a korlátozások, mit tud, mibe fog kerülni.

Költsége van, ez a hatalmas hierarchia nyelvek igényel nagy beruházást ember, gép idő termel, egy hasonlóan nagy, hogy fenntartsuk. A költségek dokumentálása ezek a programok, illetve az olvasás a dokumentáció hatalmas. De végül ez az erőfeszítés a programok még mindig tele hibával, kínos használata lehetőség.

Moore fogant Forth, mint cseréje az egész “végtelen hierarchia” egy rétegben, amelyekhez csak két elemből áll: egy programozó-Forth felület, amely minimális dokumentáció (minimális, mert a felület legyen egyszerű, természetes), valamint az Forth-gép interfész, amely maga a program. Az volt a véleménye, teljesen személyes, figyelembe véve, hogy a saját igényeinek figyelembevételével saját tapasztalat. Az alábbi szemelvények a kiadatlan könyv [Moore, 1970b], leírni ezt a nézetet:

Írtam sok program az évek során. Próbáltam írni jó programok, de megfigyeltem, milyen módon írok nekik, inkább kritikusan. A cél az volt, hogy csökkentse a szükséges erőfeszítést, valamint növeli a minőséget előállítani.

A természetesen ezeket az észrevételeket, amit találtam magam, hogy ugyanazt a hibát többször is. Hibák, amelyek nyilvánvaló visszatekintve, de nehéz felismerni ebben az összefüggésben. Azt hittem, ha én írtam egy receptet programozás, legalább a emlékeztessem magam a problémákat. Ha az eredmény értéke, hogy nekem kell az értéket, hogy mások….

Mindenekelőtt, a vezérlő elv, amit az úgynevezett “Alapvető Elv, hogy” volt, “ez egyszerű!” Pályafutása során megállapította, hogy ez az elv a vallási elkötelezettség.

Mivel a képességek hozzá, hogy egy program növeli, a komplexitás, a program exponenciálisan nő. A probléma a kompatibilitás fenntartása között ezeket a képességeit, nem beszélve valamiféle belső összhang a program, könnyen a kezéből. Ez kiküszöbölhető, ha alkalmazza az Alapvető Elv. Lehet, hogy ismerje egy operációs rendszer, amely figyelmen kívül hagyja az Alapvető Elv.

Nagyon nehéz alkalmazni. A nyomás, a belső, mind a külső, szövetkeztek, hogy új funkciókat a program. Végül is, csak egy fél tucat utasításokat, akkor miért nem? Az egyetlen ellenfél a nyomás az Alapvető Elv, ha figyelmen kívül hagyjuk, nincs ellenfél nyomását.

A fő ellenség az egyszerűség volt, a kilátás, a csábító, az általánosság, hogy a led-programozók, hogy megpróbálja megjósolni a jövőbeni igények, valamint gondoskodni kell őket. Szóval hozzátette: ebből az következik, hogy az Alapelv: “Ne találgass!”

Ne tedd a kódot a program, hogy lehet használni. Ne hagyja horgok, amely lehet lógni fájlokat. A dolog, amit érdemes csinálni, vagy végtelen; ez azt jelenti, hogy minden 0 valószínűsége a felismerés. Ha szüksége van egy bővítmény később, a kód később — valószínűleg jobb munkát végez, mint ha most. Pedig ha valaki felveszi a kagylót, nem veszi észre, hogy a horgok elment? Majd a dokumentum ezt a szempontból a program?

Ez a megközelítés repült az arcát elfogadott gyakorlat akkor, mint most. Egy pillanat következménye volt, még eretnek: “Csináld magad!”

A hagyományos megközelítés, kényszerű, hogy kisebb vagy nagyobb mértékben, az, hogy kell használni a standard szubrutint. Én azt mondom, hogy meg kell írni a saját szubrutinok.

Mielőtt írni a saját szubrutinok, tudnod kell, hogyan. Ez azt jelenti, hogy a gyakorlati, írásbeli előtt; ami megnehezíti, hogy az induláshoz. De egy próbát. Írás után ugyanaz a szubrutint egy tucatszor annyi számítógép, nyelvek, nem lesz elég jó.

Moore ezt követte, hogy egy elképesztő mértékben. Az egész az 1970-es években, mint ő végre Forth 18 különböző Cpu-k (1. Táblázat), hogy mindig írtam, mindegyik a saját assembler, a saját lemez, majd a terminál vezetők, de még a saját szorzás, osztás szubrutinok (a gépek, hogy szükség rájuk, annyi volt). Amikor ott voltunk, a gyártó által mellékelt rutinok ezek a funkciók, olvassa el azokat az ötleteket, de soha nem használtam őket, szó szerint. Azzal, hogy pontosan tudja, hogy Forth is használja ezeket a forrásokat, kihagyva horgok, általánosság, a puszta készség, tapasztalat (úgy vélte, hogy a legtöbb szorzás/osztás szubrutinok írta, aki soha nem csinált ilyet azelőtt soha többé), a változatok voltak mindig kisebb, gyorsabb, általában jelentősen.

Sőt, soha nem is volt elégedett a saját megoldásokat találni a problémákra. Feleleveníti egy számítógép, vagy egy alkalmazás után néhány évvel, gyakran újra írt kódot tartalmaz. Sosem újra felhasználni a saját kód, anélkül, hogy újra vizsgáljuk meg a lehetséges fejlesztéseket. Ezt később forrása lett a frusztráció, hogy Inkább ki, mint a marketing karja Forth, Inc. (lásd 2.2), gyakran ajánlat munkahely az a feltételezés, hogy mivel Moore volna egy hasonló projektet, hogy ez egy könnyű lenne — csak tehetetlenül nézni, mint tépte fel az elmúlt kódot, majd újrakezdtem.

Ma, Moore tervezése Forth alapú processzorok használatával saját, Forth alapú CAD rendszer, amely van, újra írt, (néha újjá, a saját hardver) szinte folyamatosan 1979 óta.

Moore tartotta magát, elsősorban az alkalmazások programozó, úgy tekinteni, mint egy nagy kihívás. Érzékelhető, hogy a “rendszerek programozók” ki épített eszközök “alkalmazások programozók” használja volt lekezelő felé összetevők. Úgy érezte, töltött egy nagy töredéke a szakmai életét, kerülő akadályokat emeltek által rendszerek programozók a rendszer védelme érdekében a programozóknak, a programozók, a maguk, s elhatározta, hogy Forth más lenne. Forth volt a célja, hogy egy programozó, aki intelligens, magasan képzett, profi; ez volt a célja, hogy felhatalmazza, nem kényszerítés.

A nettó eredmény a Moore filozófia egy olyan rendszer, ami nem volt kicsi, egyszerű, tiszta, rendkívül rugalmas: annak érdekében, hogy ez a filozófia a gyakorlatban, rugalmas szoftver elengedhetetlen. Az ok, amiért az emberek elhagyják a horgok a jövő fájlokat, hogy általában túl nehéz, időigényes, hogy újra végrehajtani valamit, amikor követelmények változnak. Moore látta, hogy egy egyértelmű különbséget aközött, hogy képes tanítani egy számítógép, hogy “semmit” (használata egyszerű, rugalmas eszközök), valamint a kísérlet, hogy lehetővé teszik, hogy a “minden” egy hatalmas, általános célú OS. Elszólja magát, hogy a korábbi, feltéve, hogy magát az ideális eszközkészlet, hogy kövesse a látás.

2. Fejlesztése, Terjesztése

A korai 1970-es években, Oda ért el olyan érettségi fokot, hogy nem csak lehetővé tette, hogy használható alkalmazások jelentős, de, hogy vonzza a figyelmet a többi programozók, illetve szervezetek. Válaszol az igényeiknek, Moore végre a több számítógép, illetve igazítani, hogy kezelni egyre nagyobb osztályok alkalmazások.

2.1 Forth a NRAO

Moore fejlesztette ki az első teljes, önálló végrehajtása Oda-1971-ben a 11-es rádió teleszkóp által működtetett Nemzeti rádiócsillagászati Obszervatórium (NRAO) a Kitt Peak, Arizona. Ez a rendszer futott, két korai minicomputers (16 KB DDP-116 32 KB H316) csatlakozott egy serial link. Mindketten egy multiprogrammed rendszer, valamint egy többprocesszoros rendszer (az, hogy mindkét számítógépek megosztott felelősség szabályozására, a távcső, a tudományos műszerek) volt felelős mutató követi, a távcső, adatok gyűjtése, rögzítése a mágneses szalag, támogató interaktív grafikus terminál, amelyen csillagász lehet elemezni a korábban rögzített adatok. A multiprogrammed természet a rendszer lehetővé tette, hogy ezeket a feladatokat elvégezni egyidejűleg, anélkül, hogy az időzítés konfliktusok, vagy egyéb beavatkozás.

A rendszer is egyedülálló, hogy időt, hogy minden szoftver fejlesztés került sor a minis magukat, a mágneses szalag forrás. Nem csak ezek Oda-rendszerek támogatása alkalmazás fejlesztés, ők is támogatott magukat. Oda is volt írva Oda, használja a “metacompiler”, hogy létrehoz egy új rendszer, a kernel, ha szükséges.

Hogy ezek a szoftver képességeit ebben az összefüggésben fontos felismerni, hogy a gyártó által szállított rendszer szoftver ezek a korai minicomputers rendkívül primitív. A fő eszközök voltak, kereszt, összeszerelők, FORTRAN kereszt fordító futó szerverek (bár a FORTRAN kereszt fordítók voltak túl hatékony semmit összetett, mivel az apró emlékek, a cél a gépek). On-line programozás támogatása korlátozott volt, hogy összeszerelők betöltve a papír szalag, a forrás karbantartott, papír kazetta. Digitális Berendezések Rt. nemrég bejelentette, hogy a RT-11 OS rendszer a PDP-11-es vonal, amely kínált korlátozott előtér-háttér működés; nincs formája a konkurens volt elérhető a H316 család. Többfelhasználós működés az a fajta, ami lehetővé tette NRAO csillagászai, hogy grafikusan adatok elemzésére, miközben az üzemeltető irányította a látcsövet, élő adatok folyt, hallatlan.

Edward K. Conklin, fejét a Tucson osztály NRAO ami működött a 11-es teleszkóp, nehezen fenntartani a szoftver, mivel Moore alapján a NRAO központjában, Charlottesville, VA. Így 1971-ben hozott Elizabeth Rather egy rendszereket elemző, a University of Arizona, hogy nyújtson helyi támogatás a részmunkaidőben. Sokkal inkább meg volt döbbenve, hogy megtalálja ezt a kritikus rendszer írt egy egyedülálló nyelv, nem dokumentált, illetve ismert, hogy csak egy ember. Neki ösztönös reakciója az volt, hogy újra írni az egészet, a FORTRAN, hogy irányítani. Sajnos azonban, nem volt sem idő, sem a költségvetés, tehát azt tűzte ki, hogy megtanulják, valamint a dokumentumot, a rendszer, amennyire csak tudta.

Körülbelül két hónap után, Inkább kezdték felismerni, hogy valami rendkívüli történt: annak ellenére, hogy a hihetetlenül primitív jellegét az on-line számítógépek, annak ellenére, hogy a furcsaság, az a nyelv, annak ellenére, hogy nincs semmilyen helyi szakértők vagy erőforrás, hogy képes még a néhány órát töltött az Forth számítógépek egyszer egy héten, mint az egész héten, amikor ő volt gyakorlatilag korlátlan hozzáférés több nagy szerverek.

Kíváncsi volt, miért. A nyilvánvaló válasz úgy tűnt, hogy hazugság az interaktív jellege Forth. A programozó figyelmét, sosem szakad az eljárási felső nyitó-záró fájlok betöltése, valamint a futás fordító, linkers, rakodó, debuggers, stb. De több is ennél. Például, az eszközök által használt Forth OS, fordító, valamint más belső funkciók állnak rendelkezésre, hogy a programozó. Pedig, mint Chuck Moore célja, a korlátok minimális, a megengedő hozzáállás. Forth hívei még mindig szeretem, hogy a vita a forrás nagysága akkora a termelékenység növekszik!

Inkább azonnal elhagyta az Egyetemen kezdett dolgozni NRAO közösen Kitt Peak National Observatory (KPNO), optikai obszervatórium, amely NRAO közös létesítmények fenntartása, a Negyedik rendszer NRAO, mind a fejlődő egy KPNO (amely később használt KPNO 156″ Mayall teleszkóp, valamint egyéb eszközök [Phys. Sci. 1975]). A következő két évben ő írta az első Forth-útmutató [Inkább, 1972] gombot, majd adott egy számot, újságok colloquia belül a obszervatórium, valamint a kapcsolódó csillagászati szervezetek [Moore, 1974a].

1973-ban, Moore pedig Inkább felváltotta a twin-számítógépes rendszer egyetlen lemez-alapú PDP-11-es számítógép [Moore, 1974a&b]. Ez egy többfelhasználós rendszer, támogató négy terminálok amellett, hogy a feladatok ellenőrzése a távcsövet, s véve az adatok. Ez annyira sikeres volt, hogy a vezérlő részei továbbra is használatban 1991-ben (adatgyűjtés, elemzés funkciók vagy több, függ a kísérleti berendezések, technikák, amelyek radikálisan megváltozott az évek során). A rendszer nem volt annyira fejlett, hogy a csillagászok a világ minden tájáról kezdett kérek másolatot a szoftverről. Változatok voltak telepítve a Steward Observatory, MIT, Imperial College (London), a Cerro Tololo (Chile) Inter-Amerikai Obszervatórium, valamint a University of Utrecht (Hollandia). Használata gyorsan terjed, 1976-ban Forth fogadták el, mint egy szabványos nyelv, amelyet a Nemzetközi Csillagászati Unió.

2.2 Kereskedelmi Minicomputer Rendszerek

Befejezését követően a korszerűsített rendszer, 1973-ban, Moore pedig a kollégái Inkább, Conklin alakult FORTH, Inc. felfedezni kereskedelmi használja a nyelvet. FORTH, Inc. fejlett többfelhasználós változata Forth [Rather, 1976a] a legtöbb minicomputers akkor használja (lásd Táblázat 1), eladás, ezek a komponensek egyedi alkalmazások széles körben változatos piacon, kezdve az adatbázis alkalmazások a tudományos alkalmazások, mint például a képfeldolgozás. A minicomputers alkalmazások az 1970-es években, feltéve, hogy a környezet, amelyben Működik fejlett, stabil, olyan mértékben, hogy minden újítás hozzájárult ahhoz, hogy a független implementors az ezt követő években a képviselt viszonylag kisebb változatok ez a téma. Azért, mert ez az, mi kell egy közeli pillantást a tervezés, mind a szerkezetét, ezek a rendszerek.

ÉVES MODELL ÜGYFÉL FORTH ALKALMAZÁSOK
1971 Honeywell H316 NRAO Adatgyűjtő, on-line elemzési w/grafikus terminál
1971 Honeywell DDP116 NRAO Rádióteleszkóp ellenőrzés
1972 IBM 370/30 NRAO Adatok elemzése
1972 Varian 620 KPNO Optikai távcső irányítani.
1972 HP2100 KPNO Műszerek
1973 Modcomp NRAO Adatok elemzése
1973 PDP-11 NRAO Teleszkópja, ellenőrzés, adatgyűjtés, elemzés, grafikus
1973 DG Nova Steward Observatory Adatgyűjtés, elemzés
1974 SPC-16 Steward Observatory Földi irányítás a léggömb-viselt teleszkóp
1975 SDS920 Aerospace Corp. Antenna vezérlő
1975 Prime General Dynamics Környezetvédelmi ellenőrzések
1976 Four-Phase Source Data Systems Adatbevitel, adatok alap kezelése
1977 Interdata Series 32 Alameda Co., CA Adatok alap kezelése
1977 CA LSI-4 MICOA Üzleti rendszerek
1978 Honeywell Level 6 Source Data Systems Adatbevitel, adatok alap kezelése
1978 Intel 8086 Aydin Controls Grafika, képfeldolgozás
1980 Raytheon PTS-100 American Airlines A légitársaság megjelenítéséhez, majd munkaállomások

Táblázat 1. Számítógépek, amelyek Chuck Moore személyesen végre Forth-rendszerek. 1978-ban, az implementáció Forth a Szintű 6, 8086 képviselte az első rezidens szoftver mindkét CPU, felkészülés a gyártók rendszerek által több hónapja.

2.2.1 Környezetvédelmi megszorítások
Minicomputers az 1970-es években sokkal kevésbé erős, mint a legkisebb microcomputers ma. Az első fél évtizede nem minden rendszer is volt lemezek — 1/2″ szalag volt, gyakran csak a tárolóhely áll rendelkezésre. Memória méret mozgott 16-tól 64 Kbyte-ban, bár az utóbbi tekintették nagy. A korai 1970-es években, a legtöbb programozás minis volt az assembly. A középső az évtized fordítók a Fortran, BASIC volt elérhető, valamint a gyártó által mellékelt vezetők, mint például a DEC, ez RT-11 támogatott előtér-háttér művelet. Többfelhasználós rendszerek is egyre közös: egy PDP-11-es, vagy Nova várható, hogy támogatja a legfeljebb nyolc felhasználók, bár a teljesítmény a rendszer nyolc aktív felhasználók volt szegény.

Ezen a hardver, Moore Forth rendszerek felajánlott egy integrált fejlesztői eszközkészlet beleértve interaktív hozzáférést egy assembler, szerkesztő, valamint a magas szintű Forth nyelv, kombinálva egy többfeladatos, többfelhasználós operációs környezet támogatása 64 felhasználók anélkül, hogy a bomlás látható, mind a rezidens, anélkül, run-time átfedések.

Bár az idő-kritikus részeit a rendszer voltak írva az assembler, mint a legtöbb alkalmazás szükséges nagyon nagy teljesítményű, Moore is port egy egész Forth-fejlesztési környezet, hogy egy új számítógépet, úgy két hét múlva. Azt értük el, hogy az írás, ide-Forth, Forth — van, Forth-számítógép képes generálni Forth egy másik, az adott cél rendszer assembler kód, körülbelül 60 primitívek. Mivel az első lépés a port volt tervezése, írásban, a cél assembler, lehetséges, hogy Moore írt több összeszerelők a különböző processzorok, mint bárki más.

Hogy képes port a rendszer könnyen új architektúrák volt fontos, mivel a minicomputer piac rendkívül széttagolt. Számos CPU volt elérhető, mindegyik támogatta a nagy számú lehetséges merevlemez-vezérlő, majd a autóval kombinációk. Ma ezzel szemben, a mikroszámítógép piac által uralt egy nagyon rövid lista a processzor család, majd betartása de-facto szabványok, mint például a PC/AT a norma.

Létesítmények végeztek a helyszínen, mivel kivitelezhetetlen volt, hogy a hajó a minicomputers. Amikor LSI-11 első elérhetővé vált, Moore vettem egy szerelve egy carry-on bőrönd, egy egységes 8″ floppy meghajtó a második bőrönd. Ez a hordozható személyi számítógép elkísérte mindenhol 1982-ig, úgy viselkedik, mint egy “barátságos” fogadó generáló új Forths.

2.2.2 Alkalmazás követelmények
Ha az igazgató a környezetvédelmi megszorítások voltak memória korlátai, valamint egy kell, hogy szolgálja egy széles spektrumú CPU-architektúrák, az alkalmazási követelményeknek domináló szükséges teljesítményt. Íme néhány a fő alkalmazási területek, ahol Forth-elért siker ebben az időszakban:

1. A kereskedelmi/üzleti adatbázis rendszerek:
Első kifejlesztett Cybek Corp irányítása alatt Arthur A. Gravina, ezek a rendszerek támogatott több terminálok egy Általános Adatai Nova, kezelése nagysebességű a tranzakció-feldolgozás. Az első az volt írva Vernon Grafika, Inc., a szolgáltatás elnökséget, hogy a Csendes-óceáni Telefon, 1974-ben. Támogatott 32 terminálok a tranzakciók feldolgozása ellen, egy 300 MB adat bázis. Az első héten a rendszer kezelte több, mint 100.000 tranzakciók egy nap (40,000 volt a követelmény). A rendszer később bővíthető támogatja a 64 terminálok valamint egy 600 MB adat bázis, nem észrevehető lebomlás a reakció idő, amely alatt maradt egy kicsit.

Cybek ezt követően forgalomba hozott ez a rendszer üzleti alkalmazások, a banki, illetve a kórházi menedzsment; a jelenlegi verzió által forgalmazott egy részlege, a McDonnell Douglas. Egy hasonló kísérlet a Forrás Adatok Rendszerek Iowa-ban készített egy multi-terminál adatbeviteli rendszer által forgalmazott NCR Corp. – a kórházi kezelése vagy hasonló alkalmazások.

A teljesítmény egy ilyen rendszer túlnyomórészt által uralt operációs rendszer kérdésekről, elsősorban a képesség, a bennszülött Forth-blokk alapú fájlrendszer, hogy írni-olvasni adatfájlok nagyon gyorsan.

2. Képfeldolgozás:
Forth, Inc. kifejlesztett egy sor kép kérelmek feldolgozása a Tengerészeti Fegyverek Kutatási Központ, a NASA Goddard Space Flight Center, a Royal Greenwich Observatory Angliában, vagy mások. Központi e volt szükség teljesítő szabványos műveletek (pl., javítása, windowing, stb.) a képek lakó különböző hardver. Az a megközelítés is sok jellemzők most kapcsolódó objektum-orientált programozás: beágyazási (az alapvető cél az volt, hogy egy “kép,” a jellemző paraméterek, módszerek), örökség (lehet új képet, hogy örökli jellemzők korábban definiált osztályok, képek), dinamikus kötelező a manipulációs módszerek. Moore, az igazgató, építész, ez a megközelítés, fogalma sem volt, hogy minden tudományos munka ezen a területen. Arra törekszik, hogy elérje az azonos célok, mint később OOPS írók, függetlenül származó hasonló megoldások.

Képfeldolgozó rendszerek is különbözteti meg kell manipulálni, majd mozgassa a nagy mennyiségű adatok nagyon gyors; egy 512x512x16 kép, például foglal 512 KB. Amellett, hogy a nagy sebességű merevlemez teljesítményét az jellemzi, hogy Forth adatbázis rendszerek, ezek is szükséges gyors feldolgozási sebesség, valamint a képesség, hogy kezelni algoritmusok például FFTs. Annyi minicomputers hiányzott a hardver lebegőpontos aritmetikai, Forth tartalmazza rugalmas egész számra fix-pont-frakció gazdasági szereplők, valamint a speciális tömb primitívek.

3. Műszerek, ellenőrzés:
Forth volt az első fejlődött ki, de erre a célra a NRAO “[megjegyzés”], Forth-széles körben használt műszerek, kezelőszervek ma. FORTH, Inc. volt több csillagászati rendszerek (az Egyetemek Wyoming [Gehrz, 1978], Minnesota, Hawaii, Illinois; Cal Tech; plusz a Royal Greenwich Observatory, St Andrews Egyetem, az egyesült UK). Emellett számos kereskedelmi eszköz gyártók, mint a Princeton Alkalmazott Kutatás (most egy részlege EG&G), valamint Nicolet Eszközök elfogadott Forth, mint egy nyelv belső fejlődés.

Ezek az alkalmazások jellemző a magas adatátviteli sebesség, mint 20 KHz egyes esetekben, ami nagyon feszült a CPU sebessége a processzorok áll rendelkezésre. Gyorsan félbe válasza az volt a lényeges, valamint a nagy sebességű multitasking, hogy lehetővé teszi az adatok megszerzése, hogy folytassa egyidejűleg üzemeltető tevékenység, eszköz az irányítást.

2.2.3 Hatások
Az evolúció az Forth előtt 1978 teljesen uralta Moore magát. Mint láttuk, Moore volt egy fanatikus minimalista, dedikált, hogy az elv a nulla-alapú tervezés, amely minden funkciót, minden utasítást kell ezt indokolja, vagy könyörtelenül selejtezték.

Moore-t eredetileg azért fejlesztette ki a rendszert, hogy saját használatra. Ez meglepte őt egy kicsit meg, hogy Inkább a másik korai felhasználók is tetszett, meg is talált megerősített a termelékenység annyira, mint az övé. De még megalakulása után FORTH, Inc. pedig a nyílt marketing a rendszer, a kiválasztás, tervezés támogató eszközök az általános programozási felület uralta a személyes ízlés.

Moore dolgozott elsősorban, mint egy tanácsadó által támogatott mások belül FORTH, Inc., telepítése egy Forth-rendszer a ügyfél számítógépére, mint az első lépés a fejlődő egy egyedi alkalmazás. Mivel az ügyfél volt elsősorban érdekelt az alkalmazás, ez elengedhetetlen volt, hogy a port kitölteni, gyorsan, olcsón. A rendkívüli egyszerűség Forth tette ezt lehetővé, anélkül, hogy veszélyeztetné az alkalmazás teljesítményét.

Mindegyik projekt hozzájárult a saját leckéket, eszközök, technikák. Moore végzett mikrofilm listáját, a korábbi projektek az aktatáskájában, gyakran nevezik őket, hogy a kód egy egyedi primitív vagy sofőr a múltból. Gyakran használt szavak válhat egy standard tartozéka a rendszer. Emellett javult technikák megoldása közös problémák integrált a rendszerbe.

Ez a minta a folyamatos evolúció létrehozott ügyfél-támogatási fejfájásra FORTH, Inc., azonban, ahogy nincs két telepített rendszer egyforma. A legtöbb esetben a telepítés tartalmazza öt nap Forth-programozás során tanított Inkább ki kellett néznem minden este, hogy győződjön meg arról, hogy a rendszer még mindig úgy viselkedett, ahogy tanítják.

2.3 Korai Mikroprocesszoros Rendszerek

1976-ban, Robert O. Winder, az RCA – Félvezető Osztály részt FORTH, Inc. hogy végre Oda az új CDP-1802-ben a 8 bites mikroprocesszor [Inkább, 1976b], [Elektronika,1976]. Az új termék, az úgynevezett “microFORTH,” ezt követően végrehajtott, az Intel 8080, Motorola 6800, Zilog Z80, által értékesített FORTH, Inc. mint egy a osztályú termék. microFORTH sikeresen használt számos beépített mikroprocesszor műszerek, valamint ellenőrző alkalmazások az Egyesült Államok, nagy-Britannia, Japán.

2.3.1 Környezet alkalmazások
microFORTH volt FORTH, Inc.’s az első tapasztalatok off-the-shelf, csomagküldő szoftver csomagok; a minicomputer rendszer az összes telepített on-site. A postán rendelt művelet lehetővé tette a gyors szabványosítás az ipar 8″ “az IBM-format” floppy lemezek, valamint a viszonylag kis számú fejlesztési rendszerek az egyes CPU típus.

Ezek a processzorok voltak mind a 8 bites eszközök, jellemzően 16K bájt, a memória, a fejlesztési rendszer. A target-rendszer általában egyéni táblák (bár az Intel Egyetlen fedélzeti Számítógép sorozat gyorsan népszerűvé vált), valamint a szoftver várható volt, hogy fut a PROM a beágyazott környezetben anélkül, hogy a lemez vagy (általában) terminál. Ez jelentősen eltér a minicomputer környezetben, ahol mindig volt egy lemezt, a program várható volt, hogy az azonos (vagy azonos) számítógép, mint az egyik alkalmazott a fejlődés.

A legtöbb mikroprocesszor gyártók kínált fejlesztési platformok, amely ugyanazt a mikroprocesszor, mint a cél, akár 64K bájt RAM, egy soros vonal egy terminál, egy párhuzamos nyomtató port, két 8″ floppy meghajtók. Szoftveres támogatás elsősorban assembler, bár az Intel hamarosan bevezetésre PL/M. In-circuit emulátorok, külön közmű bevezetésre került a hibakeresés.

microFORTH volt elsősorban forgalomba, mint egy interaktív alternatív assembler, amely, ellentétben PL/M, volt elérhető szerte a legtöbb mikroprocesszor családok, ezért felajánlotta, hogy magasabb fokú transportability.

2.3.2 Nyelv definíciója
Következő néhány kezdeti kísérletezés a 8-bites stack szélesség 128 byte-os blokk pufferek, gyorsan úgy döntött, hogy fenntartja az alapvető belső építészet, mint a minicomputer rendszerek. A szervezet a program jelentősen megváltozott, azonban.

microFORTH jött egy cél mag célja, hogy fut a PROM. Ez a mag csak 1K méretű tartalmazó primitívek, mint egyszeres pontosságú aritmetika, illetve más alapvető funkciókat. A fejlesztői környezet által támogatott írásbeli tesztelés kód interaktívan, majd összeállít egy változata ez a kód célja, hogy haver, hogy a run-time mag. Egy változata VÁLTOZÓ volt, feltéve, hogy a támogatás elkülönített ROM/RAM adatok tér (Állandók voltak a PROM), valamint meghatározó szavak voltak kialakítva, hogy a felhasználó által meghatározott struktúrák lehetne tenni, hogy abban sem. Mivel korábban Változók lehet inicializálni a fordítási időben, hogy a képesség eltávolították, mivel nehéz inicializálni cél RAM, amikor egy ROM, hogy össze beállítása nélkül egy “árnyék” táblázat; ROM tér ítélték meg túl drága.

A multiprogramming támogatást eredetileg megfosztották ki, bár később jött vissza használatával egy új, gyorsabb feladat-csere algoritmus, illetve az adatbázis eszközök teljesen eltűnt.

FORTH, Inc. sosem megjelent a metacompiler létrehozásához használt Forth-új minicomputer Cpu-k. Egy változata ez a metacompiler szerves részévé vált microFORTH, azonban, mint volt régen, hogy létrehoz a ROMable kódot a cél alkalmazás. Ez volt jelentős, mint látni fogjuk a következő fejezetben.

2.3.3 Hatások
Az igazgató építész microFORTH volt Dean Sanderson. Bár Sanderson szorosan együttműködött Moore-ral, a megosztott a legtöbb alapvető filozófiát, a különbségek a stílust, szemléletet elkerülhetetlen volt. De az új, jelentős befolyása jött a szélesebb ügyfélkör, amely abból származott, hogy a szélesebb körű marketing microFORTH. Volt vevő az a nyomás, ami visszahozta multiprogramming, ez a nagyobb ügyfélkör is okozott szabványok csoportokat alkotnak.

2.4 Nyelv Definíciója

A kereskedelmi mini, mikroszámítógép implementáció által termelt FORTH, Inc. a korai – 1970-es évek közepétől először zárt az elvek elemei Forth, mint ma is használatos. Ezért kell összefoglalni ezeket röviden.

2.4.1 Tervezési alapelvek
Bármennyire is algebra volt a “metafora” a FORTRAN, fogant a modell az angol próza (bár egyesek azt állították, hogy a postfix jelölés általában hasonlítanak ige-at-the-end nyelvek, például a német). Elemei (“szavak”) nevű adatokat (nagyjából egyenértékű főnév) nevű eljárások (egyenértékű igék), valamint meghatározó szavak (speciális típusú igék képes létrehozni adatokat szabott jellemzők). Szóval lehet, hogy meghatározott feltételek a korábban meghatározott szót vagy gépi kód (a beágyazott assembler).

Elő a “szavak”, funkcionálisan hasonló, szubrutinok más nyelveken. Ők is egyenértékű parancsok más nyelveken – Forth elmossa a különbség a nyelvi elemek funkcionális elemek.

A szavak hivatkozott (vagy a billentyűzet vagy a program forrás) név szerint. Ennek eredményeként, a “szó” alkalmazása mindkét program (nyelvi) egységek, valamint a szöveges nevek. Az elemzés szöveg, Forth úgy véli, egy szó, hogy tetszőleges karakterlánc által határolt terek (vagy a “white space” karakterek néhány fájl-alapú rendszerek). Ezeket leszámítva nincsenek különleges karakterek, amelyek nem szerepelnek egy szót, vagy elkezd egy szó, bár sok programozási csapat elfogadja névadás a jobb olvashatóság érdekében. A szavak, amelyekkel a szöveg három kategóriába sorolhatók: meghatározott szavak (azaz Forth-rutinok), számok, valamint nem definiált szavak.

Nincs kifejezett gépelés mechanizmusok Forth, egy olyan funkció, amely néha meglepetéseket újonnan, de általában is csodáltam a tapasztalt Forth programozók.

2.4.2 Strukturált programozás szakterületek
Építészetileg, Forth a szavakat, szigorúan tartsák be az elvek a “strukturált programozás” csuklós által Dijkstra [pl., Dijkstra, 1969] , “moduláris programozás” [Parnas, 1971]. Ezek az elvek talán az alábbiakban foglalhatók össze:

Minden program van leírva, mint egy lineáris sorrendben, az önálló modulok. Egy modul egy belépési pont, valamint egy kilépési pont ideális esetben végzi el, egy funkció, megadott bemenet, valamint egy sor kimenetek.

Egy modul tartalmazhat:

hivatkozások más modulok
döntés struktúrák (IF THEN állítások)
hurok szerkezetek
A Top-down tervezési, valamint az alulról kódolás, tesztelés erősen ösztönzi az Forth-szerkezetét.

Mint ahogy az Moore független fejlesztési OOP -, mint a funkciók a képfeldolgozó rendszer, Moore volt ismeretlen a kortárs irodalom a strukturált programozás. Ezek az elvek először hívják a figyelmet, 1973-ban azzal Inkább, hogy ki kapott több megjegyzések a látszólagos kapcsolat Forth, valamint a strukturált programozás, szemináriumok adott be Forth. Az olvasás az egyik Djikstra a papírokat, Moore megjegyezte: “úgy tűnik, jó programozási gyakorlat.”

Sőt, a fejlett Forthprogramozók a tudás, a végrehajtás alapjául szolgáló tudom módon a “csalás”, de az ilyen gyakorlatok elkomorodott, de az biztos, hogy nem támogatott, vagy ösztönözni a szerkezet a nyelv.

2.4.3 Elemek Stb
Moore Forth rendszerek az 1970-es években épült, akihez csak 4K bájt. Ez a kis program tartalmazza lemez (vagy-szalaggal), valamint a terminál vezetők, valamint az a képesség, hogy keresse meg építeni a szótárban. Ez a mag ezután használják forrásból forgatni az egyensúlyt a programozási környezet, beleértve az assembler, szerkesztő, többfelhasználós támogatás, valamint több száz általános parancsok. Újraindítom a rendszert, beleértve a fordítás a legtöbb forrásból a futtatható formában, csak pár másodpercig tartott.

Egy metacompiler is írt be Forth, arra használták, hogy állítson össze a mag. A teljes forrás a rendszer körülbelül 40 oldalas.

Ezek a rendszerek voltak a “bennszülött”, futó, anélkül, hogy bármilyen host OS vagy a végrehajtó. Ez volt szükség a korai időkben, mint az OSs nem áll rendelkezésre. Később, ez volt tekinthető jelentős előny, mint I/O szolgáltatások egy bennszülött Forth környezet sokkal gyorsabb, mint tudna biztosítani, amelyet egy általános célú OS rendszer.

A fő elemei Forth lesz szó röviden az alábbi részekben.

2.4.3.1 Szótár
Egy Forth-programot szervezett, bővíthető szótár foglalja el majdnem a memória, a rendszer által használt. A szótár klasszikus végre, mint egy láncolt listát, a változó hosszúságú elemek, amelyek mindegyike határozza meg egy szó. A tartalom egyes meghatározása attól függ, hogy milyen típusú szó (adat, állandó, műveletek sorozata, stb.). A multi-user Forth-rendszerek egyes felhasználók saját szótárak, amelyek mindegyike kapcsolódik egy megosztott, re-entrant rendszer szótár.

2.4.3.2 Nyomja le halom
Forth fenntartja két nyomja le halom, vagy LIFO listák (multiprogrammed változat, egy pár minden feladat). Ezek használt át adatok között ide-Forth a szavakat, meg az ellenőrző logikai áramlását. Egy stack tartalmaz egy-sejtes elemeket, ahol egy cella 16 bit széles a 8-bites, 16 bites számítógépeken pedig 32 bit széles a legtöbb implementáció 32 bites processzorok, mint például a 680×0 család. Kiterjesztett pontosságú számok elfoglalni két stack pozíció a legfontosabb a felső rész. Elem vagy stack lehet címeket vagy adatokat különféle. A halom határozatlan méretű, általában nő felé, kevés memória.

Forth kifejezett használata a raktári vezet “postfix” jelölés, amelyben operandusok megelőzi piaci szereplők. Mivel műveletek eredményei marad a verem műveletek lehet összefűzve könnyedén, kevés kell meghatározni változók használata az ideiglenes tároló.

2.4.3.3 Tolmácsok
Forth egy értelmező rendszer, a program végrehajtása általában vezérli, egy kis gép-kód rutin (gyakran csak két vagy három utasítások) értelmezése listák tanácsot vagy token absztrakt gép működik. Ez az építészet sokkal gyorsabb, mint a klasszikus tolmácsok, mint az BASIC-vagy PROLOG például, amely lehetővé teszi, hogy teljesítettek a valós idejű alkalmazások, amelyek célja az volt.

Ez a belső motor gyakran nevezik a “belső” vagy a “cím” tolmács “[megjegyzés”], megkülönböztetve az Forth-több hagyományos szöveg tolmács, amely folyamatok forrás, valamint a felhasználói adatbevitelt. A szöveget értelmező kivonatok karakterláncok szóközzel, a terminál vagy tárolóhely, keres, minden szó a szótárban. Ha egy szót talált ki felidézésével a cím tolmács, mely folyamatok sorozata címek összeállított egy szó definíciója a végrehajtó a definíció által mutatott minden. A szöveg nem tárolja a memóriában, még a tömörített formában. Ha egy szó nem talált meg, a rendszer megpróbálja átalakítani, mint egy számot, majd nyomja rá a verem. Ha a szám átalakítás nem (mivel nem numerikus karakter), a tolmács abortuszok egy hibaüzenetet.

A cím tolmács két fontos tulajdonságok. Az első, gyors, gyakran igénylő mindössze egy vagy két gép utasítás per címét. Második, ez teszi Forth-meghatározások rendkívül kompakt, mivel minden egyes referencia igényel, csak egy cellát (vagy a számítógép szó; Forth felhasználók inkább kerüljük a “szó”, mint egy hardver egység, mert a használat jelölésére egy eleme a nyelv). Ezzel szemben egy szubrutint hívja által épített a legtöbb fordító igényel utasítások kezelése a hívó sorozat előtt, illetve után egy CALL, vagy JSR utasítás, címét, valamint általában a mentés, illetve a visszaállítás nyilvántartások belül a szubrutint. Forth van stack építészet feleslegessé teszi a kifejezett hívja sorozat, a legtöbb implementáció, a globális regisztrálni a feladatokat, amelyek a rendszer egyes állami változók vannak rendelve, dedikált nyilvántartások, valamint minden egyéb nyilvántartások kijelölt karcolás regiszterek használata kód szavakat.

2.4.3.4 Assembler
A legtöbb Forth rendszerek tartalmaznak egy macro assembler a CPU, amelyen futnak. Amikor a CODE segítségével a programozó teljes ellenőrzése alatt a CPU-t, mint bármely más assembler, CODE meghatározások távon a teljes gép sebességét. Az assembler lehetővé teszi, hogy a programozó explicit CPU-függő kód kezelhető darab gép-független interfész egyezmények. Alkalmazás áthelyezése egy másik processzor szükséges újra kódolás, csak a CODE szó, amely kölcsönhatásba más ide-Forth a szavakat, pontosan ugyanazon a módon.

Forth-összeszerelők funkció szokatlan design, amely két célok:

  1. javítani transportability között feldolgozók által standardizing assembler leírásában, amennyire csak lehetséges, anélkül, hogy sérülne a programozó az irányítást a processzor,
  2. a hozam egy kompakt assembler, hogy lehet rezidens minden alkalommal, hogy megkönnyítse az interaktív programozás, hibakeresés.

A klasszikus Forth assembler, az op-kód önmagában egy Forth-szó, ami összegyűjti az utasítás szerint operandusok át a köteget, így a kezelése információ. Ez azt jelenti, hogy a formátum, amelyben a címzési mód használt leggyakoribb kódok megelőzi az op-kód (összhangban a postfix jelölés használt máshol Forth). Moore is szabványos jelölés címzési módok, bár ő általában használt a gyártó utasítása memorizálás. Nyilvántartások általában által említett szám, kivéve nyilvántartások hozzárendelt kulcs belső rendszer funkcióit. Például, az a stack pointer általában a register S. Egy címet, a második elem a két byte széles stack kifejezés használata 2 S).

Forth-összeszerelők támogatja a strukturált programozás, ugyanúgy, ahogy magas szintű Forth. Tetszőleges elágazó, hogy a jelölt helyeken a kedvét; másrészt, struktúrák, mint például BEGIN … UNTIL es ELSE … THEN állnak rendelkezésre, az assembler (végre, mint makrók, hogy össze megfelelő feltételes, feltétlen ágak). Az ilyen szerkezetek könnyen megvalósítható, mert a stack alatt rendelkezésre álló közgyűlés, hogy készítsen kezelése információ.

A hagyományos összeszerelők hagyja el a kódot egy fájl, amely integrálni kell a kódot a fájlokat a magas szintű nyelvi fordító (ha van) egy linker, mielőtt a keletkező program betöltődik a memóriába vizsgálatra. A rezidens Forth assembler összeállítja a kódot közvetlenül a memóriába a futtatható formában, így elkerülve az összekötő lépés.

Negyedik assembler használják írni rövid, akit rutinok ezt a funkciót csak, mint a magas szintű Forth a szavakat: ha a neve a rutin meghívása, kivégzik. Más, mint a többi Forth-rutinok, kód rutinok várom az érveket a halmot, majd hagyja, hogy az eredmények. Belül kódot programozó utalhat állandók (értéke), változók (cím) vagy más meghatározott adattípusokat. Kód rutinok lehet nevezni a magas szintű meghatározások csak, mint a többi ide-Forth a szavakat, de nem maguk hívják magas szintű, vagy kód meghatározások.

Ezek a funkciók lehetővé teszik Forth a programozók kódot írni röviden, könnyen tesztelhető modulokat, amelyek automatikusan integrálva egy alkalmazás. Programozási teljesen strukturált, egységes szabályok-a használat, valamint a felhasználói felület mindkét assembler, valamint magas szintű programozási. A szavak vizsgált fokozatosan, amíg a kívánt viselkedés friss a programozó fejében. A legtöbb új szavakat lehet vizsgálni, egyszerűen azáltal, hogy a bemeneti értékek a stack, hogy beírja a szót, hogy vizsgálni, érvényesítése az eredmény, maradt a verem megjelenítésével.

Az eredmény teljes irányítást a számítógép nagy teljesítményű, ahol szükséges, összességében lerövidítése fejlesztési idő miatt interaktív programozási minden szinten.

2.4.3.5 Lemez támogatás
Klasszikus Forth osztja mass storage “blokkok” 1024 byte. A blokk mérete választották, mint egy kényelmes standard a lemezek között, akiknek a szektor mérete változik. Legalább két blokk pufferek megmarad a memóriában, a blokk irányítási algoritmust, ami úgy tűnik, hogy minden blokk a memóriában minden alkalommal. A parancs n BLOCK visszatér a memória címet, blokk n, hogy olvassa el, ha szükséges. Egy puffer, amelynek a tartalma megváltozott van jelölve úgy, hogy mikor kell újra a blokk automatikusan kiírásra. Ez az algoritmus biztosítja, hogy egy kényelmes formája a virtuális memória adatok forrása tároló, egy minimális számú fizikai lemezhozzáférés szükséges. FORTH, Inc.’s adatbázis-alkalmazásokat építeni adatfájlok a blokkok, a fájl meghatározott átívelő megadott tartomány blokkok; adatok hozzáférés keresztül végzett műveletek ellen nevű területeken belül a kijelölt fájlokat.

A natív Forths, a blokk-rendszer mind a gyors, valamint megbízható, mint a lemez vezető kiszámítja a fizikai cím a blokk a szám – nem könyvtár szükséges. A lemez-intenzív alkalmazások, teljesítmény fokozható hozzáadásával több pufferek, így több blokk található memória; a pufferek lesz egy disk cache.

Az 1980-as években, Forth-rendszerek elérhetővé vált alatt futó hagyományos OSs, mint látni fogjuk. Sok ilyen támogatás blokkok belül host OS fájlok, bár néhány elhagyott tömb összesen. Mint blokkok biztosítják a kompatibilis eszközök elérése mass storage át mind a natív, mind a nem-natív rendszerek, ANS Forth (5.1) megköveteli, hogy a blokkok akkor áll rendelkezésre, ha minden háttértár támogatás áll rendelkezésre.

2.4.3.6 Multiprogramming
A legkorábbi Forth támogatott rendszerek multiprogramming, hogy a számítógép képes futtatni több párhuzamos programot, sorozatok. 1973-ban, Moore kiterjesztett ez a képesség, hogy több felhasználó támogatása, mindegyik egy terminált, majd független sub-szótárak, könyvek. A szervezet végrehajtó egy ilyen program, sorozatok, illetve a támogató a felhasználó az említett feladat. Sok mai Forths támogatás multiprogramming, a legtöbb ezek a változatok a Moore megközelítés.

Ez a megközelítés oszt CPU időt a szövetkezet, non-megelőző algoritmus: egy feladat lemond a CPU-t, amíg meg nem kapják befejezése egy I/O művelet vagy a szó használata a SZÜNET, amely lemond a CPU pontosan egy kört a round-robin feladat sor.

Moore rendszerek használt megszakítja az I/O. Megszakítja közvetlenül történt, hogy a válasz-kód segítségével egy macro assembler, beavatkozás nélkül Forth ügyvezető. Megszakítási kód végezni, csak a legtöbb idő-kritikus műveletek (pl., olvassa el a szám, növeljük a számlálót), akkor reenabled a feladat, hogy felfüggesztették volna a függőben lévő, a zavarásért. A feladat ténylegesen folytatja működését a következő alkalommal találkozott a round-robin feladat hurok, amely idő alatt a teljes bármilyen magas szintű feldolgozás által előidézett esemény, majd folytassuk a munkát.

Elméletileg ez a nem-megelőző algoritmus érzékeny a feladat kisajátítja a CPU logikailag vagy számítási intenzív tevékenység, de a gyakorlatban, valós idejű rendszerek annyira uralta I/O, hogy ez ritkán van probléma. Hol CPU-intenzív műveletekre is előfordulnak, SZÜNET használják, hogy “dallam” teljesítmény.

ESEMÉNY: VRTX OS9 PDOS POLYFORTH
Félbe válasz 91 43.75 93.4 7.0
Összefüggésben kapcsoló 128 186.25 93.4 36.0
Felfüggeszti feladat 180 316.25 184.7 6.8
Másolási memória (80 byte) 212.5 97.0

Táblázat 2. Teljesítmény összehasonlítás több valós idejű OSs egy M68010 [Cox, 1987]. Idők átlaga, amelyet a µs. Szer normalizált, hogy egy 10 MHz-es 68010. polyFORTH használja a nem-megelőző feladat ütemezés számlák teljesítménye előny.

Tanácsadó Bill Cox rámutatott [Cox, 1987], hogy egy nem-megelőző algoritmus például ennek számos előnye van. Először is, a feladatütemező maga egyszerűbb, gyorsabb, figyelembe véve, mint egy gép utasítás per feladat. Másodszor, mivel a feladat felfüggesztett csak ismert, jól meghatározott alkalommal, kevesebb a “helyi” mentett restaurálták, így a helyi kapcsoló is gyorsabb. Harmadik feladat kódot lehet írni, azzal a tudattal, hogy pontosan akkor, amikor a feladat nem, vagy nem vonja ellenőrzés alá a CPU, kezelése, közös erőforrások jelentősen egyszerűsített. Cox képest a teljesítménye több valós idejű OSs; az eredmények Táblázat 2.

Feladatok épültek, amikor a rendszer elindult, minden adott volt egy fix memória allokáció megfelelő a funkció célja az volt, hogy hajtsa végre. Mint az újraindítás csak pár másodpercig tartott, könnyű volt átalakítani egy feladat.

2.4.3.7 Számítás
Amíg az 1970-es években, néhány minicomputers kínált lebegőpontos aritmetikai — valóban, sok hiányzott a hardver, szorzás, osztás. A kezdetektől fogva, azonban Forth használt számítási intenzív munka. Irányítja a rádióteleszkóp, például, szükséges konvertáló akartam pozíciók az égi koordináták, amelyek csillagászati objektumok helyezkednek el, hogy egy azimut/magassági koordináta-rendszer másodpercenként egyszer, interpolációs köztes pozíciók öt másodpercenként, adatok megszerzése, illetve üzemeltetője tevékenység eljárásban egyidejűleg.

Moore megközelítés az volt, hogy építsünk be Forth a képesség, amivel az egész hatékonyan. Például, a command */ megsokszorozza két egysejtű, egész számok, oszt egy harmadik, egy dupla hosszúságú köztes termék. Ez azt tükrözi, ahogy a legtöbb szorzás, osztás gép utasítások működik, lehetővé teszi a számítások például:

12345 355 113 */

Ez a kifejezés megsokszorozza 12345 által az arány 355/113, ami azt jelenti, PI egy hiba 8,5 x 10-8 [Brodie, 1981]. Az a képesség, hogy megszorozzuk arány ideális kalibrálás, méretezés, valamint a racionális közelítések. Hasonlóképpen, a szót, /MOD végzi egyetlen hadosztály, visszatérő mind a hányados, maradék. Egy gazdag készlet egyágyas, kétágyas, illetve vegyes-precíziós műveletek, mint ezek, hogy egész aritmetikai sokkal jobban használható, mint a legtöbb nyelven.

Moore kifejezett szögek, a belső, 14-bites, 15 bites, vagy a 30-bites fix-pont bináris frakciók. Ő egy sor primitívek, hogy megtérít, hogy a szög formátumok (pl. dd:mm:ss), valamint egy matematikai könyvtár támogató transzcendentális funkciók ezeket a formátumokat jórészt algoritmusok [Hart 1968]. Műveletek, mint a Gyors Fourier voltak, feltéve, hogy egyes alkalmazások, melyek speciális primitívek támogató komplex számok, mint méretezett egész párt.

Ma gyorsan lebegőpontos processzor közös. Sok Forths támogatás lebegőpontos, ahogy ANS Forth. De sok esetben, mint például a beágyazott rendszerek egyszerű microcontrollers, Forth az egész aritmetikai továbbra is biztosítja egyszerűbb, gyorsabb megoldás.

2.4.3.8 Adattípusok
Talán sehol sem volt, Moore személyes filozófia több bizonyíték, mint az a megközelítés, hogy az adatok beírása. Alapvetően, azt akarta, hogy vállalja a teljes felelősséget, hogy manipulálták az adatokat, tárgyak, ahogy ő kívánta. Ha lenyomva tartja ezt a pontot, ezt mondta: “Ha azt akarom, hogy add 1 a levelet, sem a fordító üzleti mondani nem tudok.”

Standard szavak Forth támogatás egyszeri vagy dupla pontosságú Állandók, ami vissza az értékek a verem, Változók, amelyek vissza a mutató. Hozzon nevek kezdete adatok a régióban, amelyben a tér fenntartva. A mutató vissza által Létrehozott jogalany lehet növekszik index egy tömb. A természet, az értékek tartani, konstansok, változók, teljesen önkényes; általában nem kifejezett típus ellenőrzése. Húrok általában tárolja a memóriájában, a hossza az első byte. A cím ezt a struktúrát, vagy a cím hossza általában string, lehet hárítani a verem.

ÁLLANDÓ, VÁLTOZÓ LÉTREHOZÁSA “meghatározó szavak, hogy” ez van, ők határozzák meg új szavakat jellemző viselkedés. Oda is rendelkezik, az eszközök ahhoz, hogy a programozó építeni új, meghatározó szavak meghatározása az egyéni viselkedés mind a fordítási időben (pl. beállítása inicializálása táblázat) , run-time (pl., elfogadja az index, majd automatikusan telepíti a bázis cím a szerkezet).

3. Forth Chuck Moore Nélkül

microFORTH erősen forgalmazott, vonzott sok figyelmet a késő ’70-es években. Az egyik mellékhatása, hogy ez a növekedés az aktív, lelkes csoport amatőrök, aki beleszeretett Forth. A nyomukban jött az új cégek marketing változatai Forth a verseny FORTH, Inc. Ugyanakkor Moore maga is egyre felé húz hardvereszközök az Forth, illetve kisebb részt a szoftver termelés FORTH, Inc. (ami elment, 1982-ben, hogy folytassa a hardver érdekek teljes munkaidőben). Ebben a részben azt vizsgáljuk, hogy a fejlesztés alatt Forth ezek a változatos, új befolyásolja.

3.1 Negyedik Csoport Érdeke

Az 1970-es években, Észak-Kalifornia volt kigyulladt a korai morajlás a Számítógépes Forradalom. Csoportok érdekelt egyének, mint a “házi készítésű Számítógépes Klub” ülésén megosztani érdekeit, tapasztalatok. Magazinok, mint a Rádió-Elektronika közzétett lépésről-lépésre, hogyan készítsd el a saját videó kijelző terminál, sőt, hogyan kell felépíteni a saját mikroszámítógép rendszer.

A magas árak miatt a memória, valamint alacsony szintű VLSI integráció, tipikus “homebrew” a számítógépek nagyon erőforrásokkal rendelkező környezetben. Visszhangzott vissza, hogy az első generációs számítógépek, nincs elegendő memória egyidejűleg támogatni egy szerkesztő, assembler, linker. A háttértár lassú, drága, annyi homebrew rendszerek használt papír szalag vagy audio kazetták I/O. Bár néhány ALAPVETŐ nyelvi termékek elérhetőek voltak, ők általában nagyon lassú, de képtelen támogatni jelentős programok. A színpad volt, így beállítva valami mást, hogy megfeleljen a növekvő igényeinek ezek a szívós felfedezők “korai alkalmazók.”

Forth született, illetve tenyésztett, hogy kihasználják a minimális felszereltség erőforrásokkal rendelkező rendszerek. Ez a sor sem a fölöslegesnek általános megoldás sem követelmény, hogy egy létező fájl vagy az operációs rendszer vagy jelentős háttértár. Mivel Forth volt szokva a kezelése egyre nehezebb beágyazott számítógép alkalmazások kezdődött, hogy azt állítják, a figyelmet, az Észak-Kaliforniai homebrew computer-rajongók.

Bill Ragsdale, egy sikeres Bay Area biztonsági rendszer gyártója, tudomására jutott, az előnyöket microFORTH, 1978-ban kérte FORTH, Inc. hogy készítsen egy változata microFORTH a 6502. FORTH, Inc. csökkent, látván, sokkal kevésbé a piaci kereslet microFORTH a 6502, mint a népszerűbb, 8080, Z80, 6800 CPU.

Ragsdale akkor látszott, hogy valaki a tudás, a microFORTH, bensőséges ismerete a 6502 port egy változata microFORTH a 6502. Talált Őrnagy Robert Selzer, akik már használják a microFORTH egy AMI 6800 fejlesztési rendszer egy katonai projekt volt magántulajdonban fejlődő önálló szerkesztő/assembler/linker csomagot a 6502. Selzer írt egy 6502 Forth assembler, használt a Hadsereg microFORTH metacompiler cél össze az első 6502 önálló Forth a meglepetés egyetlen fedélzeti számítógép.

Selzer, Ragsdale ezt követően készült-jelentős változtatások, fejlesztések a modell, beleértve a kizsákmányolás az oldal nulla stack-implicit kezelése építészeti funkciók a 6502. Sok a fejlesztéseket, hogy jellemezte a később public-domain verziók készültek ebben az időszakban, beleértve a változó hosszúságú mezők neve, illetve módosítása a szótár kapcsolt-listát threading. Egy metacompiler a Löket, ami lehet cél egy jelentősen megváltozott kernel magasabb címe a memóriában. Csere bootolható kép akkor lenne recompiled az új kernel be az alsó boot címe, ami akkor ki kell írni a lemezre. Ezen a ponton, Ragsdale volt egy olyan rendszert, amellyel találkozni a szakmai szüksége van a beágyazott biztonsági rendszerek.

Ebben az időszakban a Negyedik érdekcsoport (FIG) indította Ragsdale, Kim Harris, John James, David Boulton, Dave Bengel, Tom Olsen, Dave Wyland [FIG 1978]. Bevezették a fogalom a “FIG Forth Modell” egy nyilvánosan elérhető Forth-rendszer, amely képes végrehajtani a népszerű számítógép architektúrák.

A FIG Forth Modell volt származó Ragsdale van 6502 rendszer. Egyszerűsítése érdekében kiadvány, illetve a gyors végrehajtás széles skáláját architektúrák, fordító volt írva, hogy megtért Forth metacompiler a forráskódot a szöveg, ha a bemenet egy standard 6502 assembler, reprodukálni az eredeti kernel-kép. Ily módon sem a metacompiler, sem a forráskód kellett közzétenni. Ez egy fontos pont. Forth metacompilation egy bonyolult folyamat, hogy teljesen megértem. Ez előírja, hogy a közvetlen manipuláció három különböző végrehajtási fázis, tárgy területeken, nem valami, ami egy átlagos felhasználó nem akart, vagy szükséges.

Közzétételével assembler listáját, a Negyedik Csoport Érdeke volt képes, hogy magukba egy Forth-futásidejű környezet oly módon, hogy könnyen meg lehet reprodukálni és/vagy fordítható le, hogy az assembly nyelv egy másik számítógép-architektúra. Szándéka az volt, hogy az eredeti csapat implementors, hogy így ösztönözze a fejlesztés kompatibilis Forth-rendszerek, valamint a megjelenése új gyártók Forth termékek.

Miután a 6502 FIG a Modell megjelent, FIG implementors közzétett kompatibilis verziók a 8080, 6800 microcomputers a PDP-11-es, illetve Számítógépes Automatizálás minicomputers. Az évek során önkéntesek ki más platformokon, a dokumentáció. Az 1982-es Forth-Enciklopédia Mitch Derick Linda Baker [Derick, 1982], feltéve, kimerítő 333 oldalas kézikönyv ÁBRA Forth, a flow charts a legtöbb szó. 1983-ban egy hirdetést Forth-Méretek, a FÜGE hírlevél [ÁBRA, 1983], felsorolva: RCA 1802, 8080, PACE, 6502, 8086/88, 6800, 6809, 9900, Nova, Eclipse, VAX, Alpha Micro, Apple II, 68000, PDP11/LSI11, Z80.

Ma már több ezer a tagok a Negyedik Érdekű Csoport több mint tizenöt országban. 1980 óta, FIG támogassa az éves konferencia, úgynevezett FORML (Forth-Módosítás, Laboratórium) a nevelési-oktatási fórum megosztása, megbeszélése új, vagy nem bizonyított javaslatok célja, hogy hasznot Forth, a vita technikai aspektusait Forth. Az eljárások állnak rendelkezésre a FIG Csoport Érdeke.

3.2 Kereskedelmi, Public Domain Rendszer a Személyi Számítógépek

Az Apple Computer nőtt ki a fortyogó számítógép lelkesedés, a San Francisco Bay area, egy teljesen új generációja erőforrásokkal rendelkező számítógépek. Bár BASIC volt elérhető ROM, Forth használták, hogy írjon egy számot a népszerű szövegszerkesztő, illetve a játékokat nem az Apple ][, amely lehetővé teszi rezidens fejlesztés jelentős programok keretében a kevés a memória, merevlemez korlátok. Nehéz most, a mindennapok megabájt memória, merevlemez, elképzelni, milyen érzés volt, hogy dolgozzon ki jelentős programok egy 40-oszlop széles képernyő belül 16K memória, 100K a lemez tárolására.

Gyártók alacsony költség Forth-rendszerek felugrott, szinte egyik napról a másikra, minden támogató a kedvenc személyi számítógép, a legtöbb alapozva, hogy a rendszer az FIG a modell. 1979-ben, például, Miller Mikroszámítógép Szolgáltatások bejelentette, MMSFORTH a TRS-80 [TRS-80, 1979] lehetőséget, majd 1980-ig Computerworld jelentett [Taylor, 1980], hogy MMS-ben már több mint 100 felhasználói csoportok a terméket.

Amikor az IBM lépett a személyi számítógép üzlet az eredeti PC terméket kínál, úgy döntöttek, hogy terjeszteni egy változata a népszerű Apple ][ szövegszerkesztő EasyWriter írt be Forth, mint egy IBM termék. Laboratóriumi Microsystems (LMI) bevezetett kereskedelmi IBM PC Forth-rendszer 1982-ben. Számos kereskedelmi, public domain Forth termékek követte, jelentős szoftver termék fejlesztés kezdődött.

Következő bevezetése az első kereskedelmi Forth az IBM-PC, az LMI fenn továbbra is a stratégia, a termelő élvonalbeli, Oda-rendszerek a PC-n, beleértve a 32 bites valós-módú végrehajtása (február 1983), az OS/2 alapú Forth (február 1988), valamint a Windows verzió (1992). Az út mentén LMI alapítója, Ray Duncan vált elismert hatóság a Microsoft OSs [pl. Duncan, 1988].

FORTH, Inc.’s-PC ajánlat volt, polyFORTH, amely együttes a többfelhasználós támogatás, adat bázis eszközök a minicomputer termékek a ROMable építészet microFORTH. 1984-re ODA, Inc. volt támogatja a maximum 16 felhasználó a PC-n nem látható a megalázás, futó polyFORTH első, mint a natív OS, majd később, mint egy co-rezidens OS MS-DOS. Az 1980-as évek végén, polyFORTH felhasználók, például NCR támogatta több mint 150 felhasználók egyetlen 80386-alapú PC.

1978-ban, Őrnagy Seltzer adott Ne Colburn egy példányát a 6502 Oda írta, Ragsdale, cserébe Colburn ír két cikkek Selzer van 6502 munka. Colburn a későbbiekben használni, mint az alapja egy változat alapján az előzetes FORTH 77 szabvány (csak FORTH-77 végrehajtását, amely a szerzők tisztában vannak). Az Ősszel 1979, Colburn generált ÁBRA-kompatibilis rendszer a prototípus a 68000. Egy többfeladatos, többfelhasználós változata ez a termék neve MultiForth igazolta, hogy a Motorola a január, 1980, jóval termelési szállítása a 68000. Amikor a Hewlett-Packard asztali számítógép divízió célja egy új generációs asztali számítógépek körül a 68000 1982-ben, az első elérhető harmadik fél nyelv termék osztogatták alatt egy HP cikkszám volt MultiForth.

Colburn cég Kreatív Megoldások is bevezetett MacForth, az első rezidens fejlesztési rendszer a 128k Apple Macintosh, közvetlenül azután, hogy a Mac debütáló 1984 januárjában. Mert MacForth egyedileg meghatározott közvetlen hozzáférést biztosít a teljes Macintosh “Toolbox ROM” rutinok egy rezidens programozási környezet, valamint átfogó alkalmazási példák többsége első generációs Macintosh alkalmazás programozó megtanulta, hogyan kell létrehozni, használja a legördülő menük, ablakok, grafika, egerek MacForth. Jelentős, nagy volumenű táblázatok, 2D-s, 3D renderelés, design csomag, CAD/CAM tervező eszközök, játékok, orvosi diagnosztika, image enhancement program, könyvelési csomag, asztali planetariums, valamint folyamatirányító alkalmazások voltak írva a korai Esőkabát a MacForth.

1985-több, mint hetven gyártók Forth-rendszerek, kezdve az egyes egyének, hogy több millió dolláros szervezetek.

1982-ben Lawrence Forsley alapította az Institute for Applied Forth-Kutatás, most egyszerűen csak a Negyedik Intézet. Ez a szervezet által szponzorált éves Konferencia Forth-Alkalmazások, a University of Rochester, Rochester, NY, tesz közzé a Journal of Forth-Alkalmazás, Kutatás, egy referált műszaki folyóirat alkalmazások Forth, az új fejlesztések, a technikát, a felmérések, valamint a konkrét területeken Működik.

1989-ben, George Shaw mások pedig kialakult egy ACM Special Interest Group on Forth hívott SIGForth, amely szintén a szponzorok a hírlevél, illetve az éves konferencia.

RENDSZER(EK) CÉG ELSŐDLEGES TERMÉKEK & PIACOK
CFORTH83, Forthmacs, SunForth Bradley Forthware Hordozható Forth, C-ben írt; változatok az Atari, Macintosh, Sun; tanácsadói, illetve kapcsolódó szolgáltatások a Sun Microsystems Open Boot
cmFORTH Silicon Composers Public-domain rendszer Novix Forth, mások processzor által C. Moore, nekiláttak, hogy a Harris es SC-32 Forth-feldolgozók mások által
Cyrano Opto-22 Forth hogy egy saját beépített vezérlő
F-PC T. Zimmer et al. Kiterjedt public-domain rendszer az IBM-PC családi
F83 Laxen and Perry Public-domain rendszer az IBM-PC család, később átkerült a mások által, hogy más platformokon
HS/Forth Harvard Softworks Az IBM-PC családi
JForth Delta Research Amiga
MacForth Creative Solutions, Inc. Az Apple Macintosh, NuBus felület táblák
Mach2 Palo Alto Shipping Apple Macintosh
mmsFORTH Miller Microcomputer Services Az IBM-PC család; üzleti alkalmazások
MPEForth MicroProcessor Engineering (UK) PC beágyazott rendszerek
mvpFORTH Mountain View Press Public-domain rendszer a különböző platformokon
Open Boot Sun Microsystems Programozható ROM-alapú Forth SPARC munkaállomások
polyFORTH FORTH, Inc. Ipari rendszerek PC, valamint más platformokon; interaktív kereszt fordítók; tanácsadói, illetve egyéni programozási szolgáltatások
UR/Forth Laboratory Microsystems, Inc. (LMI) Az IBM-PC család futó DOS, OS2, valamint a Windows; kereszt fordítók a különböző rendszerek

Táblázat 3. Néhány jelentős beszállítói Forth rendszerek, szolgáltatások, valamint a kapcsolódó termékek.

Byte Magazin elkötelezett az Аugusztus, 1980 kérdés, hogy Forth. Ez volt a legnagyobb-értékesítési kérdésben, hogy újra nyomtatott többször is.

3.2.1 Tervezési alapelvek
FIG Forth volt optimalizálva hordozhatóság inkább, mint a teljesítmény. Csak nagyon kevés primitívek voltak kódolt assembler, a többi a logika volt megvalósítva, hogy a magas szintű Forth. Ennek következtében meglehetősen lassú — műveletek, mint például szótár keresések, volt egy tényező, tíz lassabb, mint a reprezentatív kereskedelmi implementációk.

Egyéb belső döntések voltak hasonlóan készült, hogy a kezdő a fejemben. Például, a korábban FORTH, Inc. rendszerek összeállított szó nevek, mint a hossza a nevét, hogy az első három karakter. Ez adott egy kisebb ütközés arány, mint egyszerű csonkolása, megfelelő volt a legtöbb időt. De a FIG alkalmazott modell változó hosszúságú nevek legfeljebb 31 karakter, ezáltal kereskedési méret, felhasználóbarát. Ez kissé ellentmondásos abban az időben (ld. 1), de az 1980-as évek közepétől, a legtöbb rendszerek áttért ez a használat.

Az advent a személyi számítógépek, feltéve, Forth implementors az ösztönző tanulni alatt fut egy host OS. Az első nem-natív rendszereket fejlesztettek ki, 1980-ban a Martin Tracy a Micromotion (az Apple), valamint Ray Duncan a Laboratóriumi Microsystems, Inc. (a CP/M a Z80). Az LMI rendszer is szerepelt egy teljes képernyős szerkesztő. 1981-ben, az LMI ki támogatja a szoftver, illetve hardver lebegőpontos is úttörő teljesítmény fejlesztések, mint a natív kód fordítás, cache szótár lekérdezések egy hash tábla, hogy gyorsítsa fel szótárban keresésnél.

Az advent a nem-natív Forth implementáció bevezetett egy olyan kérdés, hogy továbbra is ellentmondásos Forth mai edzés, a használata a host OS fájlokat a háttértár. Két fő megközelítés: felhagy a hagyományos blokk összesen javára közvetlenül létrehozza a forrás adatokat, fájlokat, illetve feltérképezése blokkok, hogy a fogadó OS fájlokat. A korábbi megközelítés kedvelt implementors, aki koncentrálunk rendszerek egy adott OS rendszer (például MS-DOS), míg az utóbbi által preferált szervezetek, mint például FORTH, Inc. támogató mind a natív, mind a nem-natív termékek.

Kreatív Megoldások’ MacForth használt, nagyon kompakt objektum kép stratégiák, beleértve a token threading, s külön nevet fejüket, hogy maximalizálja a rendelkezésre álló memóriát a fejlesztési program az eredeti 128K Macintosh. Más regény funkciók között runtime áthelyezése a futtatható kép kizárása szó nevek futásidejű rendszerek nélkül metacompilation. MacForth tartalmazza a zökkenőmentes programozási környezet, amely a képernyő alapú szöveges szerkesztő, fordító, tolmács, assembler alatt 20k bájt memóriát.

3.2.2 Influencess
A FIG Model volt a nyilvánosság előtt, s nekiláttak, hogy a legkülönbözőbb számítógépes rendszerek. Mert a belső design FIG Forth volt, lényegében azonos az összes gépek, programok írt FIG Forth élveztem jelentős mértékben a hordozhatóság, még a “rendszer-szintű” programok, amelyek közvetlenül manipulálni a belső szótár bejegyzések, illetve egyéb megvalósítás-függő funkciók. Mert FIG Forth volt az első, bevezető Forth sok ember számára széles körben kapcsolódó “a természet Forth.”

Azonban FIG Forth nem reprezentatív, az összes kereskedelmi implementáció ez a korszak. Kereskedelmi szállítók többnyire sokkal nagyobb teljesítmény-tudatos, választott megvalósítási stratégiák optimalizált teljesítmény vagy méret helyett, ami nem könnyű, mint láttuk.

Az első jelentős erőfeszítést, szabványosítása, Forth volt egy találkozó, Utrecht, 1977-ben, részt vett több csillagászati Forth a felhasználók FORTH, Inc. (abban az időben az egyetlen kereskedelmi értékesítő). Ők gyártották az előzetes standard hívott FORTH-77, egyetértett abban, hogy a következő évben. Találkozók 1978-ban, majd 1979-ben a Catalina Island Kaliforniában, most is beleértve képviselői a Negyedik Csoport Érdeke, illetve más gyártók hozott egy átfogóbb standard hívott FORTH-79. Bár FORTH-79 nagyon befolyásos, sok Forth a felhasználók, gyártók, talált hibák; 1982-ben két ülést tartottak, hogy a frissítés a standard, majd 1983-ban egy új szabvány jelent meg a neve FORTH-83. Mindkét FORTH-79 FORTH-83 meghatározott egy 16 bites, kettesével-kiegészítik, elkötelezetlen, lineáris byte-címzett virtuális gép, vagy a mellékelt számos feltételezések megvalósítási technikák.

DEA- EDI---

I AM AFR--- THA- THE LET--- IN THE LAS- ISS-- ABO-- FOR-- INC-- USI-- ONL- THR-- LET--- NAM- FIE--- HAS HAD THE OPP----- EFF--- FRO- WHA- THE WRI--- WAN--. HIS LET--- ( LIK- THI- ONE ) SHO-- THA- SAV--- ONL- THR-- LET---- AND COU-- IS JUS- ABO-- OPT---- IN TER-- OF A TRA-- OFF BET---- SAV--- MEM--- AND KEE---- LEG----. WE STI-- DON- SEE THE NEE- FOR 31 CHA------ NAM-- IN THE GEN---- CAS-.

YOU-- TRU--

CHU-- MOO--
FOR-- INC-

Abra 1. “Levél a szerkesztőhöz” Forth Méretek [Moore, 1983] vonatkozásában az a gyakorlat, tárolása nevek az ide Forth a szavakat, mint egy gróf, az első három karakter.

Sajnos, néhány változás az FORTH-83 előállított sír inkompatibilitás meglévő kódot. Például a hivatalos képviselet az “igaz” jelző mindig 1, a szó NEM egy fordított Logikai zászló. Az FORTH-83, “igaz” lett -1 NEM lett egy kicsit-bölcs kiegészítik. Egyéb problémák részt a specifikáció szintes részlege, az FORTH-83., illetve egy súlyos félreértés az, hogy a specifikáció a paraméterek bizonyos hurok szerkezetek. A hatást ezek az inkompatibilitás volt megosztó. Bár a legtöbb implementors egyetértett abban, hogy FORTH-83 volt a javulás, valamint elfogadta az új szabvány, továbbra is énekegyüttes, aki soha nem átalakított, akik továbbra is szkeptikus az egész szabványok folyamat. A rendszerek a 3. Táblázatban felsorolt, például a legtöbb meglehetősen közel FORTH-83 kompatibilitás; figyelemre méltó kivételek MacForth, mmsFORTH, mvpFORTH, minden, ami maradt, FORTH-79.

1981-ben Prentice Hall közzétett Kezdve FORTH, Leo Brodie [Brodie, 1981], akkor a munkavállaló FORTH, Inc. Mindkét értelmes, szórakoztató (Brodie drew emlékezetes rajzfilm figurák képviselik fontos Forth-primitívek), Kezdve FORTH is egy alapos bevezetés a nyelv. Elkelt több mint 110.000 példányban (egy időben ez volt a legjobb-eladó Prentice Hall számítógép vonal), illetve gyakorolt erőteljes hatása sokan tanulás Forth először, valamint a gyártók rejtjelező, hogy összeegyeztethető legyen. Bár az első kiadás elsősorban alapján MŰKÖDIK, Inc.’s polyFORTH, benne sok lábjegyzetek, példák FIG Forth, illetve más, nyelvjárások. A második kiadás (1987) alapján az FORTH-83 szabvány.

Egy másik jelentős hatással van a személyi számítógép piacon a verseny közötti public-domain kereskedelmi változata Forth. Az 1980-as évek közepén, a FIG modell helyébe fokozatosan a nyilvánosság F83 (által termelt Henry Laxen, Mike Perry, mások szerint működő, a neve, hogy “Nem Látható Támogató Szoftver”), egy többfeladatos rendszer eredetileg megjelent az IBM-PC. Verziók voltak által kifejlesztett számos független programozók a sokféle más platformokon. Ez a rendszer annyira elterjedt, hogy sok ember által vezetett, a neve összetéveszthető a FORTH-83 szabvány. Sőt, bár ez nagyrészt kompatibilis FORTH-83, F83 jóval túlmutat a korlátozott FORTH-83 szabvány jellemzői. Az 1980-as évek végén, Tom Zimmer mások pedig készített egy még szélesebb körű public-domain rendszer a PC az úgynevezett F-PC, amely magában foglalja a több megabájt forráskód, utilities. De ezeket leszámítva, a legtöbb public-domain Forths meglehetősen korlátozott.

Public-domain Forths minden bizonnyal hozzájárult ahhoz, hogy ide-Forth a széles körben ismert. De a hatása nem teljesen jóindulatú. Szerint Tyler Sperry, szerkesztő Beágyazott Rendszerek Programozási Magazin [Sperry, 1991]:

A probléma az, hogy viszonylag könnyen megvalósítható a saját minimális Forth-rendszer. A kernel, elvégre ez csak néhány száz byte-kódot…. Sajnos, így egy Forth-értelmező, mint az írás egy Kis C fordító: ez csak egy játék, anélkül, hogy egy jól fejlett könyvtár. Az egyik legnagyobb probléma a public-domain, shareware rendszerek, hogy a könyvtárak gyakran csak részben kitöltött, vázlatos dokumentáció. Pedig ez teszi a helyzetet kedvesen.

Az emberek, akik csak látták, vagy használt korlátozott public-domain Forth implementáció gyakran úgy érzik, hogy Forth maga a játék. A szolgáltatók kiváló minőségű kereskedelmi rendszerek kell foglalkozni leendő ügyfelek feltételezések, hogy minden Forths ugyanaz, egy feltételezés, hogy természetes módon hoz létre, jelentős ár ellenállás tekintettel arra, hogy a public-domain változatok rendkívül olcsó. Az állandó vicc belül a Negyedik közösségi azonban az, hogy “ha egyet láttál Forth … már láttam Forth.” A minőségi tartomány kód, a dokumentáció, a természet, illetve terjedelmét a könyvtárak, valamint a termék-támogatás, hatalmas. Egy leendő felhasználó azt tanácsoljuk, hogy értékelje a száma, mind a nyilvánosság, illetve a kereskedelmi kínálatát.

3.3 A Beágyazott Rendszerek

3.3.1 Környezet alkalmazások
Forth képessége, hogy maximális használata korlátozott hardver erőforrások egy természetes választás a beágyazott felhasználása, mikroprocesszorok. Ezek közül néhány már kicsi: egy RCA 1802-alapú szív monitor (1979) végzett részletes hullámforma elemzése szív dobog, nem volt sokkal nagyobb, mint az 1″ x 2″ kazetta kazetta régen rekord rendellenességek. Néhány nagyobb volt, mint a 750 tonnás szakaszon sajtó által használt Lockheed formában panelek a C5B repülőgép szárnya a korai 1980-as években. Néhány osztottak szét, mint a nagyjából 500 hálózati processzorok használt kiterjedt létesítmény-gazdálkodási rendszer, a Király Khaled Nemzetközi Repülőtérre Ryadh, Szaúd-Arábia [Rather, 1985]. Oda volt különösen sikeres a fejlődő firmware kézi eszközök által cégek, mint a Itron, MSI Adatok. 1990-ben, a Federal Express elnyerte a rangos Malcolm Baldridge minőségi díját a csomag-nyomkövető rendszer, amelynek adatbeviteli végzi Forth-alapú kézi eszközök által hordozott Szövetségi 50,000 futárok, ügynökök világszerte.

Forth-extrém modularitás megkönnyíti alapos, szisztematikus vizsgálat, ami miatt vonzó igénylő alkalmazások nagy megbízhatóság. Ennek eredményeként használták a műholdak számát, a Space Shuttle kísérletek. McDonnell Douglas használt polyFORTH a Elektroforézis az Űrben projekt [Wood, 1986], hogy ellenőrizzék a raktér, gyári magát (több 68000 VME-busz táblák), az űrhajós vezérlő konzol (laptop, PC), valamint a föld-alapú elemzés számítógép (egy Compaq PC). A novemberi, 1990-ben a Columbia űrsikló repülés végzett négy csillagászat csomagjaikat, amely három programoztak be Forth [Ballard 1991], valamint a január, 1992, Spacelab repülés szerepelt egy Mikrogravitációs Vestibularis Vizsgálat (MVI) kísérlet segítségével polyFORTH rendszer a fedélzeti ellenőrző, elemzés [Paloski, 1986] , MACH2 a föld-alapú Macintosh elemzésre. “[megjegyzés”]

Talán a legtermékenyebb egyetlen szállítója beágyazott Forths a Sun Microsystems, amelynek SPARC munkaállomások használata egy programozható Forth-alapú monitor úgynevezett Nyitott Boot által kifejlesztett, Mitch Bradley meg társai. Bradley úgy véli, [Bradley, 1991], hogy Forth sikeres volt erre a célra, mert felajánlotta:

  • egy CPU-független “virtuális gép” használni a byte-kódolt hordozható járművezetők;
  • egy hibakeresés környezetet, azok a járművezetők;
  • egy interaktív parancs nyelv, a teljes programozási nyelv képesség, hogy hasznos volt a hardver indítás, hibakeresés;
  • beépített hibakereső környezet a firmware is (firmware egyébként inkább fájdalmas, hogy debug);
  • egy hibakeresés környezet az operációs rendszer szoftver;
  • bővíthetőség, lehetővé teszi a könnyű, támogatása új hardver követelmények, jellemzői;
  • nagy rugalmasság a tuning végrehajtását a sebesség/space kompromisszumok.

Legalább egy másik nagy tábla szintű CPU gyártó elfogadta Nyissa meg a Boot firmware át a termékcsalád, a munkacsoport fejlődő IEEE szabvány.

3.3.2 Tervezési alapelvek
A minis a ’70-es években, hogy a PC a ’80-as években, a legtöbb Forth rendszerek támogatott fejlesztési ugyanazon a számítógépen, amelyen a kész alkalmazás futtatásához. Még a mikroprocesszoros rendszerek a késő ’70-es, 80-as évek elején fejlesztették ki, ugyanazon a CPU (szemben kereszt fejlődés), a fejlesztés szoftver funkciók vetkőzik a fejlesztési eszközök, valamint a termelő a ROMable cél.

A legtöbb beágyazott rendszerek hiánya egy lemez, egy terminál, vagy mindkettő, amelynek következtében magukat, barátságtalan, hogy még a leanest Forth programozási környezet. Ennek ellenére, egyes gyártók nyújtanak fedélzeti Forth a microcontrollers. Például a Rockwell AIM 65 fent említett, illetve mikrokontroller táblák által értékesített New Micros, Inc. Texas; Vesta Technologies, Inc., a Colorado; Opto-22 a Kaliforniában.

De ahogy PC lett mindenütt, ők is lett népszerű, mint a házigazdák, kényelmesebb, erősebb, Forth-kereszt-fejlesztési környezetben. Ezek általában már alapján módosított változata a klasszikus Forth metacompilers, igazított támogatás kereszt fejlesztés.

A hagyományos Forth szótár integrált: a “definíció” magában foglalja a szó neve (amely megtalálható a szótárban keresés előadásában a szöveg tolmács), egy futtatható részét (általában egy mutatót kód, amely végrehajtja szavak egy adott osztály, például a vastagbél meghatározások, változók, konstansok, stb.), adatok tér (amely egy vagy több értékek vagy a címeket a szavak arra, hogy a tartalom a meghatározás), klasszikusan a szomszédos memória helyek (de Lásd 5.2 pont, Végrehajtási Stratégiák). Egy metacompiler osztja ezeket a szerkezetileg a részek által használt, a fogadó rendszer fordító (egyenértékű egy szimbólum táblázat) részei, szükséges a run-time a cél. Annak érdekében, hogy a cél program, hogy ROMable, a fordító is kell kezelni külön ROM, RAM adatok terek, általában a több beállítja a szótár mutatók.

4. Hardvereszközök az Forth

A belső építészet, Forth szimulálja a számítógép két halom, egy meghatározott nyilvántartások, egyéb jól meghatározott funkciók. Ennek eredményeként, szinte elkerülhetetlen volt, hogy valaki próbál építeni egy hardver ábrázolása a tényleges Forth számítógép.

Az első ilyen erőfeszítést megtettek, 1973-ban John Davies, a Jodrell Bank Rádiócsillagászati Obszervatórium közelében, Manchester, Anglia. Davies megközelítés az volt, hogy újra design egy Ferranti számítógép elment a termelés optimalizálása a instruction set Forth.

Az első általában Forth a számítógépek kicsit-vágott tábla szintű termékek. Az első ilyen, amit egy Kaliforniai cég, az úgynevezett Standard Logika, 1976-ban. Azáltal, hogy egy kisebb módosítást az utasításkészletet a tábla szintű számítógép, Szabványos Logikai vezető programozó Dean Sanderson volt képes végrehajtani a pontos utasítást, hogy Forth használja a “cím tolmács”, hogy mozog az egyik magas szintű parancs a következő. A rendszert széles körben használják, a U. S. Posta.

A korai 1980-as években, Rockwell készített egy mikroprocesszor a Negyedik primitívek az on-chip ROM, a Rockwell CÉL 65F11 [Dumse, 1984]. Ez a chip használták, elég sikeresen a beépített mikroprocesszor alkalmazások. Azonban nem történt kísérlet alkalmazkodni a tényleges építészet, a processzor (alapvetően egy 6502) Forth támogatást.

1981-ben, Moore maga vállalta, hogy tervezzen egy általában Forth. Dolgozik, először FORTH, Inc. majd ezt követően egy start-up cég neve Novix alakult, hogy fejlesszék a chip, Moore elkészült a tervezési 1984-ben, az első prototípus készült a korai 1985 [Arany, 1985]. Ez a design később beszerzett, illetve kiigazított Harris Félvezető Corp., képezte az alapját a vonal, a RTX processzorok. “[megjegyzés”]

Kezdve a korai 1980-as években, egy csoport a Johns Hopkins Alkalmazott Fizika Laboratóriumi Maryland-ben kifejlesztett egy sor kísérleti Oda processzorok használata tér műszerek [Hayes, 1987]. A legsikeresebb közülük forgalomba, mint az SC-32 Silicon Zeneszerzője, Palo Alto, CA, arra használták, hogy ellenőrizzék a Hopkins Ultraibolya Teleszkóp, amely repült a Columbia Űrsikló a November, 1990 [Ballard, 1991]. Továbbra is az alapja több helyet eszközök fejlesztés alatt áll.

Moore magát, egyedül dolgozik, folyamatosan fejlődik, Forth-alapú processzorok, speciális alkalmazások.

A különböző Forth-feldolgozók hatással volt Forth-szoftver rendszerek. Annak érdekében, hogy teljes mértékben kihasználják ezeket a architektúrák, Forth-fordítók által kifejlesztett Moore, FORTH, Inc. Laboratóriumi vizsgálatok Microsystems, hogy a gép által generált kód optimalizálva a chip belső építészet. Egy bennszülött hurok szerkezet a Novix Harris chips FOR … NEXT (ami számít le egyetlen érv felső határa nulla) led elfogadása ez a struktúra más Forth.

5. Jelen, Jövő Irányban

A számítógép-ipar mindig is jellemzi a gyors, mélyreható változásokat. Mivel Forth volt, az utolsó szabványosított, a korai 1980-as években, a sebesség, memória mérete merevlemez-kapacitás megfizethető személyi számítógépek kal növekedett tényezők, a több mint 100. 8-bites processzorok már ritka a Pc-k (bár ők még mindig széles körben használják a beágyazott rendszerek), valamint a 32 bites processzorok közös. Operációs rendszerek programozási környezetek, felhasználói felületek sokkal kifinomultabb. A közelmúltban számos Forth-implementáció, mind kereskedelmi, mind public-domain arra törekedtünk, hogy ezeket a kérdéseket.

5.1 Szabványügyi Erőfeszítések

Abban az időben az írás (November, 1992), a Technikai Bizottság X3J14 (amely a szerzők Rather, Colburn-tag) kiteljesedéshez egy ANS Forth “[megjegyzés”] Között a 20 szavazati joggal rendelkező tagok a TC vannak gyártók, (FORTH, Inc., Kreatív Megoldások, a Sun Microsystems, egy részlege NCR), egy nagy felhasználói szervezetek (Ford Motor Co., NASA), valamint több kisebb felhasználó szervezetek, tanácsadók, szakértők. Kezdő 1987-ben, ez a csoport foglalkozott számos probléma FORTH-79 FORTH-83, valamint néhány kortárs kérdések. Néhány a kérdések a szabványtervezet követni, mint ők képviselik a jelenlegi területeken élénk vita, műszaki tevékenység között Forth-felhasználók implementors.

ANS Oda megpróbálja összeegyeztetni egyes osztályok által okozott inkompatibilitás között FORTH-79, FORTH-83. Például, megtartja 0= elvégzésére az FORTH-79 NEM működik, bevezeti FORDÍTSA meg, hogy végre az FORTH-83, eltávolítja a szót, hogy NEM. Ez lehetővé teszi az alkalmazás írók, akik attól függ, vagy a verzió, hogy hagyják el a program változatlan, elérni kompatibilitási hozzáadásával egy egyszerű shell, amely NEM határozza meg, mint egy szinonimája a kívánt viselkedést.

A javasolt szabvány is eltávolítja gyakorlatilag minden korlátozás végrehajtása lehetőségeket biztosít a függetlenség CPU szó, méret, számos opcionális kiterjesztését szó-állítja a funkciók, mint például a host OS fájl kompatibilitás, dinamikus memóriafoglalás, lebegőpontos aritmetikai. Néhány jelentős kérdések által ANS Forth követni.

5.1.1 Cella méret
FORTH-79, FORTH-83 megbízott egy 16-bites architektúra, beleértve a verem szélesség, címek, zászlók, számok. ANS Forth meghatározza méretek szempontjából a “cella”, amelynek szélessége végrehajtás-meghatározott, de legalább 16 bit. A szavak hozzáadni növekmény címek transportably egy sejt, egy karakter, vagy szerves sejtek száma, vagy a karakterek.

5.1.2 Aritmetikai
Közepette nagy vita, FORTH-83 megbízott szintes osztály. Nem csak ez volt összeegyeztethetetlen használat előtt (ami nem adja meg az algoritmus kezelése alá osztály), ez is ellentétben áll hardver szorzás/osztás utasításokat a legtöbb processzorok. De sokan éreztem, hogy padlót fogtam osztály matematikailag több megfelelő, fontos volt, hogy adja meg. Felismerve, hogy sok implementáció mindkét oldalon ez a kérdés, a TC úgy döntött, hogy lehetővé teszi, vagy győzve vagy csonka osztály. A végrehajtás kell adnia, hogy melyik alapértelmezett használja, köteles primitívek támogató mindkét módszer.

5.1.3 Vezérlési szerkezetek
Az egyik az egyedi jellemzők Forth az a mérték, amely saját belső eszközök számára is elérhető az alkalmazás programozó. Például, van egy lexikális elemző által használt a fordító, assembler, szöveg tolmács; ez is elérhető a parancsot, majd a szöveges elemzés alkalmazások. Hasonlóképpen, az eszközöket, hogy végre vezérlési szerkezetek, mint a hurkok, illetve feltételes állnak rendelkezésre, hogy az egyéni szerkezet szavakat. 1986-ban Wil Baden bizonyította [Baden, 1986], hogy a standard Forth szerkezet szó, plusz néhány fájlokat készült ezeket a mögöttes eszközök alkalmasak arra, hogy bármilyen szervezet, beleértve a megoldásokat a problémákra, D. E. Knuth papír “Strukturált Programozás menni kimutatások” [Knuth, 1974].

SZERKEZET LEÍRÁS
DO … LOOP Véges hurok a felszámolás 1
DO … +LOOP Véges hurok által a felszámolás
BEGIN … UNTIL Határozatlan idejű hurok megszakítása, amikor az “igaz”
BEGIN … WHILE … REPEAT Határozatlan idejű hurok megszakítása amikor a “hamis”
BEGIN … AGAIN Végtelen ciklus
IF … ELSE … THEN Két-ág feltételes; végzi a szavakat követően, IF az “igaz”, de a szavak következő ELSE, ha “false”. THEN jelzi a pont, ahol az utak egyesítése.
IF … THEN Mint két ág feltételes, de csak egy “valódi” záradékot.

Táblázat 4. Standard vezérlési szerkezetek az ide-Forth. ANS Forth lehetővé teszi a programozók formában, új struktúrák keverésével az alkatrész a szavakat, vagy használja őket, hogy meghatározzák az új szerkezet a szavakat.

FORTH-79 FORTH-83 meghatározott szintaktikai előírásai a közös struktúrák Táblázatban 4,  felsorolt, valamint egy “kísérleti” gyűjtemény szerkezete primitívek. Ez utóbbi nem volt széles körben elfogadott, azonban néhány megvalósítások végre olyan szintaktikai ellenőrzése a szabványok várható. F83 kínál korlátozott formában szintaktikai ellenőrzése, hogy megköveteli a verem (mellyel a fordítási időben összeállítására, struktúrák), hogy az azonos méretű, mielőtt összeállítása után egy definíció, az elmélet az, hogy egy verem egyensúly jelzi, hiányos szerkezet. Sajnos, ez a módszer megakadályozza, hogy a bevett gyakorlat, hogy elmegyek egy értéket a compile-time verem, amely kell összeállítani, mint a szó belsejében egy meghatározás.

Általános gyakorlat, gyakran kihasználta a tudás arról, hogy a szerkezet a szavak dolgozott fordítási időben, hogy manipulálják őket, kreatív módon. Az ANS Forth-Műszaki Bizottság hagyta jóvá azáltal, előírások, mind a compile-time and run-time viselkedés, a szerkezet a szavakat, úgy, hogy lehet kombinálni tetszőleges sorrendben. Egy sor szerkezet primitívek biztosított egy “programozási eszközök” wordset, valamint a szót, hogy POSTPONE az feltéve, hogy lehetővé teszi a programozók, hogy írjon új struktúra szavak referencia meglévő fordító irányelveket annak érdekében, hogy egy részét a kívánt új viselkedés.

5.2 Végrehajtási Stratégiák

Az eredeti Forth-rendszerek által kifejlesztett Moore az 1970-es években összeállított forrás a lemezt egy futtatható formában a memóriában. Ez elkerülhető a külön össze-link-terhelés sorozatok jellemző a legtöbb összeállított nyelvek, vezetett arra egy nagyon interaktív programozási stílust, amelyben a programozó használhatja a rezidens Forth szerkesztő módosítani forrás, majd újra kell fordítani, hogy elérhető tesztelésre a másodperc. A belső struktúra meghatározása volt, amint azt az Ábra. 2, az összes mezőt összefüggő a memóriában. A FIG modell származékai módosított a részleteket, hogy ez a szerkezet kissé, de megőrizte alapvető jellemzőjét.evolve_fig 2

 

Forth-rendszerek végre e modell szerint épült egy magas szintű meghatározás által összeállítása mutatók korábban meghatározott szavak a paraméter mezőben; a cím tolmács, hogy végre ilyen meghatározások haladt keresztül ezek a rutinok, a végrehajtó a hivatkozott fogalmak viszont elvégzésével közvetett ugrik át a nyilvántartásban használt, hogy tartsa a helyét. Ez általában továbbiakban: közvetett-menetes kódot. “[megjegyzés”]

Az, hogy optimalizálni kell a különböző körülmények között, oda vezetett, hogy számos változatok, ez az alapvető stratégia végrehajtása azonban. Néhány a legérdekesebb:

  1. Közvetlen menetes kódot. Ebben a modellben a kód mező tartalmaz, gépi kód helyett egy mutatót gép kód, Ez valamivel gyorsabb, de általában a költségek extra bájt egyes osztályok a szavak. A leginkább elterjedt a 32 bites rendszerek.
  2. Szubrutint-menetes kódot. Ebben a modellben a fordító helyen egy ugrás-szubrutint utasítás a rendeltetési cím-line. Ez a technika költségek extra bájt minden összeállított referencia egy 16 bites rendszer. Gyakran lassabb, mint a közvetlen menetes kód, de ez egy olyan technika, amely lehetővé teszi, hogy lehetővé tegye a progresszió natív kód generáció.
  3. Natív kód generáció. Egy lépéssel túl szubrutint-menetes kód, ez a technika generál-line gép útmutató egyszerű, primitívek, például a + , ugrik, hogy más magas szintű rutinok. Az eredmény lehet futtatni, sokkal gyorsabban, költség méretű, fordító komplexitás. Natív kód, lehet, hogy nehezebb debug, mint menetes kódot. Ez a technika jellemző optimalizált rendszerek az Forth-chips, mint például a RTX, valamint a 32 bites rendszerek, ahol code kompakt gyakran kevésbé fontos, mint a gyorsaság.
  4. Optimalizálása fordítók. Egy változat natív kód generációs, ezeket találták az Forth-feldolgozók (alpontban Tárgyalt 1.5), hogy végre több Forth primitívek egy ciklusban. Nézett ki a mintákat, hogy lehet kezelni, így automatikusan generált a megfelelő utasítást. A tartomány optimalizálása volt irányadó, a képességek, a processzor; például a polyFORTH fordító a Novix, RTX processzorok volt négy-elem kukucskáló ablak.
  5. Token threading. Ez a technika összeállítja hivatkozásokat más szavakat használ egy jelképes, mint egy index egy táblázat, ami több, kompakt, mint egy abszolút címet. Token threading használták egy változata Forth egy Panasonic kézi számítógép fejlesztette ki az 1980-as évek elején, például kulcsfontosságú eleme MacForth.
  6. Szegmentált architektúrák. A 80×86 család támogatja a szegmentált cím mezőt. Néhány Forths kihasználják ezt teszik lehetővé, hogy egy 16 bites rendszer támogatási programok nagyobb, mint 64K. Hasonlóképpen, a megvalósítások a Harvard-architektúra processzorok, mint például a 8051, TI TMS320 sorozat kezelése külön kódot, majd az adatok terek.

Bár a korai szabványok hittem, hogy a klasszikus struktúra, ANS Forth különleges erőfeszítést tesz, hogy elkerülje a feltételezések megvalósítási technikák, ami a tilalmak ellen, feltételezve, hogy egy kapcsolat a fejét adatok hely meghatározását, vagy belép a test egy adatstruktúra más, mint az előre meghatározott szereplők. Ez eredményezett egy kis vita között programozók, akik inkább a szabadságot, hogy az ilyen feltevések a optimalizáció, hogy a lehetséges alternatív megvalósítási stratégiák.

5.3 Objektum-orientált Bővítmények

Forth támogatja az egyéni adatok típus, a felhasználó által definiált struktúra, valamint a compile-time and run-time viselkedés, az évek során, led programozók, hogy dolgozzon ki objektum-alapú rendszerek, mint például Moore megközelítés képfeldolgozás fent leírtak szerint (Lásd a 2.2.2, tétel 2.). Pountain [1987] leírt egyik megközelítés, hogy objektum-orientált programozás, Forth, amely már számos implementors. Több Forth-gyártók volna más megközelítések végrehajtási objektum-alapú rendszerek, ez jelenleg az egyik termékeny területek feltárása be Forth. “[megjegyzés”]

1984-ben, Charles Duff bevezetett egy objektum-orientált rendszer írt be Forth hívott Neon [Duff, 1984-ben a, b]. Amikor Duff megszűnt támogatja az 1980-as évek végén vette át Bob Lowenstein, a Egyetem Chicago Yerkes Obszervatórium, ahol ez rendelkezésre áll, mint a public-domain rendszer néven Yerk. Az utóbbi időben, Michael Ribi újra végrehajtott Neon segítségével egy szubrutint-menetes kód; az eredmény elérhető (szintén a public domain) név alatt MOPS. Mindkét Yerk, MOPS állnak rendelkezésre, mint le-betölthető fájlok száma az Forth orientált elektronikus hirdetőtáblák végén felsorolt ez a papír.

6. Utólagos Értékelése

A korai fejlesztés FORTH volt, sok szempontból egészen más, mint a legtöbb más programozási nyelvek. Mivel ezek általában alakult ki teljes funkcionalitású egyértelmű formai előírások a nyelvet, szintaxis, szemantika, Előre élvezte, hogy egy hosszadalmas, dinamikus serdülőkor, amely minden alapvető feltételezés, hogy a nyelv teszteltük az üllő a tényleges alkalmazások tapasztalat. Ebben az időszakban, Moore, tehermentes egy nagy követően a felhasználók gyakran forradalmi változások a nyelvet napi szinten, hogy megfeleljen a jelenlegi nézet, hogy mi a nyelv legyen. Volt, hogy a teljes irányítás felelősségét a gép a kezében, az első betöltő, hogy az elkészült alkalmazás. A nyelv felé konvergált a tényleges igények egy ember megoldása széles osztály gyakorlatilag kihívást jelentő problémák erőforrásokkal rendelkező környezetben.

A kapott módszer a probléma megoldására, kifejezve a létrejött de facto nyelvi specifikáció, bebizonyította, hogy mások számára hasznos. Mivel a teljes rugalmasság hozzá szintaktikai ellenőrzése, az adatok beírása, valamint az egyéb formális struktúrák gyakran tekintik alapvető programozási nyelvek, a legtöbb a több száz ember, akik önállóan megvalósított változata Forth-saját használatra, ezt nem tette meg. Az eredmények erőfeszítéseiket, mint a megkérdezett által a ANS Forth-Műszaki Bizottság, képviselik startlingly demokratikus ratifikálása Moore személyes jövőkép.

6.1 Találkozó Céljai

Anélkül, hogy formális nyelvi tervezés, specifikáció hivatkozva egyértelműen meghatározott célok, csak akkor tudjuk értékelni, a kitűzött célok, a feltaláló, a nyelv, valamint azok, akik használják. Személyes termelékenység, mind a szellemi hordozhatóság volt Moore elsődleges kitűzött célokat. Forth már portolták át a túlnyomó többsége a programozható számítógép, már megtestesülő több különböző dedikált Forth-számítógép architektúrák.

1979-ben, Chuck Moore nézett vissza a tíz éves tapasztalata van, ide-Forth figyeltek meg [Moore, 1979]:

Az eredeti cél az volt, hogy írni több, mint 40 programok az életemben. Azt hiszem, nőtt a kapacitás tényezővel 10. Nem hiszem, hogy az átviteli sebesség program-nyelv korlátozott tovább, szóval, elértem, amit kitűztem. Van egy eszköz, amely nagyon hatékony a kezemben — úgy tűnik, hogy nagyon hatékony a mások kezébe is. Boldog vagyok büszke, hogy ez igaz.

Ma ő nem lát okot arra, hogy megváltoztassa ezt az értékelést.

A fejlesztők FIG Forth, nem láttam a rendszerek elterjedése a világ minden tájáról, hogy együtt fejezetek a szervezet, valamint a befolyás Forth programozók mindenhol. A cél instantiating további kereskedelmi gyártók Forth termékek is elért.

A sok vállalkozó, aki elkövette a karrier, vagyon, hogy Forth-alapú vállalkozások, néhány váltak, gazdag, híres erőfeszítéseit. De a legtöbb volt az örömöm, hogy lássam a saját termelékenység nőtt, ahogy Moore volt, hogy láttam a látszólag lehetetlen projekt célkitűzései teljesülnek, mert a hatalom, a rugalmasság, a nyelv. Ők is élvezték a jólét, hogy ez a képesség áll rendelkezésre, hogy ügyfeleik mind az ügyfelek.

Adott Moore kritériumok a termelékenység, valamint a hordozhatóság, talán a legjobb mércéje e célok elérésére a nagyon nagy mennyiség, valamint számos az alkalmazás programok írtak be Forth egy kis számú programozók át egy nagyon tág különböző számítógépeken.

6.2 Jelentős mértékben járultak hozzá az Forth

1984-ben, Leo Brodie írt egy könyvet tervezése Forth alkalmazások Gondolkodás Forth [Brodie, 1984]. A idézte számos Forth-programozók a tervezés, mind a kódolási eljárások. Egy Epilógus, többen megjegyezték, hogy Forth szignifikánsan befolyásolta a programozási stílus más nyelveken, sőt, a megközelítések, hogy a probléma megoldása általában. Itt van két példa, amely jellemző a megfigyelések Forth-felhasználók általában:

A lényeg, hogy jó Forth-programozás művészete faktoring eljárások a hasznos szabadon álló szavakat. Az ötlet, hogy a Negyedik szó volt váratlan hatással laboratóriumi hardver tervezés.

Ahelyett, hogy az épület egy nagy, monolitikus, minden célra Felület találtam magam épület halom egyszerű kis doboz, ami nagyon sokat dolgoztak, mint ide-Forth a szavakat: volt egy rögzített szabvány bemenetek, mind a kimenetek, végeztek egy funkció, akkor az volt a célja, hogy össze kell kapcsolni egymással különösebb erőfeszítés nélkül voltak elég egyszerű, hogy meg tudná mondani, hogy mi egy dobozba tette, csak nézi a címke.

Mert Forth-kicsi, mert Forth ad a felhasználók számára az irányítást a gép, Forth-lehetővé teszi, hogy az emberek irányítani az alkalmazásokat. Ez csak buta, hogy várják a tudósok előtt ülni egy kísérleti számítógépes játék “kérdezz-felelek” előre csomagolt szoftver. Forth-lehetővé teszi, hogy egy tudós utasítja a számítógépet, ahelyett, hogy a számítógép utasítja a tudós.

—Mark Bernstein
Eastgate Systems, Inc., Cambridge, MA

Forth-megváltozott a gondolkodásom, sok szempontból. Mivel a tanulás Forth már kódolt más nyelven, köztük assembler, BASIC, FORTRAN. Azt találtuk, hogy azt ugyanazzal a fajta bomlási teszünk Forth, abban az értelemben, létrehozása szavak csoportosítása őket együtt.

Még lényegesebb, hogy Forth megerősítette a hitemet az egyszerűség. A legtöbb ember megy ki támadás problémák bonyolult eszközök. De egyszerűbb eszközök rendelkezésre állnak, illetve további hasznos.

—Jerry Boutelle
tulajdonosa a Nautilus Rendszerek, Santa Cruz, CA

Mitch Bradley jelentések [Bradley, 1991], hogy a tervezés, az Forth-alapú Nyílt Boot jelentősen befolyásolja a gondolkodás, az emberek, a Sun Microsystems, akik felelősek az alacsony szintű kapcsolódási pontok a Unix kernel. Nyissa meg a Boot tervezési filozófia befolyásoló vezető felületek, az elnevezési rendszer, valamint a korai indítás, illetve konfigurációs mechanizmusok. Van még beszélni egyesítő a szintaxis a különböző kernel konfigurációs fájlok segítségével Forth szintaxis, beleértve egy részét Forth tolmács a Unix kernel. Az emberek a Sun, akik együtt dolgoztak meg a Open Boot  lenyűgözte az a tény, hogy az egyszerű postfix szintaxis nem “fut ki a gőzt”, vagy “festékek, hogy a sarokba.”

6.3 Hibákat, vagy a Kívánt Változás

Forth-van egy kaméleon-kapacitás alkalmazkodni egy adott alkalmazás kell. Sőt, a folyamat programozás Forth hozzá, hogy az alkalmazás-orientált szavakat egyre magas szinten, amíg a kívánt funkció valósul meg. Így minden projekt, vagy akár különösebb programozási csoport, bármilyen vélt van szüksége lesz azonnal foglalkozni. Ha megvizsgáljuk a “hibákat”, akkor a legtöbb hasznos kérdéseket feltenni, vagy mi volt az a dolog, hogy jelentős számú implementors döntött, hogy a változás, vagy adjunk hozzá, mik a jellemzői a nyelv, ez is benne volt abban a szélesebb elfogadás.

Egyik első akciója az ANS Forth Műszaki Bizottság, ha alakult 1987-ben az volt, hogy a közvélemény-kutatás több száz Forth implementors, valamint a felhasználók számára, hogy meghatározzák a véleményét problémák a nyelv, amit meg kell oldani. A kérdések idézett esett három kategóriába: a “hibát” az egyik vagy mindkét meglévő szabványok (pl. összeférhetetlenség által bevezetett FORTH-83, anomáliák, például egy kínos specifikáció az érvek, hogy nem); elavult korlátozások FORTH-83 (főleg a támaszkodás egy 16-bites architektúra), valamint szükség szabványok olyan dolgok, mint a host fájl hozzáférés, lebegőpontos aritmetikai, stb. Jellemzők az utóbbi csoport volt, amelyet aztán által kínált legtöbb kereskedelmi sok public-domain rendszerek, de voltak függetlenül alakult ki volt eltérés a használat, gyakorlat. ANS Forth megpróbált cím ezekre a kérdésekre.

Visszatekintve azonban a hiánya standard felszereltség az ilyen dolgok, mint a lebegőpontos aritmetikai, amelyekre más nyelven, valószínűleg akadályozza széles körű elfogadása Forth. Ez nem elegendő, hogy rámutatni, hogy a legtöbb kereskedelmi rendszerek kínálnak nekik, ha a közvélemény, a nyelv által alkotott egy szabvány, amely elmulasztja megemlíteni az ilyen funkciót! Ebből a szempontból a ANS Forth erőfeszítés, már majdnem túl késő.

Egy másik nehézség az, hogy Forth nagyon a személyazonosság egyértelmű: nem csak a szokatlan megjelenésű, a támaszkodás az ártó stack építészet, postfix jelölés, de nagyjából előfordulhat, hogy a területén hagyományosan által elfoglalt, nem csak a nyelvet, hanem operációs rendszerek, szerkesztők, közművek, stb., hogy a legtöbb ember megszokta, hogy megtekintésére, mint független szervezetek. Ennek eredményeként, a nehéz, hogy egy egyszerű válasz arra a kérdésre, hogy mi az.

Az integrált jellege Forth nézett a szakemberek, mint a legnagyobb érték. Mint Bradley [1991] fejezi ki,

Forth megtanított rá, hogy ‘tűzfalak’ a különböző összetevők, egy programozási környezet (azaz, a különböző szintaxis által használt fordítók, linkers, parancs tolmácsok, stb.) nagyon bosszantó, de sokkal kellemesebb, hogy egy egységes környezet, ahol bármilyen dolog, bármilyen szinten, bármikor, ugyanazt a szintaxist.

Duncan [1991], azonban úgy véli, hogy ez zökkenőmentes integrációját Forth a nyelvet, Forth a virtuális gép Forth a programozási környezet jelentős akadályt többségi elfogadás. Ő megállapítja, hogy ugyanezt figyelték meg illetően Smalltalk vs C++:

A C++ már néhány hónapja, a nagyon dolgot, C++, hogy meghiúsítsa a nyelv nem írt magát (így nincs módja, hogy használja a építőkövei a programozási környezet a kérelem részeként), a nyelv nem igazán bővíthető (pl. a szereplők a natív adattípusok nem lehet felülírni), nincs programozási környezet, amely okos, a nyelv, valamint az osztály hierarchia — azok a dolgok, amelyek a hagyományos nyelvi szakértők, mint eszközök a C++ képest Smalltalk!

Mindaddig, amíg Forth felhasználók vannak győződve arról, hogy az integrált, lényegében interaktív jellegű, a legfontosabb, hogy a termelékenység, mint a programozók, azonban nem valószínű, hogy változni.

6.4 Problémák

Bizonyos nyelvek általában a “erény:” lehet, hogy egy program által írt egy szakértő nem valószínű, hogy jelentősen jobb (kisebb, gyorsabb, stb.) mint írta, egy kezdő. Chuck Moore egyszer megjegyezte [Moore, 1979], “…FORTH egy erősítő. Egy jó programozó, egy fantasztikus munkát FORTH; egy rossz programozó képes egy katasztrofális.” Míg a nem számszerűsített, ez a megfigyelés ismétlődött a sok Forth projektek széles programozó lakosság, valamint az elért állapotot a “népi bölcsesség” belül a Forth közösség.

Ez a tendencia adott Forth a hírneve, hogy “kezelhetetlen” volt néhány nagy hírveréssel “Forth-katasztrófa” (nevezetesen az Epson VALDOCS projekt a korai 1980-as években). Alaposabban megvizsgálva azonban a kiváltó okok más nem sikerült Forth-projektek ugyanaz a probléma, hogy a doom projektek segítségével más nyelveket is: nem megfelelő meghatározása, szegény menedzsment irreális elvárásokat.

Ott is volt egy száma, Forth sikereket, mint a létesítmény-gazdálkodási rendszer, a Szaúd-Arábiai repülőtér már említettük, amelyben egy projekt, amely a becslések szerint tartalmazza 300,000 vonalak futtatható Fortran, PLM, assembly nyelvű szoftver teljesen átalakították, nincs még nyilvántartva az Forth, illetve vizsgálják, hogy az elégedettség az ügyfél csak 18 hónap [Rather, 1985]. Az eredmény futott több, mint egy tényező 10 gyorsabb.

Jack Woehr, senior projekt menedzser a Vesta Technológiák, megjegyzi, [Woehr, 1991], hogy a sikeres kezelése Forth projektek követel mást, mint általában jó gazdálkodási gyakorlat, valamint egy felértékelődése a külön büszkeség, hogy Forth programozók el a szokatlan termelékenység. Forth jutalmak egy vezetési stílus, aki elhiszi, hogy egy kis csapat magasan képzett szakemberek is jobb munkát, rövidebb idő alatt, kevesebb, teljes költség, mint egy nagy csoport több junior programozó.

6.5 Következményei lehetnek a Jelenlegi, mind a Jövőbeli Nyelvek

Mit lehet tanulni a húsz éves tapasztalata van Forth? Forth áll, mint egy élő kihívás, hogy sok, a feltételezések irányadó nyelv a fejlesztők. A hiánya merev szintaxis, erős adatokat beírni, például jellegzetesen felsorolt főbb előnyök által Forth programozók. Az informális, interaktív kapcsolat között egy Forth-rendszer, valamint a programozó kimutatták, sok projektek rövidíteni fejlesztési alkalommal összehasonlítva a konvencionális eszközök, mint a C. Annak ellenére, hogy a hatalmas növeli a méret vagy a hatalom a modern számítógépek, Forth-van kombinációja egyszerű programozás, kompakt méret, gyors, teljesítmény (jellemzők, gyakran gondoltam arra, hogy kölcsönösen kizárólagos) továbbra is keresni egy hűséges következő körében szoftver fejlesztők, különösen a beágyazott rendszerek.

Hivatkozások

ANS 1991
ANS Forth, dokumentum száma X3.215-1994, a rendelkezésre álló Globális Műszaki Dokumentumok, 2805 McGaw Ave., Irvine, CA, 92714.

Baden, 1986
Baden, W., “Hacking Forth.” Eljárás a Nyolcadik FORML Konferencia, pub. a Forth Interest Group, 1986.

Ballard, 1991
Ballard, B., Hayes, J., “Forth and Space at the Applied Physics Laboratory,” Eljárásban az 1991 Rochester Forth Konferencia. Rochester, NY: The Forth Institute, 1991.

Bradley, 1991
Bradley, M., privát kommunikáció, 7/8/91.

Brodie, 1981
Brodie, L. Kezdve FORTH. Englewood Cliffs, NJ: Prentice Hall, 1981.

Brodie, 1984
Brodie, L. Gondolkodás Forth. Englewood Cliffs, NJ: Prentice Hall, 1984.

Cox, 1987
William C. Cox, “A case for NPOSs in real-time applications.” I&CS Magazin (pub. által Chilton), November, 1987.

Derick, 1982
Derick, M. es Baker, L., Az Oda-Enciklopédia. Mountain View, CA: A Mountain View-Press, 1982.

Dewar, 1970
Dewar, R., A “Közvetett Menetes Kód.” Kommunikáció a ACM, 18, 6, 1975.

Dijkstra, 1969
Dijkstra, E. W., “Structured Programming,” Szoftver fejlesztő Technikák, Buxton, J. N., Randell, B., szerk. Brüsszel, Belgium a NATO Tudományos Bizottság tagja, 1969.

Duff, 1984
C. Duff es N. Iverson, “Forth Meets Smalltalk,” Lapjában Forth Alkalmazás, Kutatás,2, 1, 1984.

Duff, 1984b
C. Duff, “Neon – Extending Forth in New Directions,” Eljárást az 1984 Asilomar FORML Konferencia a Forth Csoport Érdeke, 1984.

Dumse, 1984
Dumse, R., “The R65F11 and F68K Single Chip FORTH Computers,” Lapjában Forth-Alkalmazás, Kutatás, 2, 1, 1984.

Duncan, 1988
Duncan, R. (Gen ‘ l a Szerk.). Az MS-DOS Enciklopédia. Redmond, WA: Microsoft Press, 1988.

Duncan, 1991
Duncan, R., privát kommunikáció, 7/5/91.

Elektronika, 1976
“RCA may offer memory-saving processor language.” Elektronika (Feb. 19, 1976, p. 26).

FIG, 1978
Forth Méretek, 1, 1, Június/Július 1978, pub. a Forth Interest Group.

FIG, 1983
Forth Méretek, 5, 3, Szeptember/November, 1983, pub. a Forth Interest Group.

Gehrz, 1978
Gehrz, R. D. es Hackwell, J. A., “Exploring the Infrared Universe from Wyoming.” Sky and Telescope (Június, 1978).

Golden, 1985
Golden J. Moore, C. H. es Brodie, L. a “Fast Processor Chip Takes Its Instructions Directly from Forth,” Elektronikus Design (Március 21, 1985).

Hart, 1968
Hart, J. F. Computer Approximations. Malabar, FL: Krieger, 1968; 2nd ed., 1978.

Hayes, 1987
Hayes, J., Fraeman, M. E., Williams, R. L., Zaremba, T., “A 32-bit Forth Microprocessor,” Journal of Forth Application and Research, 5, 1, 1987.

Knuth, 1974
Knuth, D.E., “Structured Programming with go to statements.” Computing Reviews, 1974, #4.

Moore, 1958
Moore, Charles H., Lautman, D. A., “Predictions for Photographic Tracking Stations – APO Ephemeris 4” SAO Különleges Jelentés #11, G. F. Schilling, ed. Cambridge, MA: Smithsonian Asztrofizikai Obszervatórium, 1958.

Moore, 1970a
Moore, Charles H., Leach, G.C. FORTH – A Language for Interactive Computing. Amszterdam, NY: Mohasco Industries Inc. (belső kocsmában.) 1970.

Moore, 1970b
Moore, C. H., Programozási Probléma-orientált Nyelv. Amszterdam, NY: Mohasco Industries Inc. (belső kocsmában.) 1970.

Moore, 1974a
Moore, C. H., “FORTH: A New Way to Program a Computer,” Csillagászat & Astrophysics Kiegészítő Sorozat, 15, 3, június 1974. Eljárás a Szimpózium Adatgyűjtés, Elemzés Asztrofizikai Adatok NRAO, Charlottesville, VA, Nov. 13-15, 1972.

Moore, 1974b
Moore, C. H. es Rather, E.D., “The FORTH Program for Spectral Line Observing on NRAO’s 36 ft Telescope” Csillagászat & Astrophysics Kiegészítő Sorozat, 15, 3, Június 1974. Ez az Eljárás a Szimpózium az Adatgyűjtés, Elemzés Asztrofizikai megadott Adatok a NRAO, Charlottesville, VA, November 13-15, 1972.

Moore, 1979
Moore, C. H., “FORTH, The Last Ten Years and the Next Two Weeks…” Címet, az elsőFORTH Egyezmény, San Francisco, CA, November 1979, újranyomva az Forth Méretek, 1, 6, 1980.

Moore, 1983
Levél a Szerkesztőnek a Forth Dimenzióban, 3, 1, 1983.

Paloski, 1986
Paloski, W. H., Odette, L., Krever, A. J., “Use of a Forth-based Prolog for Real-time Expert System.” Lapja Forth Alkalmazás, Kutatás, 4, 2, 1986.

Pountain, 1987
Pountain, R. Objektum Orientált Forth. New York: Academic Press, 1987.

Parnas, 1971
Parnas, D. L., “Information Distribution Aspects of Design Methodology.” Proc. IFIP 1971 Kongresszus. Ljubljana, Jugoszlávia.

Phys. Sci. 1975
“Graphics in Kitt Form.” Physical Science, Nov. 1975, p. 10.

Rather, 1972
Rather E. D. es Moore, C.H., ODA-programozói Útmutató, NRAO Számítógép Osztály Belső Jelentés #11, 1972. Egy későbbi változat, J. M. Hollis ki, mint egy társ-szerzője, Belső Jelentés #17, 1974.

Rather 1976a
Rather E. D.-t, C. H., “The FORTH Approach to Operating Systems,” Eljárást az ACM, Oct. 1976 pp. 233-240.

Rather, 1976b
Rather, E.D. es Moore, C.H., “High-level Programming for Microprocessors”, Proceedings of Electro 76.

Rather, 1985
Rather, E., “Fifteen Programmers, 400 Computers, 36,000 Sensors and Forth,” Journal of Oda-Alkalmazás, Kutatás (3, #2, 1985). Elérhető Az ForthIntézet.

Sperry, 1991
Sperry, Tyler, hogy “An Enemy of the People.” Embedded Systems Programming (4, 12), December, 1991.

Taylor, 1980
Taylor, Alan, “Alternative Software Making Great Strides.” Computerworld, 12/?/80.

TRS-80, 1979
Sajtóközleményt tett közzé a “Software and Peripherals” szakasz Minicomputer News, 8/30/79.

Veis, 1960
Veis, George es Moore, C. H., “SAO Differential Orbit Improvement Program” a Nyomkövető Programok Pályára Meghatározása Szeminárium Eljárás. Pasadena, CA: Jet Propulsion Laboratóriumok, 1960.

Woehr, 1991
Woehr, Jack J., “Managing Forth Projects,” Beágyazott Rendszerek Programozás (Lehet, 1991).

Wood, 1986
Wood, R. J., “Developing Real-time Process Control in Space.” Lapja Forth Alkalmazás, Kutatás, 4, 2, 1986.

Bibliográfia

Brodie, L. Starting FORTH. Englewood Cliffs, NJ: Prentice Hall, 1981. [online kiadás]

Brodie, L. Thinking Forth. Englewood Cliffs, NJ: Prentice Hall, 1984. [Arra gondoltam, Forth projekt Sourceforge.net több letöltési linkek]

Feierbach, G. es Thomas, P. Forth Tools & Applications. Reston, VA: Reston Computer Books, 1985.

Haydon, G.B. All about Forth: An Annotated Glossary. La Honda CA: Mountain View Press, 1990.

Kelly, M.G., es Spies, N. FORTH: A Text and Reference. Englewood Cliffs, NJ: Prentice Hall, 1986.

Knecht, K. Introduction to Forth. Howard Sams & Co., Indiana, 1982.

Kogge, P.M. “An Architectural Trail to Threaded Code Systems.” IEEE Computer (Március, 1982).

Koopman, P. Stack Computers, The New Wave. Chichester, West Sussex, England. Ellis Horwood Ltd. 1989

Martin, T. A Bibliography of Forth References, 3rd Ed. Rochester, NY: Institute, Applied Forth Research, 1987.

McCabe, C.K. Forth Fundamentals (2 volumes). Oregon: Dilithium Press,1983.

Moore, C.H. “The Evolution of FORTH – An Unusual Language.”Byte (Augusztus 1980).

Ouverson, Marlin (ed). Dr. Dobbs Toolbook of Forth, Redwood City, CA: M&T Press, Vol. 1, 1986 Vol 2, 1987.

Pountain, R. Object Oriented Forth. New York: Academic Press, 1987.

Rather, E.D. “Forth Programming Language.” Encyclopedia of Physical Science & Technology (Vol. 5). New York: Academic Press, 1987.

Rather, E.D. “FORTH.” Computer Programming Management. Auerbach Publishers, Inc., 1985.

Terry, J.D. Library of Forth Routines and Utilities. New York: Shadow Lawn Press, 1986

Tracy, M. and Anderson, A. Mastering Forth (2nd ed). New York: Brady Books, 1989.

Winfield, A. The Complete Forth. New York: Wiley Books, 1983.

Menj a honlapon http://www.forallworld.com.

Leave a Reply