fz/docs-en/README-EN.md

62 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2021-12-04 03:25:23 +01:00
documentation? does not exist.
organization of the infoblock:
1. accesslevel
2. name
3. clearcache
4. cache name
here is the text that i used for the draft. rather outdated:
Fixed program memory
=====================
For the time being, simply on the hard drive in a directory.
Fixed data storage
==================
Not at all, later maybe hard disk, or mysql, or whatever
always.
Data memory
=====================
Doubly linked list, each element can also have a name.
Access either by push / pop or shift / unshift, using a number as with
an array or by its name like a hash.
However, it is also possible to access it directly via a pointer. pointer
however, cannot be created directly by the user, only by
correspondingly privileged programs.
Diese Speicherstruktur nenne ich "vector".
Datentypen:
Nach Außen hin sollen nur wenige verschiedene Datentypen sichtbar sein:
- Wert (integer, string, was auch immer)
- Vector
Wert wird intern in mehrere subtypen unterteilt, die jedoch automatisch
bei Bedarf konvertiert werden:
- int
- float
- string, bzw. pointer auf string
- pointer auf Elemente eines Vektors
Aus technischer Sicht gibt es nach Außen hin eigentlich auch nicht die
Unterscheidung zwischen Wert und vector. Auch hier kann und wird bei Bedarf
eine automatische Konvertierung vorgenommen. Im Normalfall wird jedoch der
Anwender dies nicht tun, und in der Dokumentation wird auch immer ein klarer
Unterschied zwischen normalen Werten und Vektoren gemacht.
Ein Sonderfall ist der Pointer auf Elemente eines Vektors: Weder kann von
einem Wert in diesen Typ konvertiert werden, noch anders herum (bzw. doch,
aber dann käme nur ein String "pointer" oder 0 bei heraus).
Die einzelnen Elemente eines Vektors werden in einem union gespeichert. Der
Union enthält die verschiedenen möglichen Ausprägungen der Werte, also int,
float, und pointer. Zudem gibt es ein Feld, in dem gespeichert wird, welche
Ausprägung gerade "aktiv" ist.
Ein zusätzlicher Typ, den man später noch hinzufügen könnte wäre "array".
Dieser Typ würde sich zum Speichern größerer Datenmengen eignen, da er
gegenüber einem Vektor keinen Overhead pro Element hätte.