Aktuelle Zeit: 28.11.2020 10:19

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 100 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5 ... 10  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: [Tutorial] Compiler und Virtual Machine
BeitragVerfasst: 09.09.2013 23:29 
Offline
Benutzeravatar

Registriert: 25.01.2005 12:19
puretom hat geschrieben:
Wenn ich ein Bild (oder PDF oder ZIP,...) uppen will, welchen gratis (!) Dienst, bei dem die Bilder auch länger oben bleiben, ohne gelöscht zu werden, würdet ihr mir empfehlen? Am liebsten würde ich mich nicht schon wieder wo registrieren, sondern einfach einen Link nach dem Upload bekommen (das war mal bei Rapidshare zu Dinosaurierzeiten so).

Ich kann Dir zum Bilderhochladen www.abload.de empfehlen. Es ist keine Anmeldung erforderlich, und ich nutze diesen bisher sehr zuverlässigen Dienst seit einiger Zeit, um Beispiel- oder Fehler-Snapshots hochzuladen und in meine Postings einzubinden.

Übrigens: ich finde Dein Tutorial toll und bin schon sehr gespannt auf die Fortsetzungen... :allright:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Tutorial] Compiler und Virtual Machine
BeitragVerfasst: 10.09.2013 17:59 
Offline

Registriert: 13.05.2010 09:26
Wohnort: Berlin
@puretom:
Vielen Dank für die viele Arbeit, und für die Sorgfalt die du an den Tag legst.
Das ist bisher ein interessantes Tutorial!

puretom hat geschrieben:
@alle
Frage:
ASCII-Art als Abbildung geht ja irgendwie nicht richtig, weil die Schrift proportional ist.

Zwischen [ code ] und [ /code ] ist Schrift mit fester Breite, da geht auch ASCII-Art:

Code:
         (__)
         (oo)
   /------\/
  / |    ||   
 *  /\---/\   
    ~~   ~~

_________________
Dieser Satz ist falsch.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Tutorial] Compiler und Virtual Machine
BeitragVerfasst: 10.09.2013 18:08 
Offline
Benutzeravatar

Registriert: 06.09.2013 22:02
Danke an euch!

Danke für den Tipp mit dem Bild-Upload.

Ascii-Art habe ich mittlerweile schon herausgefunden.

_________________
Windows 7 und Windows 10 (Laptop), PB 5.62 | Projekt: Tutorial - Compiler und Virtual Machine | vielleicht einmal ein Old School Text-Adventure Tutorial | Neu: Spielereien, Üben rund um OOP in PB


Zuletzt geändert von puretom am 11.09.2013 15:20, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Tutorial] Compiler und Virtual Machine
BeitragVerfasst: 10.09.2013 20:30 
Offline
Benutzeravatar

Registriert: 06.09.2013 22:02
*** KAPITEL 2 ***

2. Literaturempfehlungen

Gerade in diesem Bereich ist es sehr schwer, wirklich brauchbare Literatur zu finden. Natürlich habe ich mir in all den Jahren viel zusammengelesen und bin dann eben zu meiner ganz persönlichen Hit-Liste gekommen. Viele Bücher in diesem Bereich sind meiner Meinung nach für den Hobbyprogrammierer völlig ungeeignet, obwohl sie tatsächlich immer wieder als Tipps genannt werden. Es stellte sich oft heraus, dass ich nach hunderten Seiten immer noch nicht in der Lage war, einen einfachen Scanner zu programmieren. Woran lag das? Vielleicht an meiner eigenen Unintelligenz und Blödheit, aber ich habe dann mehrfach gelesen im Netz, anderen ging es auch so.


2.1. Literatur, die mir half, meinen ersten Compiler zu programmieren

Diese Bücher halfen mir schließlich (aber auch hier nach vielem Lernen und Herumprobieren) meine ersten lauffähigen Compiler mit Pure Basic zu programmieren.

  • Let's Build a Compiler, by Jack Crenshaw
    Für mich eine Offenbarung nach ewigem Suchen, leider auf Englisch. Ich werde etliches aus diesem Werk hier einfließen lassen.

    Crenshaw kompilert im Original auf Motorola 68000 (der Amiga und der ATARI ST hatten eine CPU auf dieser Grundlage).
    Außerdem verwendet er die Programmiersprache Pascal. Im Netz sah ich auch mal eine C-Version, aber ich gebe offen zu, dass die Pascal-Version für mich lesbarer ist als C.

    http://compilers.iecc.com/crenshaw/ - Die Originalseite, Motorola 68000
    http://www.e-booksdirectory.com/details.php?ebook=1137 - dasselbe als PDF, besser als im Original formatiert
    http://www.pp4s.co.uk/main/tu-trans-comp-jc-intro.html - besser formatiert, übersichtlich und X86-Code, für mich die derzeit beste Version

  • Blunt Axe Basic: Let's Build a Scripting Engine-Compiler, by S. Arbayo
    Wenn man seinen Crenshaw verstanden hat, dann ist das das Werk der Wahl. In C verfasst, daher für mich ungleich schwerer zu lesen, hätte ich es als Erstlingswerk nicht so wirklich verstanden, vor allem wegen der C-mäßigen Stringbehandlung, mit der ich mich halt quäle, aber Geschmäcker sind ja bekanntermaßen verschieden. Aber als Zweitbuch war es toll für mich. Basiert in seinen Techniken sehr stark auf Crenshaw - ist also etwas wie eine Crenshaw-Variante, compilert auf X86-Assembler bzw. interpretiert im ersten Teil den Code als reiner Interpreter (auch eine interessante Variante).
    https://sites.google.com/site/bluntaxebasic/tutor/

  • Compiler Tutorial in Pure Basic, by ?
    Wer seinen Crenshaw verstanden hat, dem wird hier ein kurzes und knappes und sehr gutes Tutorial in Pure Basic (!!!) geliefert, das ich besonders toll finde. Guten Appetit!
    http://pbtut.blogspot.co.at/2009/08/base.html

  • Compiler Construction, by Niklaus Wirth
    Grundlagen und Techniken des Compilerbaus, by Niklaus Wirth
    Das ist der Mann der Eidgenössischen Technischen Hochschule (ETH) Zürich, der Pascal erfunden und programmiert hat. Er hat die englische Version seines Buches auf die ETH-Homepage gestellt. Dieses Buch - als Kaufversion bei Amazon nach wie vor auf Deutsch erhältlich, ich habe es schließlich gekauft - hat mir, nachdem ich meinen Crenshaw gelernt und mit einigen Toy-Compilern schon weiterexperimentiert habe, enorm weitergeholfen, vor allem das Kapitel mit der Virtual Machine (Er compiliert auf eine virtuelle Registermaschine). Wirth ist knapp und dirty, ich hätte ihn ohne Crenshaw so von vornherein nicht verstanden, auf Englisch schon gar nicht, verwendet aber, wenn man unter die Motorhaube schaut, sehr ähnliche und in vielen Bereichen sogar dieselben Compilertechniken wie Crenshaw.
    http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf - Die englische Free-Version
    http://www.amazon.de/Grundlagen-Techniken-Compilerbaus-Niklaus-Wirth/dp/3486243748 - Die deutsche Kaufversion, die neben mir am Tisch liegt.
    (Tipp: in Amazon ins Inhaltsverzeichnis schauen unter "Hier klicken Blick ins Buch" in der rechten Ecke des Fotos des Buchcovers!)

  • Compilers and Compiler Generators an introduction with C++, by P.D. Terry, Rhodes University, 1996
    Vor allem die Kapitel 4, 6 und 7 haben mir beim Thema Virtual Machines und Assembler recht brauchbar weitergeholfen.
    http://www.scifac.ru.ac.za/compilers/conts.htm


