Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
12.01.14, 10:38
|
#1
|
Mitglied
Registriert seit: Aug 2009
Beiträge: 398
Bedankt: 131
|
[Java] Programmstatistik
Moin,
hatte ja schonmal nach einem Regex gefragt, habe ich mittlerweile anders hinbekommen.
Ich muss (für die Uni) ein kleines Skript schreiben, was einen JAVA-Code als Eingabe bekommt und dann darüber eine gewisse Statistik erstellen soll. Dazu gehört:
1) Anzahl if-elseif-else Konstrukte (habe ich)
2) Anzahl Schleifen (habe ich)
3) Anzahl Variablen (ggf. gruppiert nach Typ, das ist aber nicht nötig)
4) Anzahl an Methoden
Momentan gehe ich so vor, dass ein eingegebener Code zunächst wie folgt angepasst wird:
-> Kommentare werden entfernt
-> Mehrfache Leerzeichen, Zeilenumbrüche, Tabs werden zu je einem Leerzeichen
-> Ersetzen der Schlüsselworte if, else if, else, while, for, {, } durch bestimmte Token.
-> Splitten des Strings an den Leerzeichen in einen array.
Nun die Frage:
Hat einer eine Idee, wie ich die Variablen und die Methoden sinnvoll zählen kann?
Liebe Grüße & Danke!
|
|
|
12.01.14, 11:44
|
#2
|
Banned
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
|
Ideen genügend, aber keine Ahnung wie man dir helfen kann...
Was ist der unterschied zwischen "zählen" und "sinnvoll zählen"?
Zähl die Methoden und du hast die Anzahl.
Umsetzung eventuell via Parser und Visitor oder Regex...
|
|
|
12.01.14, 12:35
|
#3
|
Newbie
Registriert seit: Oct 2010
Beiträge: 95
Bedankt: 80
|
Code:
(public\s+|protected\s+|private\s+)?(final(\sstatic)?\s+|static\s+|abstract\s+|synchronized\s+)?[\w\<\>\[\]]+\s+(\w+) *\([^\)]*\) *(\{?|[^;])
Damit solltest du die Methoden rausfiltern können.
|
|
|
12.01.14, 19:08
|
#4
|
Mitglied
Registriert seit: Aug 2009
Beiträge: 398
Bedankt: 131
|
Zitat:
Zitat von NetWebs
Was ist der unterschied zwischen "zählen" und "sinnvoll zählen"? Zähl die Methoden und du hast die Anzahl.
|
Zwischen "zählen" und "sinnvoll zählen" sehe ich zB den Unterschied, dass ich nicht 10 Sonderfälle abfangen will, wenn es auch direkter gehen würde... Regex nutze ich ja für if / if-else etc... mir fallen nur keine Regex für Variablen ein.
Parser / Visitor ist halt das Problem, dass sie Großteile der Funktion bereits liefern und somit verboten sind... und einen Parser selbstschreiben wirkt mir "etwas" überdimensioniert
@Delta:
Super, vielen Dank, wird heute noch getestet
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 Uhr.
().
|