p à program id
DCL
Inst _composée
dcl à dcl var liste_id :type ;|eps
liste_id à id|liste_id,id
type à integer|char
inst_composée à begin inst end
inst à liste_inst|eps
liste_inst à I|liste_inst ;I
I à id :=exp_simple|if exp then I else I|while exp do I
Read(id)|readln(id)|write(id)|writeln(id)
Exp à exp_simple|exp_simple oprel exp_simple
Exp_simple à terme|exp_simple opadd terme
Terme à facteur|terme opmul facteur
Facteur à id|nb|(exp_simple)|facteur