Skriptsprache selbst gebacken (Rezept?)
-
Hallo alle zusammen,
ich wollte Euch mal fragen, ob ihr vielleicht ein paar denkansetze habt bzgl. einer eigenen Skriptsprache.
Ich würde gerne mal soetwas versuchen, aber ich weiß noch nicht wie am besten. Ich habe es z.B. mal mit ner Klasse versuchtt die anhand von c++ strings den Quellcode parst. Naja bin soweit gekommen, das ich Variable deklarieren konnt, ohne Fehler....das war aber n bissl bescheurt.
Allg. denke ich, dass nach einem Keyword wie if ein nächstes Zeichen erwartet wird...egal wieviel Spaces dazwischen sind....wie wo was?!

Habe mir auch z.B. mal den Code von PHP oder Lua angeshen, aber bei all den Datein steige ich nicht so durch...(Inhaltlich ja, aber wo wie was miteinander verknüpft ist etc...)
Wäre nett, wenn Ihr mir da irgendwie helfen könntet

Viele Grüsse KreideTafel
P.S. Ich wollte mich auf die STL beschränken, RegEx wäre ne möglichkeit, aber da habe ich immer das Gefühl der langsamkeit

P.P.S. Es sollen nur einfache Kontrollstrukturen möglich sein und funktionen...dazu noch diverse Standardfunktionen wie print() oder ähnlich...also nichts komplexes wie PHP
-
kannst ja ma hier gucken, ob du da was findest:
http://www.gamedev.net/reference/list.asp?categoryid=76#218
besonders interessant hört sich auch diese reihe hier an:
http://www.gamedev.net/reference/articles/article1633.asp
http://www.gamedev.net/reference/articles/article1686.asp
http://www.gamedev.net/reference/articles/article1788.asp
http://www.gamedev.net/reference/articles/article1803.asp
http://www.gamedev.net/reference/articles/article1877.aspnaja, auf der seite is jedenfalls ziemlich viel über eigenes erstellen von scripts.
Allgemein brauchst du einen parser, der deinen Code parst, und dann musst du noch die semantiken erkennen oder so, ich kenn mcih da nicht so aus, aber allgemein macht man das wohl so
-
Hallo Maxi,
DANKE für die/den Link(s)...sowas habe ich gesucht
Ist zwar auf englisch, aber was soll's
Kann nie schaden hehe.Werde mir das mal zu gemüte ziehen, wenn Frage naufkommen melde ich mich wieder

Danke nochmal
MfG

-
Evtl. findest du was, wenn du nach folgenden Schlagwoertern googelst:
Compilerbau, Uebersetzerbau, Lexikalische Analyse, Syntaktische Analyse, Codegenerierung, Lexer, Scanner, Parser, Parserbaum, formale Sprache, Grammatik, Interpreter-Muster
-
Was den Parser angeht: den kannst du evtl. mit Boost.Spirit machen, das nimmt einem bei grösseren Grammatiken doch einiges an Arbeit ab.
Wenn du das Programm dann interpretieren willst war's das im Prinzip, wenn du allerdings compilieren willst (also ein ausführbares Programm erstellen) kannst du evtl. den tiny-c-compiler (tcc) verwenden, der lässt sich als library einbinden.