Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 31.10.2007, 20:20 Titel: Wie eigenen compiler für qbasic erstellen |
|
|
Hallo zusammen,
also ein Programm geschrieben habe ich schon, um einen ASCII Text anzuzeigen, anderst ist es ja beim qbasic compiler auch nicht.
Nun meine Frage, wie der Zeichensatz in die qbasic norm gespeichert wird, so dass sie dann als exe datei läuft.
Wenn ich das wüsste, wäre der compiler so gut wie fertig |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 31.10.2007, 21:23 Titel: |
|
|
Compilerbau ist sozusagen eine Königsdisziplin in der Informatik, damit lassen sich wirklich dicke Bücher füllen. Das, was du im Moment hast (Text anzeigen) kommt noch nichteinmal an einen Editor heran. Zudem musst du hier trennen zwischen Compiler und IDE. Das, was du bei QB z.B. siehst, ist die IDE ( siehe http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung ). Das, was dir deinen Sourcen in die EXE umwandelt ist, ganz grob gesagt, der Compiler (welcher oftmals noch andere Programme (Präprozessor, Assembler und Linker) benötigt.).
Wenn du wirklich in das Thema einsteigen willst, fang mit einem kleinen Interpreter an. Wie das geht steht zum Beispiel hier ( http://www.east-power-soft.de ). Vllt. kannst du dir ja auch eine Anregung aus der Interpreter-Aufgabe des QB-Wettbewerbs ( http://www.qb-wettbewerb.de ) holen.
Aber einen Compiler bekommst du nicht von heut auf morgen hin.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
helium

Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 01.11.2007, 13:57 Titel: |
|
|
Ganz einfach: Erstmal analysierst du den Code um dir einen Synthaxbaum aufzubauen. Dann analysierst du dessen Semantik um zu "verstehen" was das Programm machen soll. Bis hier hin handelt es sich um das Frontend. Dann kannst du den Code gegebenfalls noch optimieren und zum Schluss kommt dann die Codegenerierung, bei der du in der Regel Maschnienencode generierst. Das nennt man dann das Backend.
Oftmals laufen einzelne Prozesse in mehreren Schritten ab; die Codeanalyse besteht dann aus lexikalischer und syntaktischer Phase (wobei das bei PEGs nicht nötig ist) oder es wird erst Zwischencode generiert, aus dem dann der Maschienencode generiert wird. Manchmal ist aber dieser Zwischencode auch schon das Ergebnis und wird dann von einer VM Interpretiert oder Just In Time übersetzt (JIT). _________________ 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 |
|
 |
Gekkonier
Anmeldungsdatum: 04.07.2007 Beiträge: 13
|
Verfasst am: 07.11.2007, 09:14 Titel: |
|
|
Probier mal zur Übung einen Brainfuck Interpreter zu bauen. Das mag jetzt trivial und vielleicht zu einfach klingen, wäre aber eine angemessene Übung für den Anfang. |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
|
Nach oben |
|
 |
|