Compilerbau Bücher?
-
Enno schrieb:
Ich glaube ich hatte die Aufgabe am Anfang falsch verstanden.
Der drückt sich auch immer aus, versteht ja auch kein Mensch.(Ausbilder)
Don't kill me.Heißt?
Wie lautet Deine Aufgabe nun?
-
Xin schrieb:
[
Diesen Code nach JS zu bringen, ist aber möglich, wenn Du verstehst, was genau dieser Code hier tut.Das soll ich auch machen.
Ich hab mri den ehrlich gesagt noch garnicht richtig angeguckt.
-
Enno schrieb:
Xin schrieb:
[
Diesen Code nach JS zu bringen, ist aber möglich, wenn Du verstehst, was genau dieser Code hier tut.Das soll ich auch machen.
Ich hab mri den ehrlich gesagt noch garnicht richtig angeguckt.Dafür musst Du ein Programm schreiben, was den Code versteht und das, was es verstanden hat, als JavaScript wieder wegschreibt... einen Compiler.
-
Xin schrieb:
class a { public: function hello(){ console.log("hello"); } }; class b { public: function bye(){ console.log("Bye"); } }; class c : public a,b{ public: function greet(){ console.log("greeting"); } }
Mehrfachvererbung... sieh an... daher weht also der Wind... ^^
wenn Du verstehst, was genau dieser Code hier tut.
Öhm ... hier erbt die class c von a und b alle public Funktionen?
Xin schrieb:
Weiß Dein Aufgabensteller, dass JavaScript keine Mehrfachvererbung unterstützt?
Ja das ist doch grade der sinn meines Compilers oder? Es ist umsetzbar allerdings nicht in JS vorgesehen, d.h. mein Compiler übersetzt das dann wieder?
-
Was als Einstieg recht gut ist imo, ist Language Implementation Patterns | ISBN: 193435645X, damit kann man schon einiges anfangen. Allerdings empfehle ich trotzdem die Kenntnis von gewissen Interna von C und/oder C++, damit man ne Idee hat, wie verschiedene Dinge umgesetzt werden könnten.
-
Ich wuerde die Aufgabe ja mit Regex loesen.
-
Kellerautomat schrieb:
Ich wuerde die Aufgabe ja mit Regex loesen.
Ja, den Lexer.
-
Wer braucht schon Lexer oder Parser. Stringersetzung mit Regex reicht.
-
Also was ist jetzt die Aufgabe?
Einen JS++ zu JS Compiler schreiben, wobei JS++ ein paar Erweiterungen wie Mehfrachvererbung in JS einbringt?
Und C++ ist "nur" die Sprache in der Du den Compiler entwickeln sollst?Kellerautomat schrieb:
Ich wuerde die Aufgabe ja mit Regex loesen.
Not sure if trolling or just stupid
-
µ schrieb:
Also was ist jetzt die Aufgabe?
Einen JS++ zu JS Compiler schreiben, wobei JS++ ein paar Erweiterungen wie Mehfrachvererbung in JS einbringt?
Und C++ ist "nur" die Sprache in der Du den Compiler entwickeln sollst?Ja, denke so ist es gemeint. Auch wenn ich mir nicht sicher bin ob das jetzt JS++ ist. Aber klingt ja danach. Ich kenne mich da leider nicht ganz so gut aus. Aber Mehrfachvererbung ist dort ja drin.
Ach so, ja soll in C++ geschrieben sein.
-
µ schrieb:
Not sure if trolling or just stupid
Mal ehrlich. Schon darueber nachgedacht? Auch wenn es erstmal nicht ernst gemaint war, finde ich die Idee nach genauerem Nachdenken gar nicht mal so doof. Das koennte tatsaechlich funktionieren.
-
Kellerautomat schrieb:
µ schrieb:
Not sure if trolling or just stupid
Mal ehrlich. Schon darueber nachgedacht? Auch wenn es erstmal nicht ernst gemaint war, finde ich die Idee nach genauerem Nachdenken gar nicht mal so doof. Das koennte tatsaechlich funktionieren.
Damit wäre meine Frage geklärt :p
-
Enno schrieb:
µ schrieb:
Also was ist jetzt die Aufgabe?
Einen JS++ zu JS Compiler schreiben, wobei JS++ ein paar Erweiterungen wie Mehfrachvererbung in JS einbringt?
Und C++ ist "nur" die Sprache in der Du den Compiler entwickeln sollst?Ja, denke so ist es gemeint. Auch wenn ich mir nicht sicher bin ob das jetzt JS++ ist. Aber klingt ja danach. Ich kenne mich da leider nicht ganz so gut aus. Aber Mehrfachvererbung ist dort ja drin.
Ach so, ja soll in C++ geschrieben sein.JS++ habe ich mir gerade aus den Fingern gezogen und beziehe mich nicht auf irgendeine existierende Sprache.
Dein Projektleiter geizt aber auch ein wenig mit Informationen, oder?
-
Enno schrieb:
µ schrieb:
Also was ist jetzt die Aufgabe?
Einen JS++ zu JS Compiler schreiben, wobei JS++ ein paar Erweiterungen wie Mehfrachvererbung in JS einbringt?
Und C++ ist "nur" die Sprache in der Du den Compiler entwickeln sollst?Ja, denke so ist es gemeint. Auch wenn ich mir nicht sicher bin ob das jetzt JS++ ist. Aber klingt ja danach. Ich kenne mich da leider nicht ganz so gut aus. Aber Mehrfachvererbung ist dort ja drin.
Ach so, ja soll in C++ geschrieben sein.Ich glaube, Du solltest Dich mal mit Deinem Ausbilder hinsetzen und dann nehmt ihr euch eine Stunde Zeit und klärt mal ganz konkret und detailliert, was Dein Ausbilder da so gemeint hat...
Ansonsten wird das hier eine reine Ratestunde.
-
Ok. Also ich soll dieses "erfundene" OJS oder auch OOPJS (wie auch immer das jetzt genannt wird) in JS übersetzten, d.h. eine Compiler dafür schreiben. (siehe Code Beispiel was ich gepostet hab) Mein Porjekt Ordner den ich von ihm bekommen habe heißt zum Beispiel OOPJS und die Beispiel Textdatei .ojs.
Jetzt sollte meine Aufgabe eigentlich klar sein oder?Danke btw alleine schon für das helfen das ich es noch einmal vernünftig mir hab definieren lassen. Also durch die vielen Aufklärungen hier habe ich das besser verstehen können.
-
Enno schrieb:
Jetzt sollte meine Aufgabe eigentlich klar sein oder?
Danke btw alleine schon für das helfen das ich es noch einmal vernünftig mir hab definieren lassen. Also durch die vielen Aufklärungen hier habe ich das besser verstehen können.
Tja ja naja. Da fehlt noch ein bisschen mehr Information, was die Sprache können soll. Ist die einzige Erweiterung Mehrfachvererbung oder soll OOJS noch mehr können?
-
µ schrieb:
Enno schrieb:
Jetzt sollte meine Aufgabe eigentlich klar sein oder?
Danke btw alleine schon für das helfen das ich es noch einmal vernünftig mir hab definieren lassen. Also durch die vielen Aufklärungen hier habe ich das besser verstehen können.
Tja ja naja. Da fehlt noch ein bisschen mehr Information, was die Sprache können soll. Ist die einzige Erweiterung Mehrfachvererbung oder soll OOJS noch mehr können?
Also so wie ich das jetzt verstanden hab ist das so, dass wenn ich diesen Code habe:
class a { public: function hello(){ console.log("hello"); }
Der Compiler das zu JavaScript umbauen soll. Ich mein in JS gibt es ja kein class.
also class a -> function a
oder
function hello(){ -> this.hello() (oder irgendwie so dann)versteht ihr was ich meine? Oder versteh ich was falsch? Wenn ja, dann frag ich nochmal.
-
Enno schrieb:
Ok. Also ich soll dieses "erfundene" OJS oder auch OOPJS (wie auch immer das jetzt genannt wird)
Jetzt sollte meine Aufgabe eigentlich klar sein oder?Danke btw alleine schon für das helfen das ich es noch einmal vernünftig mir hab definieren lassen. Also durch die vielen Aufklärungen hier habe ich das besser verstehen können.
Enno schrieb:
Also so wie ich das jetzt verstanden hab ist das so, dass wenn ich diesen Code habe:
also class a -> function a
oder
function hello(){ -> this.hello() (oder irgendwie so dann)versteht ihr was ich meine? Oder versteh ich was falsch? Wenn ja, dann frag ich nochmal.
Was ist dieses "erfundene" OJS oder OOPJS. Von wem erfunden? Intern? Gibt's da Doku zu? Verstehst Du die Doku? Ist Dein Ausbilder sich bewusst, welche Aufgabe er Dir gibt? Bist Du in der Lage, OOPJS zu verstehen, die Konzepte dahinter, bist Du in der Lage das in JS zu schreiben und bist Du in der Lage C++ zu programmieren?
Das sind viele Anforderungen an einen Einstieger. Und eine dafür verhältnismäßig kurze Deadline... inzwischen sind wir nämlich bei drei Programmiersprachen, die Du halbwegs gut können solltest und auch die Konzepte dahinter verstanden haben müsstest, damit Du die Konzepte wie Mehrfachvererbung in JS von Hand nachbilden kannst.
Frag lieber nochmal... :->
-
Was ist dieses "erfundene" OJS oder OOPJS. Von wem erfunden? Intern?
Gibt's da Doku zu?
Verstehst Du die Doku?
Ist Dein Ausbilder sich bewusst, welche Aufgabe er Dir gibt?
Ja.Bist Du in der Lage, OOPJS zu verstehen, die Konzepte dahinter,
Ja.bist Du in der Lage das in JS zu schreiben
Ja.und bist Du in der Lage C++ zu programmieren?
Ja.P.S.: Wegn OJS/OOPJS editiere ich gleich er ist grade beschäftigt. Also sobald er zeit hatte.
-
Und frage direkt noch welche Tools Du einsetzen sollst oder darfst. Also an Lexer- und Parsergeneratoren.
Anzhand einer (kurzen) Beispieldatei ist eine Sprache eigentlich nicht hinreichend klar spezifiziert. Hast Du freie Hand? Gibt er Dir die Grammatik?
Was ist mit vergleichbaren Projekten. Schon recherchiert?
µ schrieb:
Aber gut, ich sollte mal ein wenig arbeiten und nicht nur im Forum rumhängen
Dürfte mein unproduktivster Tag des Jahres sein. Na prima.