[JAVA] Ich habe versucht, den Quellcode zu analysieren

Auslösen

Lassen Sie uns dieses Jahr einen Adventskalender an der Universitätsabteilung machen, zu der ich gehöre! Ich wurde gebeten teilzunehmen, also habe ich auch teilgenommen. (Siehe hier für Artikel anderer Mitglieder) ... also habe ich mir überlegt, was ich tun soll, aber ich wollte nur vorstellen, was ich jetzt mache, also habe ich beschlossen, über das Parsen von Java-Quellcode zu schreiben. Bitte beachten Sie, dass der Zweck dieses Artikels darin besteht, den Quellcode selbst und nicht die Sprache Java zu analysieren.

Überblick

Dieses Mal werden wir, wie der Titel sagt, den Quellcode analysieren, aber wie oben erwähnt, ist das Ziel der Analyse die Sprache namens Java. Wir werden den Code mit Eclipse, einer bekannten IDE, und einem Plug-In zum Erstellen von AST (Abstract Syntax Tree), einem Syntaxbaum, analysieren (detaillierte Vorgehensweise finden Sie hier [https://sdl.ist.). Es wird auch auf der Website von osaka-u.ac.jp/~s-kimura/jdtdoc/jdt.html beschrieben.

Klassen Diagramm

Hier ist ein Diagramm der Klassenbeziehungen. クラス図.png

Es wird ein ziemlich einfaches Diagramm sein, daher möchte ich es in Zukunft weiter ausbauen.

Lauf

Als Ausgabeergebnis konnten wir vorerst die Informationen jedes Dekorateurs ausgeben.

Zukunftsaussichten

Mit diesem Ergebnis analysierte ich schließlich den Quellcode und fand heraus: "Es gibt private und öffentliche Methoden, aber in welcher Reihenfolge entwickeln und definieren die Entwickler solche Methoden. Ich würde es gerne analysieren.

Schließlich

Ich habe das geschrieben, weil ich einen Adventskalender habe, aber es ist sehr einfach, weil ich keine Zeit habe. Informationen zum Fortschritt zukünftiger Projekte finden Sie unter Meine Seite auf "GitHub".

Dann (・ ω ・) Noshi

Recommended Posts

Ich habe versucht, den Quellcode zu analysieren
Ich habe eine morphologische Analyse mit MeCab versucht
Ich habe versucht, Processing auf VS Code zu migrieren
Ich habe es mit Spring versucht.
Ich habe youtubeDataApi ausprobiert.
Ich habe versucht, ① umzugestalten
Ich habe FizzBuzz ausprobiert.
Ich habe JHipster 5.1 ausprobiert
Ich habe versucht, Autoware auszuführen
Ich habe versucht, Gson zu benutzen
Ich habe sofort QUARKUS ausprobiert
Ich habe versucht, TestNG zu verwenden
Ich habe versucht, Galasa zu benutzen
Ich habe versucht, node-jt400 (Programme)
Ich habe versucht, node-jt400 (ausführen)
Ich habe versucht, node-jt400 (Transaktionen)
05. Ich habe versucht, die Quelle von Spring Boot zu löschen
Ich habe versucht, nativen Java / Objective-C-Code von Flutter aus aufzurufen
Ich habe versucht, node-jt400 (Umgebungskonstruktion)
Ich habe DI mit Ruby versucht
Ich habe versucht, node-jt400 (IFS schreiben)
Ich habe versucht, node-jt400 (SQL Update)
Ich habe versucht, Azure Cloud-Init zu verwenden
Ich habe Spring State Machine ausprobiert
Ich habe Drools (Java, InputStream) ausprobiert.
Ich habe Rails Anfänger ausprobiert [Kapitel 1]
Ich habe versucht, Apache Wicket zu verwenden
Ich habe versucht, node-jt400 (SQL-Abfrage)
Ich habe das FizzBuzz-Problem ausprobiert
Ich habe versucht, node-jt400 (SQL-Stream)
Ich habe versucht, node-jt400 (IFS lesen)
Ich habe Rails Anfänger ausprobiert [Kapitel 2]
Ich habe UPSERT mit PostgreSQL ausprobiert.
Ich habe versucht, JavaScript Part.1 Basic Processing Code System zu berühren
Ich habe BIND mit Docker ausprobiert
Ich habe versucht, yum-cron zu verifizieren
Ich habe das Java-Parallelitäts-Fehleranalyse-Tool "Racer D" von Facebook ausprobiert.
Ich habe versucht, den Open Source-Download-Manager Fetch für Android zu verwenden
Ich habe versucht, Metaprogrammierung mit Java
Beim Lesen des Quellcodes
Ich war neugierig, wie gRPC-Java funktioniert, also habe ich versucht, Code zu lesen
Ich habe versucht, eine C-Sprachprogrammquelle aus cURL zu generieren
Ich habe Low Code IoT mit OKI AE2100 & Node-RED ausprobiert. Teil 2 Aufbau
Ich habe jetzt versucht, Anakia + Jing zu verwenden
Ich habe Angular Tutorial + SpringBoot + PostgreSQL ausprobiert
Ich habe versucht, C # (Indexer) zu kauen.
Ich habe etwas versucht, das als rekursive Suche bezeichnet wird
Ich habe versucht, Spring + Mybatis + DbUnit zu verwenden
Ich habe versucht, JOOQ mit Gradle zu verwenden
[K8s] Ich habe versucht, zwischen Pods zu kommunizieren!
Ich habe die Quelle von ArrayList gelesen, die ich gelesen habe
Ich habe die Quelle von Integer gelesen
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, UDP mit Java zu kommunizieren
Ich habe versucht, die Methode zu erklären
Ich habe versucht, Domino11 in CentOS7 zu integrieren