Escolar Documentos
Profissional Documentos
Cultura Documentos
a)
L1 = {ai bj c* | i ≠ j}
𝐺 = (𝑉, , 𝑃, 𝑆)
𝑉 = {𝑆, 𝐴, 𝐵, 𝐶, 𝑎, 𝑏, 𝑐}
= {𝑎, 𝑏, 𝑐}
𝑁 = {𝑆, 𝐴, 𝐵, 𝐶}
𝑆=𝑆
𝑃={
𝑆 𝐴𝐶|𝐵𝐶|𝑎𝐴𝑏𝑐|𝑎𝐵𝐵𝐶.
𝐴 𝑎𝐵|𝑎|𝑎𝐴𝑏.
𝐵 𝑏𝐵|𝑏|𝑎𝐵𝑏.
𝐶 𝑐𝐶|
}
b)
L2 = {ai bj ck | i = j + k}
𝐺 = (𝑉, , 𝑃, 𝑆)
𝑉 = {𝑆, 𝐴, 𝐵, 𝐶, 𝑎, 𝑏, 𝑐}
= {𝑎, 𝑏, 𝑐}
𝑁 = {𝑆, 𝐴, 𝐵, 𝐶}
𝑆=𝑆
𝑃={
𝑆 𝐴𝐶|𝐵𝐶,
𝐴 𝑎𝐴𝑐|𝐵,
𝐵 𝑎𝐵𝑏|𝐶,
𝐶
}
1
c)
L3 = {ai bj ck | j = i + k}
𝐺 = (𝑉, , 𝑃, 𝑆)
𝑉 = {𝑆, 𝐴, 𝐵, 𝐶, 𝑎, 𝑏, 𝑐}
= {𝑎, 𝑏, 𝑐}
𝑁 = {𝑆, 𝐴, 𝐵, 𝐶}
𝑆=𝑆
𝑃={
𝑆 𝐵𝐴|𝐵𝐶|𝐴𝐶,
𝐴 𝑏𝐴𝑐|𝐶
𝐵 𝑎𝐵𝑏|𝐶,
𝐶
}
2. Linguagens livre de contexto são geradas por gramáticas dos tipos 2 ou 3. No entanto,
existem algumas linguagens livres de contexto que só podem ser geradas por gramáticas do
tipo 2.
a)
Qual é o aspecto linguístico que diferencia esta classe de linguagens das demais que
também podem ser geradas por gramáticas do tipo 3?
Resposta: O aspecto linguístico principal que difere as gramáticas do tipo 3 para o tipo
2, é o uso de parênteses. Nele, é permitido tratar o balanceamento de de parênteses e
blocos de programas. Já as do tipo 2, esse aspecto não é permitido.
b)
De que forma este aspecto se manifesta nas gramáticas utilizadas para definir tais
linguagens?
Resposta: Se manisfesta através de construções alinhadas, expressões aritméticas
delimitadas por parênteses, contrução de fluxos de controle, contrução de programas,
blocos, módulos, procedimentos e funções.
2
Para cada uma das gramáticas, responda: A gramática em questão é ambígua? Justifique sua resposta.
𝑆 → 𝑆𝑆 → 𝑋𝑆 → 𝑎𝑆 → 𝑎𝑎
𝑆 → 𝑆𝑆 → 𝑋𝑆 → 𝑎𝑆 → 𝑎𝑥 → 𝑎𝑎
𝑆 → 𝑆𝑆 → 𝑎𝑆 → 𝑎𝑎
𝐸0 = {𝐴, 𝐵, 𝐶}
𝐸1 = {𝐴, 𝐵, 𝐶, 𝑆}
𝐸2 = {𝐴, 𝐵, 𝐶, 𝑆} ∴ 𝐸 = 𝐸2
𝑃′ = {𝑆 → 𝑎𝐴𝑎|𝐴|𝑎𝑎,
𝐴 → 𝐵|𝑐𝐶𝐷𝑑|𝑐𝐶𝑑|𝑐𝐷𝑑,
𝐵 → 𝑏𝑆𝑏𝑏|𝑏|𝑏𝑏𝑏,
𝐶 → 𝑎𝑎𝐴𝑎𝑎|𝑎𝑎𝑎𝑎,
𝐷 → 𝐶𝐷𝑑|𝑑𝐷,
𝐸 → 𝐹𝑓,
𝐹 → 𝑓|𝑒𝐸𝑒,
3
𝑆′ → 𝑆|𝜀}
𝑁𝑠 = {𝑆, 𝐴, 𝐵}
𝑁𝑎 = {𝐴, 𝐵}
𝑁𝑠′ = {𝑆′, 𝑆, 𝐴, 𝐵}
𝑃′′ = {𝑆 → 𝑎𝐴𝑎|𝑐𝐶𝐷𝑑|𝑐𝐶𝑑|𝑐𝐷𝑑|𝑎𝑎,
𝐴 → 𝑏𝑆𝑏𝑏|𝑏|𝑏𝑏𝑏|𝑐𝐶𝐷𝑑|𝑐𝐷𝑑|𝑐𝐷𝑑,
𝐵 → 𝑏𝑆𝑏𝑏|𝑏|𝑏𝑏𝑏,
𝐶 → 𝑎𝑎𝐴𝑎𝑎|𝑎𝑎𝑎𝑎,
𝐷 → 𝐶𝐷𝑑|𝑑𝐷,
𝐸 → 𝐹𝑓,
𝐹 → 𝑓|𝑒𝐸𝑒,
𝑆′ → 𝑎𝐴𝑎|𝑐𝐶𝐷𝑑|𝑐𝐶𝑑|𝑐𝐷𝑑|𝑎𝑎|𝜀}
𝑁0 = ∅
𝑁1 = {𝑆, 𝐴, 𝐵, 𝐶, 𝐹, 𝑆′}
𝑁2 = {𝑆, 𝐴, 𝐵, 𝐶, 𝐹, 𝑆′, 𝐸}
𝑁3 = {𝑆, 𝐴, 𝐵, 𝐶, 𝐹, 𝑆′, 𝐸}
𝑉′′′ = {𝑆, 𝐴, 𝐵, 𝐶, 𝐷, 𝐹, 𝑆′, 𝐸, 𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑓}
𝑃′′′ = {𝑆 → 𝑎𝐴𝑎|𝑐𝐶𝑑|𝑎𝑎,
𝐴 = 𝑏𝑆𝑏𝑏|𝑏|𝑏𝑏𝑏|𝑐𝐶𝑑,
𝐵 → 𝑏𝑆𝑏𝑏|𝑏|𝑏𝑏𝑏,
𝐶 → 𝑎𝑎𝐴𝑎𝑎|𝑎𝑎𝑎𝑎,
𝐸 → 𝐹𝑓,
𝐹 → 𝑓|𝑒𝐸𝑒,
𝑆′ → 𝑎𝐴𝑎|𝑐𝐶𝑑|𝑎𝑎|𝜀}
4
• Eliminação dos símbolos incessíveis:
𝑉0 = {𝑆′}
𝑉1 = {𝑆′, 𝐴, 𝐶, 𝑎}
𝑉2 = {𝑆′, 𝐴, 𝐶, 𝑎, 𝑆, 𝑏, 𝑐, 𝑑}
𝑉3 = {𝑆′, 𝐴, 𝐶, 𝑎, 𝑆, 𝑏, 𝑐, 𝑑}
𝑉′′′′ = {𝑆′, 𝑆, 𝐴, 𝐶, 𝑎, 𝑆, 𝑏, 𝑐, 𝑑}
𝛴′′′′ = {𝑎, 𝑏, 𝑐, 𝑑}
𝑃′′′′ = {𝑆′ → 𝑎𝐴𝑎|𝑐𝐶𝑑|𝑎𝑎|𝜀,
𝑆 → 𝑎𝐴𝑎|𝑐𝐶𝑑𝐴|𝑎𝑎,
𝐴 → 𝑏𝑆𝑏𝑏|𝑏|𝑏𝑏𝑏|𝑐𝐶𝑑,
𝐶 → 𝑎𝑎𝐴𝑎𝑎|𝑎𝑎𝑎𝑎}
𝑃 = {𝑆 → 𝑎𝑆𝑏|𝑎𝑆𝑐|𝑑}
𝑃′ = {𝑆 → 𝑎𝑆𝑏,
𝑆 → 𝑎𝑆𝑐,
𝑆 → 𝑑}
𝑃′ = {𝑆 → 𝐴𝑆𝐵,
𝑆 → 𝐴𝑆𝐶,
𝑆 → 𝑑,
𝐴 → 𝑎,
𝐵 → 𝑏,
𝐶 → 𝑐}
5
𝑃′ = {𝑆 → 𝐴𝑆1,
𝑆1 → 𝑆𝐵,
𝑆 → 𝐴𝑆2,
𝑆2 → 𝑆𝐶,
𝑆 → 𝑑,
𝐴 → 𝑎,
𝐵 → 𝑏,
𝐶 → 𝑐}
b)
Construa uma gramática livre de contexto na Forma Normal Greibach para a gramática
com produções P = {S → AA | a, A → SS | b}.
6
𝐴2→𝐴2𝐴2𝐴1|𝑎𝐴1|𝑏}
E aplicando o passo 6 do código de recursão à esquerda, tem-se
𝐴2 → 𝑎𝐴1|𝑏|𝑎𝐴1𝐴′ |𝑏𝐴′ ,
2 2
′ ′
𝐴 → 𝐴2𝐴1|𝐴2𝐴1𝐴 }
2 2