Hi everybody, I study PARSERS to understand compilers (http://codeworker.free.fr). You can build a PASCAL compiler with CODEWORKER. GNO uses the ORCA/C compiler. I hope there will be cross-compilers for the Apple //s. I hope there will be RAD or NO CODE tools for programming the Apple //s. I hope some people will be able to read and improve the sources of ORCA/C. SOURCE FILE : AMERANA_NOM="DUPONT"; AMERANA_PRENOM="Henri"; AMERANA_AGE=25; DESTINATION FILE : GLPI_NOM="DUPONT"; GLPI_PRENOM="Henri"; GLPI_AGE=25; SOURCE CODE FOR/FROM CODEWORKER : source ::= #continue #ignore(C++) [ balise_nom #continue =>{traceLine("j'ai reconnu balise_nom");} | balise_prenom #continue =>{traceLine("j'ai reconnu balise_prenom");} | balise_age #continue =>{traceLine("j'ai reconnu balise_age");} | valeur_champ #continue =>{traceLine("j'ai reconnu la valeur du champ");} | ';' #continue ]* #empty ; nombre ::= ['0'..'9']+:sNombre => { @ Un nombre = @sNombre@ @ }; mot ::= #!ignore ['a'..'z'|'A'..'Z']+:sMot => { @ Un mot = @sMot@ @ }; balise_texte_ouverte ::= "" => { @ Balise ouvrante @ }; balise_texte_fermee ::= "" => { @ Balise fermante @ }; balise_nom ::= "AMERANA_NOM=" =>{ @GLPI_NOM=@}; balise_prenom ::= "AMERANA_PRENOM=" =>{ @ GLPI_PRENOM=@ }; balise_age ::= "AMERANA_AGE=" =>{ @ GLPI_AGE=@ }; valeur_champ ::= ['"'|'a'..'z'|'A'..'Z'|'0'..'9']+:sValeur =>{ @@sValeur@;@};