MokaByte Numero 28  -  marzo  1999
Java2Html
di 
Lorenzo Bettini
Un semplice creatore di documenti html con syntax highligthing da programmi Java

 

java2html è un programmino (free) che dato un listato Java (corretto) crea un documento html con syntax highlight personalizzabile.

 
java2html è stato sviluppato sotto Linux, utilizzando l'ex, yacc, e C++, ed è stato poi portato sotto Windows utilizzando il DJGPP (il ggc per windows della Delorie: http://www.delorie.com); essendo un programma free (GPL) viene fornito coi sorgenti sources (~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, ed a quel punto (se non si hanno avuti errori nella fase precedente), digitare:
 
make
che lancerà la compilazione del programma; alla fine di questa operazione, se non si hanno avuti errori, sarà stato creato l'eseguibile java2html, che potete mettere nella vostra directoy preferita; a quel punto si può cancellare i sorgenti (se si ha 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

E' 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:

http://w3.newnet.it/bettini
http://infostud.dsi.unifi.it/~bettini


 

MokaByte Web  1999 - www.mokabyte.it

MokaByte ricerca nuovi collaboratori. 
Chi volesse mettersi in contatto con noi può farlo scrivendo a mokainfo@mokabyte.it