Gforth
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită la 18 ianuarie 2020; verificările necesită
14 modificări .
gforth este o implementare multiplatformă a standardului ANSI Forth în cadrul Proiectului GNU [2] . Pornind de la versiunea GForth 0.6 lansată la începutul anilor 2000, pachetul include un subpachet Vmgen - un generator de mașini virtuale [3] .
Istorie
Proiectul a fost început la mijlocul anului 1992 de Bernd Paysan și Anton Ertl. Gforth este succesorul proiectelor bigFORTH și fig-Forth [1] [4] [5] . Utilizează GCC pentru a implementa cod rapid direct și indirect cu thread -uri ; Gforth este pe deplin compatibil cu standardul ANSI FORTH [2] . Gforth a fost distribuit ca parte a proiectului GNU din 1996 [6] .
Gforth v. 0.5 (2000), a implementat cod tradițional indirect și, pentru unele dintre platformele suportate, cod threaded direct [7] . Începând cu versiunea 0.6, lansată în 2003, implementarea se bazează pe așa-numitul cod threaded primitiv - centric , un model hibrid între superinstrucțiunile codului threaded direct și indirect [ 8] [9] [10] . Versiunea 0.7 oferă o mapare mai flexibilă, în cache, a stivelor forte la registrele procesorului [7] [11] [12] . [13]
Gforth versiunea 0.7.9 este în prezent în curs de dezvoltare [14]
Note
- ↑ 12 Origine - Manual Gforth . Data accesului: 16 decembrie 2015. Arhivat din original pe 4 martie 2016. (nedefinit)
- ↑ 1 2 directory.fsf.org : GNU Forth . Free Software Foundation (14 iunie 2014). Data accesului: 16 decembrie 2015. Arhivat din original pe 19 februarie 2016. (nedefinit)
- ↑ M. Anton Ertl, David Gregg, Andreas Krall și Bernd Paysan. vmgen - Un generator de interpreți eficienți de mașini virtuale // Software - Practică și experiență. - 2001. - T. 32 . - S. 265-293 . Arhivat din original pe 30 martie 2017.
- ↑ http://bigforth.sourceforge.net/ Arhivat 2 aprilie 2015 la Wayback Machine de Bernd Paysan
- ↑ Copie arhivată . Data accesului: 16 decembrie 2015. Arhivat din original pe 10 februarie 2016. (nedefinit)
- ↑ Gregg și Ertl, 2004 , p. 206.
- ↑ 1 2 O privire asupra performanței Gforth // A 25-a Conferință EuroForth. - 2009. - S. 23-31 .
- ↑ Direct sau Indirect Threaded? - Manualul Gforth . www.complang.tuwien.ac.at. Preluat la 17 ianuarie 2020. Arhivat din original la 18 decembrie 2019. (nedefinit)
- ↑ Dynamic Superinstructions - Gforth Manual . www.complang.tuwien.ac.at. Preluat la 17 ianuarie 2020. Arhivat din original la 18 decembrie 2019. (nedefinit)
- ↑ Threaded Code Variations and Optimizations // Actele conferinței EuroForth 2001. - 2001. - S. 49-55 . Arhivat din original pe 11 aprilie 2021.
- ↑ , Combinând stocarea în cache a stivei cu superinstrucțiuni dinamice // Interprete, Virtual Machines and Emulators (IVME '04). - 2004. - S. 7-14 . Arhivat din original pe 11 aprilie 2021.
- ↑ , Stack caching in Forth // 21st EuroForth Conference. - 2005. - S. 6-15 . Arhivat din original pe 11 aprilie 2021.
- ↑ Gforth - Proiectul GNU - Free Software Foundation. . www.gnu.org. Preluat la 17 ianuarie 2020. Arhivat din original la 31 ianuarie 2020. (nedefinit)
- ↑ Bernd Paysan. Oglindă Gforth pe GitHub (originalul este pe Savannah). Contribuiți la dezvoltarea forty42/gforth creând un cont pe GitHub . — 16.01.2020. Arhivat 5 noiembrie 2020.
Literatură
- DE Stevenson. Leaning a New Language, Gforth // Fundamentele limbajului de programare prin exemplu. - CRC Press, 2006. - S. 37-46. — 256 p. — ISBN 9781420013351 .
- David Gregg şi M. Anton Ertl. A Language and Tool for Generating Efficient Virtual Machine Interpreters // Generarea programelor specifice domeniului: Seminar internațional, Castelul Dagstuhl, Germania, 23-28 martie 2003, Lucrări revizuite / Lengauer, C. și Batory, D. și Consel, C. și Odersky, M.. - Springer Berlin Heidelberg, 2004. - P. 196-214. — 332 p. — ISBN 9783540259350 .
Link -uri