Escolar Documentos
Profissional Documentos
Cultura Documentos
• Seja a gramática
A → 0A1
A→B
B→#
Definição formal
• Uma gramática é definida por G = <V, , R, S>
• V: conjunto das variáveis
• : conjunto dos terminais (símbolos do alfabeto da linguagem)
• R: conjunto das regras que definem a gramática
• S: variável inicial
Que tipo de linguagens são geradas por
gramáticas?
Que tipo de linguagens são geradas por
gramáticas?
• Considere agora um tipo especial de gramática...
Exemplo 1: Exemplo 2:
A → 0B A → 0B
B → 0C B → 0C
C→1 C → 1C | 0
O que eu consigo descrever com uma
gramática linear?
• Linguagens regulares!
• Note: aplicar regras faz com que um símbolo (só um) seja inserido na
frente da palavra, como só um símbolo pode ser inserido por vez isso não
cria um “vínculo” entre duas partes da palavra (ou seja, não permite uma
simetria ou contagem)
S → 0A S → 0S | R
A → 0A | 1B R → 1R | λ
B → 1B | λ
• Exemplo: G = <{S,B,C},{a,b,c},R,S>
R: S → aBC | aSBC |
CB → BC
aB → ab
bB → b
bC → bc
cC → cc
...
L=?
S → LDABCR CE → EC
LDA → LAAD BE → EB
ADA → AAD AE → EA
ADB → ABBD LE → LD
BDB → BBD A→0
BDC → BCCD B→1
CDC → CCD C→2
DR → ER R→λ
LD → λ
L=0 1 2
n n n
S → LDABCR CE → EC
LDA → LAAD BE → EB
ADA → AAD AE → EA
ADB → ABBD LE → LD
BDB → BBD A→0
BDC → BCCD B→1
CDC → CCD C→2
DR → ER R→λ
LD → λ
Note que você não conseguiria gerar algo diferente! Mais restrições, mais poder...
Mais poder → mais linguagens
Gramáticas livre-de-contexto
Gramática “livre de contexto” - Definição
• G = (V, , R, S)
• V é o conjunto de variáveis
• é o conjunto de terminais
• R é um conjunto de regras do tipo → onde V e (V )*
• S V é o símbolo inicial
• Então:
L(G) = {w *| S * w}
• A gramática será:
P→0|1|λ
P → 0P0 | 1P1
Nossos exemplos com APs, como seriam as
gramáticas?
• 0n#1n, n >= 0
• 0n#1n+2 , n >= 0
• 0n#111#1n, n >= 0
• 0n1n, n >= 0 (outra forma)
• 0n1n2m3m n >= 0
0n1n, n >= 0
Outro exemplo
• Considere a gramática G5 = (V, , R, <EXPR>)
V = {<EXPR>, <TERMO>, <FATOR>}
= {a, +, , (, )}
S = <EXPR>
Que tipo de cadeia ela gera?
Exemplo de geração de palavra
• a+aa <EXPR> → <EXPR> + <TERMO> | <TERMO>
<TERMO> → <TERMO> <FATOR> |
<FATOR>
<FATOR> → (<EXPR>) | a
Exemplo de geração de palavra
• (a + a) a