Scriptsprache kompilieren
Übersicht

MerierBetreff: Scriptsprache kompilieren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Leute!
Ich hab mal ne Frage! Also wen ich jetzt zum Beispiel eine Scriptsprache schreibe(mit BlitzBasic), wie könnte ich dann aus dem Scriptcode eine exe machen, also sie kompilieren? Hoffe auf Antworten^^ mfg Merier |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
In C++ umwandeln und nen Compiler drüberlaufen lassen? | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich meine ein Benutzer programmiert mit meiner Skriptsprache und will dann eine Exe seines Codes machen aber wie macht man das?
Wie soll das denn mit C++ gehn? |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://www.microsoft.com/whdc/...ECOFF.mspx
Bitteschön, alles über den Aufbau von Windows-PEs. Ich hatte mal eine andere tolle Seite, aber die find ich nichtmehr. Lass dir gesagt sein, dass das ein verdammt schweres Thema ist ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok danke für die Antwort ich guck mir den Link mal an.
Wäre auch zu schön gewesen wens leicht gehen würde^^. mfg Merier |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oder bau baust eine Exe welche dann einen unkompilierten Source einliest und verarbeitet
befehl$=readline(source) if instr=(befehl$,"Print",1) <> 0 print mid(befehl$,7,-1) so was in die Art mir fällt das richtige Wort nicht ein :/ |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja genau so etwas habe ich bis jetzt ich habe ein Programm was den Quellcode aus der Datei einliest und den jeweiligen Befehl ausgibt. | ||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tja das ist ja schonmal was ![]() aber eigene Exen erstellen wird wohl doch eher schwerer ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
ozzi du meinst einen Interpreter | ||
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja nur dann müsste jeder der das Programm benutzen will auch den Interpreter haben. | ||
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde, sofern du die nötigen Kenntnisse besitzt, die Skriptsprache entsprechend in C++-Code umwandeln lassen.Das komtm allerdings auf die Komplexität an.
Ich denke mal einfache Print "Dies und das" Befehle in gültigen C++-Code umzuwandeln sollte eigentlich wenig Probleme machen, bei Kontrollstrukturen udn Schleifen bin ich mir da nicht so sicher... Abhängig davon was du damit machen willst kannst du unterschiedliche Wege gehen aus deiner Skriptdatei ne C++-Datei zu machen. Der einfachste Weg den ich mal genommen habe, war einfach nen vorgefertigtes grundgerüst zu nehmen, die einzelnen Teile der Skriptsprache dann in C++-gültige Funktionen zu schreiben und die dann mit nem einfachen Stackmanager nacheinander ausführen lassen. Das ging eigentlich ganz gut. Die exe-Datei habe ich dann einfach über den system-Befehl von C++ und dem MinGW-Compiler erstellen lassen. Das funzt sogar ganz gut.Man kann damit sogar(was ich gemacht habe) pseudomäßigen "sich selbst schreibenden Code" erzeugen, aber das is ja net sinn der Sache ![]() Problematisch wirds dann nur wenn du son Kram wie RPG-Maker machen willst, ich denke mal da macht die Nutzung von nem zusätzlich zu installierenden Compiler weniger Sinn... MfG Ska |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
- Zuletzt bearbeitet von Skabus am Fr, Apr 24, 2009 21:03, insgesamt einmal bearbeitet
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Skabus, das hat mir schonmal geholfen werde mich mal ransetzten.
![]() ![]() |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zum Thema Ausgabe mit C++ siehe auch: http://www.cplusplus.com/refer...ry/cstdio/ | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
matze-t |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du wirklich einen eigenen Compiler schreiben willst, könnt dich das interessieren: http://vhb.fh-regensburg.de/co/. Auf der Seite dreht sich alles um Compilerbau. Sogar ein Beispiel-Compiler kannst du dir da anschauen. Aber wie schon gesagt wurde: Das Thema ist echt schwierig. Ich hab schon Bücher über Compilerbau gesehen, die man fast schon im Aufzug als Gegengewicht verwenden könnte ...
Aber wenn dus angehen willst, dann findest du da so ziemlich alles was du brauchst. |
||
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also danke noch mal ich finde das echt cool von euch das ihr mir helft, ich werde es mir morgen mal angucken.
Seid echt cool ![]() ![]() ![]() ![]() mfg Merier |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also einen Interpreter den du kennst ist zB Java. Nur ist der dabei etwas geschickter:
Bsp: Print "bla" vvvvvvvvvv (byte)1(byte)3bla und lässt den Interpreter (die Java Runtime) mit Zahlen Arbeiten, was ein PC scheller kann und so werden die Programme auch angenehm schnell. |
||
Kruemelator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Naja nur dann müsste jeder der das Programm benutzen will auch den Interpreter haben.
Ich hätte es so gemacht: Einen Interpreter erstellen in dem ein String existitert mit dem Code der eigenden Sprache: Code: [AUSKLAPPEN] ...
quelltext$ = "code" ... Dieser wird dann abgearbeitet. Wenn ich jetzt einen anderen Code ausführen möchte, dann ersetze ich einfach den Code. Dazu müsste man noch nicht mal einen neue exe mit BB compilieren, man könnte eine Kopie der ersten exe erstellen, dies mit einem Texteditor öffnen und "code" ändern. |
||
![]() |
Thorsten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kruemelator hat Folgendes geschrieben: man könnte eine Kopie der ersten exe erstellen, dies mit einem Texteditor öffnen und "code" ändern.
Hast du das auch schon mal ausprobiert? lol |
||
Kruemelator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sorry ![]() Mit dem Windows Texteditor: Notepad geht das nicht. Hatte dafür nen Hexeditor genommen. Link |
||
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist zwar kein Compiler, aber meiner Meinung nach der einfachere Weg:
Du baust dir eine EXE die den Interpreter beinhaltet, nur liest der Interpreter jetzt nicht eine andere Datei ein, sondern liest er sich selber ein. Damit meine ich, dass der Code der ausgeführt werden soll hinten an die EXE gehängt wird und dann vom Interpreter eingelesen wird: Code: [AUSKLAPPEN] Local code$ Local datei=ReadFile("selbst.exe") Repeat code=Readline(datei) If code="<codestart>" Then Interpreter(datei) ;Funktion die in der Datei weiterliest und interpretiert Exit EndIf Until Eof(datei)=1 Der Vorteil ist wie gesagt, dass es einfacher ist als ein Compiler, aber der Nachteil ist, das das ganze nur mit Interpretergeschwindigkeit ausgeführt wird. |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group