Seite 1 von 1

Verfasst: Dienstag 28. November 2006, 10:32
von sape
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

Verfasst: Dienstag 28. November 2006, 12:04
von sape
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