1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| #include<stdio.h>
#include<stdlib.h>
#include <string.h>
struct soulist
{
char d;
struct soulist *next;
};typedef struct soulist SOULIST;
struct list
{
SOULIST r;
char *d;
struct list *next;
};typedef struct list LIST;
int nt,t,i,j,nr;
void insere_variable(LIST **l,char *v)
{
LIST*p;
p=(LIST*)malloc(sizeof(LIST));
strcpy(p->d,v);
p->next=*l;
*l=p;
printf("hi");
}
char T[100];
char N[100];
char V[100];
int main()
{
char c;
char M[nt][t];
printf("donenz le nombre des varibles non terminaux\n");
do{
printf("donnez un entier\n");
scanf("%d",&nt);
}while(nt<0 || nt>100 );
printf(" %d\n",nt);
printf("donenz le nombre des varibles terminaux\n");
do{
printf("donnez un entier\n");
scanf("%d",&t);
}while(t<0 || t>100);
printf(" %d\n",t);
printf("donnez les varibles non terminaux:\n");
for(i=0;i<nt;i++)
{
printf("var%d",i);
do{
scanf("%s",&c);
}
while(c>90 || c<65);
N[i]=c;
}
printf("donnez les varibles terminaux:\n");
for(i=0;i<t;i++)
{
printf("var%d",i);
do{
scanf("%c",&c);
}
while(c>122 || c<91);
T[i]=c;
}
printf("donnez les regles de productions\n");
LIST **l;
for(i=0;i<nt;i++)
{
V[i]=N[i];
printf("%c\n",V[i]);
insere_variable(l,&V[i]);
printf("hi");
}
} |
Partager