Конвертер программы с подмножества языка Си в Паскаль с использованием LL(1) метода синтаксического анализа (выражения)
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: спорт реферат, атанасян решебник
| Добавил(а) на сайт: Dorofej.
Предыдущая страница реферата | 26 27 28 29 30 31 32 33 34 35 36 | Следующая страница реферата
}
q=perem(i1,i-1);
if(q==1)a[w]=2;else {printf("ERROR.nЛЕКСИЧЕСКАЯ ОШИБКА");break;}
}
printf("%d ",a[w]);
w++;
}
while(s1[i]!='n');
a[w]=28;
};
/*---------------------КОНЕЦ ДЕСКРИПТОРНОГО ТЕКСТА--------------------------*/
int lexica1()
{ int di(0),q(0),w(0),i1,i;
i=0;
printf("Дескрипторный текст:n");
do
{
di=termin(s1[i]);
if(di==1)
{
switch(s1[i])
{
case '(': a[w]=0;break;
case ')': a[w]=1;break;
case '*': a[w]=6;break;
case '/': a[w]=7;break;
case '=': a[w]=11;break;
case '>': if(s1[i+1]=='='){a[w]=15;i++;}else a[w]=14;break;
case '<': if(s1[i+1]=='='){a[w]=16;i++;}else a[w]=13;break;
case '+': a[w]=4;break;
case '-': a[w]=5;break;
case ',': a[w]=3;break;
case 'd': if(s1[i+1]=='i'&&s1[i+2]=='v')a[w]=8;i++;i++;break;
case 'm': if(s1[i+1]=='o'&&s1[i+2]=='d')a[w]=9;i++;i++;break;
case 'a': if(s1[i+1]=='n'&&s1[i+2]=='d')a[w]=10;i++;i++;break;
case 'o': if(s1[i+1]=='r')a[w]=17;i++;break;
}
i++;
}
else
{
i1=i;
while(di!=1)
{
i++;
di=termin(s1[i]);
}
q=perem(i1,i-1);
if(q==1)a[w]=2;else
{printf("ERROR.nЛЕКСИЧЕСКАЯ ОШИБКА");break;}
Рекомендуем скачать другие рефераты по теме: продажа рефератов, ломоносов реферат.
Категории:
Предыдущая страница реферата | 26 27 28 29 30 31 32 33 34 35 36 | Следующая страница реферата