From 63975af86f80103035bf78f7c89564d661d34302 Mon Sep 17 00:00:00 2001 From: Arnaud Vergnet Date: Fri, 12 Mar 2021 08:56:24 +0100 Subject: [PATCH] First commit --- grammaire_c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 grammaire_c diff --git a/grammaire_c b/grammaire_c new file mode 100644 index 0000000..5ce07fa --- /dev/null +++ b/grammaire_c @@ -0,0 +1,53 @@ +les fonctions (avec parametres) +le if +le while +les declarations +les affectations +les operations arith. +le retour de fonction +l'invocation de fonctions + + +C : Fonctions ; +Fonctions : Fonction Fonctions | Fonction ; + +Fonction : tInt tID tPO Params tPF Body ; + +Params : | Param SuiteParams ; +Param : tInt tID ; + +SuiteParams : tVirgule Param SuiteParams | ; + +// Ps : P Ps | ; +// P : tInt tID tVirgule +// Ps =>* tInt tID tVirgule tInt tID tVirgule +// Ps => P Ps => P P Ps ... + +Body : tAO Instructions tAF ; + +Instructions : Instruction Instructions | ; + +Instruction : Aff | If | While | Return | Decl | Invocation tPV ; + +Aff : tID tEQ E tPV ; + +E : tNB | tID | E tADD E | E tMUL E | E tMINUS E | E tDIV E | Invocation | tPO E tPF | tMINUS E ; + +// E : tID tADD tID | ... + +If : tIF tPO Cond tPF Body ; + +Cond : Cond tAND Cond | Cond tOR Cond | E tEQ2 E | E tINF E | tNOT Cond ; + +Invocation : tID tPO Args tPF ; + +Args : .... cf params + +Return : tRET E tPV ; + + + + + + +