Skip to content
/ LR-1 Public

Программная реализация LR(1) - разбора

License

Notifications You must be signed in to change notification settings

zhilyaev/LR-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

LR-1

Программная реализация LR(1) - разбора

Первоначальная грамматика языка

<A> - аксиома
<A>::= <B>|<D>
<B>::= <B><C><C>|a      
<C>::= ba      
<D>::= <C>a<D>|b 

Преобразованная грамматика под LR(1)

  1. A::=1B2
  2. A::= 1D3
  3. B::= 1a4Z5
  4. Z::= 4,9b6a7b8a9Z10
  5. Z::= 4,9Λ4,9
  6. D::= 1,14b11X12
  7. X::= 11a13a14D15
  8. X::= 11Λ11

Λ - означает пустую строку

Правило "С" было удаленно, так как содержало только терминальные символы. Поэтому везде где был вызов "С", были поставленны терминальные символы.

Рекомендуется сначала ознакомится с LL(1) интерпертацией данной грамматики здесь

Таблица

A B Z C D X a b $
1 ДОПУСК Shift 2 ошибка ошибка Shift 3 ошибка Shift 4 Shift 11 ошибка
2 ошибка ошибка ошибка ошибка ошибка ошибка ошибка ошибка Reduction 1
3 ошибка ошибка ошибка ошибка ошибка ошибка ошибка ошибка Reduction 2
4 ошибка ошибка Shift 5 ошибка ошибка ошибка ошибка Shift 6 Reduction 5
5 ошибка ошибка ошибка ошибка ошибка ошибка ошибка ошибка Reduction 3
6 ошибка ошибка ошибка ошибка ошибка ошибка Shift 7 ошибка ошибка
7 ошибка ошибка ошибка ошибка ошибка ошибка ошибка Shift 8 ошибка
8 ошибка ошибка ошибка ошибка ошибка ошибка Shift 9 ошибка ошибка
9 ошибка ошибка Shift 10 ошибка ошибка ошибка ошибка Shift 6 Reduction 5
10 ошибка ошибка ошибка ошибка ошибка ошибка ошибка ошибка Reduction 4
11 ошибка ошибка ошибка ошибка ошибка Shift 12 Shift 13 ошибка Reduction 8
12 ошибка ошибка ошибка ошибка ошибка ошибка ошибка ошибка Reduction 6
13 ошибка ошибка ошибка ошибка ошибка ошибка Shift 14 ошибка ошибка
14 ошибка ошибка ошибка ошибка Shift 15 ошибка ошибка Shift 11 ошибка
15 ошибка ошибка ошибка ошибка ошибка ошибка ошибка ошибка Reduction 7

About

Программная реализация LR(1) - разбора

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages