Hallo.
Also ich hab das folgende Problem.
Will ein Script schreiben, der prüfen soll, ob es in einem C ++ Programm die VAriablen in der Klassen nur private Visibility haben.
Der Script muss nach public und protected variablen in einer Klasse durchsuchen und Fehlermeldung ausgeben wenn die gefunden hat.bzw "gefunden ...protected Var und ... public var"
Hat jemand von euch wie ish anfangen soll.
Vorschläge werde gerne annehmen,.
Phythonscript zur Regelprüfung..
Hallo auch
Anfangen könntest Du mit einem Source-File Sammler (*.cpp) und einem Mechanismus zum Einlesen einer solchen C++ Source-File.
Dann könntest Du letzteres nach und nach in einen Parser umwandeln, der dann CPP-Klassen und CPP-Variablen in eine verchachtelten Dictionary Struktur auflöst.
Du beginnst initial mit einfachen Strings und erweiterst danach diese in separate Klassen für die CPP-Klassen und CPP-Variablen.
Final parst Du dann für jede Variable den Visibilty-Identifier mit aus und kannst dann final über eine verschachtelte Iteration Deiner Strukturen Dir einen Report/Warnung/Info/was-auch-immer ausgeben lassen: voilla.
Du kannst ja erst einmal anfangen und dann Dein Skript/Code via http://paste.pocoo.org/ ausgelagert hier präsentieren, falls Du nicht weiterkommst.
>>Masaru<<
Anfangen könntest Du mit einem Source-File Sammler (*.cpp) und einem Mechanismus zum Einlesen einer solchen C++ Source-File.
Dann könntest Du letzteres nach und nach in einen Parser umwandeln, der dann CPP-Klassen und CPP-Variablen in eine verchachtelten Dictionary Struktur auflöst.
Du beginnst initial mit einfachen Strings und erweiterst danach diese in separate Klassen für die CPP-Klassen und CPP-Variablen.
Final parst Du dann für jede Variable den Visibilty-Identifier mit aus und kannst dann final über eine verschachtelte Iteration Deiner Strukturen Dir einen Report/Warnung/Info/was-auch-immer ausgeben lassen: voilla.
Du kannst ja erst einmal anfangen und dann Dein Skript/Code via http://paste.pocoo.org/ ausgelagert hier präsentieren, falls Du nicht weiterkommst.
>>Masaru<<
Oder Du nutzt mit pygccxml ein existierendes Paket und bohrst das ein wenig auf, um an die gewünschte Information zu kommen. Ggf. kann man auch bei den Entwicklern um Hilfestellung beten.
Ist für den Start sicher aufwendiger, aber mächtiger, wenn es darum geht die Aufgabenstellung auszuweiten.
HTH
Christian
Ist für den Start sicher aufwendiger, aber mächtiger, wenn es darum geht die Aufgabenstellung auszuweiten.
HTH
Christian
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Und zuverlässiger sowieso:CM hat geschrieben:Ist für den Start sicher aufwendiger, aber mächtiger, wenn es darum geht die Aufgabenstellung auszuweiten.
Code: Alles auswählen
#define private public
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Entwickler, die so etwas im Code verstecken, gehören gerädert, gevierteilt, in die Eiserne Jungfrau gesteckt, mit Teer übergossen und an den Pranger gestellt - nicht notwendigerweise in dieser Reihenfolge. Na ja, ich bin ja kein Unmensch: Vorsatz sollte schon erkennbar sein.
Vorsätzlich handeln also alle Programmierer, die ihren Code nicht nur aus verschiedenen Quellen zusammenkopieren?CM hat geschrieben: Entwickler, die so etwas im Code verstecken, gehören gerädert, gevierteilt, in die Eiserne Jungfrau gesteckt, mit Teer übergossen und an den Pranger gestellt - nicht notwendigerweise in dieser Reihenfolge. Na ja, ich bin ja kein Unmensch: Vorsatz sollte schon erkennbar sein.
CM hat geschrieben:Entwickler, die so etwas im Code verstecken, ...
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)