vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Warum auch nicht? 
Autor: Erdmännchen
Datum: 26.01.04 14:52

Bevor Du auf die Suche nach Sourcecode gehen kannst musst du noch die Sprache (=Syntax) deines Compilers festlegen. Prinzipiell ist ein Compiler eigentlich recht einfach zu programmieren und Du kannst das in jeder Programmiersprache tun.

So ganz grob ist das Vorgehen folgendes: Du liest die Source ein und überprüfst ob der Syntax richtig ist (parsen). Im nächsten Schritt geht es darum Code zu erzeugen: entweder direkt Maschinenbefehle oder häufig sogenannten P(seudo)-Code. Maschinenbefehle können direkt ausgeführt werden (somit schnelle Ausführung des erzeugeten Codes), P-Code wird zur Laufzeit von einem Interpreter abgearbeitet (langsamer, aber weiniger komplex bei der Compilerentwicklung und der Code ist sehr dicht). Häufig wird der erzeugte Code am Schluss noch optimiert. Einfachere Compiler führen diese Schritte hintereinander aus (Mehrpass), komplexe in einem einzigen Druchgang (Singlepass).

Wenn du dich für Maschinencode entschieden hast, brauchst Du noch einen Linker der die einzelnen Programmteile zusammenbindet und im wesentlichen Adressen anpasst. Zur Fehlersuche solltest Du dann noch ein einen Debuger schreiben.

Ob Du das alles in VB machen willst solltest Du dir gut überlegen - so wird der Compiler selbst nämlich recht langsam bleiben. Professionelle Compilerbauer wollen natürlich von den Fehlern anderer unabhängig sein. Darum führen sie möglichst bald einen sogenannten 'Bootstrap' aus: der Compiler wird ein zweites Mal geschrieben und zwar in seiner eigenen Programmiersprache: dadurch kann er sich selbst kompilieren und von allen Vorzügen der Sprache profitieren.

Je nach deinem Ziel könnte auch der Einsatz eines Compilergenerators interessant sein. Dieser kann insbesondere beim Parsen hilfreich sein.


Einen professioneller Compiler einer mächtigen Sprache mit allen Tools ist ein Mehrjahresprojekt und verlangt auch einiges Systematik und Programmierkenntnissen. Einfachere 'Compiler' und besonders Interpreter kann man aber auch mit wenig Aufwand (Tage/Wochen) schreiben. Allerdings hat so eine Bastelarbeit dann auch nur einen geringen Nutzwert. Interesannter könnte es für Dich sein einen Pre- oder Crosscompiler zu schreiben.


Offen bleibt für mich vor allem eine Frage: warum willst Du diesen Aufwand auf dich nehmen - gute Compiler gibts doch wie Sand am Meer für ein paar Euro zu kaufen...


Das Erdmännchen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Ist es möglich unter VB...742Exp-Soft25.01.04 11:32
Re: Ist es möglich unter VB...478NeoInferno25.01.04 12:44
Re: Ist es möglich unter VB...440zillertaler25.01.04 13:06
Re: Ist es möglich unter VB...456Dominik S.25.01.04 15:18
Re: Ist es möglich unter VB...437Radeonmaster25.01.04 15:39
Re: Ist es möglich unter VB...410collix26.01.04 12:50
Re: Ist es möglich unter VB...396zillertaler26.01.04 13:46
Warum auch nicht?425Erdmännchen26.01.04 14:52
Re: Warum auch nicht?434collix27.01.04 21:48
Re: Warum auch nicht?420Dominik S.27.01.04 23:30
Re: Warum auch nicht?393Exp-Soft28.01.04 12:28
Re: Warum auch nicht?399Dominik S.28.01.04 15:01
Re: Warum auch nicht?383zillertaler28.01.04 07:50
Re: Warum auch nicht?417collix28.01.04 16:43

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel