Реферат: Оператор присваивания языка FORTRAN

Реферат: Оператор присваивания языка FORTRAN




👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Министерство науки, высшей школы и технической политики Российской Федера­ции.

Курсовая работа по системному программированию.

Оператор присваивания языка FORTRAN.
Студент:
Ефименко Денис Владимирович.
Преподаватель:
Шорников Юрий Владимирович.
Отметка о защите: _______________________________

Язык оператора присваивания
FORTRAN.

Идентификатор = арифметическое выражение
Арифметическое выражение – выражение, содержащее в себе операции *, /, -, +, **, а также ( ).
1.
<
ОПЕРАТОР
>
®
<
ИДЕНТИФИКАТОР
>
=
<
ВЫРАЖЕНИЕ
>

2.
<
ВЫРАЖЕНИЕ
>
®
Т
ç
<
ВЫРАЖЕНИЕ
>

ç
<
ВЫРАЖЕНИЕ
>
-
Т

3.
Т
®
О
ç
Т
*
О
ç
Т
/
О
ê
Т
**
О

4.
О
®
(
<
ВЫРАЖЕНИЕ
>
)
ç
<
ИДЕНТИФИКАТОР
>
ç
<
ДБЗ
>

5.
<
ИДЕНТИФИКАТОР
>
®
Б
{
Б
ç
Ц
}[
L
]

6.
<
ДБЗ
>
®
Ц
{
Ц
}[

{
Ц
}][
L
]

Данная грамматика G[<ОПЕРАТОР>], согласно классификации Хомского, является контекстно-свободной, так как правая часть каждой редукции начинается либо с терминального символа, либо с нетерминального, принадлежащего объединённому словарю.
Грамматика G[<ОПЕРАТОР>] не является автоматной, так как не все её редукции начинаются с терминального символа. По этой же причине данная грамматика не является S - грамматикой.
Для данной грамматики реализован разбор методом рекурсивного спуска, поскольку она относится к классу контекстно-свободных.
Идея метода состоит в том, что каждому нетерминальному символу ставится в соответствие определённая программная единица (функция), которая распознаёт цепочку, порождаемую этим нетерминалом.
Эти процедуры и функции вызываются в соответствии с правилами грамматики и иногда вызывают сами себя.
Данный метод реализован на языке C++, поскольку он обладает рекурсивными возможностями.
Диагностика и нейтрализация ошибок.
Для данной грамматики производится только диагностика и нейтрализация ошибок. Исправление ошибок не производится.
Нейтрализация ошибок осуществляется по методу Айронса, то есть, спускаясь по синтаксическому дереву без возврата по контексту, при обнаружении тупиковой ситуации отбрасываются те литеры (символы), которые привели в тупиковую ситуацию и разбор продолжается.
Имя идентификатора должно начинаться с буквы.

\---------------------------------------------------------\

\---------------------------------------------------------\

Пропущена операция или неправильное имя идентификатора.

\---------------------------------------------------------\

Имя идентификатора должно начинаться с буквы.

Идентификатор состоит только из букв или цифр.

\---------------------------------------------------------\

\---------------------------------------------------------\

Имя идентификатора должно начинаться с буквы.

Неизвестная операция или неправильное имя идентификатора.

\---------------------------------------------------------\

Слевa от '='операций быть не может .

\---------------------------------------------------------\

Пропущена операция или неправильное имя идентификатора.

\---------------------------------------------------------\

Длина имени идентификатора не должна быть больше 6.

\---------------------------------------------------------\

// SP_KURS.CPP:КУРСОВАЯ РАБОТА ПО СИСТЕМНОМУ ПРОГРАММИРОВАНИЮ. //
// ОПЕРАТОР ПРИСВАИВАНИЯ ЯЗЫКА "ФОРТРАН" //
enum LEX{ERROR,CBZ,ID,PLUS,MIN,DIV,MUL,STEP,SKL,SKR,RAV,_EOLN_,_EOF_};
int next,number=0,num=0,temp,line=1,err[80],sum;
char cordinat[80][80],filename[80];
char* type_mis[]={"ОШИБОК НЕТ!!!!!",
"Имя идентификатора должно начинаться с буквы.",
"Идентификатор состоит только из букв или цифр.",
"Слевa от '='операций быть не может .",
"Неизвестная конструкция (нет '=').",
"Длина имени идентификатора не должна быть больше 6.",
"Неизвестная операция или неправильное имя идентификатора.",
"Пропущен идентификатор или число.",
"Пропущена операция или неправильное имя идентификатора.",
mistake[0][0]=13;mistake[0][1]=END;
printf("Введите имя обрабатываемого файла:");
{printf("\n ОШИБКА!!! ФАЙЛ С ТАКИМ ИМЕНЕМ НЕ СУЩЕСТВУЕТ!!!");
MENU(" ОПЕРАТОР ПРИСВАИВАНИЯ ЯЗЫКА /""ФОРТРАН/""\n");
printf("\n\n\n\n\n\n\n\n\n\n ВСЕ ОШИБКИ ХРАНЯТЬСЯ В ФАЙЛЕ /""ERRORS.TXT/""!!!!!");
printf("\n\n\n\n\n\n\n\n\n\n НАЖМИТЕ ЛЮБУЮ КЛАВИШУ!!!!!! ");
if((next==_EOF_)||(next==_EOLN_)) error(11);
if((next==_EOF_)||(next==_EOLN_)) break;
if((isspace(liter))||(liter=='\t'))
{while((isspace(liter))||(liter=='\t'))
if((liter=fgetc(in))=='*') return(7);
// РАСПОЗНАЕТ ОШИБКИ В ИДЕНТИФИКАТОРЕ.

{while((next!=RAV)&&(next!=_EOLN_)&&(next!=_EOF_))
{if(next==ID){identif();next=scaner();}
while((next==DIV)||(next==MUL)||(next==STEP))
{case 1:mistake[line][ofset++]=1; break;
case 2:mistake[line][ofset++]=2; break;
case 3:mistake[line][ofset++]=3; break;
case 4:mistake[line][ofset++]=4; break;
case 5:mistake[line][ofset++]=5; break;
case 6:mistake[line][ofset++]=6; break;
case 7:mistake[line][ofset++]=7; break;
case 8:mistake[line][ofset++]=8; break;
case 9:mistake[line][ofset++]=9; break;
case 10:mistake[line][ofset++]=10; break;
case 12:mistake[line][ofset++]=12; break;
case 11:mistake[line][ofset++]=11; break;
if((out=fopen("errors.txt","w"))==NULL)
{printf("\n ОШИБКА!!! ФАЙЛ С ТАКИМ ИМЕНЕМ НЕ СУЩЕСТВУЕТ!!!");
{printf("\n ОШИБКА!!! ФАЙЛ НЕЛЬЗЯ ОТКРЫТЬ ДЛЯ ЗАПИСИ!!!");
while(num_str++,fgets(s,80,in)!=NULL)
{fputs("\\---------------------------------------------------------\\",out);
if((oftemp=mistake[num_str][0])==END)
{for(int k=0;mistake[num_str][k]!=END;k++)
fputs("\\---------------------------------------------------------\\",out);
cprintf("Используйте курсор вверх/вниз для выбора просматриваемой строки.\n");
cprintf(" - для просмотра ошибок в строке(строка выделяется). \n");
cprintf("******************** ОШИБКИ В СТРОКАХ *************************\n");
cprintf("******************* СТРОКИ ВАШЕГО ФАЙЛА ****************************\n");
if (Y==1) viewwin(n>0?n-1:n,YWINDOW);
if(Y==YWINDOW) viewwin((n==dy?n:n+1)-YWINDOW+1,YWINDOW);
{for(int k=0;mistake[n][k]!=END;k++)
if(offtemp==13) cprintf("%s\n",type_mis[offtemp]);
{cprintf("%d.%s\n",k+1,type_mis[offtemp]);
1. Курс лекций по системному программированию.
2. Герберт Шилдт «C для профессиональных программистов».
3. В.Н. Лебедев «Введение в системы программирования»

Название: Оператор присваивания языка FORTRAN
Раздел: Рефераты по информатике, программированию
Тип: реферат
Добавлен 01:05:16 22 июля 2005 Похожие работы
Просмотров: 110
Комментариев: 17
Оценило: 4 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Если Вам нужна помощь с учебными работами, ну или будет нужна в будущем (курсовая, дипломная, отчет по практике, контрольная, РГР, решение задач, онлайн-помощь на экзамене или "любая другая" учебная работа...) - обращайтесь: https://clck.ru/P8YFs - (просто скопируйте этот адрес и вставьте в браузер) Сделаем все качественно и в самые короткие сроки + бесплатные доработки до самой сдачи/защиты! Предоставим все необходимые гарантии.
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Реферат: Оператор присваивания языка FORTRAN
Контрольная работа: Общая характеристика современных промышленных способов печати. Скачать бесплатно и без регистрации
Темы Для Эссе По Английскому Егэ
Лабораторная Работа 2 По Физике 9 Класс
Реферат: Scarlet Letter Scaffold Scenes Essay Research Paper
Сочинение: Значение ремарки в пьесе А.Н. Островского "Лес"
Реферат: Кухня Кавказа
Реферат: Causes Of Islamic Conquest Essay Research Paper
9.3 Сочинение Огэ Доброта Сухомлинский
Сострадание Это Сочинение 15.3
Контрольная работа: Політична культура
Первая Лабораторная Работа По Физике
Нормы Курсовых Работ
Курсовая Работа На Тему Статистическая Отчетность О Внешнеэкономической Деятельности Предприятий
Контрольные Работы По Математике 2 Класс Нефедова
Реферат по теме Особенности экономического развития древневосточных государств
Реферат: Развитие морской темы в повести К.М.Станюковича "Вокруг света на "Коршуне" и романе Ф.Купера "Красный Корсар". Скачать бесплатно и без регистрации
Доклад: Цели и стратегия в бизнес-плане
Реферат по теме Деревянные рамы для применения в сельской местности
Доклад: Fruupp
Практические Работы Слесаря
Реферат: Процессуальные действия, которые могут быть совершены с учётом воли участвующих в деле лиц
Изложение: Тургенев: Касьян с красивой Мечи
Доклад: Молодой человек может иметь тысячи половых актов с самыми различными женщинами…

Report Page