Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:forth-namespaces:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projects:forth-namespaces:start [2020-01-20 17:39] – [430eForth43n6vis] mmprojects:forth-namespaces:start [2023-11-06 12:27] (aktuell) – [Mecrisp-Stellaris] mm
Zeile 1: Zeile 1:
-===== Forth Namespaces and Context Switching =====+===== Forth Namespaces and Context Switching based on VOCs, ITEMs and STICKY Words =====
  
 In Forth namespaces and context switching are based on wordlists, search orders and vocabularies. In Forth namespaces and context switching are based on wordlists, search orders and vocabularies.
Zeile 7: Zeile 7:
 Since I discovered Forth and became familiar with the vocabulary concepts of Fig-Forth and F83, I was missing a way to bind a vocabulary (a namespace, a wordlist) to a word representing data, to create a data type or a simple object (implicit context switching). Since I discovered Forth and became familiar with the vocabulary concepts of Fig-Forth and F83, I was missing a way to bind a vocabulary (a namespace, a wordlist) to a word representing data, to create a data type or a simple object (implicit context switching).
  
-Over the years I found a way to do it without using state-smart words, first for PC Forth Systems and during the last years also for Flash based MCU Forth Systems. VOCs and ITEMs are the core elements of the final concept.+Over the years I found a way to do it without using state-smart words, first for PC Forth Systems and during the last years also for Flash based MCU Forth Systems. VOCsITEMs and STICKY words are the core elements of the final concept.
  
 With this Wiki page I will try to beam your attention towards context switching with VOCs, ITEMs and STICKY words by presenting Forth Systems that support it, examples and HOWTOs. With this Wiki page I will try to beam your attention towards context switching with VOCs, ITEMs and STICKY words by presenting Forth Systems that support it, examples and HOWTOs.
Zeile 22: Zeile 22:
  
 Examples and HOWTOs : {{:projects:forth-namespaces:430eforth-43n6vis-g2553-examples.tar.gz | 430eforth43n6vis-g2553-examples.tar.gz (191217)}} Examples and HOWTOs : {{:projects:forth-namespaces:430eforth-43n6vis-g2553-examples.tar.gz | 430eforth43n6vis-g2553-examples.tar.gz (191217)}}
 +
 +You can find the latest 430eForth with VIS support at [[en:projects:430eforth-workbench:start|]] .
  
 <sup>[1]</sup> Namespaces and Context Switching for a Tiny Forth, VD 4/2019 <sup>[1]</sup> Namespaces and Context Switching for a Tiny Forth, VD 4/2019
Zeile 29: Zeile 31:
 <sup>[3]</sup> {{:events:ft2019:voc_statt_vocabulary.pdf|VOC statt VOCABULARY, Forth Tagung 2019}} <sup>[3]</sup> {{:events:ft2019:voc_statt_vocabulary.pdf|VOC statt VOCABULARY, Forth Tagung 2019}}
  
 +==== Mecrisp-Stellaris ====
 +
 +Mecrisp-Stellaris was a very special candidate to add namespaces and context switching because of its special features and the many different supported targets <sup>[4]</sup>. So I decided not to add the required modifications and extensions to the Mecrisp-Stellaris Core but to concentrate all into an external source code file, to be loaded on demand. Only one hook, called HOOK-FIND, added by Matthias Koch, is used, to link the extension into the Mecrisp Core.
 +
 +The extension adds support for wordlists, vocabulary prefixes (VOCs), implicit context switching words (ITEMs), STICKY words and related TOOLS.
 +
 +The source code file **''vis-0.8.4.2-mecrisp-stellaris.txt''** can be downloaded with {{:projects:forth-namespaces:vis-mecrisp-stellaris.tar.gz |vis-mecrisp-stellaris.tar.gz (231106)}}
 +
 +//The extension is compiled to FLASH. Before loading the file execute //**''eraseflash''**// to reset Mecrisp-Stellaris to its original state.//
 +
 +The extension should work for most Mecrisp-Stellaris flavors. The only requirement is, that the header of a word compiled into FLASH (or RAM) is placed without a gap behind the last comma-compiled 32Bit number (tag).
 +
 +<sup>[4]</sup> Namespaces and Context Switching for Mecrisp-Stellaris, VD 1/2020
 +
 +==== Mecrisp-Quintus ====
  
 +Mecrisp-Quintus (C) Matthias Koch is a rewrite of Mecrisp-Stellaris with almost the same look-and-feel for the RISC-V architecture. That's also true for the VIS-Extension. From a user perspective there is no difference between the VIS-Extension for Mecrisp-Quintus and Mecrisp-Stellaris.
  
 +The source code file **''vis-0.8.4.2-mecrisp-quintus.fs''** can be downloaded with {{:projects:forth-namespaces:vis-mecrisp-quintus.tar.gz | vis-mecrisp-quintus.tar.gz (221011)}}
  
 +You can find a VIS Glossary (for Mecrisp-Stellaris) in the Forth-Magazin Vierte Dimension 1/2020 and some VIS (Mini) HOWTOs in VD 1/2020 ff.
  
projects/forth-namespaces/start.1579538366.txt.gz · Zuletzt geändert: 2020-01-20 17:39 von mm