Formalmente, a definição de uma linguagem é uma quádrupla
onde
A gramática para a linguagem
pode ser formalmente descrita por
![]() |
![]() |
|
onde
| ||
![]() |
![]() |
Cada string que pode ser derivada a partir do símbolo sentencial é denominada uma forma sentencial. Por exemplo, em
Uma forma sentencial de uma gramática
é dita ser derivável
de outra forma sentencial
,
Assim, no exemplo acima pode-se afirmar que
.
Similarmente, quando permite derivar
por zero ou mais
aplicações de produções de uma gramática, pode-se expressar este
relacionamento por
Quando a forma sentencial de
é obtida de
pela
aplicação de exatamente uma produção, então diz-se que
é
imediatamente derivável de
,
Em geral, buscar-se-á denotar símbolos terminais por strings de letras minúsculas e símbolos não-terminais por strings de letras maiúsculas. Formas sentenciais serão representadas por letras gregas.
Uma mesma linguagem pode ser gerada por mais de uma gramática. Quando duas gramáticas geram a mesma linguagem diz-se que elas são equivalentes.