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
Tip de Interpret , compilator
Autor Bernd Paysan, Anton Ertl
Dezvoltator Proiectul GNU
Scris in C , Forth
Sistem de operare Unix-like , Microsoft Windows , DOS , OS/2 , Android
Prima editie mijlocul anului 1992 [1] ( 1992 )
ultima versiune 0.7.3 (14 iunie 2014 ) ( 2014-06-14 )
Versiune de testare 0.7.9_20220310 (10 martie 2022 ) ( 10.03.2022 )
Licență GNU GPLv3
Site-ul web gnu.org/s/gforth/
 Fișiere media la Wikimedia Commons

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

  1. 12 Origine - Manual Gforth . Data accesului: 16 decembrie 2015. Arhivat din original pe 4 martie 2016.
  2. 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.
  3. 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.
  4. http://bigforth.sourceforge.net/ Arhivat 2 aprilie 2015 la Wayback Machine de Bernd Paysan
  5. Copie arhivată . Data accesului: 16 decembrie 2015. Arhivat din original pe 10 februarie 2016.
  6. Gregg și Ertl, 2004 , p. 206.
  7. 1 2 Ertl MA O privire asupra performanței Gforth  // A 25-a Conferință EuroForth. - 2009. - S. 23-31 .
  8. Direct sau Indirect Threaded? - Manualul Gforth . www.complang.tuwien.ac.at. Preluat la 17 ianuarie 2020. Arhivat din original la 18 decembrie 2019.
  9. Dynamic Superinstructions - Gforth Manual . www.complang.tuwien.ac.at. Preluat la 17 ianuarie 2020. Arhivat din original la 18 decembrie 2019.
  10. Ertl MA Threaded Code Variations and Optimizations  // Actele conferinței EuroForth 2001. - 2001. - S. 49-55 . Arhivat din original pe 11 aprilie 2021.
  11. Ertl MA , Gregg D. 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.
  12. Ertl MA , Gregg D. Stack caching in Forth  // 21st EuroForth Conference. - 2005. - S. 6-15 . Arhivat din original pe 11 aprilie 2021.
  13. Gforth - Proiectul GNU - Free Software Foundation. . www.gnu.org. Preluat la 17 ianuarie 2020. Arhivat din original la 31 ianuarie 2020.
  14. 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ă

Link -uri