Как проверить, является ли грамматика зеркальной (1)? - PullRequest
0 голосов
/ 25 января 2020

Как проверить, является ли эта грамматика SLR (1)?

    S' -> S
    S -> [ B
    A -> int
    A -> [ B
    B -> ]
    B -> C
    C -> A ]
    C -> A , C

Сначала я создал его автомат, затем вычислил следующие наборы для нетерминалов и затем создал таблицу синтаксического анализа. Я не уверен, что мой автомат правильный, но после выполнения анализа таблицы грамматики SLR (1) я не нашел никаких ошибок. Ниже моя попытка на автомате.

I0:
S' -> .S
S -> .[B

I1 (I0 -> S):
S -> [.B
B -> .]
B -> .C
C -> .A]
C -> .A,C
A -> .int
A -> .[B

I3 (I2 -> B)
S -> [B.

I4 (I2 -> ])
B -> ].

I5 (I2 -> C)
B -> C.

I6 (I2 -> A)
C -> A.]
C -> A.,C

I7 (I2 -> int)
A -> int.

I8 (I2 -> [)
A -> [.B
B -> .]
B -> .C
C -> .A]
C -> .A,C
A -> .int
A -> .[B

I8 -> ] = I4
I8 -> C = I5
I8 -> A = I6
I8 -> int = I7
I8 -> [ = I8 

I9 (I6 -> ])
C -> A].

I10 (I6 -> ,)
C -> A,.C
C -> .A]
C -> .A,C
A -> .int
A -> .[B

I11 (I8 -> B)
A -> [B.

I12 (I10 -> C)
C -> A,C.

I10 -> A = I6
I10 -> int = I7
I10 -> [ = I8


...