Ich frage mich, wie die C++-Interpreter verwendet werden. Wann sind sie am besten geeignet?
Antworten
Zu viele Anzeigen?Wie JEDE interpretierte Sprache können sie verwendet werden als:
-
Eingebettete Skriptsprache
-
Shell-Skriptsprache
Als Beispiel sei hier die Verwendung von Ch genannt: http://en.wikipedia.org/wiki/Ch_interpreter#C.2FC.2B.2B_interpreter
Wie bei jedem Dolmetscher würde ich sagen, dass es zwei Verwendungsmöglichkeiten gibt:
- Skripting
- Experimente
Ich sehe nicht Skripting C++ ist zu langatmig, und es gibt praktikablere Alternativen (Python/Ruby/Shell).
Das Experimentieren ist jedoch sehr attraktiv. Die Möglichkeit, ein Konstrukt nebenbei zu testen, ist so, als würde man einen kleinen eigenen Test schreiben. Ein typisches Beispiel ist für mich die Verwendung von regulären Ausdrücken (in Python):
> s = "silly test++/++hello world"
> re.search(pattern, s).groups()
Ich möchte nicht den ganzen Kram ausführen, nur um zu testen, ob ich mein Muster richtig geschrieben habe (die Regex lässt sich kompilieren) oder ob es nicht den gewünschten Block erfasst. Ein schneller Test fängt die meisten Fehler ab, und ich kann weitermachen.
Ich vermute, dass die meisten von ihnen nur aus Neugierde und für die akademische Forschung gemacht werden.
Der Vorteil von Dolmetschern ist im Allgemeinen, dass sie keinen Compiler benötigen für eine bestimmte Plattform. Auf diese Weise können Sie jedes Programm auf jeder beliebigen Plattform ausführen - vorausgesetzt, es gibt einen Interpreter für diese Plattform.
Ein weiterer Vorteil von Interpretern ist, dass Änderungen am Quellcode des interpretierten Programms sofort für das Programm sichtbar, so dass es die Fehlersuche viel einfacher.
Dolmetscher können Ihnen dynamische Schreibweise obwohl es in C++ keine Konstrukte gibt, die davon Gebrauch machen.