Programmiersprache programmieren

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

TACITUS

Betreff: Programmiersprache programmieren

BeitragDi, Feb 21, 2006 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie programmiert man eine Programmiersprache?
Ist es mit Blitz Basic und ein paar Dlls möglich?

Ich hab (noch) wenig Ahnung davon.

In der Hilfe und sonst wo habe ich nichts gefunden...

Wenn das in BB nicht möglich ist würde ich mich über eine allgemeine
Antwort zur Programmiersprachenprogrammierung (lol) freuen!

Danke Smile
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image

Xaron

BeitragDi, Feb 21, 2006 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist sicher begrenzt möglich, aber so ziemlich das langweiligste, was man machen kann. Wink

Beschäftige Dich schon mal mit Compilerbau und Grammatiken.

Gruß - Xaron
Cerberus X - Monkey X Reloaded!
 

HW

BeitragDi, Feb 21, 2006 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Man könnte auf jeden Fall einen Scriptparser programmieren. Aber selbst das ist wohl noch zu hoch für Leute, die noch in der Beginners Corner herumfragen. Ansonsten könnte es eventuell gehen, falls man eine DLL findet, die EXEs erstellen kann. (fürs kompilieren)
 

TACITUS

BeitragDi, Feb 21, 2006 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn's mit blitz basic geht ist es mir erstmal egal wieviele Befehle ich
machen kann oder wie langweilig es ist...
Ich soll mich mit Compilerbau beschäftigen, aber ich hab ka wie ich das tun
soll^^
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image

BladeRunner

Moderator

BeitragDi, Feb 21, 2006 17:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Grundsätzlich solltest Du wohl erst mal lernen wie ein Compiler / interpreter funktioniert. Die Wikipedia hilft schon mal ein wenig, google sollte dir eine Fülle an Wissen bieten (wenn auch vieles auf Englisch).

http://de.wikipedia.org/wiki/Kategorie:Compilerbau

Viel Spass beim Lernen Smile
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

dark19

Gast

BeitragDi, Feb 21, 2006 17:17
Antworten mit Zitat
und assembler ist auch eine hilfe
www.robsite.de
 

antome

!!! gesperrt !!!

BeitragDi, Feb 21, 2006 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Einen Compiler erstellen ist gar nicht so schwer, vorausgesetzt zu
verstehst die Ausgangs und Zielsprache.

Ich habe auf dem Amiga meinen ersten gebastelt welcher Assemblerquellcode für den A68k ausgab.

Mein 2. Compiler hab ich nur so aus Spass gebastelt er gibt Pascalsource aus
und kann mit Freepascal compiliert werden.

Hier der Link, wenn du dich anmeldest kannst du den Compiler und
den Quellcode runter laden, er wurde zuerst mit BCX geschrieben und dann
mit der ersten Version (die kannst du auch saugen) mit sich selbst geschrieben, er kompiliert sich nun selbst.

http://groups.yahoo.com/group/BasPas/

Ein paar Windows Beispiele sind auch dabei.
Da ich aber mit BCX gearbeitet habe (vor Blitz3D) hab ich mit
dem eigenen Compiler selbst nicht viel gemacht.
Er funktioniert aber.

Einen dritten habe ich angefangen, er gibt GoASM Quellcode aus, ich wollte
einen Compiler basteln um damit 3D-Spiele zu programmieren, hab mich dann aber entschlossen Blitz3D zu kaufen. Man muss das Rad ja nicht gleich mehrfach erfinden.

Alle 3 sind sozusagen Basic-Compiler welche dann einen Quellcode ausgeben der entweder mit einem schnellen Compiler "PASCAL"
oder direkt Assembler in eine EXE gewandelt werden.

Einen Compiler schreiben ist nur ein Haufen Parse Arbeit.
Du musst jede eingelesene Zeile in eine andere Sprache wandeln.
antome
 

Dreamora

