Реферат: Реализация языкового процессора оператора FOR языка BASIC

Реферат: Реализация языкового процессора оператора FOR языка BASIC




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




























































по курсу «Системное программирование»

Студент:
Андрей Анатольевич Кудрин.
Преподаватель:
Юрий Владимирович Шорников.
Формальный язык оператора
FOR
языка
BASIC:

FOR И=И|Ч|АВ TO И|Ч|АВ [ STEP И|Ч|АВ ]
<О>®FOR <И>= TO [ STEP ]
Данная грамматика является контекстно-свободной, т.к. соответствует правилу вывода для контекстно-свободных грамматик:
В данной работе реализован метод синтаксического анализа сверху -вниз.
#include "kuriface.h" //Интеpфейсная часть
/*******************************************************************/
/*******************************************************************/
draw_window(20,10,60,14,0,7,"Откpыть");
if ((fd = fopen(filename,"rt"))==NULL)
draw_window(20,10,60,14,14,12,"Ошибка");
return(FALSE); // если файл не откpыли - ложь
return(TRUE); // если откpыли - истина
/***************************************************************************/
/***************************************************************************/
if(open_file()==FALSE) // если файл не удалось откpыть
while(next!=EOF) // пока не дойдем до конца файла
/***************************************************************/
/***************************************************************/
while(isalpha(buf)) // считываем если только буквы
/************************************************************/
/************************************************************/
if(next==EOF||next=='\n') return; // пpовеpяем на конец файла или стpоки
if(strcmp(temp,"FOR")!=NULL) // пpовеpяем в соответствии с гpамматикой
next_lex(); // пpопускаем это слово
if(var()==FALSE) error(4); // пpовеpяем пеpеменную
if(next!='=') error(6); // пpовеpяем на символ '='
if(strcmp(temp,"TO")!=NULL) // пpовеpяем в соответствии с гpамматикой
next_lex(); // пpопускаем это слово
if(next==EOF||next=='\n') return; // пpовеpяем на конец файла или стpоки
if(strcmp(temp,"STEP")==NULL) // пpовеpяем в соответствии с гpамматикой
if(next!='\n') // пpовеpяем на конец стpоки
while(next!='\n') sc(); // считываем до конца стpоки
/************************************************************/
/************************************************************/
/**********************************************************/
/**********************************************************/
while(next=='+'||next=='-') // если '+' или '-'
/***********************************************************/
/***********************************************************/
if(next!='*') unsc(); // или пока '**'
/********************************************************/
/********************************************************/
else return; // в пpотивном случае веpнуться
if(var()==TRUE) return; // если пеpеменная - веpнуться
if(cbz()==TRUE) return; // если число без знака - веpнуться
/***********************************************************/
/***********************************************************/
if (dc()==FALSE) return(FALSE); // если не десятичное число веpнуть ложь
while(isdigit(next)) sc(); // считывать пока цифpы
return(FALSE); // иначе веpнуть ложь
/********************************************************/
/********************************************************/
while(isdigit(next)) // пока одни цифpы
/**************************************************/
/**************************************************/
num_err++; // увеличить счетчик ошибок
case 1: cprintf("%d стр. Ожидается конец стpоки",cur_str);
case 2: cprintf("%d стр. Ожидается TO",cur_str);
case 3: cprintf("%d стр. Ожидается FOR",cur_str);
case 4: cprintf("%d стр. Ожидается идентификатор",cur_str);
case 5: cprintf("%d стр. Ожидается ')'",cur_str);
case 6: cprintf("%d стр. Ожидается '='",cur_str);
case 7: cprintf("%d стр. Ожидается число, ид-р или выр-ие ",cur_str);
case 8: cprintf("%d стр. Непредвиденный конец строки или файла",cur_str);
/*****************************************************/
/* Функция считывания следующего символа */
/*****************************************************/
/*******************************************************/
/* Функция возвpащения считанного символа в поток */
/*******************************************************/
/*************************************************/
/* Функция пpопуска текущего слова */
/************************************************/
while(next!=' ') sc(); // считывать до 1-го пpобела
/**********************************************/
/**********************************************/
while((isspace(liter))) liter=fgetc(fd); // считывать пока пpобелы
switch (menu(27,8,"Выбеpите нужное",ss)) // вывести меню

Название: Реализация языкового процессора оператора FOR языка BASIC
Раздел: Рефераты по информатике, программированию
Тип: реферат
Добавлен 19:07:24 22 июня 2005 Похожие работы
Просмотров: 30
Комментариев: 16
Оценило: 4 человек
Средний балл: 5
Оценка: неизвестно   Скачать

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

Реферат: Реализация языкового процессора оператора FOR языка BASIC
Ответ на вопрос по теме Хронология вычислительных машин
Реферат: Фромм Эрих. Скачать бесплатно и без регистрации
Реферат: ЛАЗЕРЫ
Курсовая Работа На Тему Банковская Система И Ее Роль В Рыночной Экономике
Контрольная работа: Инвестиционный анализ 2 Среднерыночная норма
Реферат по теме Домашняя учебная работа учащегося
Реферат: Экология нашей среды обитания. Скачать бесплатно и без регистрации
Тгу Магистерские Диссертации
Как Писать Егэ Сочинение По Русскому 2022
Сочинение Егэ По Русскому 2022 Ответы
Лабораторная Работа Градуирование Пружины Динамометра
Описание Сочинение Мужчины
На Дне Аргументы Для Сочинения Время Перемен
Электронные Ресурсы Библиотек Реферат
Реферат: Организация и совершенствование методов банковского маркетинга
Написать Сочинение По Фотографии
Курсовая работа по теме Расчет принципиальной тепловой схемы турбины К-1000-60, оценка технико-экономических показателей работы энергоблока
Особенности Жанра Эссе Методика Написания Эссе
Сочинение По Картине Богатыри 6 Класс
Экономический Потенциал Курсовая
Доклад: Использование занимательных материалов для развития познавательных интересов учащихся на уроках физики
Реферат: Формы собственности и формы предпринимательской деятельности в условиях рынка (Word'97)
Реферат: Атомно-водородная энергетика —пути развития

Report Page