Лабораторная №2 — задание 2.1E #
Нужно написать EBNF грамматику для некоторых лексем в одном из двух языков программирования, выбранных аналитиком в лабораторной №1.
Информация об этих языках записана в каталоге docs/competitors/ вашего проекта.
Порядок выполнения #
- Найдите описание правил EBNF и изучите его
- Найдите и изучите пример EBNF грамматики для лексем какого-либо языка программирования
- Найдите и изучите документацию по лексической структуре языка, для которого вы будете описывать грамматику лексем
- Опишите в EBNF следующие типы лексем:
- идентификатор (identifier)
- литералы целых чисел (integer number)
- литералы чисел с плавающей точкой (real number)
- литералы строк (string literal)
Требования к EBNF грамматике лексики языка #
- Сохраните грамматику в markdown файл
docs/theory/EBNF-for-lexemes.md- В начале файла укажите, для какого языка и какие лексемы вы описываете
- Грамматика должна быть описана по правилам EBNF (Extended Backus-Naur Form)
- не путайте EBNF с более ранней нотацией BNF (Backus-Naur Form)
- Грамматика должна содержать следующие типы лексем:
- идентификатор (identifier)
- литералы целых чисел (integer number)
- литералы чисел с плавающей точкой (real number)
- литералы строк (string literal)
- Вы можете взять описание лексем в EBNF из документации языка, из примеров в сети либо составить самостоятельно