BeitragDi, Feb 21, 2006 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Und er sollte es effizient machen, weswegen es ziemlich schwer ist einen guten Compiler zu schreiben.
Was du geschrieben hast klingt eigentlich eher nach einem Codekonverter nach ASM ...
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

HW

BeitragDi, Feb 21, 2006 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Exakt. Ein Compiler macht mehr, als eine Sprache in eine andere zu übersetzen. Er ist, zumindest für eigene Programmiersprachen, auch in der Lage, EXE Files zu erstellen. Das wird bei dir aber vollkommen ausgelassen. Deinem Schema nach müsste man wieder den Compiler Zielsprache benutzen, um eine EXE zu erstellen.
 

antome

!!! gesperrt !!!

BeitragDi, Feb 21, 2006 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt unzählige Compiler welche C++ oder den Gnu-Assembler benutzen um
mit ihrer Sprache eine EXE zu erstellen.

BCX ist ein sehr beliebter Compiler und er benutzt diverse C-Compiler um EXEs zu erstellen.

Auch Blitz benutzt letzendlich einen C-Compiler.

Assembler-Code erzeugt fast jeder C-Compiler um damit dann EXEs zu erstellen.

Soll er etwa Maschinencode erzeugen ????
antome
 

Roseman

BeitragMi, Feb 22, 2006 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
Und er sollte es effizient machen, weswegen es ziemlich schwer ist einen guten Compiler zu schreiben.
Was du geschrieben hast klingt eigentlich eher nach einem Codekonverter nach ASM ...


Was Dreamora hiermit meint ist eigentlich weniger die Sache mit den "muß eine Exe erstellen können", hoffe ich zumindenst ^^.

Jeder Compiler ist eigentlich nur eine Art Parser.
Aber die eigentliche Kunst ist nicht das übersetzen von einer Sprache in eine andere, sondern, wie schon von Dreamora geschrieben, die "Effizienz", mit der er das macht.

Das bezieht sich auf Optimierungen des Codes, und Umwandlungen, um das bestmögliche Ergebnis (je nach Ziel: Schnelligkeit, Sicherheit etc.), für die jeweilige Maschine zu erreichen.

Mfg Roseman

Jan_

Ehemaliger Admin

BeitragMi, Feb 22, 2006 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
hiho,
das ist eigentlich recht einfach erklärt.

es gibt verschiedene Möglichkeiten eine Programmiersprache zu machen.

1. eine "richtige" Programmiersprache
dort werden nur 10101000101010110101101101010010110101010110101110 ausgegeben
dazu, musst du dich über die Architekture des Zielsystems informieren und von Prozessorherrstellern die Hilfen lesen
2. eine "umgesetzte" Programmiersprache
hier wird der Code, in eine Andere Programmiersprache umgesetzt.
z.B. Blitzmax. hier wird z.B. alles zu Assembler Code gemacht und dann durch den FASM gejagt.
3. eine interpretter Sprache, hier snd Java script, PHP, HTML zu nennen, es wird immer ein anderes Programm benötigt, um sie zum laufen zu bekommen.
4. "Halb kompilierte" das ist sicherlich das komplizierteste, diese Sprachen bzw. Sprachzusätzte bringen viele schnittstellen und nur Halbübersetzte sachen mit, die auf den Betriebssystem umgesetzt werden müssen, und auch auf der Architekture, .Net und ähnliches, Delphi kann das auch.

(weitere möglichkeiten gibt es sicherlich, aber dazu finde selber mehr herraus)
between angels and insects
 

Chris02

BeitragMi, Feb 22, 2006 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ein Compiler müsste doch mit BB auch gehen, oder?
Einfach eifach eine exe erstellen (writefile) und in die dann die Binärbefehle reinschreiben, wird aber viel Arbeit

Jan_

Ehemaliger Admin

BeitragMi, Feb 22, 2006 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, klar geht das auch in BB
between angels and insects

Chester

BeitragMi, Feb 22, 2006 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Allerdings müsste man es dann auch meineswissens auch in .bin abspeichern und nicht in .exe

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group