Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
noop
Anmeldungsdatum: 04.05.2005 Beiträge: 259
|
Verfasst am: 17.06.2005, 20:48 Titel: Compiler |
|
|
Hallo
Überall werden IDEs mit Compilern für eine Sprache angeboten.
WIe zum Henker schreibt man denn einen Compiler?
Da kommen doch nur Hyroglyphen raus wenn man sich das kompilierte mal anguckt. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 17.06.2005, 21:17 Titel: |
|
|
ej, hardcoding is BF2D, Compiliertes Coden ist extrahardcoding  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Stephan

Anmeldungsdatum: 05.10.2004 Beiträge: 358 Wohnort: Hessen - 20km Nördlich von Frankfurt am Main
|
Verfasst am: 17.06.2005, 21:19 Titel: |
|
|
Sebastian hat Folgendes geschrieben: | Es gibt sogar Leute, die schreiben diese Hyroglyphen direkt, das nennt sich dann Hardcoden...  |
Das glaube ich weniger, da Hyroglyphen für mich eher wie der ASCII Code anhört (EXE im Texteditor öffnen)
Kann zwar sein, das es leute gibt, die so Programmieren (was ich mir aber nicht wirklich vorstellen kann)
@noop
Einen Compiler kannst du mit jeder beliebigen programmiersprache schreiben,
dazu müsstest du dich nur recht gut mit Assembler auskennen,
da du z.b. Eingaben des Users wie PRINT "Bla" in einen entsprechenden Assemblercode umwandeln müsstest.
Als Alternative könntest du einen Interpreter schreiben,
dies ist ein "Programm" was eingaben des Users Interpretiert.
und z.b. ein PRINT "Bla" erkennt,und entsprechend den Text ausgiebt. _________________ 'Wir schätzen die Zeit erst, wenn uns nicht mehr viel davon geblieben ist.'
Leo Tolstoi |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
noop
Anmeldungsdatum: 04.05.2005 Beiträge: 259
|
Verfasst am: 17.06.2005, 21:56 Titel: |
|
|
Aha jetzt hab ichs gecheckt.
Aber ich kann mir nicht vorstellen wie ein normaler mensch durch den Hyroglyphenhaufen druchblicken kann. |
|
Nach oben |
|
 |
Stephan

Anmeldungsdatum: 05.10.2004 Beiträge: 358 Wohnort: Hessen - 20km Nördlich von Frankfurt am Main
|
Verfasst am: 17.06.2005, 22:08 Titel: |
|
|
@Noop , du musst schon etwas genauer Definieren,
was du mit Hyroglyphen meinst ???
sowas..
Code: |
UVÙAØÙAØH?iW3ÿ3ÒÞÁÙE ØH‰|$Ç
|
oder sowas hier..
Code: |
push [ebp+08]
call esi
mov dword ptr [ebp+FFFFF0A0], eax
cmp eax, FFFFFFF
je 00433B2D
lea eax, dword ptr [ebp+FFFFF0A4]
|
Wie schon gesagt, ich glaube nicht wirklich, das jemand Programme in der Oberen Version programmieren kann,
da sowas fast unmöglich ist.
Die 2. Variante heisst Assembler, und viele Compilier Wandeln die vom User geschriebene Programme
erst in Assembler code um, um daraus dann EXE Programme zu erstellen. _________________ 'Wir schätzen die Zeit erst, wenn uns nicht mehr viel davon geblieben ist.'
Leo Tolstoi |
|
Nach oben |
|
 |
Exp-Soft

Anmeldungsdatum: 10.09.2004 Beiträge: 79
|
Verfasst am: 17.06.2005, 22:14 Titel: |
|
|
Nen echten Compiler zu programmieren macht in meinen augen nur in ASM oder C sinn..
allerdings sollte man schon ein gutes Wissen über Hardware und Betriebsystem haben um einen Compiler zu schreiben, und als Einzelperson würde es eh extrem lange dauern. |
|
Nach oben |
|
 |
ChemicalWarfare

Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 17.06.2005, 22:25 Titel: |
|
|
Zitat: | Nen echten Compiler zu programmieren macht in meinen augen nur in ASM oder C sinn.. |
Wieso? Solange die Sprache, in der du den Compiler schreiben willst, Dateien lesen und schreiben kann, kannst du es in allen Sprachen mehr oder weniger vernünftig machen. _________________ Er ist ein Wunder!
Nein, er ist eine Missgeburt. |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 17.06.2005, 23:37 Titel: |
|
|
Hallo Exp-Soft,
Zitat: | Nen echten Compiler zu programmieren macht in meinen augen nur in ASM oder C sinn.. |
FBC.exe der freeBASIC-Compiler wird in freeBASIC programmiert
und wie ich finde sehr gut!! oder??
Gruß
Volta _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
Exp-Soft

