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");}
|
balise_texte_ouverte #continue
[
=>local sCar;
=>{
traceLine("j'ai reconnu balise_texte_ouverte");
}
=>sCar=readChars(1000);
=>{ traceLine(sCar);
@@sCar@@
}
]
|
balise_texte_fermee #continue
| ';' #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@;@};