From 314e8ec18f30e068a5b263f432499f6a657cf63a Mon Sep 17 00:00:00 2001 From: Niels <niels.bauquin@etu.univ-amu.fr> Date: Fri, 19 Jan 2024 23:40:56 +0100 Subject: [PATCH] fsdgf --- src/l.cfg | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/l.cfg b/src/l.cfg index 1761dce..82998c3 100644 --- a/src/l.cfg +++ b/src/l.cfg @@ -55,14 +55,15 @@ exp2 = {egal} exp2 egal exp3 | {inf} exp2 inf exp3 | {exp3} exp3; exp3 = {plus} exp3 plus exp4 | {moins} exp3 moins exp4 | {exp4} exp4; exp4 = {mul} exp4 mul exp5 | {div} exp4 div exp5 | {exp5} exp5; exp5 = {non} non exp5 | {exp6} exp6; -exp6 = {parenthesis} gpar exp dpar | {nombre} nombre | {vrai} vrai | {faux} faux ; +exp6 = {parenthesis} gpar exp dpar | {nombre} nombre | {vrai} vrai | {faux} faux | {lire} lire() ; ins = {affectation} var egal exp | {fairetantque} tantque exp faire bloc | {fonction} id gpar lexp dpar | {sisinon} si exp alors [alors1]: bloc sinon [sinon1]: bloc | {sialors} si exp alors bloc | -{retour} retour exp pvirg; +{retour} retour exp pvirg | +{ecrire} ecrire(e); bloc = {accolades} gacc lins dacc; lins = {lins} ins lins | {epsilon} epsilon; @@ -72,4 +73,17 @@ lexp2 = {virgule} exp virg lexp2 | {exp} exp; var = {id} id | {crochets} id gcro exp dcro; +type = {bool} bool | {entier} entier; +typeopt = {type} type | {epsilon} epsilon; + +decvar = {var} type id | {tableau} type id gcro nombre dcro; + +decfonc = {fonction} type id gpar [params]: ldecvar rpar [locals]: ldecvar bloc; + +ldecvar = {listedecvar} ldecvar2 | {epsilon} epsilon; +ldecvar2 = {listedecvar2} decvar virg ldecvar2 | decvar; + +ldecfonc = {listedecfonc} decfonc ldecfonc | {epsilon} epsilon; + +prog = ldecvar ldecfonc; \ No newline at end of file -- GitLab