Skip to content
Snippets Groups Projects
Commit 314e8ec1 authored by BAUQUIN Niels's avatar BAUQUIN Niels
Browse files

fsdgf

parent cb4c2bd6
No related branches found
No related tags found
No related merge requests found
...@@ -55,14 +55,15 @@ exp2 = {egal} exp2 egal exp3 | {inf} exp2 inf exp3 | {exp3} exp3; ...@@ -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; exp3 = {plus} exp3 plus exp4 | {moins} exp3 moins exp4 | {exp4} exp4;
exp4 = {mul} exp4 mul exp5 | {div} exp4 div exp5 | {exp5} exp5; exp4 = {mul} exp4 mul exp5 | {div} exp4 div exp5 | {exp5} exp5;
exp5 = {non} non exp5 | {exp6} exp6; 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 | ins = {affectation} var egal exp |
{fairetantque} tantque exp faire bloc | {fairetantque} tantque exp faire bloc |
{fonction} id gpar lexp dpar | {fonction} id gpar lexp dpar |
{sisinon} si exp alors [alors1]: bloc sinon [sinon1]: bloc | {sisinon} si exp alors [alors1]: bloc sinon [sinon1]: bloc |
{sialors} si exp alors bloc | {sialors} si exp alors bloc |
{retour} retour exp pvirg; {retour} retour exp pvirg |
{ecrire} ecrire(e);
bloc = {accolades} gacc lins dacc; bloc = {accolades} gacc lins dacc;
lins = {lins} ins lins | {epsilon} epsilon; lins = {lins} ins lins | {epsilon} epsilon;
...@@ -72,4 +73,17 @@ lexp2 = {virgule} exp virg lexp2 | {exp} exp; ...@@ -72,4 +73,17 @@ lexp2 = {virgule} exp virg lexp2 | {exp} exp;
var = {id} id | {crochets} id gcro exp dcro; 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment