Michael Schröpl: (C++ --» HTML)

Beitrag lesen

Ein derartiges Tool ist mir nicht bekannt - aber ich finde die Idee, danach zu fragen, so gut, dass ich unsere Perl-Cracks mal anstiften moechte, sich Gedanken zu machen, ob man so was nicht mal als CGI-Service anbieten koennte:

Hm. Es läuft m. E. darauf hinaus, für jeder der genannten Sprachen einen Strukturparser und einen (trivialen) Codegenerator zu schreiben. Darauf hätte ich allerdings nicht die geringste Lust - die komplette Syntax von C++ oder in regular expressions darzustellen, gruselwusel ...
Außerdem gibt es solche Parser natürlich schon, denn die Sprachen werden ja verwendet.

Mein Ansatzpunkt wäre also, irgendwo den Source Code eines bereits existierenden Parsers für eine solche Sprache zu erbeuten und den Codegenerator (der den Strukturbaum in eine HTML-Ausgabe umwandelt) dann selbst zu schreiben. Dieser müßte sich natürlich an die Datenstruktur des Parsers anpassen.
Ich halte Perl nicht zwingend für die Sprache, in der man einen solchen Parser finden würde. Eigentlich denke ich da eher an etwas, was sich für eine solchen Sprachanalyse besser eignen würde, nämlich einen Parsergenerator auf der Basis von lex und yacc ... also letztlich generierten C-Code.

Der CGI-Anschluß ist für das Problem sekundär.

Ein lustiger alternativer Ansatz für entsprechende Freaks könnte es sein, sich den Source Code für Highlighting bestimmter Sprachen in Emacs zu besorgen. Der ist nun allerdings wahrscheinlich in Lisp, und das ist nicht gerade meine Lieblingssprache ... aber ... immerhin müßte es den umsonst geben.

Oder wenn es konkret C++ sein soll (das war ja der Ansatzpunkt des Threads): Es gibt da einen GNU-C++-Compiler, der C++ versteht. Man nehme also diesen und schreibe seinen Codegenerator auf die Erzeugung von HTML um ...