Compiler schreiben mit BB?

Übersicht Sonstiges Smalltalk

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Megamag

Betreff: Compiler schreiben mit BB?

BeitragMo, Jan 05, 2009 10:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, um es kurz zu fassen:
Kann man mit BlitzBasic einen Compioler für sein Programm bauen?
Ich habe nämlich aus Spaß mit BB 'n kleines Programm erstellt mit dem man so
kleine Spiele basteln kann, und ich wollte fragen, ob es einen Weg gibt, das
zu einer Exe umzuwandeln?

Geeecko

BeitragMo, Jan 05, 2009 10:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, na klar geht das.
Du musst dich nur einwenig über Compilerbau informieren.
Naja, schon sehr viel, da ein Compiler viel erfahrung und geduld braucht.
Aber theoretisch geht das auf jedenfall.

lg MD

Smily

BeitragMo, Jan 05, 2009 10:52
Antworten mit Zitat
Benutzer-Profile anzeigen
gegenfrage: Wieso sollte man keinen compiler schreiben können?
-> wotsit.org

Ist aber verdammt komplex das Thema, da würde ich einen anderen weg nehmen.

z.B. einen "präcompiler", der C/C++-Code erstellt und diesen dann mit entsprechenden Tools kompiliert.

Oder du erstellst ein eigenes Format, in dem deine Spiele gespeichert werden, und natürlich ein Programm dazu, dass dieses Format interpretieren kann.

grüße
Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

TimBo

BeitragMo, Jan 05, 2009 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Oder du erstellst ein eigenes Format, in dem deine Spiele gespeichert werden, und natürlich ein Programm dazu, dass dieses Format interpretieren kann.


Aber interpretierte Programme sind i.d.R langsamer als Maschinencode.
Das ist auch der Grund warum Java nicht schneller als c++ compilierte dateien werden.

Viele Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

FWeinb

ehemals "ich"

BeitragMo, Jan 05, 2009 12:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Würde der in BB geschriebene Compiler denn, besseren (also schenllerlaufenden) Maschienencode schreiben also BlitzBasic selber schnell ist. ( ich gehe von einem perfekten Compiler aus)

Ist soetwas überhaupt möglich ?
Mit einer Programmiersprache eine Programiersprache zu schreiben, dessen Maschiencode schneller ausgeführt wird als der der benutzten Programmiersprache Question


Bei einem Interpreter ist es ja nachvollziebar das es langsarmer wird aber sobald das zu Maschienencode gemacht wird müste es doch alles gleichschneller sein, je nachdem wir gut dieser ist.

mfg

ich

@TimBo
Im Google Chrome wird jetzt die Javascirpt Engine V8 benutzt und von dieser wird behauptet das sie Javascript so schnell interpretieren kann als wenn es Maschienencode währe !
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

TimBo

BeitragMo, Jan 05, 2009 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich denke nicht, dass Blitz in den ungrafischen dingen, wie exe erstellen, schneller ist als C++. Du meinst doch das erstellen von exen oder?

Greez
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Geeecko

BeitragMo, Jan 05, 2009 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber eigentlich sollte das bei solchen Spiele (ich weiß nicht, was du für welche machst, aber ich galube kein Crysis 54) wie du sie machst, kein Problem sein.
Das hauptproblem wäre ja mehr oder weniger das Rendern der Grafiken, was aber dann doch wieder durch das "Hauptprogramm" durchgeführt wird, und du die Positionen nur einmal einließt, und das Script nicht drawimage aufruft.
Und wenn du die Scriptsprache gut optimierst, werden Scripts auch nur selten durchgeführt.

Edit:
Natührlich ist es möglich, eine schnellere Sprache mit Blitz zu schreiben, die selber schneller ist als Blitz.
Kommt einzig und allein auf die Optimierung drauf an.
  • Zuletzt bearbeitet von Geeecko am Mo, Jan 05, 2009 12:45, insgesamt einmal bearbeitet

Smily

BeitragMo, Jan 05, 2009 12:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich.

Assembler-Compiler werden heutzutage meist in höheren Sprachen, wie z.B. C/C++ geschrieben.

@TimBo:
Java und C++ werden in etwa gleich schnell ausgeführt. Nur beim Initialisieren ist java etwas langsamer.

Und dann hast du mich mit den Interpretieren falsch verstanden.
Ich dachte da an was ala RPG-Maker. Da wird beim fertigen "Produkt" immer die gleiche EXE mitgegeben, und das Spiel selbst aus externen Dateien geladen. Quasi als würde man einen Spielstand laden. Das hat dann mit Interpretationsgeschwindigkeiten etc. nichts zu tun
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

tedy

BeitragMo, Jan 05, 2009 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man mit BB einen Compiler schreibt kann das Programm was herauskommt durchaus schneller sein (kommt halt auf die Programmierung des Compilers an) . Nur der Compiler an sich würde länger brauchen zum compilern <- wenn das so heist Very Happy
01010100 01100101 01000100 01111001 00100000 00111010 01000100

TimBo

BeitragMo, Jan 05, 2009 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Simly, ich habe dich echt falsch verstanden. Sry Embarassed
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

FWeinb

ehemals "ich"

BeitragMo, Jan 05, 2009 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie tedy schon schrieb, habe ich auf die Endgeschwindiegkeit der exe angespielt und nicht auf den erstellunges Prozess.

Also währe es möglich.

mfg

ich
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

TimBo

BeitragMo, Jan 05, 2009 13:02
Antworten mit Zitat
Benutzer-Profile anzeigen
klar !
es kommt da nur auf die Optimierung drauf an.

Ob z.B. dein programm aus
const x = 5*5
gleich
const x=25 macht oder nicht

aber das ist schon arg schwer alleine renderworld()


Viele Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Megamag

BeitragMo, Jan 05, 2009 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, es ging mir eigentlich nur darum, dass man eine Exe
mit meinem "Gamemaker" erstellen kann. Wie lang das dauert,
oder wie schnell das am Ende ist, ist mir praktisch egal.

ozzi789

BeitragMo, Jan 05, 2009 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde sagen eine Exe die einen Code interpretiert wäre besser durchführbar und nicht allzu langsam Smile
mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Smily

BeitragMo, Jan 05, 2009 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du nur das willst, musst du dir nicht extra einen eigenen compiler basteln.

Schau dir mal die vorgehensweise von Bmax an, das macht z.B. einen zwichenschritt über FASM
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Megamag

BeitragMo, Jan 05, 2009 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm.
Ich wusste nicht, dass es andere Möglichkeiten als einen Compiler gibt.
Was wäre denn die beste bzw. einfachste Methode?

Smily

BeitragMo, Jan 05, 2009 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
du übersetzt den Code in C++ und jagst dann den gcc drüber
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Megamag

BeitragMo, Jan 05, 2009 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, dann brauche ich für's übersetzen aber noch
einen Interpreter oder?
 

ChristianK

BeitragMo, Jan 05, 2009 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Für's übersetzten brauchst du in dem Fall dann einen Compiler. So einen zu schreiben ist aber nicht ganz einfach ...
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Megamag

BeitragMo, Jan 05, 2009 15:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm...
Gibt es vielleicht irgendwelche fertigen Compiler, die den Job machen können?

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group