Sinn vom spezifischen Compiler?



  • ich habe einen einfachen Compiler geschrieben. Der augenblickliche Zustand ist: der Compiler versteht standard c und teilweise c++98. Mein Ziel ist einen spezifischen Compiler zur Steuerung von Maschinen/Prozessen/Robotern zu entwickeln. Ist es sinnvoll, einen spezifischen Compiler zu schreiben? Wenn ja, welchen Branchen fehlen sowas?



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • ich habe einen einfachen Compiler geschrieben. Der augenblickliche Zustand ist: der Compiler versteht standard c und teilweise c++98.

    Das "teilweise" würde ich unterstreichen. Das der halbwegs konform ist, ist schwer zu glauben. Selbiges gilt übrigens für den C Teil.



  • ich habe einen einfachen Compiler geschrieben. Der augenblickliche Zustand ist: der Compiler versteht standard c und teilweise c++98.
    Das "teilweise" würde ich unterstreichen. Das der halbwegs konform ist, ist schwer zu glauben. Selbiges gilt übrigens für den C Teil.

    teilweise bedeutet: inline und class nur halbwegs implementiert, allerdings bin mit multi inheritance etc. gar nicht angefangen.

    Ich stelle den Beitrag hier, nicht um was zu protzen, oder Skepsis zu ernten, sondern die Meinungen zur meinen Frage zu holen.

    Nochmal meine Frage:
    Wenn es derzeit noch sinvoll, einen spezifischen Compiler zu entwickeln, dann würde ich gerne wissen, welche Richtung oder Branche empfehlenswert wäre?



  • Mir würde Branchenspezifisch nur einfallen das es unterschiedliche Optimierungsziele gibt. Als ich damals studiert habe war z.B. am Embedded Lehrstuhl das Thema WCET aware compiler ziemlich stark.

    Letztendlich setzt das aber alles erstmal darauf das der ganze Parser und Lexer Teil gleich bleibt und es wird erst bei der Codegenerierung angesetzt, weswegen man dort problemlos auf existierende Compiler aufsetzen kann statt eigene zu schreiben. Denn die Optimierung kann noch so gut sein, wenn der Compiler zu viele Fehler produziert ist er praktisch unbrauchbar.



  • da deine Fragen sehr abstrakt sind antworte ich mal genau so - und hoffe das du ein bisschen mehr Details postest

    Mein Ziel ist einen spezifischen Compiler zur Steuerung von Maschinen/Prozessen/Robotern zu entwickeln.

    auf welchen Maschinen(SPS,CNC,Motoren), Roboter(Fanuk,..?), Platformen? ARM, x86, MIPS, Windows, Linux?
    oder willst du einen Interpreter bauen - dann ist deine Codegenerierung ja unabhaegig von der Ziel-Platform

    Ist es sinnvoll, einen spezifischen Compiler zu schreiben?

    wenn man keinen hat und einen braucht ja - oder was meinst du?

    Wenn ja, welchen Branchen fehlen sowas?

    wie kommst du darauf das in bestimmten Branchen etwas fehlt? Was ist dein Hintergrund?



  • wenn du einen C-Kompiler bauen willst der wirklich sinnvoll ist solltest du nicht bei Adam und Eva anfangen

    Clang + (LLVM + ein Backend von dir)



  • Gast3 schrieb:

    da deine Fragen sehr abstrakt sind antworte ich mal genau so - und hoffe das du ein bisschen mehr Details postest
    auf welchen Maschinen(SPS,CNC,Motoren), Roboter(Fanuk,..?), Platformen? ARM, x86, MIPS, Windows, Linux?
    oder willst du einen Interpreter bauen - dann ist deine Codegenerierung ja unabhaegig von der Ziel-Platform
    wenn man keinen hat und einen braucht ja - oder was meinst du?
    Wenn ja, welchen Branchen fehlen sowas?
    wie kommst du darauf das in bestimmten Branchen etwas fehlt? Was ist dein Hintergrund?

    meine Ausbildung hat nix direkt mit Informatik zu tun. Seit mehr als 3 Jahren codiere ich in C/C++. Ehrlich gesagt, es fehlt mir Theorie über Compiler 😞 Um Kenntnisse in Programmierung zu vertiefen, versuche ich einen Compiler auf Windoze zu schreiben. Glücklicherweise habe ich was geschafft. Dabei überlege ich, ob es sinnvoller, einen Compiler bspw. zur Steuerung von Maschinen zu schreiben. Z.B. er kennt gotoposition wie while. Die Entwicklung kostet mir viel Zeit, deswegen würde ich vor weiteren Fortschritten hier schon Inputs von Euch zu erhalten. Vielleicht gibt es so ähnliches bereits.



  • Arcoth schrieb:

    ich habe einen einfachen Compiler geschrieben. Der augenblickliche Zustand ist: der Compiler versteht standard c und teilweise c++98.

    Das "teilweise" würde ich unterstreichen. Das der halbwegs konform ist, ist schwer zu glauben. Selbiges gilt übrigens für den C Teil.

    Was soll dieser Kommentar? Ist er konstruktiv? Warum gehst Du davon aus, dass der Fragende erst mal doof ist? Könnte es nicht auch sein, dass er tatsächlich einen halbwegs vollständigen Compiler geschrieben hat? Glaubst Du die Autoren von den grossen Projekten sind keine Menschen aus Fleisch und Blut, die eventuell mal in einem Forum was posten?

    Es gab mal einen Studenten, der hat auch einen ähnlichen Kommentar geschrieben und ein Professor hat ähnlich überheblich reagiert. Er hat sich getäuscht. Der Student ist heute sehr viel bekannter als der Professor.

    Ich möchte nicht sagen, dass der original Poster unbedingt der Überflieger ist, aber man sollte respektvoll miteinander um gehen. Er könnte es ja doch sein. Und wenn nicht, dann muss man ihn ja trotzdem nicht runter machen.



  • Glaubst Du die Autoren von den grossen Projekten sind keine Menschen aus Fleisch und Blut, die eventuell mal in einem Forum was posten?

    Wovon redest du jetzt, der Tatsache, dass Autoren von großen Projekten mal klein angefangen und in Foren gefragt haben? Oder davon, dass diese in fortgeschrittenen Phasen solcher Projekte in ein Forum gehen, das überwiegend an Neulinge gerichtet ist?

    Ich stelle den Beitrag hier, nicht um was zu protzen, oder Skepsis zu ernten, sondern die Meinungen zur meinen Frage zu holen.

    Ich wollte lediglich darauf hinweisen, dass dein Compiler höchstwahrscheinlich keine gute Basis ist. Es könnte ggf. deutlich einfacher sein, existierende Implementierungen entsprechend anzupassen. Davon gibt es ja einige.

    tntnet schrieb:

    Warum gehst Du davon aus, dass der Fragende erst mal doof ist?

    Warum gehst du davon aus, dass jemand, der nicht doof ist, automatisch einen ansatzweise nutzbaren Compiler schreibt? Der TE ist sicherlich nicht doof, aber er ist kein Compiler Dev. Wenn es ein marginaler Dialekt ist, trau ich es ihm zu, aber nicht das ganze Paket. Und das hat er offenbar auch nicht anvisiert.

    Könnte es nicht auch sein, dass er tatsächlich einen halbwegs vollständigen Compiler geschrieben hat?

    Nein - wobei das davon abhängt, was du halbwegs nennst, und dass er tatsächlich ISO C gemeint hat. Die Beschreibung des TEs deutet definitiv nicht auf halbwegs hin. (was nach wie vor lobenswert ist, denn auch eine kleine Untermenge von C zu implementieren kann viel Arbeit erfordern).



  • Es gab mal einen Studenten, der hat auch einen ähnlichen Kommentar geschrieben und ein Professor hat ähnlich überheblich reagiert. Er hat sich getäuscht. Der Student ist heute sehr viel bekannter als der Professor.

    100 verdiente Punkte für das beste Kindergarten-Kommentar das ich je gelesen habe - als wenn Professoren die Messlatte wären - und es jemanden juckt was aus wem und wie geworden ist...



  • meine Ausbildung hat nix direkt mit Informatik zu tun. Seit mehr als 3 Jahren codiere ich in C/C++. Ehrlich gesagt, es fehlt mir Theorie über Compiler 😞 Um Kenntnisse in Programmierung zu vertiefen, versuche ich einen Compiler auf Windoze zu schreiben. Glücklicherweise habe ich was geschafft.

    schön das du kräftig am lernen bist

    Dabei überlege ich, ob es sinnvoller, einen Compiler bspw. zur Steuerung von Maschinen zu schreiben.

    "von Maschinen" ist so konkret wie "ich mach was mit Computern" - welche Maschinen und in welchem Bereich?

    Z.B. er kennt gotoposition wie while. Die Entwicklung kostet mir viel Zeit, deswegen würde ich vor weiteren Fortschritten hier schon Inputs von Euch zu erhalten. Vielleicht gibt es so ähnliches bereits.

    ohne jegliche Information welche Maschinen, System oder Bereiche du anstrebst kann man hier nichts zu sagen - es gibt fast fuer alle Systeme einen C-Kompiler - also welche "Maschinen" meinst du



  • die weiteren Beiträge weichen viel weiter von meiner Frage ab. Bitte mein Thread einfach löschen.



  • was ist an deinem Kompiler besser als am VStudio-CL, gcc, clang, Intel, ARM, etc. an denen sehr sehr viele Entwickler arbeiten, alle Standard-Konform sund und schon Mio-Stunden Fehlerfindung betrieben wurde?

    Oder zielst auf einen besonderen Bereich ab für die es noch keinen Kompiler gibt?



  • factorypattern schrieb:

    Ist es sinnvoll, einen spezifischen Compiler zu schreiben?

    Vermutlich nicht.

    Es gibt zwar einige Branchen die eher spezielle Anforderungen haben, aber die speziellen Anforderungen sind nicht bei allen diesen Branchen gleich. Wenn du fragen musst ob es Sinn macht bzw. was die "interessierten" Branchen wären, dann kann man davon ausgehen dass du die speziellen Anforderungen nicht kennst.
    => Wie willst du dann etwas auf diese Branchen zurechtgeschnittenes entwickeln?

    Dann kommt hinzu dass es verflixt viel Aufwand ist auch nur einen C Compiler zu entwickeln mit dem irgendwer glücklicher ist als mit bestehenden Lösungen.

    Und... das wird jetzt nicht gut ankommen, aber ist mMn. einfach so: Wenn du seit (vermutlich nicht viel) mehr als 3 Jahren "C/C++ codierst", dann kann man davon ausgehen dass du noch lange nicht soweit bist einen Compiler zu entwickeln mit dem auch nur irgendjemand wirklich glücklich wäre.


  • Mod

    factorypattern schrieb:

    die weiteren Beiträge weichen viel weiter von meiner Frage ab. Bitte mein Thread einfach löschen.

    Ruhe bewahren, es gibt immer ein paar Störenfriede, die ein Rauschen verursachen. Das mindert nicht die Qualität anderer Antworten. Die Sache ist unter Beobachtung, damit sie nicht weiter entgleist.


Log in to reply