myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[Java] Programmstatistik

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 12.01.14, 10:38   #1
Dante1253
Mitglied
 
Registriert seit: Aug 2009
Beiträge: 398
Bedankt: 131
Dante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt Punkte
Standard [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!
Dante1253 ist offline   Mit Zitat antworten
Ungelesen 12.01.14, 11:44   #2
NetWebs
Banned
 
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
NetWebs ist noch neu hier! | 0 Respekt Punkte
Standard

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...
NetWebs ist offline   Mit Zitat antworten
Ungelesen 12.01.14, 12:35   #3
Delta538
Newbie
 
Registriert seit: Oct 2010
Beiträge: 95
Bedankt: 80
Delta538 zeigt Immunität gegen Parfüm! | 253 Respekt PunkteDelta538 zeigt Immunität gegen Parfüm! | 253 Respekt PunkteDelta538 zeigt Immunität gegen Parfüm! | 253 Respekt Punkte
Standard

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.
Delta538 ist offline   Mit Zitat antworten
Ungelesen 12.01.14, 19:08   #4
Dante1253
Mitglied
 
Registriert seit: Aug 2009
Beiträge: 398
Bedankt: 131
Dante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt Punkte
Standard

Zitat:
Zitat von NetWebs Beitrag anzeigen
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
Dante1253 ist offline   Mit Zitat antworten
Antwort


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

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 Uhr.


Sitemap

().