Разработать предметно-ориентированный язык программирования (ЯП) и интерпретатор к нему.
Требования к разрабатываемому языку:
- Язык программирования должен содержать:
- операторы присвоения;
- условный оператор;
- оператор цикла;
- операторы ввода и вывода на экран;
- поддержка целочисленных, вещественных переменных;
- поддержка арифметических операций с числами;
- поддержка одномерных числовых массивов;
- возможность написания комментариев.
- Операции над объектами предметной области;
- Транслятор должен поддерживать функции:
- формирование промежуточного формата (лексическая свертка) по исходному тексту;
- исполнение программы в промежуточном коде (наличие исходного файла необязательно);
- Транслятор должен проверять ошибки в программе и выдавать осмысленные сообщения.
В реализации возможны следующие допущения:
- Один оператор располагается на одной строке;
- Необязательность описания переменных;
- Ограничение длины идентификатора (не менее 8);
- Запрещение рекурсии функции;
- Реализация транслятора на любом языке программирования;
- Любые расширения языка и программы не ограничены.
Для защиты курсовой работы необходимо предоставить:
- Программный продукт, реализующий интерпретатор разработанного языка программирования;
- Комплект документации:
- формальное описание грамматики языка в любой нотации;
- руководство пользователя системы;
- руководство программиста;
- примеры программ на разработанном языке.
Документация представляется в электронном виде и в виде распечатки.
Возможные предметные области:
- Многочлены
- Векторы любой размерности
- Множества
График выполнения:
01.11.2019 - на почту выслать описание языка
01.12.2019 – альфа версия приложения
20.12.2019 – окончательная версия задания.