camper schrieb:
Arcoth schrieb:
camper schrieb:
Die Anwendung dieser Regel ist ja wohl völlig daneben, da keine Funktionsdefinition existiert. Andernfalls wäre jedes Programm, dass constexpr-Funktionen bloss deklariert abder nicht definiert (und auch nicht verwendet) ill-formed.
Unsinn. Die Tatsache, dass die Funktion gar nicht erst definiert oder overriden werden kann, ist ausschlaggebend (und das ist auch offensichtlich das, worauf ich mich bezog, und nicht auf eine direkte Verletzung der ODR).
Schon klar, dass du das meinst. Der Textsinn des Zitates gibt es nur nicht her.
Wenn wir akribisch normativen Text interpretieren möchten, ist es völlig eindeutig, dass auch undefinierte Funktionen inbegriffen sind, woran der Anfang des Satzes nichts ändert.
Jedenfalls hast du nicht verstanden, was was es heißt, dass Fußnoten, Beispiele, und Notizen keinen normativen Charakter haben: was auch immer sie aussagen, muss sich (soferen sie nicht einfach falsch sind), an anderer Stelle aus dem Text ableiten lassen.
Doch, habe ich.
Trotz der Tatsache, das ein eigener Abschnitt alternative representations shown in Table 5 for certain operators and punctuators existiert; werden die strittigen Token noch einmal in [lex.key] behandelt. Der Standard ist kein Roman; die Tatsache, wo sich eine bestimmte Norm befindet, hat ebenfalls Bedeutung. Wenn die alternativen Token so absolut überhaupt nichts mit Keywords zu tun haben, wieso sollte irgenjemand auf die Idee gekommen sein, das dort hinzuschreiben, wo doch schon ein Abschnitt für diese Token existiert?
Footnote 16 nennt sie "lexical keywords". In früheren WPs waren in [lex.key] noch deutlich mehr, völlig deplatzierte Definitionen, die durch eine in N0904 beschriebene, editorische Aufteilung entfernt wurden. Niemand hat sie dort platziert, als der Abschnitt nur die eine Tabelle enthielt.
Irgendjemand hielt es dann für eine gute Idee, die alternativen Token als festen Bestandteil des Sprachkerns einzuführen. Natürlich sollte sich Präprozessorcode nicht plötzlich anders verhalten, also muss klargestellt werden, dass die Äquivalenz von alternativem Token und entsprechendem Primärtoken [lex.digrah]/2 Vorrang vor der Ersetzung von identifier durch 0 haben soll.
Soweit annehmbar klingend.
Irgenwann später stellt man fest, dass identifier ja fast überall im Standard nur die Token meint, die lexikalisch wie identifier aussehen und keine Keywords sind. Da aber auch Keywords im allg. Gegenstand dieser Ersetzung sind, verschlimmbessert man den Normtext, indem "remaining identifiers" durch "remaining identifiers and keywords", vergisst aber die Fußnote anzupassen.
Das ist falsch. Die Fußnote und die Addition von "and keywords" passierten gleichzeitig, und zwar im Übergang zum Oktober '97 WP.
Ich habe den Ursprung dieser Änderung lokalisiert (war gar nicht so einfach): Es ist N1095. In diesem Paper wurde auch der andere von mir zitierte Paragraph eingefügt: 485,493. Anscheinend handelt es sich um ein Kommentar von France; ich kann leider keine Erklärung dazu finden. Es ist IMO durch die vier in dem Paper gemachten Änderungen sehr suggestiv, dass alternative tokens in Konvertierungen zu tokens von preprocessing tokens als punctuators klassifiziert werden sollen - darum ja die Ergänzung von "and keywords" (weil wir von tokens sprechen).
In wirklichkeit haben Keywords hier nichts verloren, die existieren vor Übersetzungsphase 7 ja nicht als solche.
Im selben Satz wird erklärt, dass die preprocessor tokens in tokens verwandelt werden, welche keywords sein können. Ich mutmaßen jetzt mal: Die Konvertierung zu tokens sollte wohl vor der Ersetzung von keywords und identifiers durch 0 geschehen.
Da du offenkundig nicht in der Lage bist, vernünftig einzuschätzen, ob eine Berichtigung zweckmäßig und angemessen ist, bitte ich dich, zukünftig weder auf meine Beiträge zu antworten
Plonk mich, das kommt nämlich der Unsinnigkeit deiner Bitte gleich.
noch derartiges Threadhijacking zu betreiben.
Dieser Thread handelt sich um Codegolf. Hijacking ist hier ein Kavaliersdelikt.