Non è l'unico modo.
Vedere il nostro Java Front End, che è un parser Java completo che si basa su DMS Software Reengineering Toolkit. Analizza Java e crea AST come strutture di dati interne.
Il punto di DMS è che fornisce una grande varietà di ulteriori macchine utile (grammatiche attributo, tabelle di simboli, flusso analisi, manipolazione AST compreso l'accesso e l'aggiornamento, nonché le trasformazioni source-to-source) per analizzare e trasformare AST in risultati e/o codice sorgente modificato. Se ottieni "solo" un parser Java (ad esempio, la grammatica JavaCC + Java), IMHO, non sarai in grado di fare molto con esso. DMS rende possibile fare molto, senza dover inventare tutto quel macchinario in più da solo.
Se davvero non si desidera utilizzare i macchinari aggiuntivi forniti da DMS, verrà effettuato il numero dump the tree as XML.
fonte
2010-01-02 23:16:52
Se non sbaglio, Eclipse utilizza una versione diversa del modello Java con il proprio parser e potrebbe esserci un modo per riutilizzarlo per l'analisi generale. – Uri
Cosa intendi per "supporto" nella tua prima domanda? Stai chiedendo quali versioni di Java da cui i fornitori contengono il pacchetto com.sun.source.tree? Immagino solo di Sun. Se si desidera analizzare il codice sorgente con un altro JDK (ad esempio, IBM), è probabilmente necessaria una libreria parser indipendente. –
@Brett, so che com.sun.source.tree è stato introdotto solo in JDK6. Mi chiedo se tutti i JDK non Sun supportino questa API. – Gili