easy partiel
This commit is contained in:
17
eval-partiel/Makefile
Normal file
17
eval-partiel/Makefile
Normal file
@@ -0,0 +1,17 @@
|
||||
CC = gcc
|
||||
|
||||
LIBS = -lm
|
||||
CCFLAGS = -Wall -ggdb
|
||||
|
||||
all: compare_arbres_xml
|
||||
|
||||
compare_arbres_xml: compare_arbres_xml.c analyseur_xml.o
|
||||
$(CC) $(CCFLAGS) -o compare_arbres_xml compare_arbres_xml.c analyseur_xml.o
|
||||
|
||||
analyseur_xml.o: analyseur_xml.c
|
||||
$(CC) $(CCFLAGS) -c analyseur_xml.c
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
clean:
|
||||
- rm -f *.o compare_arbres_xml
|
||||
97
eval-partiel/README.html
Normal file
97
eval-partiel/README.html
Normal file
@@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<title>Carlos Ramisch - personal page</title>
|
||||
<link rel="stylesheet" href="main.css" type="text/css" media="screen"/>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="page_body">
|
||||
<H1 >Evaluation de l'analyseur syntaxique 2015/2016</H1>
|
||||
|
||||
<H2>1 - Compilation du compilateur</H2>
|
||||
|
||||
Compilez votre analyseur à l'aide d'un Makefile.
|
||||
|
||||
<H2>2 - Exécution sur des exemples existants</H2>
|
||||
|
||||
|
||||
<p>Vous pouvez modifier le script <tt>runEval.sh</tt> en modifiant le chemin vers l'exécutable de votre compilateur. Ensuite, exécutez-le pour effectuer les tests ci-dessous 100% automatiquement</p>
|
||||
|
||||
<p>Analysez les programmes suivants :</p>
|
||||
|
||||
<table border="1pt">
|
||||
<tr><td>affect.l</td></tr>
|
||||
<tr><td>boucle.l</td></tr>
|
||||
<tr><td>expression.l</td></tr>
|
||||
<tr><td>max.l</td></tr>
|
||||
<tr><td>tri.l</td></tr>
|
||||
<tr><td>affect-err.l</td></tr>
|
||||
</table>
|
||||
|
||||
<H2>3 - Exécution sur de nouveaux exemples</H2>
|
||||
|
||||
<h3>3.1 Exemples compilés OK</h3>
|
||||
|
||||
<p>Compilez à l'aide de votre compilateur, les programmes suivants :</p>
|
||||
|
||||
<table border="1pt">
|
||||
<tr><td>eval1.l</td></tr>
|
||||
<tr><td>eval2.l</td></tr>
|
||||
<tr><td>eval3.l</td></tr>
|
||||
<tr><td>eval4.l</td></tr>
|
||||
<tr><td>eval5.l</td></tr>
|
||||
<tr><td>eval6.l</td></tr>
|
||||
<tr><td>eval7.l</td></tr>
|
||||
<tr><td>eval8.l</td></tr>
|
||||
</table>
|
||||
|
||||
<h3>3.1 Exemples pas compilés</h3>
|
||||
|
||||
<p>Vérifiez que les programmes suivants ne compilent pas :</p>
|
||||
|
||||
<table border="1pt">
|
||||
<tr><td>eval1err.l</td></tr>
|
||||
<tr><td>eval2err.l</td></tr>
|
||||
<tr><td>eval3err.l</td></tr>
|
||||
<tr><td>eval4err.l</td></tr>
|
||||
<tr><td>eval5err.l</td></tr>
|
||||
</table>
|
||||
|
||||
<!--<H2>4 - Ajout de la boucle <tt>faire - tantque</tt></H2>
|
||||
|
||||
On désire ajouter à notre langage un nouveau type de boucle, dont voici la syntaxe:<br><br>
|
||||
|
||||
<tt>faire IB tantque E;</tt><br><br>
|
||||
|
||||
une telle instruction exécute le bloc d'instructions dans <tt>IB</tt> tant que la valeur de l'expression <tt>E</tt> est vraie, c'est-à-dire, ne vaut pas zéro. L'évaluation de l'expression est effectuée à la fin de la boucle, comme le <tt>do-while</tt> en C.-->
|
||||
|
||||
|
||||
<H2>4 - Ajout de la boucle <tt>pour</tt></H2>
|
||||
|
||||
<p>On désire ajouter à notre langage une boucle de type <tt>pour</tt>, dont voici la syntaxe:</p>
|
||||
|
||||
<p><tt>pour IAFF<sub>init</sub> E; IAFF<sub>incr</sub> faire IB</tt><br><br></p>
|
||||
|
||||
<p>Une telle instruction exécute d'abord la première affectation, contenue dans <tt>IAFF<sub>init</sub></tt>, pour l'initialisation. Ensuite, tant que la valeur de l'expression <tt>E</tt> est vraie, c'est-à-dire, ne vaut pas zéro, elle exécute le bloc d'instructions dans <tt>IB</tt> suivi de l'instruction d'incrément <tt>IAFF<sub>incr</sub></tt>. Cette boucle est similaire à la boucle <tt>for</tt> en C. Cependant, il n'est pas possible de mettre autre chose qu'une affectation dans les parties d'initialisation et d'incrément (en C, elles peuvent être vides ou contenir n'importe quelle instruction-expression).</p>
|
||||
|
||||
<!--<p>Modifiez l'analyseur lexical, l'analyseur syntaxique, la structure de
|
||||
l'arbre abstrait, et la génération de code afin de prendre en compte cette nouvelle instruction.</p>-->
|
||||
|
||||
<p>Modifiez l'analyseur lexical et l'analyseur syntaxique afin de prendre en compte cette nouvelle instruction.</p>
|
||||
|
||||
<H2>5 - Tests</H2>
|
||||
<p>Vous testerez votre nouvel analyseur sur les programmes suivants:</p>
|
||||
|
||||
<table border="1pt">
|
||||
<tr><td>test1.l</td></tr>
|
||||
<tr><td>test2.l</td></tr>
|
||||
<tr><td>test3.l</td></tr>
|
||||
<tr><td>test1err.l - ne doit pas compiler</td></tr>
|
||||
</table>
|
||||
<br/>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
323
eval-partiel/analyseur_xml.c
Normal file
323
eval-partiel/analyseur_xml.c
Normal file
@@ -0,0 +1,323 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<string.h>
|
||||
#include"analyseur_xml.h"
|
||||
|
||||
/* symboles terminaux */
|
||||
|
||||
#define CHEVRON_FERMANT 1
|
||||
#define DEBUT_BF 2
|
||||
#define DEBUT_BO 3
|
||||
#define CHAINE 4
|
||||
#define FIN 5
|
||||
|
||||
#define ISSPACE(a) (a == ' ') || (a == '\n') || (a == '\t')
|
||||
|
||||
#define YYTEXT_MAX 100
|
||||
|
||||
/* fonctions pour arbre abstrait */
|
||||
|
||||
noeud *cree_noeud(char *nom)
|
||||
{
|
||||
noeud *n = malloc(sizeof(noeud));
|
||||
if(n == NULL){
|
||||
fprintf(stderr, "erreur d'allocation\n");
|
||||
exit(1);
|
||||
}
|
||||
n->nom = nom;
|
||||
n->premier_fils = NULL;
|
||||
n->dernier_fils = NULL;
|
||||
n->suiv = NULL;
|
||||
return n;
|
||||
}
|
||||
|
||||
noeud *ajoute_fils(noeud *pere, noeud *fils)
|
||||
{
|
||||
if(pere->premier_fils == NULL){
|
||||
pere->premier_fils = pere->dernier_fils = fils;
|
||||
return pere;
|
||||
}
|
||||
pere->dernier_fils->suiv = fils;
|
||||
pere->dernier_fils = fils;
|
||||
return pere;
|
||||
|
||||
}
|
||||
|
||||
void affiche_arbre(noeud *racine){
|
||||
noeud *n;
|
||||
printf("<%s> ", racine->nom);
|
||||
for(n=racine->premier_fils; n!=NULL; n = n->suiv){
|
||||
affiche_arbre(n);
|
||||
}
|
||||
printf("</%s> ", racine->nom);
|
||||
}
|
||||
|
||||
|
||||
int compare_arbres_rec(noeud *racine1, noeud *racine2, int verbose, int profondeur)
|
||||
{
|
||||
noeud *f1, *f2;
|
||||
int resultat = 1;
|
||||
int i;
|
||||
if(verbose){
|
||||
for(i=0; i<profondeur; i++) printf(" ");
|
||||
printf("%s <------------> %s\n", racine1->nom, racine2->nom);
|
||||
}
|
||||
if(strcmp(racine1->nom, racine2->nom))
|
||||
return 0;
|
||||
|
||||
for(f1 = racine1->premier_fils, f2 = racine2->premier_fils;
|
||||
f1 && f2 && resultat;
|
||||
f1 = f1->suiv, f2 = f2->suiv){
|
||||
resultat = compare_arbres_rec(f1, f2, verbose, profondeur+1);
|
||||
}
|
||||
return ((f1 == NULL) && (f2 == NULL) && resultat);
|
||||
}
|
||||
|
||||
int compare_arbres(noeud *racine1, noeud *racine2, int verbose)
|
||||
{
|
||||
return compare_arbres_rec(racine1, racine2, verbose, 0);
|
||||
}
|
||||
|
||||
void libere_arbre(noeud *racine)
|
||||
{
|
||||
noeud *n;
|
||||
for(n=racine->premier_fils; n!=NULL; n = n->suiv){
|
||||
libere_arbre(n);
|
||||
}
|
||||
free(racine);
|
||||
}
|
||||
|
||||
/* analyseur lexical */
|
||||
|
||||
int DEBUG = 0;
|
||||
char yytext[YYTEXT_MAX];
|
||||
int yyleng;
|
||||
int yylval;
|
||||
/* Compter les lignes pour afficher les messages d'erreur avec numero ligne */
|
||||
int nb_ligne;
|
||||
int cc;
|
||||
|
||||
/*******************************************************************************
|
||||
* Fonction qui ignore les espaces et commentaires.
|
||||
* Renvoie -1 si arrivé à la fin du fichier, 0 si tout va bien
|
||||
******************************************************************************/
|
||||
int mangeEspaces()
|
||||
{
|
||||
char c = fgetc(yyin);
|
||||
while( ISSPACE(c) ) {
|
||||
if( c == '\n' ) {
|
||||
nb_ligne++;
|
||||
}
|
||||
c = fgetc(yyin);
|
||||
}
|
||||
if ( feof(yyin) ) {
|
||||
return -1;
|
||||
}
|
||||
ungetc(c, yyin);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Lit un caractère et le stocke dans le buffer yytext
|
||||
******************************************************************************/
|
||||
char lireCar(void)
|
||||
{
|
||||
yytext[yyleng++] = fgetc(yyin);
|
||||
yytext[yyleng] = '\0';
|
||||
return yytext[yyleng - 1];
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Remet le dernier caractère lu au buffer clavier et enlève du buffer yytext
|
||||
******************************************************************************/
|
||||
void delireCar()
|
||||
{
|
||||
char c;
|
||||
c = yytext[yyleng - 1];
|
||||
yytext[--yyleng] = '\0';
|
||||
ungetc(c, yyin);
|
||||
}
|
||||
/*******************************************************************************
|
||||
* Fonction principale de l'analyseur lexical, lit les caractères de yyin et
|
||||
* renvoie les tokens sous forme d'entier. Le code de chaque unité est défini
|
||||
* dans symboles.h sinon (mot clé, idententifiant, etc.). Pour les tokens de
|
||||
* type ID_FCT, ID_VAR et NOMBRE la valeur du token est dans yytext, visible
|
||||
* dans l'analyseur syntaxique.
|
||||
******************************************************************************/
|
||||
int inTag = 0;
|
||||
|
||||
int yylex(void)
|
||||
{
|
||||
char c;
|
||||
yytext[yyleng = 0] = '\0';
|
||||
|
||||
/* Si j'ai trouvé la fin du fichier en lisant des espaces ... */
|
||||
if( !inTag && mangeEspaces() == -1 ) {
|
||||
return FIN; /* Renvoie le marqueur de fin d'entrée */
|
||||
}
|
||||
|
||||
c = lireCar();
|
||||
if(c == '>'){
|
||||
if(DEBUG) { printf("CHEVRON_FERMANT\n"); }
|
||||
//inTag = 0;
|
||||
return CHEVRON_FERMANT;
|
||||
}
|
||||
if(c == '<'){
|
||||
inTag = 1;
|
||||
c = lireCar();
|
||||
if(c == '/'){
|
||||
if(DEBUG) { printf("DEBUT_BF\n"); }
|
||||
return DEBUT_BF;
|
||||
}
|
||||
else{
|
||||
delireCar();
|
||||
if(DEBUG) { printf("DEBUT_BO\n"); }
|
||||
return DEBUT_BO;
|
||||
}
|
||||
}
|
||||
do{
|
||||
c = lireCar();
|
||||
inTag = 0;
|
||||
}while((c!= '<') && (c!= '>') && !feof(yyin) && !(ISSPACE(c)));
|
||||
delireCar();
|
||||
if(DEBUG) { printf("CHAINE\n"); }
|
||||
|
||||
return CHAINE;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Fonction auxiliaire appelée par l'analyseur syntaxique tout simplement pour
|
||||
* afficher des messages d'erreur et l'arbre XML
|
||||
******************************************************************************/
|
||||
void nom_token( int token, char *nom, char *valeur ) {
|
||||
//int i;
|
||||
|
||||
strcpy( nom, "symbole" );
|
||||
if(token == CHEVRON_FERMANT) strcpy( valeur, "CHEVRON_FERMANT");
|
||||
else if(token == DEBUT_BF) strcpy( valeur, "DEBUT_BF");
|
||||
else if(token == DEBUT_BO) strcpy( valeur, "DEBUT_BO");
|
||||
else if(token == CHAINE) strcpy( valeur, "CHAINE");
|
||||
}
|
||||
|
||||
/* analyse syntaxique */
|
||||
|
||||
noeud *B(void);
|
||||
void LB(noeud *pere);
|
||||
char *BO(void);
|
||||
char *BF(void);
|
||||
void LCHAINE(void);
|
||||
|
||||
void erreur(char *msg){
|
||||
fprintf(stderr, "Ligne %d : erreur : %s\n", nb_ligne, msg);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* B -> BO LCHAINE LB LCHAINE BF */
|
||||
noeud *B(void){
|
||||
char *nom_bo;
|
||||
char *nom_bf;
|
||||
noeud *n;
|
||||
if(DEBUG) { printf("<B>\n"); }
|
||||
if(cc == DEBUT_BO){
|
||||
nom_bo = BO();
|
||||
n = cree_noeud(nom_bo);
|
||||
LCHAINE();
|
||||
LB(n);
|
||||
LCHAINE();
|
||||
nom_bf = BF();
|
||||
if(strcmp(nom_bo, nom_bf)){
|
||||
fprintf(stderr, "Ligne %d : arbre mal forme: balise ouvrante : \"%s\" balise fermante : \"%s\"\n", nb_ligne, nom_bo, nom_bf);
|
||||
exit(1);
|
||||
}
|
||||
free(nom_bf);
|
||||
if(DEBUG) { printf("</B>\n"); }
|
||||
return n;
|
||||
}
|
||||
erreur("B");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* LCHAINE -> CHAINE LCHAINE */
|
||||
/* | */
|
||||
|
||||
void LCHAINE(void){
|
||||
if(cc == CHAINE){
|
||||
cc = yylex();
|
||||
LCHAINE();
|
||||
return;
|
||||
}
|
||||
if((cc == DEBUT_BO) ||(cc == DEBUT_BF)){
|
||||
return;
|
||||
}
|
||||
erreur("LCHAINE");
|
||||
}
|
||||
|
||||
/* LB -> B LB
|
||||
| */
|
||||
|
||||
void LB(noeud *pere)
|
||||
{
|
||||
noeud *fils = NULL;
|
||||
if(cc == DEBUT_BO){
|
||||
fils = B();
|
||||
ajoute_fils(pere, fils);
|
||||
LB(pere);
|
||||
return;
|
||||
}
|
||||
if(cc == DEBUT_BF){
|
||||
return;
|
||||
}
|
||||
erreur("LB");
|
||||
}
|
||||
|
||||
/* BO -> DEBUT_BO CHAINE CHEVRON_FERMANT */
|
||||
char *BO(void)
|
||||
{
|
||||
char *nom = NULL;
|
||||
if(DEBUG) { printf("<BO>\n"); }
|
||||
if(cc == DEBUT_BO){
|
||||
cc = yylex();
|
||||
if(cc == CHAINE){
|
||||
nom = strdup(yytext);
|
||||
cc = yylex();
|
||||
if(cc == CHEVRON_FERMANT){
|
||||
cc = yylex();
|
||||
if(DEBUG) { printf("</BO>\n"); }
|
||||
return nom;
|
||||
}
|
||||
}
|
||||
}
|
||||
erreur("BO");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* BF -> DEBUT_BF CHAINE CHEVRON_FERMANT */
|
||||
char *BF(void)
|
||||
{
|
||||
char *nom = NULL;
|
||||
if(cc == DEBUT_BF){
|
||||
cc = yylex();
|
||||
if(cc == CHAINE){
|
||||
nom = strdup(yytext);
|
||||
cc = yylex();
|
||||
if(cc == CHEVRON_FERMANT){
|
||||
cc = yylex();
|
||||
return nom;
|
||||
}
|
||||
}
|
||||
}
|
||||
erreur("BF");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
noeud *analyseur_xml(void)
|
||||
{
|
||||
nb_ligne = 0;
|
||||
cc = yylex();
|
||||
return B();
|
||||
}
|
||||
|
||||
|
||||
25
eval-partiel/analyseur_xml.h
Normal file
25
eval-partiel/analyseur_xml.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef __ANALYSEUR_XML__
|
||||
#define __ANALYSEUR_XML__
|
||||
|
||||
/* structures de donnees et fonctions pour arbre abstrait */
|
||||
|
||||
typedef struct n noeud;
|
||||
|
||||
struct n{
|
||||
char *nom;
|
||||
struct n *premier_fils;
|
||||
struct n *dernier_fils;
|
||||
struct n *suiv;
|
||||
};
|
||||
|
||||
FILE *yyin;
|
||||
|
||||
|
||||
void affiche_arbre(noeud *racine);
|
||||
int compare_arbres(noeud *racine1, noeud *racine2, int verbose);
|
||||
void libere_arbre(noeud *r);
|
||||
|
||||
/* analyseur */
|
||||
|
||||
noeud *analyseur_xml(void);
|
||||
#endif
|
||||
BIN
eval-partiel/compare_arbres_xml
Executable file
BIN
eval-partiel/compare_arbres_xml
Executable file
Binary file not shown.
63
eval-partiel/compare_arbres_xml.c
Normal file
63
eval-partiel/compare_arbres_xml.c
Normal file
@@ -0,0 +1,63 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include"analyseur_xml.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
noeud *racine1;
|
||||
noeud *racine2;
|
||||
int resultat;
|
||||
int verbose;
|
||||
|
||||
if((argc != 3) && (argc != 4)){
|
||||
fprintf(stderr, "usage: %s fichier_xml fichier_xml [v]\n", argv[0]);
|
||||
exit(1);
|
||||
|
||||
}
|
||||
verbose = (argc == 4);
|
||||
|
||||
yyin = fopen(argv[1], "r");
|
||||
if(yyin == NULL){
|
||||
fprintf(stderr, "impossible d'ouvrir le fichier %s\n", argv[1]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
fprintf(stderr, "analyse du fichier : %s\n", argv[1]);
|
||||
racine1 = analyseur_xml();
|
||||
|
||||
|
||||
fclose(yyin);
|
||||
|
||||
yyin = fopen(argv[2], "r");
|
||||
if(yyin == NULL){
|
||||
fprintf(stderr, "impossible d'ouvrir le fichier %s\n", argv[2]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
fprintf(stderr, "analyse du fichier : %s\n", argv[2]);
|
||||
racine2 = analyseur_xml();
|
||||
|
||||
fclose(yyin);
|
||||
|
||||
|
||||
|
||||
/* affiche_arbre(racine1);
|
||||
printf("\n");
|
||||
affiche_arbre(racine2);*/
|
||||
|
||||
fprintf(stderr, "comparaison des arbres\n");
|
||||
resultat = compare_arbres(racine1, racine2, verbose);
|
||||
libere_arbre(racine1);
|
||||
libere_arbre(racine2);
|
||||
|
||||
|
||||
if(resultat){
|
||||
printf("arbres egaux\n");
|
||||
return 0;
|
||||
}
|
||||
else{
|
||||
printf("arbres différents\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
BIN
eval-partiel/fiche_eval_partiel_2016.pdf
Normal file
BIN
eval-partiel/fiche_eval_partiel_2016.pdf
Normal file
Binary file not shown.
7
eval-partiel/input/affect-err.l
Normal file
7
eval-partiel/input/affect-err.l
Normal file
@@ -0,0 +1,7 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
$a = 5;
|
||||
ecrire( $a );
|
||||
}
|
||||
$extra = 0;
|
||||
6
eval-partiel/input/affect.l
Normal file
6
eval-partiel/input/affect.l
Normal file
@@ -0,0 +1,6 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
$a = 1;
|
||||
ecrire($a);
|
||||
}
|
||||
11
eval-partiel/input/boucle.l
Normal file
11
eval-partiel/input/boucle.l
Normal file
@@ -0,0 +1,11 @@
|
||||
entier $i, entier $carre;
|
||||
main()
|
||||
{
|
||||
$i = 0;
|
||||
tantque $i < 10 faire
|
||||
{
|
||||
$carre = $i * $i;
|
||||
ecrire( $carre );
|
||||
$i = $i + 1;
|
||||
}
|
||||
}
|
||||
25
eval-partiel/input/eval1.l
Normal file
25
eval-partiel/input/eval1.l
Normal file
@@ -0,0 +1,25 @@
|
||||
add (entier $a, entier $b)
|
||||
{
|
||||
retour $a + $b;
|
||||
}
|
||||
|
||||
mult (entier $a, entier $b)
|
||||
{
|
||||
retour $a * $b;
|
||||
}
|
||||
|
||||
main()
|
||||
entier $a, entier $b, entier $op;
|
||||
{
|
||||
$a = lire();
|
||||
$b = lire();
|
||||
$op = lire();
|
||||
si $op = 1 alors {
|
||||
ecrire(add($a, $b));
|
||||
}
|
||||
sinon {
|
||||
si $op = 2 alors {
|
||||
ecrire(mult($a, $b));
|
||||
}
|
||||
}
|
||||
}
|
||||
1
eval-partiel/input/eval1err.l
Normal file
1
eval-partiel/input/eval1err.l
Normal file
@@ -0,0 +1 @@
|
||||
33a
|
||||
14
eval-partiel/input/eval2.l
Normal file
14
eval-partiel/input/eval2.l
Normal file
@@ -0,0 +1,14 @@
|
||||
fibo( entier $n )
|
||||
{
|
||||
si $n < 2 alors {
|
||||
retour 1;
|
||||
}
|
||||
sinon {
|
||||
retour fibo( $n - 1 ) + fibo( $n - 2 );
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
ecrire( fibo( lire() ) );
|
||||
}
|
||||
7
eval-partiel/input/eval2err.l
Normal file
7
eval-partiel/input/eval2err.l
Normal file
@@ -0,0 +1,7 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
$a = 5;
|
||||
ecrire( $a );
|
||||
}
|
||||
$extra = 0;
|
||||
12
eval-partiel/input/eval3.l
Normal file
12
eval-partiel/input/eval3.l
Normal file
@@ -0,0 +1,12 @@
|
||||
entier $i, entier $j, entier $k, entier $somme;
|
||||
main() {
|
||||
$somme = 0;
|
||||
pour $i = 0; $i < 10; $i = $i + 1; faire {
|
||||
pour $j = 0; $j < $i; $j = $j + 1; faire {
|
||||
pour $k = 0; $k < $j; $k = $k + 1; faire {
|
||||
$somme = $somme + $i + $j + $k;
|
||||
}
|
||||
}
|
||||
}
|
||||
ecrire ( $somme );
|
||||
}
|
||||
12
eval-partiel/input/eval3err.l
Normal file
12
eval-partiel/input/eval3err.l
Normal file
@@ -0,0 +1,12 @@
|
||||
entier $i;
|
||||
main()
|
||||
{
|
||||
entier $carre;
|
||||
$i = 0;
|
||||
tantque $i < 10 faire
|
||||
{
|
||||
$carre = $i * $i;
|
||||
ecrire( $carre );
|
||||
$i = $i + 1;
|
||||
}
|
||||
}
|
||||
7
eval-partiel/input/eval4.l
Normal file
7
eval-partiel/input/eval4.l
Normal file
@@ -0,0 +1,7 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
si 1 alors
|
||||
{ecrire(1);
|
||||
}
|
||||
}
|
||||
1
eval-partiel/input/eval4err.l
Normal file
1
eval-partiel/input/eval4err.l
Normal file
@@ -0,0 +1 @@
|
||||
entier entier entier
|
||||
9
eval-partiel/input/eval5.l
Normal file
9
eval-partiel/input/eval5.l
Normal file
@@ -0,0 +1,9 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
si 0 alors
|
||||
{ecrire(1);
|
||||
}
|
||||
sinon
|
||||
{ecrire(0);}
|
||||
}
|
||||
1
eval-partiel/input/eval5err.l
Normal file
1
eval-partiel/input/eval5err.l
Normal file
@@ -0,0 +1 @@
|
||||
entier ?
|
||||
11
eval-partiel/input/eval6.l
Normal file
11
eval-partiel/input/eval6.l
Normal file
@@ -0,0 +1,11 @@
|
||||
entier $a[10], entier $b;
|
||||
main() {
|
||||
$a[0] = 10;
|
||||
$b = 5;
|
||||
ecrire( $a ); # erreur de type ou ecrit 10?
|
||||
ecrire( $a + 1 ); # erreur de type ou ecrit 11?
|
||||
ecrire( $b[0] ); # erreur de type ou ecrit 5?
|
||||
ecrire( $a[10] ); # erreur de type ou ecrit 5?
|
||||
retour 0;
|
||||
ecrire( $b ); # ecrit 5 ou pas?
|
||||
}
|
||||
0
eval-partiel/input/eval7.l
Normal file
0
eval-partiel/input/eval7.l
Normal file
9
eval-partiel/input/eval8.l
Normal file
9
eval-partiel/input/eval8.l
Normal file
@@ -0,0 +1,9 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
$a = 0;
|
||||
tantque $a < 10 faire{
|
||||
ecrire($a);
|
||||
$a = $a + 1;
|
||||
}
|
||||
}
|
||||
5
eval-partiel/input/expression.l
Normal file
5
eval-partiel/input/expression.l
Normal file
@@ -0,0 +1,5 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
ecrire(5 * 2);
|
||||
}
|
||||
23
eval-partiel/input/max.l
Normal file
23
eval-partiel/input/max.l
Normal file
@@ -0,0 +1,23 @@
|
||||
max( entier $a, entier $b )
|
||||
{
|
||||
si $a < $b alors {
|
||||
retour $b;
|
||||
}
|
||||
retour $a;
|
||||
}
|
||||
|
||||
main()
|
||||
entier $v_1, entier $v_2;
|
||||
{
|
||||
$v_1 = lire();
|
||||
$v_2 = lire();
|
||||
si max( $v_1, $v_2 ) = $v_1 alors
|
||||
{
|
||||
ecrire( $v_1 );
|
||||
}
|
||||
sinon
|
||||
{
|
||||
ecrire( $v_2 );
|
||||
}
|
||||
|
||||
}
|
||||
8
eval-partiel/input/test1.l
Normal file
8
eval-partiel/input/test1.l
Normal file
@@ -0,0 +1,8 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
pour $a=1; $a<10; $a = $a + 1; faire
|
||||
{
|
||||
ecrire( $a );
|
||||
}
|
||||
}
|
||||
6
eval-partiel/input/test1err.l
Normal file
6
eval-partiel/input/test1err.l
Normal file
@@ -0,0 +1,6 @@
|
||||
entier $i;
|
||||
main() {
|
||||
pour $i = 5; $i < 10; $i faire {
|
||||
ecrire ( $i );
|
||||
}
|
||||
}
|
||||
8
eval-partiel/input/test2.l
Normal file
8
eval-partiel/input/test2.l
Normal file
@@ -0,0 +1,8 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
pour $a=1; $a<10; $a = $a + 1; faire
|
||||
{
|
||||
ecrire( $a );
|
||||
}
|
||||
}
|
||||
8
eval-partiel/input/test3.l
Normal file
8
eval-partiel/input/test3.l
Normal file
@@ -0,0 +1,8 @@
|
||||
entier $a;
|
||||
main()
|
||||
{
|
||||
pour $a=1; $a<10; $a = $a + 1; faire
|
||||
{
|
||||
ecrire( $a );
|
||||
}
|
||||
}
|
||||
57
eval-partiel/input/tri.l
Normal file
57
eval-partiel/input/tri.l
Normal file
@@ -0,0 +1,57 @@
|
||||
entier $tab[ 10 ];
|
||||
|
||||
initialiser()
|
||||
{
|
||||
$tab[0] = 8; $tab[1] = 6; $tab[2] = 9;
|
||||
$tab[3] = 9; $tab[4] = 4; $tab[5] = 2;
|
||||
$tab[6] = 3; $tab[7] = 1; $tab[8] = 4;
|
||||
$tab[9] = 5;
|
||||
}
|
||||
|
||||
afficher( entier $n )
|
||||
entier $i;
|
||||
{
|
||||
$i = 0;
|
||||
tantque $i < $n faire {
|
||||
ecrire( $tab[ $i ] );
|
||||
$i = $i + 1;
|
||||
}
|
||||
ecrire( 0 ); # marqueur fin de tableau
|
||||
}
|
||||
|
||||
echanger( entier $i, entier $j )
|
||||
entier $temp;
|
||||
{
|
||||
$temp = $tab[ $j ];
|
||||
$tab[ $j ] = $tab[ $i ];
|
||||
$tab[ $i ] = $temp;
|
||||
}
|
||||
|
||||
trier( entier $n )
|
||||
entier $echange, entier $j, entier $m;
|
||||
{
|
||||
$m = $n;
|
||||
$echange = 1;
|
||||
tantque $echange = 1 faire
|
||||
{
|
||||
$echange = 0;
|
||||
$j = 0;
|
||||
tantque $j < $m - 1 faire
|
||||
{
|
||||
si $tab[ $j + 1 ] < $tab[ $j ] alors {
|
||||
echanger( $j, $j + 1 );
|
||||
$echange = 1;
|
||||
}
|
||||
$j = $j + 1;
|
||||
}
|
||||
$m = $m - 1;
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
initialiser();
|
||||
afficher( 10 );
|
||||
trier( 10 );
|
||||
afficher( 10 );
|
||||
}
|
||||
196
eval-partiel/main.css
Executable file
196
eval-partiel/main.css
Executable file
@@ -0,0 +1,196 @@
|
||||
body{
|
||||
font-family: "Trebuchet MS", arial, helvetica, sans-serif;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#header{
|
||||
color: #ffffff;
|
||||
background-color: #c01010;
|
||||
width: 100%;
|
||||
height: 70px;
|
||||
}
|
||||
|
||||
#header h1{
|
||||
margin: 0;
|
||||
font-size: 140%;
|
||||
padding: 20px 0 0 20px;
|
||||
}
|
||||
|
||||
#header ul{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#lang_bar{
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#lang_bar li{
|
||||
float: right;
|
||||
}
|
||||
|
||||
#lang_bar a{
|
||||
color: #dddddd;
|
||||
padding: 0 7px;
|
||||
font-weight: bold;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
#lang_bar a:hover{
|
||||
color: #dddddd;
|
||||
background-color: #c01010;
|
||||
}
|
||||
|
||||
#main_menu{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
clear: right;
|
||||
width: 100%;
|
||||
background-color: #330000;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
#main_menu li{
|
||||
float: left;
|
||||
}
|
||||
|
||||
#main_menu a{
|
||||
float: left;
|
||||
background-color: #dddddd;
|
||||
padding: 5px 10px;
|
||||
font-size: 90%;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
color: #990000;
|
||||
margin: 2px 1px;
|
||||
}
|
||||
|
||||
#main_menu a:hover{
|
||||
background-color: #c01010;
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
#main_menu a.active{
|
||||
background-color: #c01010;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
#links li{
|
||||
list-style-type: none;
|
||||
color: #990000;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#links ul{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#links img{
|
||||
height: 40px;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
#links{
|
||||
border: solid 2px #FFA273;
|
||||
margin: 5px;
|
||||
text-align: center;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#links h1{
|
||||
font-size: 100%;
|
||||
color: #a63800;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
a{
|
||||
text-decoration: none;
|
||||
color: #c01010;
|
||||
}
|
||||
|
||||
#page_body a:hover{
|
||||
text-decoration: none;
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
#page_body p{
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#page_body{
|
||||
font-size: 90%;
|
||||
margin: 10px 20px 0 40px;
|
||||
|
||||
}
|
||||
|
||||
#page_body h1{
|
||||
font-size: 130%;
|
||||
margin: 15px 0 5px -30px;
|
||||
color: #c01010;
|
||||
}
|
||||
|
||||
#page_body h2{
|
||||
font-size: 110%;
|
||||
margin: 8px 0 5px -15px;
|
||||
color: #c01010;
|
||||
}
|
||||
|
||||
#page_body li{
|
||||
margin: 5px 0 0 20px;
|
||||
}
|
||||
|
||||
#page_body ul{
|
||||
margin: 0;
|
||||
padding: 5px 0 0 40px;
|
||||
}
|
||||
|
||||
#page_body li p{
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#page_body img.left{
|
||||
float: left;
|
||||
margin: 5px 20px 5px 0;
|
||||
}
|
||||
|
||||
#page_body img.right{
|
||||
float: right;
|
||||
margin: 5px 0 5px 20px;
|
||||
}
|
||||
|
||||
.codefrag{
|
||||
font-family: "courier", "sans";
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
text-indent: 20pt;
|
||||
}
|
||||
|
||||
.indent1{
|
||||
text-indent: 40pt;
|
||||
}
|
||||
|
||||
.indent2{
|
||||
text-indent: 60pt;
|
||||
}
|
||||
|
||||
.indent3{
|
||||
text-indent: 80pt;
|
||||
}
|
||||
|
||||
.indent4{
|
||||
text-indent: 100pt;
|
||||
}
|
||||
|
||||
.indent5{
|
||||
text-indent: 180pt;
|
||||
}
|
||||
|
||||
.nobullet{
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
|
||||
110
eval-partiel/output/affect-err.synt.xml
Normal file
110
eval-partiel/output/affect-err.synt.xml
Normal file
@@ -0,0 +1,110 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>5</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
18
eval-partiel/output/affect.lex
Normal file
18
eval-partiel/output/affect.lex
Normal file
@@ -0,0 +1,18 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
113
eval-partiel/output/affect.synt
Normal file
113
eval-partiel/output/affect.synt
Normal file
@@ -0,0 +1,113 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
40
eval-partiel/output/boucle.lex
Normal file
40
eval-partiel/output/boucle.lex
Normal file
@@ -0,0 +1,40 @@
|
||||
entier mot_clef entier
|
||||
$i id_variable $i
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$carre id_variable $carre
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$i id_variable $i
|
||||
< symbole INFERIEUR
|
||||
10 nombre 10
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$carre id_variable $carre
|
||||
= symbole EGAL
|
||||
$i id_variable $i
|
||||
* symbole FOIS
|
||||
$i id_variable $i
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$carre id_variable $carre
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
$i id_variable $i
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
283
eval-partiel/output/boucle.synt
Normal file
283
eval-partiel/output/boucle.synt
Normal file
@@ -0,0 +1,283 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$i</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$carre</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionTantque>
|
||||
<mot_clef>tantque</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$carre</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
<symbole>FOIS</symbole>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$carre</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionTantque>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
100
eval-partiel/output/eval1.lex
Normal file
100
eval-partiel/output/eval1.lex
Normal file
@@ -0,0 +1,100 @@
|
||||
add id_fonction add
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
$a id_variable $a
|
||||
+ symbole PLUS
|
||||
$b id_variable $b
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
mult id_fonction mult
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
$a id_variable $a
|
||||
* symbole FOIS
|
||||
$b id_variable $b
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$op id_variable $op
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$b id_variable $b
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$op id_variable $op
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
si mot_clef si
|
||||
$op id_variable $op
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
add id_fonction add
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
sinon mot_clef sinon
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
$op id_variable $op
|
||||
= symbole EGAL
|
||||
2 nombre 2
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
mult id_fonction mult
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
681
eval-partiel/output/eval1.synt
Normal file
681
eval-partiel/output/eval1.synt
Normal file
@@ -0,0 +1,681 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>add</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>mult</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
<symbole>FOIS</symbole>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$op</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$op</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$op</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>EGAL</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>add</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
<mot_clef>sinon</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$op</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>EGAL</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>2</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>mult</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
1
eval-partiel/output/eval1err.synt.xml
Normal file
1
eval-partiel/output/eval1err.synt.xml
Normal file
@@ -0,0 +1 @@
|
||||
<programme>
|
||||
51
eval-partiel/output/eval2.lex
Normal file
51
eval-partiel/output/eval2.lex
Normal file
@@ -0,0 +1,51 @@
|
||||
fibo id_fonction fibo
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$n id_variable $n
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
$n id_variable $n
|
||||
< symbole INFERIEUR
|
||||
2 nombre 2
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
sinon mot_clef sinon
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
fibo id_fonction fibo
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$n id_variable $n
|
||||
- symbole MOINS
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
+ symbole PLUS
|
||||
fibo id_fonction fibo
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$n id_variable $n
|
||||
- symbole MOINS
|
||||
2 nombre 2
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
fibo id_fonction fibo
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
360
eval-partiel/output/eval2.synt
Normal file
360
eval-partiel/output/eval2.synt
Normal file
@@ -0,0 +1,360 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>fibo</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$n</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$n</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>2</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
<mot_clef>sinon</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>fibo</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$n</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>MOINS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>fibo</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$n</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>MOINS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>2</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>fibo</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
110
eval-partiel/output/eval2err.synt.xml
Normal file
110
eval-partiel/output/eval2err.synt.xml
Normal file
@@ -0,0 +1,110 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>5</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
91
eval-partiel/output/eval3.lex
Normal file
91
eval-partiel/output/eval3.lex
Normal file
@@ -0,0 +1,91 @@
|
||||
entier mot_clef entier
|
||||
$i id_variable $i
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$j id_variable $j
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$k id_variable $k
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$somme id_variable $somme
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$somme id_variable $somme
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
pour mot_clef pour
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
$i id_variable $i
|
||||
< symbole INFERIEUR
|
||||
10 nombre 10
|
||||
; symbole POINT_VIRGULE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
$i id_variable $i
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
pour mot_clef pour
|
||||
$j id_variable $j
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
$j id_variable $j
|
||||
< symbole INFERIEUR
|
||||
$i id_variable $i
|
||||
; symbole POINT_VIRGULE
|
||||
$j id_variable $j
|
||||
= symbole EGAL
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
pour mot_clef pour
|
||||
$k id_variable $k
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
$k id_variable $k
|
||||
< symbole INFERIEUR
|
||||
$j id_variable $j
|
||||
; symbole POINT_VIRGULE
|
||||
$k id_variable $k
|
||||
= symbole EGAL
|
||||
$k id_variable $k
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$somme id_variable $somme
|
||||
= symbole EGAL
|
||||
$somme id_variable $somme
|
||||
+ symbole PLUS
|
||||
$i id_variable $i
|
||||
+ symbole PLUS
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
$k id_variable $k
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$somme id_variable $somme
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
652
eval-partiel/output/eval3.synt
Normal file
652
eval-partiel/output/eval3.synt
Normal file
@@ -0,0 +1,652 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$i</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$j</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$k</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionPour>
|
||||
<mot_clef>pour</mot_clef>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionPour>
|
||||
<mot_clef>pour</mot_clef>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionPour>
|
||||
<mot_clef>pour</mot_clef>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionPour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionPour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionPour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
28
eval-partiel/output/eval3err.synt.xml
Normal file
28
eval-partiel/output/eval3err.synt.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$i</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
19
eval-partiel/output/eval4.lex
Normal file
19
eval-partiel/output/eval4.lex
Normal file
@@ -0,0 +1,19 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
1 nombre 1
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
112
eval-partiel/output/eval4.synt
Normal file
112
eval-partiel/output/eval4.synt
Normal file
@@ -0,0 +1,112 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
5
eval-partiel/output/eval4err.synt.xml
Normal file
5
eval-partiel/output/eval4err.synt.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
27
eval-partiel/output/eval5.lex
Normal file
27
eval-partiel/output/eval5.lex
Normal file
@@ -0,0 +1,27 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
0 nombre 0
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
sinon mot_clef sinon
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
0 nombre 0
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
154
eval-partiel/output/eval5.synt
Normal file
154
eval-partiel/output/eval5.synt
Normal file
@@ -0,0 +1,154 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
<mot_clef>sinon</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
5
eval-partiel/output/eval5err.synt.xml
Normal file
5
eval-partiel/output/eval5err.synt.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
62
eval-partiel/output/eval6.lex
Normal file
62
eval-partiel/output/eval6.lex
Normal file
@@ -0,0 +1,62 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
[ symbole CROCHET_OUVRANT
|
||||
10 nombre 10
|
||||
] symbole CROCHET_FERMANT
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$a id_variable $a
|
||||
[ symbole CROCHET_OUVRANT
|
||||
0 nombre 0
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
10 nombre 10
|
||||
; symbole POINT_VIRGULE
|
||||
$b id_variable $b
|
||||
= symbole EGAL
|
||||
5 nombre 5
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$b id_variable $b
|
||||
[ symbole CROCHET_OUVRANT
|
||||
0 nombre 0
|
||||
] symbole CROCHET_FERMANT
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
[ symbole CROCHET_OUVRANT
|
||||
10 nombre 10
|
||||
] symbole CROCHET_FERMANT
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
retour mot_clef retour
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
443
eval-partiel/output/eval6.synt
Normal file
443
eval-partiel/output/eval6.synt
Normal file
@@ -0,0 +1,443 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
<symbole>CROCHET_OUVRANT</symbole>
|
||||
<nombre>10</nombre>
|
||||
<symbole>CROCHET_FERMANT</symbole>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
<symbole>CROCHET_OUVRANT</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>CROCHET_FERMANT</symbole>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>5</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
<symbole>CROCHET_OUVRANT</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>CROCHET_FERMANT</symbole>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
<symbole>CROCHET_OUVRANT</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>CROCHET_FERMANT</symbole>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
1
eval-partiel/output/eval7.lex
Normal file
1
eval-partiel/output/eval7.lex
Normal file
@@ -0,0 +1 @@
|
||||
symbole FIN
|
||||
6
eval-partiel/output/eval7.synt
Normal file
6
eval-partiel/output/eval7.synt
Normal file
@@ -0,0 +1,6 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
31
eval-partiel/output/eval8.lex
Normal file
31
eval-partiel/output/eval8.lex
Normal file
@@ -0,0 +1,31 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$a id_variable $a
|
||||
< symbole INFERIEUR
|
||||
10 nombre 10
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
$a id_variable $a
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
222
eval-partiel/output/eval8.synt
Normal file
222
eval-partiel/output/eval8.synt
Normal file
@@ -0,0 +1,222 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionTantque>
|
||||
<mot_clef>tantque</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionTantque>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
16
eval-partiel/output/expression.lex
Normal file
16
eval-partiel/output/expression.lex
Normal file
@@ -0,0 +1,16 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
5 nombre 5
|
||||
* symbole FOIS
|
||||
2 nombre 2
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
77
eval-partiel/output/expression.synt
Normal file
77
eval-partiel/output/expression.synt
Normal file
@@ -0,0 +1,77 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>5</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
<symbole>FOIS</symbole>
|
||||
<facteur>
|
||||
<nombre>2</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
72
eval-partiel/output/max.lex
Normal file
72
eval-partiel/output/max.lex
Normal file
@@ -0,0 +1,72 @@
|
||||
max id_fonction max
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
$a id_variable $a
|
||||
< symbole INFERIEUR
|
||||
$b id_variable $b
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
$b id_variable $b
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
retour mot_clef retour
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$v_1 id_variable $v_1
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$v_2 id_variable $v_2
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$v_1 id_variable $v_1
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$v_2 id_variable $v_2
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
si mot_clef si
|
||||
max id_fonction max
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$v_1 id_variable $v_1
|
||||
, symbole VIRGULE
|
||||
$v_2 id_variable $v_2
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
= symbole EGAL
|
||||
$v_1 id_variable $v_1
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$v_1 id_variable $v_1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
sinon mot_clef sinon
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$v_2 id_variable $v_2
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
513
eval-partiel/output/max.synt
Normal file
513
eval-partiel/output/max.synt
Normal file
@@ -0,0 +1,513 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>max</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$v_2</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$v_2</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>max</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_2</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>EGAL</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
<mot_clef>sinon</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_2</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
271
eval-partiel/output/tri.lex
Normal file
271
eval-partiel/output/tri.lex
Normal file
@@ -0,0 +1,271 @@
|
||||
entier mot_clef entier
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
10 nombre 10
|
||||
] symbole CROCHET_FERMANT
|
||||
; symbole POINT_VIRGULE
|
||||
initialiser id_fonction initialiser
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
0 nombre 0
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
8 nombre 8
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
1 nombre 1
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
6 nombre 6
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
2 nombre 2
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
9 nombre 9
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
3 nombre 3
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
9 nombre 9
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
4 nombre 4
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
4 nombre 4
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
5 nombre 5
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
2 nombre 2
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
6 nombre 6
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
3 nombre 3
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
7 nombre 7
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
8 nombre 8
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
4 nombre 4
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
9 nombre 9
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
5 nombre 5
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
afficher id_fonction afficher
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$n id_variable $n
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$i id_variable $i
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$i id_variable $i
|
||||
< symbole INFERIEUR
|
||||
$n id_variable $n
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$i id_variable $i
|
||||
] symbole CROCHET_FERMANT
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
$i id_variable $i
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
0 nombre 0
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
echanger id_fonction echanger
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$i id_variable $i
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$j id_variable $j
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$temp id_variable $temp
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$temp id_variable $temp
|
||||
= symbole EGAL
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$j id_variable $j
|
||||
] symbole CROCHET_FERMANT
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$j id_variable $j
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$i id_variable $i
|
||||
] symbole CROCHET_FERMANT
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$i id_variable $i
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
$temp id_variable $temp
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
trier id_fonction trier
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$n id_variable $n
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$echange id_variable $echange
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$j id_variable $j
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$m id_variable $m
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$m id_variable $m
|
||||
= symbole EGAL
|
||||
$n id_variable $n
|
||||
; symbole POINT_VIRGULE
|
||||
$echange id_variable $echange
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$echange id_variable $echange
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$echange id_variable $echange
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
$j id_variable $j
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$j id_variable $j
|
||||
< symbole INFERIEUR
|
||||
$m id_variable $m
|
||||
- symbole MOINS
|
||||
1 nombre 1
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
] symbole CROCHET_FERMANT
|
||||
< symbole INFERIEUR
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$j id_variable $j
|
||||
] symbole CROCHET_FERMANT
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
echanger id_fonction echanger
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$j id_variable $j
|
||||
, symbole VIRGULE
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$echange id_variable $echange
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
$j id_variable $j
|
||||
= symbole EGAL
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
$m id_variable $m
|
||||
= symbole EGAL
|
||||
$m id_variable $m
|
||||
- symbole MOINS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
initialiser id_fonction initialiser
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
afficher id_fonction afficher
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
10 nombre 10
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
trier id_fonction trier
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
10 nombre 10
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
afficher id_fonction afficher
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
10 nombre 10
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
2146
eval-partiel/output/tri.synt
Normal file
2146
eval-partiel/output/tri.synt
Normal file
File diff suppressed because it is too large
Load Diff
18
eval-partiel/ref-lex/affect.lex
Normal file
18
eval-partiel/ref-lex/affect.lex
Normal file
@@ -0,0 +1,18 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
40
eval-partiel/ref-lex/boucle.lex
Normal file
40
eval-partiel/ref-lex/boucle.lex
Normal file
@@ -0,0 +1,40 @@
|
||||
entier mot_clef entier
|
||||
$i id_variable $i
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$carre id_variable $carre
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$i id_variable $i
|
||||
< symbole INFERIEUR
|
||||
10 nombre 10
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$carre id_variable $carre
|
||||
= symbole EGAL
|
||||
$i id_variable $i
|
||||
* symbole FOIS
|
||||
$i id_variable $i
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$carre id_variable $carre
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
$i id_variable $i
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
100
eval-partiel/ref-lex/eval1.lex
Normal file
100
eval-partiel/ref-lex/eval1.lex
Normal file
@@ -0,0 +1,100 @@
|
||||
add id_fonction add
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
$a id_variable $a
|
||||
+ symbole PLUS
|
||||
$b id_variable $b
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
mult id_fonction mult
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
$a id_variable $a
|
||||
* symbole FOIS
|
||||
$b id_variable $b
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$op id_variable $op
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$b id_variable $b
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$op id_variable $op
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
si mot_clef si
|
||||
$op id_variable $op
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
add id_fonction add
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
sinon mot_clef sinon
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
$op id_variable $op
|
||||
= symbole EGAL
|
||||
2 nombre 2
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
mult id_fonction mult
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
51
eval-partiel/ref-lex/eval2.lex
Normal file
51
eval-partiel/ref-lex/eval2.lex
Normal file
@@ -0,0 +1,51 @@
|
||||
fibo id_fonction fibo
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$n id_variable $n
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
$n id_variable $n
|
||||
< symbole INFERIEUR
|
||||
2 nombre 2
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
sinon mot_clef sinon
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
fibo id_fonction fibo
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$n id_variable $n
|
||||
- symbole MOINS
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
+ symbole PLUS
|
||||
fibo id_fonction fibo
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$n id_variable $n
|
||||
- symbole MOINS
|
||||
2 nombre 2
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
fibo id_fonction fibo
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
91
eval-partiel/ref-lex/eval3.lex
Normal file
91
eval-partiel/ref-lex/eval3.lex
Normal file
@@ -0,0 +1,91 @@
|
||||
entier mot_clef entier
|
||||
$i id_variable $i
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$j id_variable $j
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$k id_variable $k
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$somme id_variable $somme
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$somme id_variable $somme
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
pour mot_clef pour
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
$i id_variable $i
|
||||
< symbole INFERIEUR
|
||||
10 nombre 10
|
||||
; symbole POINT_VIRGULE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
$i id_variable $i
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
pour mot_clef pour
|
||||
$j id_variable $j
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
$j id_variable $j
|
||||
< symbole INFERIEUR
|
||||
$i id_variable $i
|
||||
; symbole POINT_VIRGULE
|
||||
$j id_variable $j
|
||||
= symbole EGAL
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
pour mot_clef pour
|
||||
$k id_variable $k
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
$k id_variable $k
|
||||
< symbole INFERIEUR
|
||||
$j id_variable $j
|
||||
; symbole POINT_VIRGULE
|
||||
$k id_variable $k
|
||||
= symbole EGAL
|
||||
$k id_variable $k
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$somme id_variable $somme
|
||||
= symbole EGAL
|
||||
$somme id_variable $somme
|
||||
+ symbole PLUS
|
||||
$i id_variable $i
|
||||
+ symbole PLUS
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
$k id_variable $k
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$somme id_variable $somme
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
19
eval-partiel/ref-lex/eval4.lex
Normal file
19
eval-partiel/ref-lex/eval4.lex
Normal file
@@ -0,0 +1,19 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
1 nombre 1
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
27
eval-partiel/ref-lex/eval5.lex
Normal file
27
eval-partiel/ref-lex/eval5.lex
Normal file
@@ -0,0 +1,27 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
0 nombre 0
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
sinon mot_clef sinon
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
0 nombre 0
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
62
eval-partiel/ref-lex/eval6.lex
Normal file
62
eval-partiel/ref-lex/eval6.lex
Normal file
@@ -0,0 +1,62 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
[ symbole CROCHET_OUVRANT
|
||||
10 nombre 10
|
||||
] symbole CROCHET_FERMANT
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$a id_variable $a
|
||||
[ symbole CROCHET_OUVRANT
|
||||
0 nombre 0
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
10 nombre 10
|
||||
; symbole POINT_VIRGULE
|
||||
$b id_variable $b
|
||||
= symbole EGAL
|
||||
5 nombre 5
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$b id_variable $b
|
||||
[ symbole CROCHET_OUVRANT
|
||||
0 nombre 0
|
||||
] symbole CROCHET_FERMANT
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
[ symbole CROCHET_OUVRANT
|
||||
10 nombre 10
|
||||
] symbole CROCHET_FERMANT
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
retour mot_clef retour
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
1
eval-partiel/ref-lex/eval7.lex
Normal file
1
eval-partiel/ref-lex/eval7.lex
Normal file
@@ -0,0 +1 @@
|
||||
symbole FIN
|
||||
31
eval-partiel/ref-lex/eval8.lex
Normal file
31
eval-partiel/ref-lex/eval8.lex
Normal file
@@ -0,0 +1,31 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$a id_variable $a
|
||||
< symbole INFERIEUR
|
||||
10 nombre 10
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
$a id_variable $a
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
16
eval-partiel/ref-lex/expression.lex
Normal file
16
eval-partiel/ref-lex/expression.lex
Normal file
@@ -0,0 +1,16 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
5 nombre 5
|
||||
* symbole FOIS
|
||||
2 nombre 2
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
72
eval-partiel/ref-lex/max.lex
Normal file
72
eval-partiel/ref-lex/max.lex
Normal file
@@ -0,0 +1,72 @@
|
||||
max id_fonction max
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$b id_variable $b
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
$a id_variable $a
|
||||
< symbole INFERIEUR
|
||||
$b id_variable $b
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
retour mot_clef retour
|
||||
$b id_variable $b
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
retour mot_clef retour
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$v_1 id_variable $v_1
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$v_2 id_variable $v_2
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$v_1 id_variable $v_1
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$v_2 id_variable $v_2
|
||||
= symbole EGAL
|
||||
lire mot_clef lire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
si mot_clef si
|
||||
max id_fonction max
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$v_1 id_variable $v_1
|
||||
, symbole VIRGULE
|
||||
$v_2 id_variable $v_2
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
= symbole EGAL
|
||||
$v_1 id_variable $v_1
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$v_1 id_variable $v_1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
sinon mot_clef sinon
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$v_2 id_variable $v_2
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
32
eval-partiel/ref-lex/test1.lex
Normal file
32
eval-partiel/ref-lex/test1.lex
Normal file
@@ -0,0 +1,32 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
pour mot_clef pour
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
$a id_variable $a
|
||||
< symbole INFERIEUR
|
||||
10 nombre 10
|
||||
; symbole POINT_VIRGULE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
$a id_variable $a
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
32
eval-partiel/ref-lex/test2.lex
Normal file
32
eval-partiel/ref-lex/test2.lex
Normal file
@@ -0,0 +1,32 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
pour mot_clef pour
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
$a id_variable $a
|
||||
< symbole INFERIEUR
|
||||
10 nombre 10
|
||||
; symbole POINT_VIRGULE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
$a id_variable $a
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
32
eval-partiel/ref-lex/test3.lex
Normal file
32
eval-partiel/ref-lex/test3.lex
Normal file
@@ -0,0 +1,32 @@
|
||||
entier mot_clef entier
|
||||
$a id_variable $a
|
||||
; symbole POINT_VIRGULE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
pour mot_clef pour
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
$a id_variable $a
|
||||
< symbole INFERIEUR
|
||||
10 nombre 10
|
||||
; symbole POINT_VIRGULE
|
||||
$a id_variable $a
|
||||
= symbole EGAL
|
||||
$a id_variable $a
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$a id_variable $a
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
271
eval-partiel/ref-lex/tri.lex
Normal file
271
eval-partiel/ref-lex/tri.lex
Normal file
@@ -0,0 +1,271 @@
|
||||
entier mot_clef entier
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
10 nombre 10
|
||||
] symbole CROCHET_FERMANT
|
||||
; symbole POINT_VIRGULE
|
||||
initialiser id_fonction initialiser
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
0 nombre 0
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
8 nombre 8
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
1 nombre 1
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
6 nombre 6
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
2 nombre 2
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
9 nombre 9
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
3 nombre 3
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
9 nombre 9
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
4 nombre 4
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
4 nombre 4
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
5 nombre 5
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
2 nombre 2
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
6 nombre 6
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
3 nombre 3
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
7 nombre 7
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
8 nombre 8
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
4 nombre 4
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
9 nombre 9
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
5 nombre 5
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
afficher id_fonction afficher
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$n id_variable $n
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$i id_variable $i
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$i id_variable $i
|
||||
< symbole INFERIEUR
|
||||
$n id_variable $n
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$i id_variable $i
|
||||
] symbole CROCHET_FERMANT
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$i id_variable $i
|
||||
= symbole EGAL
|
||||
$i id_variable $i
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
ecrire mot_clef ecrire
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
0 nombre 0
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
echanger id_fonction echanger
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$i id_variable $i
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$j id_variable $j
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$temp id_variable $temp
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$temp id_variable $temp
|
||||
= symbole EGAL
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$j id_variable $j
|
||||
] symbole CROCHET_FERMANT
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$j id_variable $j
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$i id_variable $i
|
||||
] symbole CROCHET_FERMANT
|
||||
; symbole POINT_VIRGULE
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$i id_variable $i
|
||||
] symbole CROCHET_FERMANT
|
||||
= symbole EGAL
|
||||
$temp id_variable $temp
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
trier id_fonction trier
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
entier mot_clef entier
|
||||
$n id_variable $n
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
entier mot_clef entier
|
||||
$echange id_variable $echange
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$j id_variable $j
|
||||
, symbole VIRGULE
|
||||
entier mot_clef entier
|
||||
$m id_variable $m
|
||||
; symbole POINT_VIRGULE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$m id_variable $m
|
||||
= symbole EGAL
|
||||
$n id_variable $n
|
||||
; symbole POINT_VIRGULE
|
||||
$echange id_variable $echange
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$echange id_variable $echange
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
$echange id_variable $echange
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
$j id_variable $j
|
||||
= symbole EGAL
|
||||
0 nombre 0
|
||||
; symbole POINT_VIRGULE
|
||||
tantque mot_clef tantque
|
||||
$j id_variable $j
|
||||
< symbole INFERIEUR
|
||||
$m id_variable $m
|
||||
- symbole MOINS
|
||||
1 nombre 1
|
||||
faire mot_clef faire
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
si mot_clef si
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
] symbole CROCHET_FERMANT
|
||||
< symbole INFERIEUR
|
||||
$tab id_variable $tab
|
||||
[ symbole CROCHET_OUVRANT
|
||||
$j id_variable $j
|
||||
] symbole CROCHET_FERMANT
|
||||
alors mot_clef alors
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
echanger id_fonction echanger
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
$j id_variable $j
|
||||
, symbole VIRGULE
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
$echange id_variable $echange
|
||||
= symbole EGAL
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
$j id_variable $j
|
||||
= symbole EGAL
|
||||
$j id_variable $j
|
||||
+ symbole PLUS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
$m id_variable $m
|
||||
= symbole EGAL
|
||||
$m id_variable $m
|
||||
- symbole MOINS
|
||||
1 nombre 1
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
main id_fonction main
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
{ symbole ACCOLADE_OUVRANTE
|
||||
initialiser id_fonction initialiser
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
afficher id_fonction afficher
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
10 nombre 10
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
trier id_fonction trier
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
10 nombre 10
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
afficher id_fonction afficher
|
||||
( symbole PARENTHESE_OUVRANTE
|
||||
10 nombre 10
|
||||
) symbole PARENTHESE_FERMANTE
|
||||
; symbole POINT_VIRGULE
|
||||
} symbole ACCOLADE_FERMANTE
|
||||
symbole FIN
|
||||
113
eval-partiel/ref-synt/affect.synt
Normal file
113
eval-partiel/ref-synt/affect.synt
Normal file
@@ -0,0 +1,113 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
283
eval-partiel/ref-synt/boucle.synt
Normal file
283
eval-partiel/ref-synt/boucle.synt
Normal file
@@ -0,0 +1,283 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$i</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$carre</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionTantque>
|
||||
<mot_clef>tantque</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$carre</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
<symbole>FOIS</symbole>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$carre</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionTantque>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
681
eval-partiel/ref-synt/eval1.synt
Normal file
681
eval-partiel/ref-synt/eval1.synt
Normal file
@@ -0,0 +1,681 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>add</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>mult</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
<symbole>FOIS</symbole>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$op</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$op</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$op</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>EGAL</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>add</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
<mot_clef>sinon</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$op</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>EGAL</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>2</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>mult</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
360
eval-partiel/ref-synt/eval2.synt
Normal file
360
eval-partiel/ref-synt/eval2.synt
Normal file
@@ -0,0 +1,360 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>fibo</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$n</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$n</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>2</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
<mot_clef>sinon</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>fibo</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$n</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>MOINS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>fibo</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$n</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>MOINS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>2</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>fibo</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
652
eval-partiel/ref-synt/eval3.synt
Normal file
652
eval-partiel/ref-synt/eval3.synt
Normal file
@@ -0,0 +1,652 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$i</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$j</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$k</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionPour>
|
||||
<mot_clef>pour</mot_clef>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionPour>
|
||||
<mot_clef>pour</mot_clef>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionPour>
|
||||
<mot_clef>pour</mot_clef>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$i</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$j</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$k</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionPour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionPour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionPour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$somme</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
112
eval-partiel/ref-synt/eval4.synt
Normal file
112
eval-partiel/ref-synt/eval4.synt
Normal file
@@ -0,0 +1,112 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
154
eval-partiel/ref-synt/eval5.synt
Normal file
154
eval-partiel/ref-synt/eval5.synt
Normal file
@@ -0,0 +1,154 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
<mot_clef>sinon</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
443
eval-partiel/ref-synt/eval6.synt
Normal file
443
eval-partiel/ref-synt/eval6.synt
Normal file
@@ -0,0 +1,443 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
<symbole>CROCHET_OUVRANT</symbole>
|
||||
<nombre>10</nombre>
|
||||
<symbole>CROCHET_FERMANT</symbole>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
<symbole>CROCHET_OUVRANT</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>CROCHET_FERMANT</symbole>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>5</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
<symbole>CROCHET_OUVRANT</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>CROCHET_FERMANT</symbole>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
<symbole>CROCHET_OUVRANT</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>CROCHET_FERMANT</symbole>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
6
eval-partiel/ref-synt/eval7.synt
Normal file
6
eval-partiel/ref-synt/eval7.synt
Normal file
@@ -0,0 +1,6 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
222
eval-partiel/ref-synt/eval8.synt
Normal file
222
eval-partiel/ref-synt/eval8.synt
Normal file
@@ -0,0 +1,222 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>0</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionTantque>
|
||||
<mot_clef>tantque</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionTantque>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
77
eval-partiel/ref-synt/expression.synt
Normal file
77
eval-partiel/ref-synt/expression.synt
Normal file
@@ -0,0 +1,77 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>5</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
<symbole>FOIS</symbole>
|
||||
<facteur>
|
||||
<nombre>2</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
513
eval-partiel/ref-synt/max.synt
Normal file
513
eval-partiel/ref-synt/max.synt
Normal file
@@ -0,0 +1,513 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>max</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$b</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$b</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionRetour>
|
||||
<mot_clef>retour</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionRetour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$v_2</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$v_2</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<appelFct>
|
||||
<id_fonction>max</id_fonction>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<listeExpressions>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
<symbole>VIRGULE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_2</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressionsBis>
|
||||
</listeExpressions>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</appelFct>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>EGAL</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_1</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
<mot_clef>sinon</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$v_2</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
215
eval-partiel/ref-synt/test1.synt
Normal file
215
eval-partiel/ref-synt/test1.synt
Normal file
@@ -0,0 +1,215 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionPour>
|
||||
<mot_clef>pour</mot_clef>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionPour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
215
eval-partiel/ref-synt/test2.synt
Normal file
215
eval-partiel/ref-synt/test2.synt
Normal file
@@ -0,0 +1,215 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionPour>
|
||||
<mot_clef>pour</mot_clef>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionPour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
215
eval-partiel/ref-synt/test3.synt
Normal file
215
eval-partiel/ref-synt/test3.synt
Normal file
@@ -0,0 +1,215 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
<listeDecVariables>
|
||||
<declarationVariable>
|
||||
<mot_clef>entier</mot_clef>
|
||||
<id_variable>$a</id_variable>
|
||||
<optTailleTableau>
|
||||
</optTailleTableau>
|
||||
</declarationVariable>
|
||||
<listeDecVariablesBis>
|
||||
</listeDecVariablesBis>
|
||||
</listeDecVariables>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionPour>
|
||||
<mot_clef>pour</mot_clef>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
<symbole>INFERIEUR</symbole>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>10</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
<instructionAffect>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
<symbole>EGAL</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
<symbole>PLUS</symbole>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionAffect>
|
||||
<mot_clef>faire</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<var>
|
||||
<id_variable>$a</id_variable>
|
||||
<optIndice>
|
||||
</optIndice>
|
||||
</var>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</instructionPour>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
2146
eval-partiel/ref-synt/tri.synt
Normal file
2146
eval-partiel/ref-synt/tri.synt
Normal file
File diff suppressed because it is too large
Load Diff
157
eval-partiel/runEval.sh
Executable file
157
eval-partiel/runEval.sh
Executable file
@@ -0,0 +1,157 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
# Script d'évaluation automatique des compilateurs du projet.
|
||||
# Compile le programme source et compare avec la référence.
|
||||
# Comprend analyse lexicale, syntaxique, arbre abstrait, table des symboles et
|
||||
# code MIPS.
|
||||
################################################################################
|
||||
|
||||
# MODIFIEZ LES VARIABLES CI-DESSOUS AVEC LE CHEMIN/OPTIONS DE VOTRE COMPILATEUR
|
||||
|
||||
MYCOMPILO="../compilateur-l"
|
||||
MYCOMPILOLEX="${MYCOMPILO} -l"
|
||||
MYCOMPILOSYNT="${MYCOMPILO} -s"
|
||||
#MYCOMPILOASYNT="${MYCOMPILO} -a"
|
||||
#MYCOMPILOTAB="${MYCOMPILO} -t"
|
||||
#MYCOMPILOMIPS="${MYCOMPILO} -m"
|
||||
|
||||
################################################################################
|
||||
|
||||
XMLDIFF="./compare_arbres_xml"
|
||||
REGDIFF="diff -q -w"
|
||||
EXITONFAIL=1
|
||||
declare -A testname
|
||||
testname["lex"]="Analyse lexicale"
|
||||
testname["synt"]="Analyse syntaxique"
|
||||
#testname["asynt"]="Arbre abstrait"
|
||||
#testname["tab"]="Table des symboles"
|
||||
#testname["mips"]="Code machine MIPS"
|
||||
|
||||
################################################################################
|
||||
|
||||
function diff_prog() {
|
||||
diffprog=$1
|
||||
input=$2
|
||||
suffix=$3
|
||||
echo -e "\033[35m > ${testname[${suffix}]} (.${suffix})\033[0m"
|
||||
if [ -f ref-${suffix}/$input.${suffix} ]; then
|
||||
${diffprog} output/${input}.${suffix} ref-${suffix}/${input}.${suffix} 2> /dev/null
|
||||
if [ $? != 0 ]; then
|
||||
echo -e "\033[31mTEST ${testname[${suffix}]} ÉCHOUÉ\033[0m"
|
||||
echo -e "Pour connaître les différences, exécutez :"
|
||||
echo -e " diff output/${input}.${suffix} ref-${suffix}/${input}.${suffix}"
|
||||
if [ $EXITONFAIL = 1 ]; then exit 1; fi
|
||||
else
|
||||
echo -e "\033[32mTEST ${testname[${suffix}]} OK\033[0m"
|
||||
fi
|
||||
else
|
||||
echo -e "\033[34mRéférence ref-${suffix}/${input}.${suffix} absente\033[0m"
|
||||
fi
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
||||
function test_fichier_ok() {
|
||||
input=$1
|
||||
echo -e "\n\033[4m ---- Test input/$input.l ----\033[0m"
|
||||
if [ -f input/$input.l ]; then
|
||||
echo -e "\033[35m > Reconnaissance (accepte l'entrée)\033[0m"
|
||||
${MYCOMPILOSYNT} input/$input.l > output/$input.synt
|
||||
if [ $? != 0 ]; then
|
||||
echo -e "\033[31mTEST Reconnaissance ÉCHOUÉ\033[0m"
|
||||
echo -e "Le programme $input.l n'a pas été compilé correctement"
|
||||
if [ $EXITONFAIL = 1 ]; then exit 1; fi
|
||||
else
|
||||
echo -e "\033[32mTEST Reconnaissance OK\033[0m"
|
||||
fi
|
||||
${MYCOMPILOLEX} input/$input.l > output/$input.lex
|
||||
diff_prog "${REGDIFF}" $input lex
|
||||
diff_prog ${XMLDIFF} $input synt
|
||||
#${MYCOMPILOASYNT} input/$input.l > output/$input.asynt
|
||||
#diff_prog ${XMLDIFF} $input asynt
|
||||
#${MYCOMPILOTAB} input/$input.l > output/$input.tab
|
||||
#diff_prog "${REGDIFF}" $input tab
|
||||
#${MYCOMPILOMIPS} input/$input.l > output/$input.mips
|
||||
#diff_prog "${REGDIFF}" $input mips
|
||||
else
|
||||
echo -e "\033[31minput/$input.l non trouvé\033[0m"
|
||||
echo -e "\033[31mTest impossible\033[0m"
|
||||
fi
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
||||
function test_fichier_fail() {
|
||||
input=$1
|
||||
echo -e "\n\033[4m ---- Test input/$input.l ----\033[0m"
|
||||
${MYCOMPILOSYNT} input/$input.l > output/$input.synt.xml
|
||||
if [ $? = 0 ]; then
|
||||
echo -e "\033[31mTEST REJET ÉCHOUÉ\033[0m"
|
||||
echo -e "Le programme $input.l a été accepté alors qu'il aurait dû être rejeté"
|
||||
if [ $EXITONFAIL = 1 ]; then exit 1; fi
|
||||
else
|
||||
echo -e "\033[32mTEST REJET OK\033[0m"
|
||||
fi
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
||||
mkdir -p output
|
||||
make
|
||||
|
||||
echo -e "Votre compilateur : ${MYCOMPILO}"
|
||||
if [ ! -f ${MYCOMPILO} ]; then
|
||||
echo -e "\033[31mCompilateur introuvable"
|
||||
echo -e "Modifiez la variable MYCOMPILO avant de lancer l'éval\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
################################################################################
|
||||
|
||||
echo -e "\033[1m\n>> 1) Tests connus OK\033[0m"
|
||||
|
||||
test_fichier_ok affect
|
||||
test_fichier_ok boucle
|
||||
test_fichier_ok expression
|
||||
test_fichier_ok max
|
||||
test_fichier_ok tri
|
||||
|
||||
################################################################################
|
||||
|
||||
echo -e "\033[1m\n>> 1) Tests connus FAIL\033[0m"
|
||||
|
||||
test_fichier_fail affect-err
|
||||
|
||||
################################################################################
|
||||
|
||||
echo -e "\033[1m\n>> 1) Tests nouveaux OK\033[0m"
|
||||
|
||||
test_fichier_ok eval1
|
||||
test_fichier_ok eval2
|
||||
test_fichier_ok eval3
|
||||
test_fichier_ok eval4
|
||||
test_fichier_ok eval5
|
||||
test_fichier_ok eval6
|
||||
test_fichier_ok eval7
|
||||
test_fichier_ok eval8
|
||||
|
||||
# Decommenter
|
||||
# test_fichier_ok test1
|
||||
# test_fichier_ok test2
|
||||
# test_fichier_ok test3
|
||||
|
||||
################################################################################
|
||||
|
||||
echo -e "\033[1m\n>> 1) Tests nouveaux FAIL\033[0m"
|
||||
|
||||
test_fichier_fail eval1err
|
||||
test_fichier_fail eval2err
|
||||
test_fichier_fail eval3err
|
||||
test_fichier_fail eval4err
|
||||
test_fichier_fail eval5err
|
||||
|
||||
# Decommenter
|
||||
# test_fichier_fail test1err
|
||||
|
||||
################################################################################
|
||||
@@ -37,6 +37,7 @@ void instructionTantque (void);
|
||||
void instructionAppel (void);
|
||||
void instructionRetour (void);
|
||||
void instructionEcriture (void);
|
||||
void instructionPour (void);
|
||||
void instructionVide (void);
|
||||
void expression (void);
|
||||
void expressionBis (void);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#define EPSILON 0
|
||||
|
||||
#define NB_NON_TERMINAUX 42
|
||||
#define NB_NON_TERMINAUX 43
|
||||
|
||||
#define _listeDecVariables_ 1
|
||||
#define _listeDecFonctions_ 2
|
||||
@@ -44,11 +44,12 @@
|
||||
#define _expressionBis_ 39
|
||||
#define _instructionFaire_ 40
|
||||
#define _optListeDecVariables_ 41
|
||||
#define _instructionPour_ 42
|
||||
|
||||
|
||||
|
||||
/* symboles terminaux */
|
||||
#define NB_TERMINAUX 31
|
||||
#define NB_TERMINAUX 32
|
||||
|
||||
#define POINT_VIRGULE 1
|
||||
#define PLUS 2
|
||||
@@ -80,5 +81,4 @@
|
||||
#define NOMBRE 28
|
||||
#define FIN 29
|
||||
#define VIRGULE 30
|
||||
|
||||
|
||||
#define POUR 31
|
||||
@@ -31,16 +31,16 @@ int codeSymbole[] = {
|
||||
};
|
||||
|
||||
char *tableMotsClefs[] = {
|
||||
"si", "alors", "sinon", "tantque", "faire", "entier", "retour", "lire", "ecrire", '\0'
|
||||
"si", "alors", "sinon", "tantque", "faire", "entier", "retour", "lire", "ecrire", "pour", '\0'
|
||||
};
|
||||
|
||||
int codeMotClefs[] = {
|
||||
SI, ALORS, SINON, TANTQUE, FAIRE, ENTIER, RETOUR, LIRE, ECRIRE
|
||||
SI, ALORS, SINON, TANTQUE, FAIRE, ENTIER, RETOUR, LIRE, ECRIRE, POUR
|
||||
};
|
||||
|
||||
char yytext[YYTEXT_MAX];
|
||||
int yyleng;
|
||||
int nbMotsClefs = 9;
|
||||
int nbMotsClefs = 10;
|
||||
/* Compter les lignes pour afficher les messages d'erreur avec numero ligne */
|
||||
int nb_ligne = 1;
|
||||
|
||||
|
||||
@@ -44,11 +44,11 @@ void syntaxErrorMsg( const char * msg )
|
||||
void programme() {
|
||||
openSection( __func__ );
|
||||
|
||||
if( est_premier( _optDecVariables_, uniteCourante ) || est_premier( _listeDecFonctions_, uniteCourante )) {
|
||||
if( !est_premier( _optDecVariables_, uniteCourante ) && !est_premier( _listeDecFonctions_, uniteCourante ) && !est_suivant( _listeDecFonctions_, uniteCourante )) {
|
||||
syntaxError();
|
||||
} else {
|
||||
optDecVariables();
|
||||
listeDecFonctions();
|
||||
} else if ( !est_suivant( _listeDecFonctions_, uniteCourante ) ) {
|
||||
syntaxError();
|
||||
}
|
||||
|
||||
closeSection( __func__ );
|
||||
@@ -234,6 +234,8 @@ void instruction() {
|
||||
instructionRetour();
|
||||
} else if( est_premier( _instructionEcriture_, uniteCourante ) ) {
|
||||
instructionEcriture();
|
||||
} else if( est_premier( _instructionPour_, uniteCourante ) ) {
|
||||
instructionPour();
|
||||
} else if( est_premier( _instructionVide_, uniteCourante ) ) {
|
||||
instructionVide();
|
||||
} else {
|
||||
@@ -447,6 +449,42 @@ void instructionEcriture() {
|
||||
closeSection( __func__ );
|
||||
}
|
||||
|
||||
void instructionPour() {
|
||||
openSection( __func__ );
|
||||
|
||||
if( uniteCourante == POUR ) {
|
||||
elementConsome();
|
||||
uniteCourante = yylex();
|
||||
|
||||
instructionAffect();
|
||||
expression();
|
||||
|
||||
if( uniteCourante == POINT_VIRGULE ) {
|
||||
elementConsome();
|
||||
uniteCourante = yylex();
|
||||
|
||||
instructionAffect();
|
||||
|
||||
if( uniteCourante == FAIRE ) {
|
||||
elementConsome();
|
||||
uniteCourante = yylex();
|
||||
|
||||
instructionBloc();
|
||||
|
||||
} else {
|
||||
syntaxErrorMsg( "'faire' été attendu" );
|
||||
}
|
||||
|
||||
} else {
|
||||
syntaxErrorMsg( "';' été attendu" );
|
||||
}
|
||||
} else {
|
||||
syntaxErrorMsg( "'pour' été attendu" );
|
||||
}
|
||||
|
||||
closeSection( __func__ );
|
||||
}
|
||||
|
||||
void instructionVide() {
|
||||
openSection( __func__ );
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user