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