Variable in einem Script realisieren
-
Nach dem ich nun es geschaft habe einen Parser zu programmieren mit dem ich z.B. so einen Befehl < LoadBitmap "Filename.bmp" > wunderbar parsen kann überlege ich mir wie man Variablen in einen Script realisieren kann.
z.B.
a = "Filename.bmp"
LoadBitmap a
-
mit assoziativen arrays?
-
Bitte auf deutsch
Ich bin kein "echter" Programmierer. Ich mach das als Hobby. Eine kleine erklärung würde reichen. Den Rest kann ich mir selber zusammenreimen.
PS: Bitte keine Links zu englischen Seiten. Ich kann auch kein englisch.
-
Wo ist der unterschied zwischen einem "Hobbyprogrammierer" und einem "Echten?"
also du kannst dir ne Tabelle anlegen, die beispielsweise so aussieht:
struct S_Variables { char Name[16]; // Variablenname char Type; // Variablentyp unsigned Length; // Länge bei Arrays char *Data; // Daten };
Wenn nun eine neue Variable deklariert wird, erstellst du einfach einen neuen Eintrag und allokierst den benötigten Speicher hierfür. Der Pointer darauf wird in Data gesichert. Über den Eintrag Type weißt du immer, wie du die Daten casten musst und über length kannst du die Grenzen des Ganzen herausfinden, um Zugriffsverletzungen zu vermeiden..
-
std::map ist doch schon ganz gut, um alle Variablen in einem Scope zu speichern. Für die eigentlichen Daten kann man dann ganz gut boost::variant (www.boost.org) nehmen, solange die Sprache nur eine begrenze Menge an Typen hat.