Diskussion:Precompiler

Letzter Kommentar: vor 13 Jahren von 77.20.145.159 in Abschnitt Andere Bedeutung

Ich habe den Eindruck, dass die Ergänzung, die vorgenommen wurde (die beiden letzten Absätze) , auf einer Verwechselung beruht, nämlich zwischen Precompiler und Präprozessor (z.Bsp. C-Präprozessor cpp). Ein Präprozessor führt nur Textersetzungen aus, ein Precompiler analysiert die Syntax und setzt sie in eine andere Sprache um. Wenn keine Einsprüche kommen, werde ich Mitte nächster Woche die Abgrenzung des Precompilers zum Präprozessor einarbeiten und die Teile zum "C-Precompiler" (gemeint sein kann nur der C-Präprozessor) nach Präprozessor verschieben. dibe 22:33, 25. Jul 2004 (CEST)

Einspruch (jedoch nur zur Abgrenzung, C-Precompiler hab ich noch nie gehört): Präprozessoren können schon ganze Arbeit machen, Beispeil (Unix Textformatters Workbench)
cat file | eqn | tbl | troff -ms >file
Die "Präprozessoren" eqn (mathematischer Formelsatz) und tbl (Tabellenformatierungen) leisten ganze Arbeit, nicht nur "einfachen" Textersatz, also mindestens vergleichbar mit Embedded SQL. Nur Precompiler klingt halt besser...--Hubi 08:13, 29. Jul 2004 (CEST)
Kann mir jemand schlüssig den Unterschied zwischen einem Preprozessor und einerm Precompiler erklären sofern er wirklich existiert? Sollte man diesen dann vielleicht in den Artikel einarbeiten? Bin sicher nicht der einzige mit dieser "Fehlannahme"... Axel Kittenberger 22:07, 1. Aug 2004 (CEST)
Schlüssig nicht, aber ein bisschen schon: Precompiler stammt fast ausschliesslich aus dem Bereich ESQL. Präprozessor stammt mehr aus dem Unix-Bereich für cpp/tbl/ratfor/m4/php... Man könnte vielleicht folgendes annehmen:
  • Präprozessoren kopieren nicht für sie bestimmte Konstrukte blind, nur eigene Makros/Elemente werden analysiert und eingefügt.
  • Präcompiler für z.B. C sollten mindestens eine Syntaxanalyse auch einiger C-Konstrukte (ESQL: Variablendeklaration) machen und in ihre eigenen Syntaxelemente einbauen z.B. sollten hier Vorname/Nachname sowohl für C als auch für ESQL-Konstrukte deklariert werden:
               EXEC SQL BEGIN DELCARE SECTION;
                  char Vorname[32];
                  char Nachname[32];
               EXEC SQL END DELCARE SECTION;
               ...
               EXEC SQL SELECT VN,NN INTO :Vorname :Nachmame
                     FROM Personen;
               printf("%s %s\n",Vorname,Nachname);
Allerdings glaube ich, dass die meisten derzeit verfügbaren ESQL "Precompiler" auch blinde Präprozessoren sind und der Nachmame-Vertipper erst vom C-Compiler erkannt werden. Ein echter Precompiler würde dies selbst erkennen.
Nichts verbietet aber einem Präprozessor, ebenfalls "klug" zu sein. Und Precompiler für ESQL/C können auch auf die Variablendekl. verzichten, dann merkts in den meisten Fällen halt der C-Compiler, das wären dann eigentlich (bei ESQL sogar reichlich primitive) Präprozessoren. --Hubi 09:03, 2. Aug 2004 (CEST)

Andere Bedeutung

Bearbeiten

Ich habe den Begriff bislang vor allem als scherzhaften Begriff für den Programmierer, der den Fehler sieht, bevor er den Compiler, der nur meckern würde, anwirft, kennengelernt. – 77.20.145.159 14:44, 20. Apr. 2011 (CEST)Beantworten