GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Tool zum Überprüfen der Rechtschreibung von Kommentaren im c/c++-Quellcode

Emacs hat ispell-comments-and-strings was innerhalb des Editors ziemlich gut funktioniert. Es stützt sich auf den Syntaxhervorhebungsmechanismus, um Kommentare und Zeichenfolgen zu identifizieren, sodass es mit jeder Sprache funktioniert, für die Sie eine gute Hervorhebung haben.

Keine Ahnung, wie Sie es mit Ihrer IDE zum Laufen bringen.


So etwas brauchte ich auch. Es sollte aber nicht nur unter Linux lauffähig sein.

Ich habe gesehen, dass die Rechtschreibprüfung oft mit einer IDE gekoppelt ist (wie bei Eclipse). Ich wollte jedoch ein Tool, das völlig unabhängig von jeder IDE ist, weil ich es in automatisierten/skriptbasierten Kontexten wie Travis-CI-Builds oder AppVeyor-CI-Builds ausführen wollte.

Ich habe mich ein wenig nach einem solchen Tool umgesehen und mich dann entschieden, mein eigenes zu schreiben.

Was ich mir ausgedacht habe, war Pyspellcode, der diese Anforderungen erfüllt. Es ist ein Python-Skript, das clang verwendet und hunspell die zumindest unter Linux problemlos laufen sollte. Das Skript:

  1. Clang ausführt, um seine AST-Dump-Ausgabe zu erhalten,
  2. liest die AST-Informationen durch und findet die Kommentarknoten,
  3. übergibt die Wörter von diesen an hunspell zur Überprüfung und dann
  4. meldet Wörter zurück, die nicht erkannt wurden.

Eine interessante Überraschung für mich war, wie tief clang C++-Kommentare sogar in Doxygen-Elemente und eingebettetes HTML-Markup zerlegt. Dadurch war es möglich, clangs AST zu verwenden, um Dinge wie das Ignorieren von Wörtern zu tun, die in <code>...</code> verschachtelt sind Blöcke und das habe ich mir im Skript zunutze gemacht.

Das Skript ist auf GitHub als Zlib-lizenziertes Open-Source-Projekt verfügbar. Im Moment ist es nur Alpha-Software mit mindestens einem Parsing-Fehler, aber wenn Interesse daran besteht, gebe ich ihm mehr Priorität.

Hoffe, das hilft!


Linux
  1. Führen Sie mit diesem Open-Source-Tool eine Linux-Speicherforensik durch

  2. Welche Open-Source-Backup-Lösung verwenden Sie?

  3. Probleme mit c++ IDEs unter Linux

  4. C++/Assembly-IDE unter Linux

  5. Wie bekomme ich den Benutzernamen in C/C++ unter Linux?

Grundlagen zum Kompilieren von Software aus dem Quellcode unter Linux

So führen Sie C/C++-Programme unter Linux aus [Terminal &Eclipse]

Welches lokale Backup-Tool ist das beste unter Linux?

Top 20 der besten Python-IDE für Linux. Einige davon sind Open Source

Wie kann ich C++-Code profilieren, der unter Linux ausgeführt wird?

Wie überprüfe ich die Zeitzone in Linux?