Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceitos Bsicos
Alfabeto: conjunto no vazio e finito de smbolos.
Exemplo: = {0,1} = {a, b, c, ..., z}
Conceitos Bsicos
Comprimento de uma palavra: o nmero de posies para smbolos em uma palavra.
|w| denota o comprimento da string w |001011| = 6, ||=0.
Conceitos Bsicos
O conjunto de todas as palavras formadas a partir de denotado por *.
* = 0 1 2 * = + {}
Concatenao: Se x e y so palavras, ento a palavra xy denota a concatenao de x e y, isto , a palavra formada por uma cpia de x, seguida de uma cpia de y.
x = a1a2...ai y = b1b2...bj xy = a1a2...aib1b2...bj Exemplo: x = 01101 e y = 110; xy = 01101110
Obs.: x = x = x
sufixo:
qualquer seqncia de smbolos final de uma palavra.
subpalavra:
qualquer seqncia contga de uma palavra.
Conceitos Bsicos
Linguagens: Se um alfabeto e L *, ento L uma linguagem sobre .
Exemplos:
O conjunto das palavras da lngua portuguesa; O conjunto dos programas vlidos em C; O conjunto das palavras formada por n 0s seguida de n 1s, n 0:
{, 01, 0011, 000111, ... }
Conceitos Bsicos
Lp = o conjunto dos nmeros binrios cujo valor primo:
{10, 11, 101, 111, 1011, ... }
Problema: Dada uma palavra w em *, decidir se ela faz parte ou no de uma linguagem L.
Conceitos Bsicos
Exemplo: decidir se um nmero binrio primo = decidir se ele faz parte de Lp.
11101 Lp?
Usualmente as solues para os problemas no so pensadas como decises do tipo sim/no, mas como alguma coisa que transforma uma entrada em uma sada.
Parser de um compilador C = verifica se o programa est correto e produz uma rvore sinttica. Seja Lx o conjunto de todos os programas vlidos na linguagem de programao X. Se pudermos mostrar que difcil decidir se uma palavra pertence ou no a linguagem Lx, ento podemos concluir que no ser fcil traduzir programas da linguagem X para cdigo objeto. Por qu?
L =
*
Li
0 ? i ? * ?