Skip to content

Commit

Permalink
Create README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Druchik committed Sep 16, 2018
1 parent 87456db commit 6c93393
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
## LR-1
Программная реализация LR(1) - разбора

### Первоначальная грамматика языка
```
<S> - аксиома
<S>::= a<A>d|a<B>c
<A>::= b<A>|b
<B>::= <B>f|f
```

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

1. S::=<sub>1</sub>a<sub>2</sub>X<sub>3</sub>
2. X::= <sub>2</sub>A<sub>4</sub>d<sub>5</sub>
3. X::= <sub>2</sub>B<sub>6</sub>c<sub>7</sub>
4. A::= <sub>2,8</sub>b<sub>8</sub>A<sub>9</sub>
5. A::= <sub>2,8</sub>Λ<sub>2,8</sub>
6. B::= <sub>2,9</sub>f<sub>9</sub>B<sub>10</sub>
7. B::= <sub>2,9</sub>Λ <sub>2,9</sub>

> Λ - означает пустую строку
### Таблица
№ | S | X | A | B | a | b | c | d | f | $ |
---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
1 |***ДОПУСК***|ошибка|ошибка|ошибка|**Shift 2**|ошибка|ошибка|ошибка|ошибка|ошибка|
2 |ошибка|**Shift 3**|**Shift 4**|**Shift 6**|ошибка|**Shift 8**|ошибка|ошибка|**Shift 9**|ошибка|
3 |ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|**Reduction 1**|
4 |ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|**Shift 5**|ошибка|ошибка|
5 |ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|**Reduction 2**|
6 |ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|**Shift 7**|ошибка|ошибка|ошибка|
7 |ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|**Reduction 3**|
8 |ошибка|ошибка|**Shift 9**|ошибка|ошибка|**Shift 8**|ошибка|**Reduction 5**|ошибка|**Reduction 5**|
9 |ошибка|ошибка|ошибка|**Shift 10**| ошибка|ошибка|**Reduction 7**|**Reduction 4**|**Shift 9**|**Reduction 4**|
10 |ошибка|ошибка|ошибка|ошибка|ошибка|ошибка|**Reduction 6**|ошибка|ошибка|**Reduction 6**|

0 comments on commit 6c93393

Please sign in to comment.