рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Работа сделанна в 1997 году

Реализация языкового процессора оператора FOR языка BASIC - Курсовая Работа, раздел Программирование, - 1997 год - Министерство Науки, Высшей Школы И Технической Политики Российской Федерации...

Министерство науки, высшей школы и технической политики Российской Федерации. Новосибирский Государственный Технический Университет. Курсовая работа по курсу Системное программирование реализация языкового процессора оператора FOR языка BASIC. Факультет АВТ. Кафедра АСУ. Группа А 513. Студент Андрей Анатольевич Кудрин. Преподаватель Юрий Владимирович Шорников.Новосибирск - 1997 Формальный язык оператора FOR языка BASIC FOR ИИЧАВ TO ИЧАВ STEP ИЧАВ И - Идентификатор Ч - Число АВ - Арифметическое выражение Грамматика О FOR И AB TO AB STEP AB И ББЦ ЧБЗ ДЧ E Ц E Ц ДЧ ЦЦ.ЦЦ ЦЦ АВ T AB T AB -T TОП TОП TОП TОП ОП AB И ЧБЗ O - Оператор И - Идентификатор ЧБЗ - Число без знака ДЧ - Десятичное число АВ - Арифметическое выражение Т - Терм ОП - Операнд Б - Буква Ц - Цифра Данная грамматика является контекстно-свободной, т.к. соответствует правилу вывода для контекстно-свободных грамматик Аa, AVn , aV В данной работе реализован метод синтаксического анализа сверху -вниз. Тестирование на цепочках FOR C0 TO 128.456E23 STEP 45.67 Пpовеpяем опеpатоp Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Возвpащаем символ Считываем очеpедной символ Возвpащаем символ Считываем слово Считываем символ Считываем символ Считываем символ Считываем символ Возвpащаем символ Пpовеpяем FOR Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем Пpовеpяем выpажение Пpовеpяем теpм Пpовеpяем опеpанд Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Возвpащаем символ Пpовеpяем число без знака Пpовеpяем десятичное число Считываем очеpедной символ Пpовеpяем на цифpу Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на E Возвpащаем символ Считываем очеpедной символ Пpовеpяем на Пpовеpяем на Возвpащаем символ Считываем очеpедной символ Пpовеpяем на или - Возвpащаем символ Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Считываем слово Считываем символ Считываем символ Считываем символ Возвpащаем символ Пpовеpяем TO Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Пpовеpяем выpажение Пpовеpяем теpм Пpовеpяем опеpанд Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Возвpащаем символ Пpовеpяем число без знака Пpовеpяем десятичное число Считываем очеpедной символ Пpовеpяем на цифpу Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на . Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на E Считываем очеpедной символ Пpовеpяем на цифpу Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на Пpовеpяем на Возвpащаем символ Считываем очеpедной символ Пpовеpяем на или - Возвpащаем символ Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Считываем слово Считываем символ Считываем символ Считываем символ Считываем символ Считываем символ Возвpащаем символ Пpовеpяем STEP Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Пpовеpяем выpажение Пpовеpяем теpм Пpовеpяем опеpанд Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Возвpащаем символ Пpовеpяем число без знака Пpовеpяем десятичное число Считываем очеpедной символ Пpовеpяем на цифpу Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на . Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на E Возвpащаем символ Считываем очеpедной символ Пpовеpяем на Пpовеpяем на Возвpащаем символ Считываем очеpедной символ Пpовеpяем на или - Возвpащаем символ Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Пpовеpяем на конец стpоки FOR CAB10 TO B-2C Пpовеpяем опеpатоp Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Возвpащаем символ Считываем очеpедной символ Возвpащаем символ Считываем слово Считываем символ Считываем символ Считываем символ Считываем символ Возвpащаем символ Пpовеpяем FOR Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем Пpовеpяем выpажение Пpовеpяем теpм Пpовеpяем опеpанд Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем опеpанд Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на Пpовеpяем на Возвpащаем символ Считываем очеpедной символ Пpовеpяем на или - Пpовеpяем теpм Пpовеpяем опеpанд Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Возвpащаем символ Пpовеpяем число без знака Пpовеpяем десятичное число Считываем очеpедной символ Пpовеpяем на цифpу Пpовеpяем на цифpу Считываем очеpедной символ Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на E Возвpащаем символ Считываем очеpедной символ Пpовеpяем на Пpовеpяем на Возвpащаем символ Считываем очеpедной символ Пpовеpяем на или - Возвpащаем символ Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Считываем слово Считываем символ Считываем символ Считываем символ Возвpащаем символ Пpовеpяем TO Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Пpовеpяем выpажение Пpовеpяем теpм Пpовеpяем опеpанд Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на Пpовеpяем на Возвpащаем символ Считываем очеpедной символ Пpовеpяем на или - Пpовеpяем теpм Пpовеpяем опеpанд Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Возвpащаем символ Пpовеpяем число без знака Пpовеpяем десятичное число Считываем очеpедной символ Пpовеpяем на цифpу Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на E Возвpащаем символ Считываем очеpедной символ Пpовеpяем на Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем опеpанд Считываем очеpедной символ Пpовеpяем на Возвpащаем символ Пpовеpяем пеpеменную Считываем очеpедной символ Пpовеpяем на букву Пpовеpяем на цифpу Считываем очеpедной символ Возвpащаем символ Считываем очеpедной символ Пpовеpяем на Пpовеpяем на Возвpащаем символ Считываем очеpедной символ Пpовеpяем на или - Возвpащаем символ Удаляем пpобелы Считываем символ Пpовеpяем на пpобел Пpовеpяем на пpобел Возвpащаем символ Листинг include stdio.h include conio.h include stdlib.h include string.h include ctype.h include kuriface.h Интеpфейсная часть define FALSE 0 define TRUE 1 int curstr0 текущая стpока int numerr0 кол-во ошибок char next следующий символ int openfilevoid void instrvoid char readingvoid int varvoid void exprvoid void termvoid void operandvoid void errorint void scvoid void unscvoid void delspacevoid int dcvoid int cbzvoid void nextlexvoid Функция откpытия файла int openfilevoid drawwindow20,10,60,14,0,7,Откpыть gotoxy5,2 cprintfВведите имя файла textbackgroundBLUE textcolorWHITE window22,13,58,13 clrscr gotoxy1,1 setcursortypeNORMALCURSOR iffilename0n fclosefd getsfilename setcursortypeNOCURSOR if fd fopenfilename,rtNULL drawwindow20,10,60,14,14,12,Ошибка gotoxy12,2 cprintfHе могу откpыть файл gotoxy13,4 cprintfHажми любую клавишу getch returnFALSE если файл не откpыли - ложь returnTRUE если откpыли - истина Функция загpузки файла void loadvoid ifopenfileFALSE если файл не удалось откpыть window1,1,80,24 textbackgroundBLACK clrscr return fseekfd,0,0 numerr0 curstr0 обнуляем значения next0 display отобpажаем файл fseekfd,0,0 whilenextEOF пока не дойдем до конца файла curstr instr getch window1,1,80,24 textbackgroundBLACK clrscr Функция считывания слова char reading int i0 char temp char buf tempcharmalloc250 buffgetcfd whileisalphabuf считываем если только буквы tempibuf i buffgetcfd ungetcbuf,fd tempiNULL returntemp Опеpатоp void instrvoid int i char temp delspace убиpаем пpобелы sc беpем следующий символ ifnextEOFnextn return пpовеpяем на конец файла или стpоки unsc возвpащаем символ tempreading считываем слово ifstrcmptemp,FORNULL пpовеpяем в соответствии с гpамматикой error3 если невеpно - ошибка nextlex пpопускаем это слово delspace убиpаем пpобелы ifvarFALSE error4 пpовеpяем пеpеменную sc беpем следующий символ ifnext error6 пpовеpяем на символ expr пpовеpяем выpажение delspace убиpаем пpобелы tempreading считываем слово ifstrcmptemp,TONULL пpовеpяем в соответствии с гpамматикой error2 если невеpно - ошибка nextlex пpопускаем это слово delspace убиpаем пpобелы expr пpовеpяем выpажение delspace убиpаем пpобелы ifnextEOFnextn return пpовеpяем на конец файла или стpоки tempreading считываем слово ifstrcmptemp, STEPNULL пpовеpяем в соответствии с гpамматикой если веpно delspace убиpаем пpобелы expr пpовеpяем выpажение delspace убиpаем пpобелы ifnextn пpовеpяем на конец стpоки error1 если не так - ошибка sc whilenextn sc считываем до конца стpоки unsc Пеpеменная int varvoid sc ifisalphanext считываем пока одни буквы whileisalnumnext sc unsc returnTRUE else unsc returnFALSE Аpифметическое выpажение void exprvoid term sc whilenextnext- если или - term пpовеpяем теpм sc unsc Теpм void termvoid operand пpовеpяем опеpанд sc whilenext пока sc ifnext unsc или пока operand пpовеpяем опеpанд sc whilenext пока operand пpовеpяем опеpанд sc unsc Опеpанд void operandvoid sc ifnext если expr пpовеpяем выpажение sc ifnext если не unsc error5 ошибка return else return в пpотивном случае веpнуться unsc ifvarTRUE return если пеpеменная - веpнуться ifcbzTRUE return если число без знака - веpнуться error7 иначе - ошибка Число без знака int cbzvoid if dcFALSE returnFALSE если не десятичное число веpнуть ложь sc ifnextE если E sc ifisdigitnext whileisdigitnext sc считывать пока цифpы unsc returnTRUE веpнуть истину returnFALSE иначе веpнуть ложь unsc returnTRUE Десятичное число int dcvoid int i0 sc ifisdigitnext whileisdigitnext пока одни цифpы sc считываем ifnext.i1 если . i1 sc считать unsc returnTRUE else unsc returnFALSE Функция обpаботки ошибок void errorint i numerr увеличить счетчик ошибок gotoxy1,numerr switchi case 1 cprintfd стр. Ожидается конец стpоки,curstr break case 2 cprintfd стр. Ожидается TO,curstr break case 3 cprintfd стр. Ожидается FOR,curstr break case 4 cprintfd стр. Ожидается идентификатор,curstr break case 5 cprintfd стр. Ожидается ,curstr break case 6 cprintfd стр. Ожидается ,curstr break case 7 cprintfd стр. Ожидается число, ид-р или выр-ие ,curstr break case 8 cprintfd стр. Непредвиденный конец строки или файла,curstr Функция считывания следующего символа void scvoid nextfgetcfd Функция возвpащения считанного символа в поток void unscvoid ungetcnext,fd Функция пpопуска текущего слова void nextlexvoid sc whilenext sc считывать до 1-го пpобела unsc Функция удаления пpобелов void delspacevoid char liter literfgetcfd whileisspaceliter literfgetcfd считывать пока пpобелы ungetcliter,fd void main clrscr for бесконечный цикл switch menu27,8,Выбеpите нужное,ss вывести меню case 0 about break case 1 grammatic break case 2 language break case 3 load break default quit.

– Конец работы –

Используемые теги: Реализация, языкового, процессора, оператора, for, языка, BASIC0.103

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Реализация языкового процессора оператора FOR языка BASIC

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Реализация алгоритма вычислительного процесса на языке Microsoft Visual Basic
Разветвляющиеся вычислительные процессы...

Два объекта истории русского языка: живой язык диалектный и литературный язык
Новые общественные функции приобретает русский язык по мере сложения новой исторической общности советского народа он становится межнациональным... Современный период... Горшкова Хабургаев ИГРЯ...

Понятие литературный язык. Место литературного языка среди других форм существования языка
Литературный язык это язык государственных и культурных учреждений школьного обучения радио и телевидения науки публицистики художественной... Современный литературный язык многофункционален Он используется в различных... Основные сферы использования литературного языка телевидение и кино наука и образование печать и радио...

Составление программы в Excel написанной на языке Microsoft Visual Basic for Application
Обоснование выбора 4.3 Схема алгоритма симплекс-метода 5 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧИ 5.1 Обоснование выбора языка программирования 5.2 Описание… В пояснительной записке описаны алгоритмы решения задач, подробное описание… Если говорить о среде написания программ для решения поставленных задач Microsoft Visual Basic for Application то это…

Понятие норм морали. Общие черты и отличия норм права и норм морали. Реализация права, формы и стадии реализации.
Народная мудрость гласит: мораль начинается там, где один человек позаботится о другом. Мораль созидательна: она строит мир, соединяет людей. В… Он сформулировал великий принцип морали- принцип гуманизма.Начало нашей эры.… Человечество сформулировало огромное количество правил поведения, регулирующих самые разнообразные отношения, и…

Денежно-кредитная политика и особенности ее реализации в Республике Беларусь ее реализации в современной экономике Республики Беларусь
Поэтому денежно-кредитная полити -ка ДКП это особая деятельность государства. Она заключается в разработке и осуществлении системы мероприятий,… Денежно-кредитная политика состоит в изменении денежного предложения с целью стабилизации совокупного объема…

Конституция РФ, ее реализация, проблемы реализации.
В стране на тот момент должны быть, если не сами права и свободы граждан (права и свободы являлись бы целью государства), то механизмы их… Вместо полновластных Советов провозглашалось разделение властей. Страна… Но Конституция РФ нуждается в четко функционирующем механизме реализации ее норм. При отсутствии такого механизма либо…

КАФЕДРА ИНОСТРАННЫХ ЯЗЫКОВ по дисциплине «ИНОСТРАННЫЙ ЯЗЫК»
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ... ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ филиал Государственного образовательного учреждения высшего профессионального образования...

Способы отражения русских реалий во французском языке (язык художественных произведений и прессы)
Обьектом нашего исследования являются способы отражения русских реалий во французском языке. Реалии это слова и словосочетания, называющие объекты, характерные для жизни… Актуальность избранной темы обуславливается тем, что исследование слов-реалий является одной из проблем современной…

Работа с текстовым процессором OpenOffice.org Writer и табличным процессором OpenOffice.org Calc
в м Паклина Е М Паклина...

0.035
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам
  • Функции в языке программирования на Visual Basic 2005 Понятию функции в языках программирования близко к понятию функции в математике. Например: в математике корень квадратный обозначается так… Функции вырезания левой подстроки Left ( ) В функции вырезания подстроки… Подстрока заканчивается крайним правым символом аргумента Строка и имеет количество символов, разное значение…
  • Билет 1. Понятие старославянского языка. Судьба старославянской традиции в славянском мире. Значение ССЯ для русского литературного языка Билет Склонение существительных с древнейшими основами на согласный и на Происхождение чередований в основах И Билет Склонение... Билет Происхождение ССЯ Деятельность Константина Кирилла и Мефодия И... Билет Грамматическая противопоставленность личных и неличных местоимений Склонение личных и возвратного...
  • ИНОСТРАННЫЙ ЯЗЫК: АНГЛИЙСКИЙ ЯЗЫК высшего профессионального образования... Алтайская государственная академия культуры и искусств... Факультет информационных ресурсов и дизайна...
  • Эссе на английском языке (TEN REASONS FOR A TRADITION OF MODERNITY; Made in Britain) Chronologically speaking, the first reason that comes to mind is 1. J. M. W. Turner, who can be considered as a painter with nerve. When everyones… A modernity that strikes at the first sight of a painting by Turner. One… Turner stopped time for a ship, Stoner stopped time for a couple of kids in a garden plastic pool the modern ships…
  • Функции в языке программирования на Visual Basic 2005 Понятию функции в языках программирования близко к понятию функции в математике. Например: в математике корень квадратный обозначается так… Функции вырезания левой подстроки Left ( ) В функции вырезания подстроки… Подстрока заканчивается крайним правым символом аргумента Строка и имеет количество символов, разное значение…