Compilerdesign in C
-
Hallo, ich kann leider nicht helfen, dafür reicht mein C nicht.
Mir ist nur aufgefallen, dass in der Code-Zeileint /* Hier kommt die Main funktion */ */Ich meine 'main' */ main()
das Kommentarzeichen vor "Ich" verkehrt rum ist.
-
Meine Standardantwort: Schon mal Flex und Bison angeschaut?
-
Das Benutzen von generiertem Code oder von Libraries hat eventuell das Problem, dass man den dazu benötigten Sprachumfang für ein Uni-Projekt von der Zeit her nicht implementiert kriegt.
-
Das ist mit Flex und Bison ist ne tolle Idee, danke.
Ich arbeite mich da mal ein, gibt es ein brauchbares Einsteigertutorial? Habe da nichts wirklich Freundliches gefunden, sonst muss ich halt aus der Manpage lernen.
-
Gibt es bei euch keine Vorlseung "Compilerbau"? Oder gab es eine?
Da sollte es doch irgendwo ein paar Skripte geben.
-
Die Sache ist dass ich den Kurs erst nächstes Sommersemester besuche, da habe ich allerdings so viel zu tun, dass ich Vorhinein Arbeit abbauen möchte.
Die Vorlesung selbst soll aber in etwa 1:1 Compiler Construction von Niklaus Wirth wiedergeben, einfach nur ohne Snippets in Oberon sondern in C.
-
Ich würde sagen, das macht ohne Theorie wenig Sinn. Mach lieber was für andere Vorlesungen im Voraus. Compilerbau ist eines der wichtigsten Themas, damit hat man immer wieder zu tun.
-
Mechanics schrieb:
Compilerbau ist eines der wichtigsten Themas, damit hat man immer wieder zu tun.
Wo braucht man das denn z.B.?
Meinst du jetzt, wenn man irgendwas parsen will oder so, oder meinst du bezogen aufs Studium, oder was meinst du?
-
Ja, wenn man irgendwas parsen will. Und das kommt ständig vor. Es muss ja nichts kompliziertes wie eine Programmiersprache sein, reicht ja irgendeine ASCII basiertes Dateiformat, oder Strings, die nach einem bestimmten Muster aufgebaut sind, oder Formeln, Regeln usw... Und dann seh ich oft die abenteurlichsten Konstrukte mit String Operationen (indexOf & Co), anstatt einen einfachen Scanner und Parser zu schreiben.
-
ja klar, es gibt typ a, der haut einen url validator mit ner regex platt und typ b, der schreibt dafür nen parser und scanner. ich bin dann typ c und verwurste so ne scheiße in drei funktionen