Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 1006 Bytes

README.md

File metadata and controls

35 lines (28 loc) · 1006 Bytes

Парсер LL(1).

1. Правила

<EXP> -> <EXP> + <T> | <T>
<T>   -> <T> * <F> | <F>
<F>   -> -<F> | (<EXP>) | a | b | 8 | 3

2. Правила без левой рекурсии

<EXP>  -> <T><EXP'>
<EXP'> -> E | + <T><EXP'>
<T>    -> <F><T'>
<T'>   -> E | * <F><T'>
<F>    -> -<F> | (<EXP>) | a | b | 8 | 3

3. Задания

  • убрать левую рекурсию
  • определить направляющее множество для каждого нетерминала
  • составить таблицу
  • написать бегунок
  • составить тесты положительные и отрицательные
  • добавить диагностику ошибок
  • протестировать на чистых и грязных тестах

Meta информация

Как собирать: выполнить команду в корне проекта

cmake -S . -B build -G "Visual Studio 17 2022"