2.2. Literatur, die hilfreich ist, wenn man schon eine Ahnung von Compilern hat

  • Game Scripting Mastery, by Alex Varanese
    Eine Bibel, wenn man schon mehrere erfolgreiche Compiler-Gehversuche hinter sich hat und im Lernen voranschreitet. Beginnt auch bei Adam und Eva, ist aber etwas schwerer verständlich als Crenshaw, aber wirklich enorm und unglaublich potent, wenn es um Virtuelle Maschinen, Scripting Systeme für z.B. Ego-Shooter bzw. Role Games oder dergleichen geht, ist ein Grundlagenwerk mit ca. 1272 Seiten und behandelt Compiler und Scripting von Grund auf. Wärmstens zu empfehlen. Durchaus als Einsteigerwerk geeignet, ich empfehle dennoch Crenshaw zuerst, weil er übersichtlicher ist am Beginn der Compilerprogrammiererlaufbahn, zumal Varanese C benutzt und ich persönlich Pascal übersichtlicher finde, aber wie oben gesagt: Geschmäcker ...
    (Tipp: in Amazon ins Inhaltsverzeichnis schauen unter "Look inside" in der rechten Ecke des Fotos des Buchcovers!)
    http://www.amazon.com/Scripting-Mastery-Premier-Press-Development/dp/1931841578

  • Compiler Design: Virtual Machines, by Reinhard Wilhelm, Helmut Seidl
    Für das Verstehen einer Stack Machine sehr hilfreich. Kapitel 2 und 5 für mich sehr brauchbar.
    (Tipp: in Amazon ins Inhaltsverzeichnis schauen unter "Look inside" in der rechten Ecke des Fotos des Buchcovers!)
    http://www.amazon.com/Compiler-Design-Machines-Reinhard-Wilhelm/dp/3642149081

  • Using Peephole Optimization on Intermediate Code, by Andrew S. Tanenbaum, Hans van Staveren, Johan W. Stevenson, Vrije Universiteit, Amsterdam, The Netherlands
    Wenn man seinen Stack Machine Code mit einem Peephole Optimizer optimieren will oder muss, dann ist dieses kurze wissenschaftliche Paper meiner unbedeutenden Meinung nach auch bibelverdächtig. Ich habe mal einige Optimierungen in einem kleinen Testprogramm für mich angetestet, die da in diesem Paper dargestellt werden, und diese funktionierten sehr gut. Empfehlenswert für Stack Machines.
    http://www.nada.kth.se/~mosavian/masterthesis/peephole/p21-tanenbaum.pdf

  • Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages, by Terence Parr
    In Java verfasst, womit ich es persönlich schwer habe. Sicher kein Einsteigerwerk, das Kapitel Stack Machine ist interessant, aber nicht unbedingt notwendig. Brauchbar, wenn man sich schon gut auskennt, aber nicht zwingend erforderlich, war für mich aber interessant.
    http://www.amazon.com/Language-Implementation-Patterns-Domain-Specific-Programming/dp/193435645X


2.3. Literatur, die mir persönlich überhaupt nichts sagte



2.4. Abschließende zusammenfassende Betrachtungen

Die echten Bibeln sind für mich für ...

  • Compilerbau: Crenshaw, Wirth, das PB Tutorial des unbekannten Autors, Varanese
  • Game Scripting: Varanese
  • Virtual Machine allg.: Varanese, Reinhard Wilhelm und Helmut Seidl
  • Virtual Stack Machine: Reinhard Wilhelm und Helmut Seidl und Tanenbaum et al. zum Optimieren

*** KAPITEL 2 ***

_________________
Windows 7 und Windows 10 (Laptop), PB 5.62 | Projekt: Tutorial - Compiler und Virtual Machine | vielleicht einmal ein Old School Text-Adventure Tutorial | Neu: Spielereien, Üben rund um OOP in PB


Zuletzt geändert von puretom am 27.09.2013 20:08, insgesamt 42-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Tutorial] Compiler und Virtual Machine
BeitragVerfasst: 15.09.2013 14:31 
Offline
Benutzeravatar

Registriert: 06.09.2013 22:02
LOGIKFEHLER BEHOBEN:

Alte Meldung von mir lasse ich, falls jemand Interesse am Problem hat:

Anmerkung:

Es geht nicht darum, dass der Scanner nicht funktioniert, das tut er bestens!

Nur wenn das Zeichen "/" in mathematischen Ausdrücken auch die Division werden soll, dann muss ich dafür sorgen, dass der Scanner einfache "/" nicht auffrisst, z.B. für 3/2+4.
Werden ich alsbald ändern, leider muss ich dazu auch alle Debug-Ausdrucke neu machen. (in den Code-Boxen, denn der Scanner soll ja alle einfachen "/" als Other weitergeben, ohne sie zu essen).
Die Veränderung ist schnell durchgeführt, hat mein funktionierender Compiler eigentlich schon gehabt, nur wollte ich alles für das Tutorial neu machen und war so genial, darauf zu vergessen.
In meinem Compiler habe ich genau denselben Fehler gemacht und das später dann gefixt, als ich den mathematischen Scanner gemacht habe und mir das Divisionszeichen abgegangen ist.

Wie vergesslich man sein kann, um einen Fehler 2-mal zu begehen. :lol:


--> Die Lösung dieses Problems habe ich jetzt im Scanner als Lernbeispiel eingebaut

_________________
Windows 7 und Windows 10 (Laptop), PB 5.62 | Projekt: Tutorial - Compiler und Virtual Machine | vielleicht einmal ein Old School Text-Adventure Tutorial | Neu: Spielereien, Üben rund um OOP in PB


Zuletzt geändert von puretom am 16.09.2013 15:40, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Tutorial] Compiler und Virtual Machine
BeitragVerfasst: 16.09.2013 15:38 
Offline
Benutzeravatar

Registriert: 06.09.2013 22:02
Version Beta 2mit repariertem "/"-Problem online:

Bitte um Feedback und Hilfe/Unterstützung beim Fehlerkorrigieren, der Übersichtlichkeit halber so:

  • Thread: Code, Tipps, Hilfen, Diskussionen, ...
  • Private Message: Tipp-, Rechtschreib-, Grammatik-, Stilfehler und Ähnliches

Soll ich weitermachen??

Das war viel Arbeit und noch habe ich große Lust, und es macht mir noch großen Spaß.
Falls aber das Tutorial unbrauchbar ist, dann beende ich es.

Also bitte um Feedback und Interesse!

LG Puretom

_________________
Windows 7 und Windows 10 (Laptop), PB 5.62 | Projekt: Tutorial - Compiler und Virtual Machine | vielleicht einmal ein Old School Text-Adventure Tutorial | Neu: Spielereien, Üben rund um OOP in PB


Zuletzt geändert von puretom am 22.09.2013 16:27, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Tutorial] Compiler und Virtual Machine
BeitragVerfasst: 16.09.2013 17:17 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
puretom hat geschrieben:
Soll ich weitermachen??

Das war viel Arbeit und noch habe ich große Lust, und es macht mir noch großen Spaß.
Falls aber das Tutorial unbrauchbar ist, dann beende ich es.

Also bitte um Feedback und Interesse!

Selten dämliche Frage, selbstverständlich sollst Du weiter machen :allright:

Gruß
Thomas

_________________
PureBasic 5.71 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 19.3 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Tutorial] Compiler und Virtual Machine
BeitragVerfasst: 16.09.2013 17:24 
Offline

Registriert: 02.02.2010 18:22
Wohnort: Westerwald
ts-soft hat alles dazu gesagt.... :-)

:allright:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Tutoroal] Compiler und Virtual Machine
BeitragVerfasst: 16.09.2013 19:22 
Offline
Benutzeravatar

Registriert: 06.09.2013 22:02
Vielen Dank für Feedback!

Ich bekomme auch laufend via PM Feedbacks und bitte darum HIER IM THREAD und auch bei den PRIVATE MESSAGES immer den TEIL (EV. KAPITEL, wenn du ganz nett sein willst) hinzuschreiben und natürlich zu QUOTEN/ZITIEREN, auf den sich die Kritik bezieht.

Dann bleibts übersichtlich und ich suche nicht wie das Eichhörnchen die Nüsse! :D

Ich lege mir eine Liste an, wo ich was von den Feedbackpunkten einarbeiten muss, also nur munter weiter!

Mit eurer Hilfe kann das ein ansprechendes Tut werden

LG Puretom

P.S.
Ganz toll wäre, wenn jemand das alles mit allen erdenklichen Eingaben testen könnte, ich habe zwar jeden Stein umgedreht, aber ich wette (das ist doch immer so bei Code), dass eine andere Person als der Programmierer die tollsten Bugs findet
.

_________________
Windows 7 und Windows 10 (Laptop), PB 5.62 | Projekt: Tutorial - Compiler und Virtual Machine | vielleicht einmal ein Old School Text-Adventure Tutorial | Neu: Spielereien, Üben rund um OOP in PB


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Tutorial] Compiler und Virtual Machine
BeitragVerfasst: 16.09.2013 20:48 
Offline
Benutzeravatar

Registriert: 06.09.2013 22:02
Mein Tutorial lässt sich plötzlich oft nicht ändern (springt immer wieder auf einen total alten Stand), ich mache einfach mit einem neuen Eintrag weiter.

_________________
Windows 7 und Windows 10 (Laptop), PB 5.62 | Projekt: Tutorial - Compiler und Virtual Machine | vielleicht einmal ein Old School Text-Adventure Tutorial | Neu: Spielereien, Üben rund um OOP in PB


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 100 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5 ... 10  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye