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.


Anmelden zum Antworten