ScriptSprache
Übersicht

![]() |
GeeeckoBetreff: ScriptSprache |
![]() Antworten mit Zitat ![]() |
---|---|---|
Huhu Leute!
Ich habe mal eine Frage (Da ja der ScriptSprachen-Trend ausgebrochen ist xD): wie funktioniert das eigentlich, mit der SPeicherung von Daten. Die Variablen (also keine objekte => Kein dynamischer speicher) weiß man ja vorher. also wie viel platz die einnehmen. Die kann man ja dann beschreiben wiue man will. Aber wenn ich dann zum Beispiel eine Recheneinheit nachbilden will, wie mach ich das? Ich habe 2 Adressen. In einer steht ein Integer, in der anderen ein Float. Wie kann ich die beiden jetzt addieren? Muss ich gucken: Wenn 1Parametr = int und 2Parameter = float dann int(parameter1) + float(parameter2)... ? Kennt wer ein Tutorial, für solch eine Scriptsprache (mit zwischen code bzw bytecode)? Im allgemeinen weiß ichs... Nur ich bleibe immer da hängen, wenns um Variablen geht, da ich nie weiß, was für ein typ die variable ist. (Wissen schon, jedoch nicht, was ich dann mit ihr anfangen soll). Wird zum beispiel "print test_var" ausgeführt, muss ich bei Print ja gucken, was für ein Typ die Variable ist. Wenn es ein Int ist dann => Daten als Int aus dem "RAM" holen... wenn float dann Daen als float aus dem "RAM" holen...? Wisst ihr was ich meine? Schwer zu erklären... hoffe ich wisst was ich meine... lg MD |
||
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Womit machste die?
Wie soll sie funktionieren? Kompiliert? Interpretiert? |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich habe mich einige Zeit auch mit Scriptsprachen beschäftigt und kann dir meine Lösung dazu erklären.
Alle globalen Variablen liegen bei mir in einer Bank, bei der für jede Variable 5 Bytes zugeordnet werden. 1 Byte spezifiziert den Variablentyp, die anderen 4 Bytes enthalten die Daten. Dann existiert eine Lesefunktion, die die Werte aus der Bank ausliest und in den Variablentyp umcastet, den man will. Beispiel: Ich habe eine Variable 'Prozent#', die in der Bank abgespeichert wird. Nun ruft die Print - Funktion die Lesefunktion auf und gibt die Position der Variablen 'Prozent#' in der Bank an; ausserdem gibt sie an, dass sie den Typ String erwartet. Die Lesefunktion liest das erste Byte der Variablen in der Bank aus. Sie merkt nun, dass sie einen Float vor sich hat und liest den Wert entsprechend mit PeekFloat ![]() Für Integer läuft das Prozedere ungefähr gleich ab wie bei Floats; wobei nun String - Variablen eine spezielle Behandlung benötigen, da die Daten nicht mehr in die 4 Bytes hineinpassen. Da habe ich es so gelöst, dass in den vier Bytes ein Integer liegt, welcher den Index des Strings in einem String - Array darstellt. Dann liest die Funktion also zuerst den Index aus und dann den eigentlichen String, der dann in 'StringArray$( Index )' liegt. Ich habe mir nun keine Überlegungen gemacht, wie man das nun mit Objekten löst (weil meine Scriptsprache nicht OOP ist), daher müsstest du dir diesbezüglich noch etwas einfallen lassen. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Noobody ![]() Genau so meinte ich das! ![]() Jetzt weiß ich wie ich das machen könnte, fals ich es mache ![]() Also danke danke danke ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group