Come dice il titolo, voglio analizzare un codice sorgente Java in Java. Sono abbastanza sicuro che ci siano altre librerie java che già eseguono questo, ma non sono riuscito a trovarne.Il modo migliore per analizzare Java in Java
risposta
Janino in grado di analizzare, compilare ed eseguire codice Java.
Si può essere alla ricerca di qualcosa di simile ANTLR: http://www.antlr.org/
Perché un downvote? – fish
Non l'ho fatto, ma dovrebbe esserci uno strumento o una biblioteca o qualcosa del genere. Non vuoi dover hackerare insieme la grammatica Java. –
Antlr ha un file di grammatica per Java. Vedi this.
JavaCC ha una grammatica Java 1.5 inclusi generici.
i gettoni sono probabilmente più a grana fine, allora quello che voglio
Il primo requisito è quello di ottenere un parse accurata, e sarà realisticamente solo ottenere che da un parser esistente. Quello che fai con il risultato dipende da te.
Eclipse espone il Syntax Tree del proprio compilatore Java. Puoi semplicemente accedere agli elementi.
Vedere here.
- 1. Metodo migliore per analizzare vari documenti XML personalizzati in Java
- 2. Il modo migliore per analizzare il traffico http inviato dal mio codice java?
- 3. Il modo migliore per incrementare l'intero in arrayList in Java
- 4. Il modo migliore per gestire più costruttori in Java
- 5. Il modo migliore per riorganizzare un ArrayList in Java
- 6. Il modo migliore per salvare i dati in un'applicazione Java?
- 7. Il modo migliore per stampare report semplici in java
- 8. Il modo migliore per creare un collage (in Java)
- 9. Il modo migliore per simulare il servizio web java
- 10. Java: il modo migliore per passare int per riferimento
- 11. Guida su un modo migliore per analizzare le cifre da una stringa in Java
- 12. Il modo migliore per analizzare un valore int in Javascript
- 13. Qual è il modo migliore per analizzare questo in C++?
- 14. Il modo migliore per analizzare data e ora in golang
- 15. Converti numero Java in BigDecimal: modo migliore
- 16. Qual è il modo migliore per eseguire codice Java sandboxed?
- 17. Java: il modo migliore per stampare array 2D?
- 18. Il modo migliore per eseguire AppleScript da Java
- 19. Il modo migliore per chiamare le funzioni Haskell da Java
- 20. Java: il modo migliore per rimuovere Javascript dall'HTML
- 21. Qual è il modo migliore per analizzare le stringhe?
- 22. Il modo migliore per analizzare una stringa di query URL
- 23. modo migliore per gestire le eccezioni Java in ServletContextListener
- 24. Modo migliore per includere javascript in servlet java
- 25. Qual è il modo migliore per accedere alla memoria in Java, in modo simile a mmap?
- 26. Qual è il modo migliore per gestire il processo unix da java?
- 27. Oggetto Java to int: un modo migliore?
- 28. modo migliore per iniziare server di Zookeeper dal programma Java
- 29. Il modo migliore per ottenere il massimo valore di data in java?
- 30. Il modo migliore per determinare il tipo mime di un file in java?
Fantastico! Non volevo usare generatori di parser generici per questo, perché i token sono probabilmente più a grana fine di ciò che voglio. –
@Jeeyoung Kim, assicuratevi di leggere la sezione 'Limitazioni ': la maggior parte delle funzioni di Java 5 (e successive) non sono supportate. –