[C/C++] Scriptdatei einlesen und befehle ausführen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von realshadow, 10. April 2009 .

  1. 10. April 2009
    Scriptdatei einlesen und befehle ausführen

    Hallo leute,
    ich will folgendes erreichen: aus einer txt datei sollen zeilenweise methodenköpfe ausgelesen werden und diese im programm ausführen
    also steht im zb im scriptfile:

    test(1,3,"test")
    test2(1,2,"test2")

    die methoden test und test2 sind implementiert und sollen mit diesen argumenten ausgeführt werden.

    ich könnte das ganze über strings bzw substrings und einpaar if-abfragen machen... kommt mir aber irgendwie kompliziert vor, da ich methoden mit mehr als 7 parametern hab und das zerstückeln und zuweisen irgndwie aufwendig wird...

    gibts eine einfachere lösung (in C++)?

    (bw für tipps natürlich drin)
    mfg realshadow
     
  2. 10. April 2009
    AW: Scriptdatei einlesen und befehle ausführen

    Ich weiß nicht obs dafür ne elegantere Lösung gibt, aber du könntest jede Zeile einlesen und in verschiedenen Variablen speichern.

    Die Erste Variable ist der Funktionsname und die nächsten Variablen sind die Parameter.

    Für die erste Variable machst du ein Switch-Case welches die richtige Funtion mit den nachfolgenden Parametern (andere Variablen) aufruft.
     
  3. 10. April 2009
    AW: Scriptdatei einlesen und befehle ausführen

    schau dir mal lua an

    beitrag das nächste mal bitte komplett lesen
     
  4. 11. April 2009
    AW: Scriptdatei einlesen und befehle ausführen

    Ganz ehrlich, wenn du vor hast ne Scriptsprache zu erstellen, dann würde ich vorschlagen, dass du etwas mehr Zeit ( Jahre ) in C/C++/Sonst etwas investiert.

    Ne einfache Lösung in C/++ kanns geben, aber obs dir bei weiteren Scriptings weiterhilft.. eher weniger
     
  5. 12. April 2009
    AW: Scriptdatei einlesen und befehle ausführen

    mit regulären ausdrücken nen kleinen lexer basteln und dann die token parsen wird wohl das einfachste sein.

    ich als leihe hätte mir diese regeln erstellt:
    Code:
    fcall ::= constant(F) '(' ')'
    fcall ::= constant(F) '(' arguments(A) ')'
    
    constant ::= [a-zA-Z_]+[a-zA-Z_0-9]*
    
    arguments ::= argument ',' | argument
    argument ::= string | number | constant
    
    number ::= hex | float | int
    int ::= [0-9]+
    float ::= int '.' int
    hex ::= 0 'x' [0-9a-fA-F]+
    
    string ::= '"' (?:([^\\"]+|\\.)*) '"'
    pseudogrammar!
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.