Todos os idiomas regulares possuem gramáticas LL (1). Para obter essa gramática, pegue qualquer DFA para o idioma regular (talvez fazendo a construção do subconjunto no NFA obtido a partir da expressão regular) e converta-o em uma gramática regular recursiva à direita. Essa gramática é então LL (1), porque qualquer par de produções para o mesmo não-terminal começa com símbolos diferentes ou produz um ε e tem $ como um token à procura de lookah. Consequentemente, todos os idiomas regulares também são LR (1), pois qualquer gramática LL (1) é LR (1). Além disso, usando um resultado importante deste artigo , você pode mostrar que qualquer idioma LR (1) possui uma gramática SLR (1), o que significa que qualquer idioma comum possui uma gramática SLR (1).
No entanto, os idiomas regulares não são todos LR (0). Os idiomas LR (0) têm propriedades muito específicas - em particular, devem ser livres de prefixos. Portanto, o idioma regular {a, aa} não é LR (0), embora seja claramente regular (regex a | (aa)). No entanto, os idiomas LR (0) não estão adequadamente contidos nos idiomas regulares; esta gramática para {0 n 21 n | n ≥ 1} é LR (0), mas o idioma não é regular:
S -> E
E -> 0E1 | 2
Espero que isto ajude!