Benutzer-Werkzeuge

Webseiten-Werkzeuge


words:tags

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
words:tags [2015-03-14 10:35] – angelegt mtwords:tags [2015-03-19 20:14] (aktuell) – [Glossar] bernd
Zeile 1: Zeile 1:
-==== Brainstorming im IRC =====+====== Brainstorming im IRC =======
  
-Was haben Emails, Files, Twitterpostings? Tags+Was haben Emails, Files, Twitterpostings? Tags.
  
 Forth hat Flags (Immediate) und Farben (Colorforth). Forth hat Flags (Immediate) und Farben (Colorforth).
  
-Flags und Farben sind eigentlich nur Tags. Sind sie+Flags und Farben sind eigentlich Tags. Sind sie
 vorhanden, haben die betreffenden Worte bestimmte vorhanden, haben die betreffenden Worte bestimmte
 Eigenschaften, die sie sonst nicht haben. Eigenschaften, die sie sonst nicht haben.
- 
-Tags sind eine Liste von Attributen. 
  
 Mögliche Einsatzfelder für Tags sind Mögliche Einsatzfelder für Tags sind
  
    * Immediate Flag (und andere)    * Immediate Flag (und andere)
-   * Optimiererhinweise +   * Optimiererhinweise (Konstantenfaltung etc) 
-   * Wortlistenmitgliedschaft +   * Wortlistenmitgliedschaft  
-   * Farben+   * Farben (die von Colorforth) 
 +   * OO Varianten
  
 Aufhänger ist das Name Token Aufhänger ist das Name Token
- +  * hat bislang alle Flags
-   hat bislang alle Flags+
   * Tags sind mit Namen assoziiert   * Tags sind mit Namen assoziiert
  
 Execution Tokens sind zu low level Execution Tokens sind zu low level
  
-Glossar +===== Glossar ======= 
- +tag-id ist eine zellige Angabe ohne nähere Bewertung des numerischen Werts. nt ist  
- crate-tag ( -- tag-id )     \ siehe wordlist +das Name Token aus Forth 2012
- +
- assign-tag ( nt tag-id -- )  +
- +
- remove-tag ( nt tag-id -- )+
  
- delete-tag ( tag-id -- ) ?? +  * create-tag ( -- tag-id ) 
-  +   legt ein neues Tag an. Analog zu wordlist. Kann später einen Namen via constant erhalten. 
- map-tag    ( i*x tag-id xt -- j*y f ) +  * assign-tag ( nt tag-id -- ) 
 +   weist ein Tag einem Wort zu. NT ist dessen Name Token 
 +  * remove-tag ( nt tag-id -- ) 
 +   entfernt ein Tag von einem Wort 
 +  * delete-tag ( tag-id -- )  
 +   Entfernt ein Tag. Etwas problematisch, auch wordlists leben ewig. 
 +  map-tag    ( i*x tag-id xt -- j*y f )  
 +   Ein allgemeiner Iterator. Für alle Worte mit dem Tag mach was, flag ermöglicht das vorzeitige Verlassen der Schleife. Siehe traverse-wordlist. 
 +  * has-tag?    ( nt tag-id -- f ) 
 +   prüft, ob ein Wort mit einem (bekannten) Tag markiert ist. 
 +  * get-tags    ( nt -- tag-n tag-1 n ) 
 +   Lese alle Tags eines Wortes aus. 
 +  * set-tags    ( tag-n tag-1 n nt -- ) 
 +   Überschreibe alle Tags eines Wortes
  
- has-tag    ( nt tag-id -- f )+===== Beispiele =====
  
- get-tag    ( nt -- tag-n tag-1 n ) +Immediate wird zum Tag Immediate. Mittels "immedate has-tag?" kann der Interpreter 
- set-tag    ( tag-n tag-1 n nt -- )+diese Eigenschaft abfragen und darauf reagieren.
  
 +Alle Worte mit dem Tag "FOO" sind in der Wortliste "FOO".
  
words/tags.1426325741.txt.gz · Zuletzt geändert: 2015-03-14 10:35 von mt