java2html è stato sviluppato sotto Linux, utilizzando lex, yacc e C++, ed è stato poi portato sotto Windows utilizzando il DJGPP (il gcc per Windows della Delorie: http://www.delorie.com). Essendo un programma free (GPL), viene fornito con i sorgenti (~50k) e, per Windows, se non avete voglia di compilarlo potete anche scaricare direttamente l'eseguibile (~80k).
Installazione
Se si vogliono compilare i sorgenti (operazione necessaria se si utilizza un sistema Unix, mentre per Windows viene fornito anche direttamente l'eseguibile), si deve seguire la classica procedura tipica della maggior parte del software GNU: una volta scompattato il file .tar.gz, si deve lanciare il comando
./configure
che creerà un Makefile adatto per il vostro sistema e, a quel punto, se non si sono avuti errori nella fase precedente, digitare:
make
Il comando lancerà la compilazione del programma; alla fine di questa operazione, se non si sono avuti errori, sarà stato creato l'eseguibile java2html, che potete mettere nella vostra directory preferita. A quel punto si possono cancellare i sorgenti (se si hanno problemi di spazio), oppure cancellare almeno i file intermedi della compilazione lanciando il comando
make clean
Per ulteriori informazioni guardate il file INSTALL distribuito insieme ai sorgenti.
Utilizzo
È bene specificare che java2html esegue solo un'analisi lessicale del sorgente e quindi si suppone che il programma Java passato sia corretto sintatticamente; altrimenti, probabilmente, si avrà un output un po' bizzarro ;-)
Per eseguire il programma si utilizza la seguente sintassi:
java2html <input file (a java prog)> <output file (an html)>
In questo modo si ottiene un file di testo dal quale si può copiare il contenuto. Ad esempio, dato il seguente Hello.java:
/*
This is a classical Hello program
to test java2html.
to have an html translation type
java2html Hello.java Hello.html
Lorenzo Bettini
lorenzo.bettini@penteres.it
*/
import java.io.*;
public class Hello {
int foo = 1998;
boolean b;
public static void main(String args[]) {
// just some greetings ;-)
System.out.println("Hello from java2html :-)");
System.out.println("by Lorenzo Bettini");
System.out.println("lorenzo.bettini@penteres.it");
}
}
si impartisce il seguente comando:
java2html Hello.java Hello.txt
In Hello.txt è contenuto il listato HTML che produce il seguente listato "colorato":
/*
This is a classical Hello program
to test java2html.
to have an html translation type
java2html Hello.java Hello.html
Lorenzo Bettini
lorenzo.bettini@penteres.it
*/
import java.io.*;
public class Hello {
int foo = 1998;
boolean b;
public static void main(String args[]) {
// just some greetings ;-)
System.out.println("Hello from java2html :-)");
System.out.println("by Lorenzo Bettini");
System.out.println("lorenzo.bettini@penteres.it");
}
}
Specificando anche l'opzione -doc:
java2html Hello.java Hello.html -doc
si ottiene un vero file HTML (con titolo uguale al nome del listato), il file Hello.html.
Le varie opzioni per la colorazione e per il grassetto, sottolineato e corsivo sono contenute nel file tags.j2h, che deve essere presente nella directory corrente e la cui sintassi può essere compresa tranquillamente guardando quello distribuito insieme al pacchetto:
keyword blue u; type green; string red; comment brown i; number purple;
Come potete notare la sintassi è molto semplice:
b= grassetto (bold)i= corsivo (italics)u= sottolineato (underline)
Si possono anche specificare più opzioni separate da virgole, ad esempio keyword blue u, b.
Potete vedere i possibili colori nel file colors.html: se il file tags.j2h non è presente nella directory corrente saranno utilizzati dei colori di default; in pratica si otterrà un output simile a quello illustrato.
Feedback
Fatemi sapere cosa ne pensate del programmino, che potete utilizzare per formattare i vostri listati, ad esempio per metterli nei vari articoli di MokaByte :-D Inoltre comunicatemi ogni bug via e-mail.
Il software si trova anche sui seguenti siti:
