Синтаксический анализ языка НОРМА. Разбор описания

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ
                          (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
                                 Кафедра 22



                           Пояснительная записка к

                               КУРСОВОЙ РАБОТЕ

                                  на тему:
            "Синтаксический анализ языка НОРМА. Разбор описаний "


                                    студента группы К9-02а

                                   Жучкова Александра Викторовича



    Научный руководитель:


    Комиссия:



    Оценка:



                                Москва 1996г.



                                 1. ВВЕДЕНИЕ

    Задание, полученное мной  на  УИР  и  КП  в  данном  семестре  являлось
продолжением  групповой  работы,  начавшейся  в  предыдуших   семестрах,   и
состояло в следующем:
 . изучить раздел описаний языковых конструкций Нормы;
 . разработать структуры данных  и  алгоритмы  для  разбора  описаний  языка
   программирования Норма, с учетом  специфики  языка,  а  так  же  удобства
   написания функций, необходимых для последующей работы транслятора;
 . написать функции разбора раздела описаний;
 . написать некоторые рабочие функции оперирующие с областями


                        2. Общее описание языка Норма

    Язык  программирования  Норма  является  декларативным  (непроцедурным)
языком и предназначен  для  спецификации  численных  методов  решения  задач
математической физики. Изначально  он  был  ориентирован  на  решение  задач
математической физики разностными методами, однако  может  быть  использован
для решения более широкого класса вычислительных задач.
    Главная идея, положенная в основу языка Норма, заключается в  том,  что
полученные специалистом  в  процессе  решения  прикладной  задачи  расчетные
формулы  почти  непосредственно  используются  для  ввода  в  вычислительную
систему и проведения счета.  Таким  образом,  язык  Норма  дает  прикладному
математику возможность сформулировать  свою  задачу  в  привычных  для  него
терминах.  Запись  на  языке  Норма  -  это,  по  существу,  строгая  запись
численных методов решения математической задачи, запись еще  не  алгоритмов,
а просто расчетных формул и остальной необходимой информации.
    Отметим, что в записи  на  Норме  не  требуется  никакой  информации  о
порядке счета, способах организации вычислительных (циклических)  процессов.
Порядок  предложений  языка  может  быть   произвольным   -   информационные
взаимосвязи  будут  выявлены  и  учтены  при  организации   процесса   счета
транслятором.  Эта  возможность,   конечно,   увеличивает   трудоемкость   и
сложность  при  компиляции   текста   программы,   но   разработчики   языка
сознательно  пошли  на  это,  чтобы  сделать   данный   язык   удобным   для
использования широким  кругом  специалистов-математиков,  имеющих  небольшой
опыт работы на компьютере.
    Выбор уровня языка Норма определяет характерную  его  черту  -  в  этом
языке нет необходимости вводить такие понятия, как оператор  присваивания  и
возможность переприсваивания значений (типа х:=х+1)  и  операторы  перехода.
Наличие таких понятий в  традиционных  языках  программирования  объясняется
необходимостью  формулировки  конкретного  алгоритма   с   учетом   вопросов
экономии и распределения памяти,  порядка  выполнения  операторов  и  т.  п.