Автор: Пользователь скрыл имя, 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
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;
}
//++++++++++++++++++++++++++++
};