
	    g48 - Un compilatore C per l'HP48G/X (Ver 1.0.0)
                        ==========oOo=========
                                   
    		Copyright (C) Mar 1997, by M. Andreoli
	          	(andreoli@pisoft.it)


This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


DI COSA AVETE BISOGNO
---------------------

	1. Di Bison e Flex (che rimpiazzano yacc e lex, su Linux)
	2. Di gcc
	3. Di make
	4. Del KERMIT ( se volete davvero portare su HP i
	   compilati)
	5. Di LINUX!

COMPILAZIONE E INSTALLAZIONE di g48
-----------------------------------

Compilare con

	make
	make clean  (eventualmente)
	make install

Non vi preoccupate: yacc produrra' una serie di messaggi
di "shift/reduce conflit". Ignorarli, che carita' di patria.

Per testare l'analizzatore lessicale come programma a se stante, 
usare il comando:

			make lexer

e quindi battere: 
			lexer

per la modalita' interrativa, o:
			
			lexer < source.c

per interpretare un dato sorgente.

In questo modo e' possibile analizzare la tecnica con cui g48 
interpreta e produce i token necessari al funzionamento 
dell'interprete stesso, a scopo di debugging.

Per stampare la documentazione, fornita in formato groff, utilizzare
il comando:

		man -t g48.1 | lpr

(se lpr comprende il formato POSTSCRIPT) 

COME SI USA IL COMPILATORE g48
------------------------------

Si puo' usare g48 innanzitutto in modalita' interattiva, semplicemente
battendo:
			g48

In questo modo si puo' osservare "dal vivo"  il modo in con cui g48
traduce. Attenzione, pero': la traduzione non e' semplicemente fatta
riga per riga, ma per 'grandi' statement, in maniera ricorsiva.

Per compilare un sorgente X.c producendo un eseguibile-HP  X, battere:

			g48    < X.c > X 
	oppure :	g48 -t < X.c > X 2> logfile  (modo trace)


g48 ignora completamente le direttive C tipo #define, #include etc, ma
se il vostro codice le contiene e volete effettivamente che siano 
espanse dal prepocessor del C, usate il comando: 


			gcc -E X.c | g48  > X 

dove X e' il nome del file di output.

Un ottima alternativa e'  usare il comando PERL hp (distribuito 
insieme a g48): esso fornisce un ambiente di comandi attraverso cui
e' possibile gestire in maniera semplice sia l'editing su LINUX, 
sia il trasferimento via KERMIT di comandi e file da/per HP.

Infine, se l'Utente lo preferisce, puo' usare il comando make,
in combinazione con il  makefile "g48.mk", il quale va 
ovviamente rinominato "Makefile" e posizionato in qualche directory.
Il vantaggio e' che non occorre abbandonare l'ambiente shell,
mentre nel contempo vengono ricompilati e trasferiti su HP soltanto
i  sorgenti realmente modificati.

MATERIALE AGGIUNTIVO
----------------------

g48.1	
	Documentazione formato groff per MAN.

kermrc
	contiene le istruzioni di inizializzazione del KERMIT per
	poter usare il comando hp.
	Copiarlo eventualmente sotto $HOME/.kermrc

hp
	script PERL per usare LINUX come client del Kermit-server
	di HP48.

g48.mk
	makefile per compilare, spedire via KERMIT
	ed eseguire (su HP) i sorgenti (vedi prec.)

schur.c	
	Decomposizione di Schur: utilizza i pannelli di input di HP48.

four.c
	Analisi di Fourier (FFT) e grafici.

fibo.c
	Numeri di Fibonacci: esempio di programma C a carattere
	puramente matematico, reperito in una libreria di
	programmi. 


-----------
Ogni feedback su questo software sara' grandemente apprezzato; 
spedire suggerimenti, note e malfunzionamenti direttamente all'Autore.