Anmeldungsdatum: 10.09.2004 Beiträge: 79
|
Verfasst am: 18.06.2005, 01:19 Titel: |
|
|
Interessant, und womit wurde die erste FBC. exe geschrieben? klar in Freebasic oder?
ich mein wäre lustig wenn Free Basic nun mitlerweile in Freebasic geschrieben wird, aber vorstellen kann ich mir das nicht wirklich. (aber kanns ja geben, will ich garnicht bestreiten, aber sicher nicht die erste FBC Version ) |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 18.06.2005, 01:52 Titel: |
|
|
das wäre doch etwas umständlich, erst ne C-Version zu compilieren, diese dann auf Basic umzuschreiben und sich selbst kompilieren lassen.. klingt äußerst fragwürdig ob sich einer die arbeit machen würde, nen ganzen Compiler von C nach Basic zu portieren? _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Exp-Soft

Anmeldungsdatum: 10.09.2004 Beiträge: 79
|
Verfasst am: 18.06.2005, 02:25 Titel: |
|
|
Denke nicht das der in FB geproggt wird, und da eh die meisten Compiler in C geschrieben werden, selbst VB ist in C / C++ geschrieben (soweit ich mal gelesen hab)
aber das war ja eh schon immer nen ansichtsthema |
|
Nach oben |
|
 |
Stephan

Anmeldungsdatum: 05.10.2004 Beiträge: 358 Wohnort: Hessen - 20km Nördlich von Frankfurt am Main
|
Verfasst am: 18.06.2005, 08:46 Titel: |
|
|
Das FreeBasic mit FreeBasic programmiert worden ist,glaub ich auch nicht wirklich ( Huhn & Ei )
Aber womit ist ja eigentlich auch egal, könnte genausogut auch QBasic gewesen sein. _________________ 'Wir schätzen die Zeit erst, wenn uns nicht mehr viel davon geblieben ist.'
Leo Tolstoi |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 18.06.2005, 19:33 Titel: |
|
|
Exp-Soft Zitat: | Interessant, und womit wurde die erste FBC. exe geschrieben? klar in Freebasic oder? |
sinnig; womit wurde der erste C-Compiler compiliert?
Stephan Zitat: | Das FreeBasic mit FreeBasic programmiert worden ist,glaub ich auch nicht wirklich ( Huhn & Ei ) |
Immer Step by Step! zuerst ein EI
Exp-Soft Zitat: | ich mein wäre lustig wenn Free Basic nun mitlerweile in Freebasic geschrieben wird, aber vorstellen kann ich mir das nicht wirklich. (aber kanns ja geben, will ich garnicht bestreiten, aber sicher nicht die erste FBC Version ) |
Ist lustig; man kann sich den Quellcode von freeBASIC ansehen (GPL) der ist ab Version FB 0.09 in freeBASIC.
Gruß
Volta _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
noop
Anmeldungsdatum: 04.05.2005 Beiträge: 259
|
Verfasst am: 18.06.2005, 20:28 Titel: |
|
|
@Stephan
Ich meinte schon den oberen Code.Also wenn man ne exe z.b. fbc.exe mit dem Editot öffnet. |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 20.06.2005, 00:03 Titel: |
|
|
@noop
Zitat: | WIe zum Henker schreibt man denn einen Compiler?
Da kommen doch nur Hyroglyphen raus wenn man sich das kompilierte mal anguckt. |
Also, die Hyroglyphen sind nichts anderes als je 1 Byte (8-bit) als ACCII- Zeichen (Buchstaben, Ziffern, Sonderzeichen) auf dem Bildschirm dargestellt.
Man kann so ein Byte als Binäre-, Dezimale-, Hexadezimale-Zahl und als Zeichen interpretieren (bearbeiten) oder auch als Anweisung an den Prozessor geben, der dann irgendeine Operation ausführt.
Ein Programm welches solche sinnvolle Byt's (Operationscode) für den Prozessor enthält sieht als Hex-Dump dann so aus:
D9 C3 00 43 47 33 45 89 90 90 55 ...
Sowas können dann Hardcoder lesen wie Andere die Bild.
Normale Progger haben für die einzelnen Befehle des Prozessors eine symbolische Schreibweise, das nennt man Assembler:
mov eax, 25
mov ecx, eax
inc ecx
jmpz start
...
Ein Programm der "Assembler" (eigentlich der erste Compiler) wandelt die Textanweisungen in Byte um, macht also ein Programm daraus.
Weil aber die kleinste Aktion auf dem PC, z.B. ein Zeichen auf dem Bildschirm zeigen, sehr viele Assembleranweisungen benötigt, schuf man Programteil-Bibliotheken LIBs. Darin wurden die OP-Codes, die für das Ausgeben eines Zeichens benötigt wurden, gespeichert (unter dem Namen "PRINT") . Jedesmal wenn der Progger PRINT in seinen Assemblertext schrieb, wurde dieser Codeblock in das Programm eingebaut.
Viele dieser Programmteile ergeben dann schon einen BASIC-Compiler.
Ist natürlich stark untertrieben, um einen "richtigen Compiler" zu bauen bedarf es doch etwas mehr.
Gruß
Volta
EDIT: Hier noch ein guter Link http://de.wikipedia.org/wiki/Compiler _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Zuletzt bearbeitet von volta am 21.06.2005, 13:17, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
|