wo genau ist in diesen script der fehler

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Ok, kein Problem. Ich schreibe mal gleich eine script (Rohfassung) von dem was ich meine. Kann aber ein wenig dauern. Muss noch was nebenbei tun und bin nicht der schnellste proger ;)

bis nachher

lg xtra
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Hier aml ein Simples Beispiel auf die schnelle zusammengehackt. Hab keine zeit konkreter was zu machen. Das ganze muss auch richtig durchdacht werden. Aber es sollte aber reichen um zu zeigen was ich meine

Code: Alles auswählen

class MyScriptInterpreter(object):
    def __init__(self, source_code):
        self._source_code = source_code
        self._object_code = [] # den namen nicht so ernst nehmen ;)
        
    def compile(self):
        lines = self._source_code.splitlines()
        tmp = ""
        
        for line in lines:
            tmp = ""
            tmp2 = ""
            for token in line.split(" "):
                if len(token) == 0: 
                    continue   
                if token == "drucke":                   
                    tmp += "print "
                elif token[0] == '\"':
                     tmp += "%s " % token
                elif token[-1] == '\"':
                     tmp += "%s " % token
                                   
                            
            if len(tmp) != 0:
                self._object_code.append(tmp)
    
    def run(self):
        for cmd in self._object_code:
            exec(cmd)
    
script = """
drucke "Hallo Welt!"
"""
msp = MyScriptInterpreter(script)
msp.compile()
msp.run()
output

Code: Alles auswählen

Hallo Welt!
lg
Antworten