Задание 5.1E

Лабораторная №5 — задание 5.1E #

Нужно доработать валидатор на базе ANTLR4, чтобы поддержать новые возможности языка.

⚠️ Обратите внимание #

Это задание выполняется по спецификации грамматики, подготовленной аналитиком в задании 5.1A.

  • Спецификация должна появиться до начала кодирования — так же, как и в реальных проектах.
  • Вы можете составлять спецификацию совместно с аналитиком, а затем приступить к реализации.
  • Ждать проверки спецификации преподавателем не нужно.

Порядок выполнения #

Ранее вы с помощью ANTLR4 реализовали утилиту командной строки, проверяющую соответствие исходного текста выражения грамматике вашего языка программирования.

Теперь нужно доработать грамматику валидатора для поддержки изменений в спецификации вашего языка:

  1. Получите спецификацию грамматики выражений для своего языка программирования у аналитика
  2. Обновите лексику своего языка на языке грамматик ANTLR4 в файле src/Grammar/Grammars/Lexer.g4
  3. Добавьте новые правила в грамматику своего языка на языке грамматик ANTLR4 в файле src/Grammar/Grammars/Parser.g4
    • правила для ветвлений всех видов, описанных аналитиком
    • правила для циклов всех видов, описанных аналитиком
    • правила для объявлений функций и параметров
    • правила для выражения вызова функции с аргументами и без аргументов
    • правила для всех новых выражений и инструкций, например: return_statement, break_statement, continue_statement

Требования к валидатору грамматики #

  1. Валидатор реализован полностью в модуле src/Grammar с помощью ANTLR4
  2. Валидатор реализует ровно ту грамматику, которую описал аналитик