Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
cheatdomi
Anmeldungsdatum: 18.11.2004 Beiträge: 6
|
Verfasst am: 18.11.2004, 15:44 Titel: Eigener Compiler in QBasic |
|
|
Ich wollte mal fragen, wie man ein Compiler in QBasic programmieren kann. |
|
Nach oben |
|
|
MH-Soft
Anmeldungsdatum: 18.11.2004 Beiträge: 20
|
Verfasst am: 18.11.2004, 15:53 Titel: |
|
|
Hi cheatdomi,
einen eigenen Compiler zu programmieren ist schon eine schwere Sache, du müsstest erstmal wissen für welche Programmiersprache dieser Compiler werden soll. Dann müsstest du noch überlegen ob der Compiler eine richtige EXE erstellen soll, oder eine EXE die einen interpreter enthält (Das mit den Interpreter ist wohl das einfachere, beim anderen müsstest du dich wohl mit Programmiersprachen wie Assembler oder C/C++ auskennen).
Ich zum beispiel habe auch einen Compiler programmiert, der in meiner Entwicklungsumgebung die ich programmiere integriert ist.
Schau dir es doch mal an unter... http://www.hosting-dreams.de/
mfg.
Michael Hölzl |
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 18.11.2004, 16:53 Titel: |
|
|
Da es nichts QB-spezifisches ist kannst du einfach mal generell nach compiler construction (bzw. Compilerbau im Deutschen) suchen. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 18.11.2004, 21:46 Titel: |
|
|
Compilerbau stellt in der Informatik ein eigenes Gebiet dar. Das Ganze beginnt bei der Definition einer Syntax für die Programmiersprache, d.h. erst einmal sollte man seine Programmiersprache mit Eisenbahndiagrammen oder EBNF (Erweiterte Backus Naur Form) definieren. Anschliessend muss man dafür einen Parser schreiben. Das Generieren eines Outputs stellt hierbei eine eigene Geschichte dar. Wenn man den Compiler noch soweit trimmen möchte, dass er den für den Intel-Prozessor generierten Maschinencode noch optimiert, wird es dann schon ziemlich anspruchsvoll. Da sind dann wirklich ganz überdurchschnittliche Assembler-Kenntnisse gefragt. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 19.11.2004, 19:41 Titel: |
|
|
@Sebastian:
In dieser Sprache kommen warscheinlich auch keine komplexen Therme vor, sondern nur einfache Anweisungen mit fest vorgegenenen Bedeutungen.
Jetzt stell dir aber mal eine komplexe Programmiersprache vor, mit Mathematischen ausdrücken, selbst definierten Variablen, Funktionen, etc.
Zitat: | Wenn man den Compiler noch soweit trimmen möchte, dass er den für den Intel-Prozessor generierten Maschinencode noch optimiert, wird es dann schon ziemlich anspruchsvoll. |
Man optimiert, bevor man in Maschienen Sprache übersetzt! _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 19.11.2004, 22:17 Titel: Jaja |
|
|
Hallo.
helium hat Folgendes geschrieben: | Jetzt stell dir aber mal eine komplexe Programmiersprache vor, mit Mathematischen ausdrücken, selbst definierten Variablen, Funktionen, etc. |
OK, stimmt natürlich. Aber für einfache Sachen, wie so eine simple Installer-Scriptsprache braucht man keine besonderen Diagramme.
Der Thread-"Anzettler" hat ja nicht gesagt, dass er eine komplexe Sprache umsetzen will...
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 20.11.2004, 11:17 Titel: |
|
|
Egal, ob nur einfache Scriptsprache oder komplexe Programmiersprache: Einen Entwurf der Syntax braucht es immer. Während dies im letzteren Fall durchaus 50 A4-Seiten geben können, hat vielleicht bei einer einfachen Installer-Scriptsprache die EBNF-Syntax bereits auf einer einzigen Seite Platz und ist dann auch entsprechend schnell umgesetzt.
Wichtig ist einfach, dass sich am grundlegenden Vorgehen nichts ändert. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 20.11.2004, 16:19 Titel: |
|
|
Hmm, wenn ich beispielsweise einen Assembler definieren wollte, würde ich auch nicht unbedingt zu EBNF greifen.
moveCommand ::= 'mov' register ',' register | 'mov' ...
Und es gibt bei sowas ja auch nicht wirklich viel zu parsen. Das, was aus dem Scanner kommt ist ja fast schon alles, was du brauchst. Oder vertue ich mich da etwa? _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 20.11.2004, 19:05 Titel: |
|
|
helium hat Folgendes geschrieben: | Und es gibt bei sowas ja auch nicht wirklich viel zu parsen. Das, was aus dem Scanner kommt ist ja fast schon alles, was du brauchst. Oder vertue ich mich da etwa? | Assembler stellt in dem Sinn auch ein gutes Beispiel für eine einfache Syntax dar, welche vermutlich auf höchstens 2 A4-Seiten bereits vollständig definiert werden könnte. Allerdings muss aber auch eine .ASM-Quelltextdatei einem bestimmten formalen Aufbau entsprechen, damit es der Assembler in ein .OBJ übersetzen kann. => einen Parser braucht es auch dort, wenn auch nur einen sehr einfach aufgebauten. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
|