Определить, является ли грамматика LL, используя парный дизъюнктивный тест

У меня есть три грамматики:

A -> aB | b | CBB

B -> aB | ba | aBb

C -> aaA | b | caB

Мне нужно "определить, являются ли [они] LL-грамматиками, выполнив тест на попарное разделение, показав первые множества каждого RHS каждого нетерминала".

Вот что у меня есть на данный момент...

A -> aB | b | CBB

first(aB) = a

first(b) = b

first(CBB) = aaA = a

Вот с этим у меня проблемы. Правильно ли я выполнил CBB? Если да, то я бы сказал, что они пересекаются и правило не проходит проверку. (верно?)

B -> aB | ba | aBb

first(aB) = a

first(ba) = b

first(aBb) = a

Они пересекаются и поэтому правило не проходит проверку.

C -> aaA | b | caB

первый(aaA) = a

первый(b) = b

первый(caB) = c

Они не пересекаются и поэтому правило проходит

5
задан tommy1370 29 January 2012 в 20:17
поделиться