Phythonscript zur Regelprüfung..

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
zdoktorov
User
Beiträge: 3
Registriert: Freitag 4. Dezember 2009, 13:15

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,.
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

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<<
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

CM hat geschrieben:Ist für den Start sicher aufwendiger, aber mächtiger, wenn es darum geht die Aufgabenstellung auszuweiten.
Und zuverlässiger sowieso:

Code: Alles auswählen

#define private public
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

:D 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. ;-)
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

CM hat geschrieben::D 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
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

CM hat geschrieben:Entwickler, die so etwas im Code verstecken, ...
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
Antworten