|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Индивидуальные задания по курсуИндивидуальные задания по курсу «Теория алгоритмических языков и трансляторов»
В каждом задании описывается некоторый очень усеченный вариант известных языков программирования Java и С++. В задании указывается: 1. структура программы, 2. типы данных, которые могут использоваться в программе, 3. допустимые операции над этими данными, 4. операторы, 5. операции и операнды, из которых строятся выражения, 6. все виды констант, которые могут использоваться в выражениях.
Особенно следует отметить следующие факты: 1. во всех заданиях предполагается использование составного и пустого оператора, 2. всегда разрешается описание глобальных данных, 3. все перечисленные элементы языка должны использоваться в программе (например, если разрешается описание функций, то, безусловно, в перечень операторов Вам необходимо включить вызовы функций).
Перечень лабораторных работ
1 Вводное занятие (рекурсия) 2 КС-грамматики 3. КС-грамматика языка программирования 3 Лексика (таблица лексем, конечный автомат лексики, конечный автомат ошибок) 4 Программа лексического анализатора 5 Синтаксические диаграммы (СД) 6 Программа синтаксического анализатора (метод рекурсивного спуска) 7 Семантическая разметка СД 8 Реализация создания семантического дерева 9 Полный семантический контроль 10 Разметка СД и реализация семантического дерева для интерпретатора 11 Реализация интерпретации
ЗАДАНИЯ (группа 422) 1. Бабушкина Екатерина
Программа: главная программа языка С++. Допускается описание struct. Типы данных: int, double, пользовательские типы (структуры ). Операции: сравнения, логические, простейшие арифметические. Операторы: присваивания и while,, пустой и составной оператор. Операнды: простые переменные, элементы структур и константы. Константы: целые в 10 c/c и 16 c/c.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|