Skip to content

flowwishthebest/compiler

Repository files navigation

@flowwishthebest/compiler

Coverage Status Total alerts Language grade: JavaScript

Theoretical foundations of programming

Разработать предметно-ориентированный язык программирования (ЯП) и интерпретатор к нему.

Требования к разрабатываемому языку:

  1. Язык программирования должен содержать:
    • операторы присвоения;
    • условный оператор;
    • оператор цикла;
    • операторы ввода и вывода на экран;
    • поддержка целочисленных, вещественных переменных;
    • поддержка арифметических операций с числами;
    • поддержка одномерных числовых массивов;
    • возможность написания комментариев.
  2. Операции над объектами предметной области;
  3. Транслятор должен поддерживать функции:
    • формирование промежуточного формата (лексическая свертка) по исходному тексту;
    • исполнение программы в промежуточном коде (наличие исходного файла необязательно);
    • Транслятор должен проверять ошибки в программе и выдавать осмысленные сообщения.

В реализации возможны следующие допущения:

  1. Один оператор располагается на одной строке;
  2. Необязательность описания переменных;
  3. Ограничение длины идентификатора (не менее 8);
  4. Запрещение рекурсии функции;
  5. Реализация транслятора на любом языке программирования;
  6. Любые расширения языка и программы не ограничены.

Требования к защите работы

Для защиты курсовой работы необходимо предоставить:

  1. Программный продукт, реализующий интерпретатор разработанного языка программирования;
  2. Комплект документации:
    • формальное описание грамматики языка в любой нотации;
    • руководство пользователя системы;
    • руководство программиста;
    • примеры программ на разработанном языке.

Документация представляется в электронном виде и в виде распечатки.

Возможные предметные области:

  1. Многочлены
  2. Векторы любой размерности
  3. Множества

График выполнения:
01.11.2019 - на почту выслать описание языка
01.12.2019 – альфа версия приложения
20.12.2019 – окончательная версия задания.

About

Theoretical foundations of programming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published