По теории языков программирования и методов трансляции Разработка компилятора модельного языка

Автор: Пользователь скрыл имя, 19 Мая 2012 в 17:24, курсовая работа

Краткое описание

Теория формальных языков, грамматик и автоматов составляет фундамент синтаксических методов. Основы этой теории были заложены Н. Хомским в 40–50-е годы XX столетия в связи с его лингвистическими работами, посвященными изучению естественных языков. Но уже в следующем десятилетии синтаксические методы нашли широкое практическое применение в области разработки и реализации языков программирования.

Оглавление

Введение 3
1 Постановка задачи 4
2 Формальная модель задачи 5
3 Структура программы………………………………………………….....16
3.1 Лексический анализатор 16
3.2 Синтаксический анализатор 18
3.3 Семантический анализатор 20
3.4 Генерация ПОЛИЗа программы 22
3.5 Интерпритация ПОЛИЗа программы 24
4 Структурная организация данных 31
4.1 Спецификация входной информации 31
4.2 Спецификация выходной информации 31
4.3 Спецификация процедур и функций 31
5 Разработка алгоритма решения задачи 32
5.1 Укрупненная схема алгоритма программного средства 32
5.2 Детальная разработка алгоритмов отдельных подзадач 33
6 Установка и эксплуатация программного средства 34
7 Работа с программным средством 35
Заключение 36
Список использованных источников 37
Приложение А – Текст программы 38

Файлы: 1 файл

отчет3.doc

— 910.50 Кб (Скачать)

            getch();

            exit(0);

            }

      return p[i];

      }

//+++++++++++++++++++++++++++++

int gsize(){return size;}

//+++++++++++++++++++++++++++++

void resize(int n)

      {

        int i;

      D *temp=new D[n];

      if (n<=size)

            for (i=0;i<n;i++ )

            temp[i]=p[i];

      else

          {for (i=0;i<size;i++ )

             temp[i]=p[i];

//   for (i=size;i<n;i++ )

//   temp[i]=D;

            }

      delete []p;

      p=temp;

      size=n;

      }

//+++++++++++++++++++++++++++++

void push(D z)

      {

      resize(size+1);

      p[size-1]=z;

        }

//+++++++++++++++++++++++++++++

D pop()

      {

        D temp;

        if(size<1) return temp;

        temp=p[size-1];

      resize(size-1);

        return temp;

        }

//+++++++++++++++++++++++++++++

void erase() {if (size) resize(0);}

//+++++++++++++++++++++++++++++

int  find(D elem)

        {

        for (int i=0;i<size; i++) if(elem==p[i]) return i;

        return -1;

        }

//+++++++++++++++++++++++++++++

}; 


Информация о работе По теории языков программирования и методов трансляции Разработка компилятора модельного языка