Draft-v Gramáticas Independentes do Contexto O funcionamento de uma CFG Derivação de uma palavra
|
|
- Theodoro Vilanova
- 5 Há anos
- Visualizações:
Transcrição
1 Gramáticas Independentes do Contexto Como vimos nos capítulos anteriores, apesar da classe das Linguagens Regulares serem particularmente bem comportadas tanto em termos de complexidade dos seus algoritmos associados, como em termos da decidibilidade, isto é da existência de algoritmos, da maioria dos seus problemas associados, as suas limitações de expressividade não permitem representar linguagens tão simples como a dos palíndromos de um dado alfabeto. este capítulo iremos introduzir a noção de gramática formal e com ela uma nova classe de linguagens formais: as Linguagens Independentes de Contexto. Definição. (Gramática Independente de Contexto ou CFG) Uma gramática independente de contexto, ou CFG (do inglês Context Free Grammar ), é um quadruplo ordenado hv,, P, i, emque V é um conjunto finito, não vazio que chamamos conjunto de símbolos não terminais; é um conjunto finito, não vazio que designamos por Alfabeto, ou por conjunto de símbolos terminais; P é um subconjunto finito, não vazio, de V ( [ V)? a que chamamos o conjunto das produções; com ( 2 V) designa o chamado símbolo inicial da gramática.. O funcionamento de uma CFG.. Derivação de uma palavra eja G = hv,, P, i uma CFG,,, 2 ( [ V)? e A 2 V. Dizemos que se deriva por G, num passo, de A e escrevemos A ) G se A! for uma produção de G. Da mesma forma dizemos que se deriva por G, emn passos, de, e escrevemos ) n G, se ) G, ) G 2,..., n- ), 09
2 para algumas palavras,..., n- 2 ( [ V)?. ejam, 2 ( [ V)?, dizemos se deriva de por G, e escrevemos se existir n>0tal que )? G ) n G. Definição.2 (linguagem definida por uma CFG) eja G = hv,, P, i uma CFG. A linguagem definida por G é L(G) ={w 2? )? G w}. Exemplo.3 Tomemos a linguagem L = {0 n n n 2 } que sabemos não ser uma linguagem regular. Esta é, no entanto, a linguagem gerada pela gramática G = h{}, {0, }, {! ",! 0},i. ormalmente, representamos, de forma muito mais legível, uma gramática, simplesmente pelo conjunto das suas produções, sendo o não terminal a primeira variável referida o símbolo inicial da gramática, desde que a diferenciação entre o conjunto dos símbolos terminais e o conjunto dos símbolos não terminais seja evidente. Da mesma forma, e para simplificar a leitura, representamos por A! 0 n o conjunto das produções {A! 0,A!,...,A! n } para um mesmo símbolo não terminal A. este caso, a gramática G seria apresentada como! " 0. A primeira produção,! ", estabelece que a palavra vazia, ", pertence à linguagem L. A segunda produção,! 0, estabelece que se tomarmos uma palavra da linguagem L e concatenarmos um 0 à esquerda e um a direita obtemos uma palavra de L. Para mostrar que L = L(G), comecemos por provar que L L(G). eja w 2L(G), isso significa que )? G w, ou seja ((9n) ) n G w). Provemos então por indução sobre n que w 2 L. e n = isso significa que só é aplicada uma produção, e o resultado é uma palavra de?, ora a única forma de uma só produção produzir uma palavra sem símbolos não terminais é a da produção aplicada ser! ", o que implica que w = ", e " 2 L. uponhamos então que, para qualquer palavra w, se ) n G w então w 2 L, e mostremos que então podemos concluir que se ) n+ G w 0 isso implica que w 0 2 L. Como n + 6=, podemos concluir qua a primeira produção aplicada não pode ser aquela que produz " pelo que temos: ) G 0 ) n G 0w 00 = w 0. Ou seja, temos ) n G w 00, para algum w 00. Mas, pela hipótese de indução, isso implica que w 00 2 L. Como w 0 = 0w 00, e w 00 2 L temos que w 0 2 L, obrigatoriamente, e, portanto, todas as palavras geradas pela gramática G são palavras da linguagem L. Falta, então, mostrar que todas as palavras da linguagem L são geradas por G, ou seja L L(G). Primeiro observemos que todas as palavras de L têm comprimento par, ou seja que para qualquer palavra w de L, w = 2n para algum n. Procedamos então por indução sobre o comprimento das palavras de L. e esse comprimento for 0, então a palavra em questão é a palavra vazia, ", que como vimos é gerada por G. uponhamos que todas as palavras de L de tamanho 2n são geradas por G esejaw uma palavra de L com w = 2(n + ). Mas então w = 0 n+ n+, portanto w = 0w 0 com 0
3 w 0 = 0 n n. Como w 0 = 2n estamos nas condições da hipótese de indução, pelo que podemos garantir que w 0 2L(G), ou seja )? G w 0. Mas então ) G 0 )? G 0w 0 = w, logo w 2L(G), o que termina a demonstração...2 Árvores de Derivação Uma outra forma de apresentar uma derivação de uma palavra por uma árvore é usando, o que se costuma designar por, uma árvore de derivação. Uma árvore de derivação é uma árvore, no sentido de um grafo, que tem como raíz o símbolo inicial da gramática. De cada símbolo não terminal E tem como filhos os nós que representam símbolos E i de uma produção da gramática! E 0 E E n. A palavra cuja derivação é representada pela árvore, é aquela constituída pelos símbolos que constam das folhas da árvore, lidas da esquerda para a direita. Consideremos, por exemplo, a seguinte gramática:! () + A A! 0. Uma árvore de derivação da palavra ( + 0) é: Exercício 34 ( +. Escreve gramáticas para as seguintes linguagens independentes de contexto: a) Linguagem formada pelos palíndromos de alfabeto {0, }. b) A linguagem complementar da linguagem da alínea anterior. c) a i b j c k : i 6= j _ j 6= k 2. Dada a gramática 0 )! ab ba A! a a baa B! b b abb. a) Identifica a linguagem que a gramática gera. b) Para a palavra aaabbabbba encontra uma derivação à esquerda. c) Para a mesma palavra encontra uma derivação à direita. d) Para a mesma palavra escreve uma árvore de derivação. * Exercício 35 Escreve uma CFG para a linguagem complementar de ww : w 2 {0, }?.
4 .2 implificação de gramáticas Lema.4 Dada uma CFG G = hv,, P, i, representando uma linguagem não vazia, podemos encontrar uma gramática G 0 = hv 0,,P 0,i em que, ((8A 2 V 0 )(9w 2? ) A )? G w). 0 Dem. Todos os símbolos não terminais A 2 V para os quais existe uma produção da forma A! w, para alguma palavra w 2?, têm claramente lugar em V 0. e a produção A! X X 2 X n existe em P, com os X i símbolos terminais ou outros símbolos não terminais que já se encontrem incluídos em V 0, isso faz com que possamos incluir A em V 0 também. O conjunto V 0 pode ser obtido como o fecho do processo atrás descrito. Depois de obtido V 0 podemos remover de P todas as produções em que tomem lugar símbolos não terminais não constantes de V 0, obtendo assim P 0. Lema.5 Dada um CFG G = hv,, P, i podemos encontrar uma gramática equivalente G 0 = hv 0,,P 0,i tal que para cada X 2 V 0 [ existem, 2 (V 0 [ )? tal que )? X. Dem. O conjunto V 0 [, pode ser construído por um processo iterativo. Colocamos, primeiramente, em V 0. e A é colocado em V 0 e A! 2 n, então adicionamos todas as variáveis de, 2,..., n a V 0, assim como adicionamos os terminais de, 2,..., n a 0. P 0 éo conjunto das produções que contêm símbolos somente de V 0 [ 0..3 Forma ormal de Chomsky Para muitas das demonstrações sobre as CFL que assentam sobre a sua representação por uma CFG é conveniente apresentar esta última sob uma forma binária. Essa forma é a chamada Forma ormal de Chomsky em que a gramática tem somente produções da forma A! BC em que B e C são símbolos não terminais; ou da forma A! a em que a é um símbolo terminal. e for o símbolo inicial, poderá haver uma produção da forma! ". Teorema.6 (Forma ormal de Chomsky) Qualquer linguagem independente do contexto admite uma gramática que a gera e que se encontra na Forma ormal de Chomsky (CF), ou seja, todas as suas produções são da forma A! BC ou A! a com A, B, C símbolos não terminais e a símbolo terminal, com uma eventual produção! " se for o símbolo inicial. Dem. eja G = hv,, P.i uma CFG. Começamos por introduzir um novo símbolo não terminal 0, fazemolo o novo símbolo inicial e acrescentamos uma produção 0!, sendo o símbolo inicial original. Isto garante que o símbolo inicial não ocorre em nenhum membro direito de uma produção da gramática. A gramática resultante é trivialmente equivalente à original. eguidamente eliminamos todas as produções-" não iniciais, ou seja toda as produções do tipo A! ", em que A 2 V e A não inicial. Para tal procedemos da forma seguinte. Para cada produção A! " (com A não inicial), removemos tal produção e para todas as outras produções, por cada ocorrência 2
5 do símbolo A no lado direito de uma produção (R! uav) acrescentamos uma produção em que essa ocorrência de A foi removida (R! uv). e a produção contiver somente A como membro direito da produção (R! A) então acrescentamos uma produção-" (R! ") a menos que essa produção já tivesse anteriormente sido alvo de remoção por este processo. É fácil ver que cada uma destas transformações preservam a linguagem definida pela gramática. o fim obtemos uma gramática equivalente à inicial sem produções-", a menos de uma eventual produção-" inicial. Eliminam-se as produções unitárias. Para cada produção da forma A! B, remove-seaprodução da gramática e para cada produção B! u acrescenta-se uma produção A! u, a menos que esta produção fosse uma que tivesse sido anteriormente removida por este processo. Estas transformações preservam a linguagem gerada pela gramática, pelo que no fim teremos uma gramática sem produções unitárias equivalente à gramática original. Finalmente rescrevem-se as produções para o formato desejado. Para cada produção da forma A! u u 2 u k, com k 3 sendo os u i símbolos não terminais ou símbolos terminais, substitui-se pelas produções A! u A,A! u 2 A 2,...,A k-2! u k- u k, com A i novos símbolos não terminais. Para cada u i 2, substituímos u i por um novo símbolo não terminal U i e acrescentamos a produção U i! u i. Mais uma vez, cada uma desta transformações preserva a linguagem aceite pela gramática, pelo que no fim do processo temos uma gramática equivalente à original, na Forma ormal de Chomsky. Exemplo.7 Consideremos a gramática seguinte, e utilizemos o processo descrito na demonstração anterior para obter uma gramática equivalente, na Forma ormal de Chomsky Introduzimos um novo símbolo inicial, Eliminamos o "! AA ab A! B B! b ". 0!! AA ab A! B B! b ". 0!! AA ab a A! B " B! b ". Agora temos que eliminar o " que acabamos de introduzir 0!! AA ab a A A A! B " B! b. 3
6 Claro que a produção! pode ser sumariamente eliminada. produções unitárias. Primeiro a produção 0! E podemos começar a eliminar Depois a produção A!, Finalmente a produção A! B, 0! AA ab a A A! AA ab a A A A! B B! b. 0! AA ab a A A! AA ab a A A A! B AA ab a A A B! b. 0! AA ab a A A! AA ab a A A A! B AA ab a A A b B! b. E podemos, introduzindo novos símbolos não terminais, obter a gramática pretendida, 0! AA UB a A A A! A U! a! AA UB a A A A! AA UB a A A b B! b..4 Ambiguidade de gramáticas Definição.8 (gramática ambígua) eja G uma CFG, diz-se que G é, ambígua se existir uma palavra w 2L(G) para a qual existam duas árvores de derivação diferentes (i.e. não isomorfas). Consideremos a seguinte gramática para a linguagem das palavras com alfabeto {0, } em que o número de 0 éomesmoqueonúmerode:! " 0 0 4
7 Para a palavra 000 2L(G) as duas seguintes árvores de derivação são válidas: 0 " 0 " 0 " 0 Portanto a gramática G é uma gramática ambígua. Isto não quer dizer que não seja possíver obter uma outra gramática G 0 não ambígua, para a qual L(G) =L(G 0 ). Com efeito, consideremos a gramática G 0 dada por! T R " T! A AB ABT R! B BA BAR A! C CA C! 0A 0 B! D DB D! B0 0 é uma gramática não ambígua e representa a linguagem pretendida. O truque, neste caso, consistiu em garantir a identificação, sem margem para ambiguidades, qual o caracter que vai finalizar o mais pequeno prefixo da palavra considerada que também pertence à linguagem. A demonstração que esta gramática é não ambígua assenta exactamente na demonstração que o mais pequeno prefixo não vazio que também tenha o mesmo número de 0 ede, ou é 0 (ou 0) ou é da forma 00 (respectivamente 00) emque éuma outra palavra da linguagem. Exercício 36 Provar que a gramática anterior é não ambígua. Mas em geral não é possível encontrar uma gramática não ambígua que represente uma dada linguagem independente de contexto. Definição.9 (linguagem ambígua) Uma linguagem independente de contexto diz-se ambígua se não for possível representá-la por uma gramática independente de contexto que seja não ambígua. A decisão se uma linguagem independente de contexto é ou não ambígua é, em geral, um problema não decidível pelo que não podemos esperar ter um método que, dada uma gramática independente de contexto, encontre uma gramática equivalente que não seja ambígua. A exibição de uma linguagem ambígua é uma tarefa muito mais delicada que a simples exibição de uma gramática ambígua, como se pode verificar pela construção apresentada por Hopcroft e Ullman [HU79]. Uma solução muito mais simples, será apresentada depois de estudado o Lema de Ogden??. 0 " 0 5
8 .4. Eliminação de ambiguidades Apesar da eliminação de ambiguidades ser uma tarefa particularmente difícil, quando não, como vimos atrás, completamente impossível, algumas técnicas permitem eliminar algumas ambiguidades comuns. Esta tarefa não se limita a satisfazer de alguma forma algum tipo de perfecionismo diletante, para muitas das aplicações de gramáticas, é imprescindível que estas não sejam ambíguas, porque isto, ou impede o funcionamento de algum tipo de analizador sintáctico (parser) ou, corresponde a algum tipo de ambiguidade na semântica que está associada à linguagem, o que pode ser inaceitável, como no caso da análise sintática de um compilador..4.. Estabelecimento de precedências Consideremos, por exemplo a linguagem das expressões aritméticas com inteiros, que para simplificar vamos considerar com um só digito. Esta pode ser facilmente descrita pela seguinte CFG! () O O! + -! Mas esta gramática é trivialmente ambígua. Basta considerar a palavra , everificarqueestatem duas diferentes árvores de derivação: 5 O + 4 O 3 A primeira corresponde à avaliação natural, com a multiplicação efectuada antes da adição, e a segunda corresponde à execução das operações pela ordem inversa. O que podemos fazer para evitar este tipo de ambiguidades é reescrever a gramática por forma a deixar explícita qual a ordem pela qual devem ser avaliadas as diversas operações. A esta operação é usual designar por estabelecimento de precedências para as operações. O resultado pode ser o exemplificado pela seguinte gramática. 5 O +! A F A! + - F! F F ()! O 3 6
9 .4..2 Avaliação da esquerda para a direita Mesmo utilizando a gramática anterior, alguma ambiguidades persistem. Como é o caso de , para a qual as duas árvores de derivação seguintes são válidas. F A + F 2 A + F 3 Agora, apesar de se tratar da mesma operação, a ambiguidade é a da ordem pela qual devem ser avaliadas as operações. À primeira àrvore corresponde uma avaliação da esquerda para a direita e à segunda o sentido inverso. Introduzindo mais umas variáveis podemos impedir que a recursão se faça indiferentemente à esquerda ou à direita, e portanto evitar este tipo de ambiguidade. A gramática resultante poderia ser então o seguinte.! FA F A! + - F! F 0 F F 0 F 0! ()! Esta gramática já não é ambígua. Este tipo de transformações, apesar de não ser, de forma alguma, uma solução universal para todas as gramáticas, até porque há linguagens intrinsecamente ambíguas, pode ser aplicada a um grande número de casos de linguagens de programação, sendo portanto uma técnica usual na construção de analisadores léxicos (parsers). Exercício 37 Considera a gramática do Exercício 34. Mostra que a gramática gera a linguagem das palavras de alfabeto {0, } com o mesmo número de 0 e. 2. Mostra qua a gramática é ambígua. 3. Escreve uma gramática não ambígua para a mesma linguagem. F A +.5 Gramáticas Regulares Definição.0 (gramática linear à direita ou à esquerda) eja G = hv,, P, i éumacfg.dizse que G é linear à direita se se todas as regras de G forem da forma A! B ou A!, para A e B não terminais e uma palavra de. Diz-sequeG é linear à esquerda se todas as regras de G forem da forma A! B ou A!. Em ambos os casos diz-se que G é uma gramática regular. F 2 A + F 3 7
10 A seguinte gramática para a linguagem das palavras com alfabeto {0, } que têm um número ímpar de 0s élinearàdireita. A! A 0B B! B 0A " e uma gramática G = hv,, P, i é linear à direita então a gramática G R que se obtem substituindo todas as produções da forma A! B por A! B élinearàesquerdael(g r )=L(G) R. Inversamente, se tivermos uma gramática linear à esquerda revertendo as produções temos uma gramática linear à direita para a linguagem reversa. Exercício 38 Mostra o resultado anterior. As gramáticas regulares correspondem a linguagens regulares. Teorema. e a linguagem L tem uma gramática regular, então L é regular. Dem. uponhamos que L = L(G) e G = hv,, P, i é linear à direita. Introduzindo novos não terminais, podemos modificar G de modo que todas as regras sejam da forma A! B ou A! ". eja G 0 = hv 0,,P 0,i a gramática resultante. A partir de G 0 podemos construir um DFA A = hv 0,,,, Fi tal que (A, )=B se A! B 2 P 0 e A 2 F se A! " 2 P 0. Por indução no tamanho duma palavra podemos mostrar que A )? se e só se qualquer não terminal A 2 V 0. Então em particular 2L(G 0 ) se e só se 2L(A). (A, ) 2 F para e L = L(G) e G = hv,, P, i é linear à esquerda consideramos a gramática reversa G R e obtemos um autómato para L(G R ). Revertendo este autómato temos um autómato finito para L(G). Para a gramática dada acima temos o seguinte DFA A = h{a, B}, {0, },, {A}, {B}i Inversamente, Teorema.2 Uma linguagem L regular tem uma gramática regular. A Dem. eja L = L(A) e A = hq,,, q 0,Fi um DFA. Construímos uma gramática G = hq,, P, q 0 i para L tal que P é constituído pelas regras q i! q j sempre que (q i, )=q j e q i! " se q i 2 F. 0 0 Por indução no tamanho duma palavra pode-se mostrar que q i )? se e só se 2L(q i ).Resulta que 2L(G) se e só se 2L(A). B.6 Lema da Repetição para CFL Para auxiliar a prova que uma linguagem não está em CFL, podemos recorrer a uma propriedade semelhante à encontrada para as linguagens regulares e que se traduziu no chamado Lema da Repetição (Teorema 5.8). Mais uma vez, o que se garante é que para palavras suficientemente grandes tem que haver um padrão para o qual todas as palavras desse padrão têm que pertencer à linguagem em causa. 8
11 Teorema.3 (Lema da repetição para CFL) eja L uma linguagem independente de contexto, então tem-se (9n)(8 )(9u, v, w, x, y)(8i) (( 2 L ^ n ^ = uvwxy ^ vwx apple n ^ vx =) ((i 0 =) uv i wx i y 2 L)))). (.) Dem. eja G uma gramática na forma normal de Chomsky (ver pag. 3), mostremos primeiro que se uma árvore de derivação não contém caminhos de comprimento maior a n, então as palavras derivadas têm que ter um comprimento inferior a 2 n. A demonstração segue por indução sobre n. o caso base, com n =, a proposição é trivial, pois a árvore de derivação não pode conter senão a derivação! com o símbolo inicial e um símbolo terminal. uponhamos então que n>. Então a primeira produção aplicada não pode ser senão do tipo! BC. e as árvores de derivação com raízes em A e B não contêm caminhos de comprimento superior a n -, então cada uma delas não pode gerar palavras de tamanho superior a 2 n-. Logo não poderia gerar palavras de tamanho superior a 2 n. eja G uma gramática na Forma ormal de Chomsky que representa a linguagem L, com m símbolos não terminais e seja n = 2 m. e 2L(L) e n, então como >2 m-, qualquer árvore de derivação de contém um caminho de comprimento pelo menos m +. eja P tal caminho. O caminho P tem m + 2 vértices em que todos, menos o último, são símbolos não terminais. Portanto, pelo princípio de Dirichlet (.), haverá pelo menos um símbolo não terminal, A, que ocorre pelo menos duas vezes em P. ejam v e v 2 vértices em P com o mesmo símbolo não terminal associado A, e supondo que v está mais próximo da raiz da árvore que v 2, sabemos que a distância de v ao símbolo terminal é, no máximo, m +. A sub-árvore T com origem em v, representa a derivação de uma palavra de tamanho, no máximo, 2 m. Isto porque nenhum caminho em T tem comprimento superior a m +. eja a palavra derivada em T. e T 2 for a árvore com origem em v 2 e 2 a palavra por si derivada, podemos escrever = ote-se que 3 e 4 não podem ser os dois ao mesmo tempo " porque a primeira produção em v tem que ser da forma A! BC, e a árvore T 2 está completamente contida numa das árvores com origem em B ou C. Portanto com apple 2 m = n. Mas então e a proposição do teorema resulta trivial. A )? 3 A 4 A )? 2, A )? i 3 2 i 4, 8i 2, Uma consequência deste novo Lema da Repetição, e desta vez uma consequência construtiva é a do colapso, para as linguagens unárias, das linguagens independentes do contexto nas linguagens regulares, expresso no resultado seguinte. Teorema.4 Para o caso do alfabeto unário, a classe das linguagens independentes do contexto é coincidente com a das linguagens regulares. Dem. Que as linguagens regulares são independentes do contexto não depende do tamanho do alfabeto. Consideremos então uma linguagem L, CFL, com alfabeto = {0}. Pelo Lema da Repetição (Teorema.3) sabemos que existe um inteiro n para o qual, todas as palavras,, de tamanho 9
12 superior a n admitem uma factorização = uvwxy, com vwx apple n por forma que para qualquer i se tem uv i wx i y 2 L. Como se trata de palavras compostas somente do caracter 0 podemos então permutar os factores e afirmar que 8i uwy(vx) i 2 L. eja uwy = m e vx = `. Então 0 m+i` 2 L, 8i 0. Podemos fazer m 0 = m mod ` e 0 m+i` i 0 = 0 m 0 +i` i 0. Mas, então, L = { 2 L ^ apple n} [ [ [ 0 m+i` i 0, `applen mapplen ou seja, éuma reunião finita de linguagens regulares, e portanto também regular..7 Ambiguidade de Linguagens Há linguagens que são intrinsecamente ambíguas, ou seja, todas as CFG que as geram são ambíguas. O teorema seguinte garante a sua existência, dando o exemplo de uma linguagem nessas condições. Teorema.5 ACFLL = a i b j c k i = j _ j = k é uma linguagem (intrinsecamente) ambígua. Dem. Que L é uma CFL é evidente pois podemo-la construir como união de duas CFL s: {a n b n c, n, m 0} e {a n b m c m n, m 0}. ejag = hv, P, i uma CFG que gere a L. eja, então, n a constante do Lema de Ogden na sua versão??. Consideremos a palavra z = a m b m c m+m! com m = max(n, 3) e marquemos em z todos os a s. Então, sabemos que há uma factorização z = uvwxy eumavariávela 2 V, talque, )? uay, A )? vax e A )? w. Portanto, 8i 0, uv i wx i y 2 L. Tomemos i = 2, temos = uv 2 wx 2 y 2 L e vx tem, no máximo, mb s, pois esse é o número total de b s em z. Como m 3, entãom! >m. Logo b apple 2m < m + m! apple c. Pelo que a igualdade que é satisfeita por forma que 2 L éentre onúmerodea s e o número de b s, ou seja, a = b. Portanto vx a = vx b,e vx a, pois vx contém pelo menos uma posição marcada. abemos que tanto v como x têm todos os caracteres iguais porque senão não seria uma palavra de L. Assim v = a j e x = b j para algum 0 apple j apple m. eja i = m! +. Para obter uma derivação de j = u i wx i y = a m+m! b m+m! c m+m! temos que usar, i vezes, a sub-derivação A )? vax. Podemos, agora, fazer exactamente o mesmo, com z = a m+m! b m c m marcando, desta vez, todos os c s. mis uma vez, obtemos uma factorização z = u v w x y euma variável A 2 V com )? u A y, A )? v A x e A )? w.maisumavez,v = b k e x = c k.e tomarmos l = m! +, para obtermos uma derivação de k = u v l w x l y = a m+m! b m+m! c m+m! temos que usar k vezes a sub-derivação A )? v A x. Estas duas derivações são distintas. Para verificar isso basta observar que a primeira obtém todos os seus b s, excepto m - j, atravésdasub-derivaçãoa )? a j Ab j, enquanto na segunda todos os b s, excepto m - k, são obtidos pela sub-derivação A )? b l A c l. 20
Draft-v0.2. Gramáticas Independentes do Contexto O funcionamento de uma CFG Derivação de uma palavra
10 Gramáticas Independentes do Contexto Como vimos nos capítulos anteriores, apesar da classe das Linguagens Regulares serem particularmente bem comportadas tanto em termos de complexidade dos seus algoritmos
Leia maisÁrvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1
Árvores (ordenadas) Recordemos que, uma árvore é grafo (não dirigido) em que o número de vértices excede em 1 o número de arcos. Um vértice é acessível a todos os outros: a raiz. Os vértices que são acessíveis
Leia maisVamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos:
5 Propriedades de LR Vamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos: São fechadas para determinas operações sobre linguagens:
Leia maisFaculdade de Computação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação - 1 0 Semestre 007 Professora : Sandra Aparecida de Amo Solução da Lista de Exercícios n o 1 Exercícios de Revisão
Leia maisAula 8: Gramáticas Livres de Contexto
Teoria da Computação Primeiro Semestre, 2015 Aula 8: Gramáticas Livres de Contexto DAINF-UTFPR Prof. Ricardo Dutra da Silva Veremos agora maneira de gerar as strings de um tipo específico de linguagem,
Leia maisSegunda Lista de Exercícios 2004/2...
+ + UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM162 Linguagens Formais e Autômatos Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Segunda Lista de Exercícios
Leia maisGramáticas e Linguagens Independentes de Contexto
Gramáticas e Linguagens Independentes de Contexto 6.1 Responde às uestões seguintes considerando a gramática independente de contexto G = (V, {a, b}, P, R), onde o conjunto de regras P é: R XRX S S at
Leia maisPropriedades das Linguagens Livres do Contexto
Capítulo 7 Propriedades das Linguagens Livres do Contexto As linguagens livres do contexto ocupam uma posição central na hierarquia das linguagens formais. Por um lado, as linguagens livres do contexto
Leia maisCompiladores - Gramáticas
Compiladores - Gramáticas Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa
Leia maisCompiladores - Gramáticas
Compiladores - Gramáticas Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa
Leia maisCapítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268
Capítulo 6 Simplificação de gramáticas livres de contexto e Formas Normais 61 6.1. Métodos para transformar gramáticas ái 62 6.2. Duas formas Normais (Chomsky e Greibach) 268 6.1. Métodos para transformar
Leia maisPropriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto
UNIVESIDADE ESTADUAL DE MAINGÁ DEPATAMENTO DE INFOMÁTICA Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 A classe de linguagens livres de contexto é fechada
Leia maisACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 2. Linguagens Livres-do-Contexto Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto marcelolauretto@usp.br
Leia maisACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 2. Linguagens Livres-do-Contexto Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto marcelolauretto@usp.br
Leia maisGramáticas ( [HMU00], Cap. 5.1)
Gramáticas ( [HMU00], Cap. 5.1) Vimos que a seguinte linguagem não é regular L = {0 n 1 n n 0} Contudo podemos fácilmente dar uma definição indutiva das suas palavras: 1. ɛ L 2. Se x L então 0x1 L L é
Leia maisFormas normais. Forma normal de Greibach (FNG) todas as produções são da forma
Formas normais Em muitas aplicações, é útil que as GIC tenham regras de tipos especiais. Para tal é necessário que se possa transformar qualquer gramática numa equivalente (isto é que gere a mesma linguagem)
Leia maisGramáticas e Linguagens independentes de contexto
Capítulo 6 Gramáticas e Linguagens independentes de contexto 6.1 Gramáticas Nesta secção vamos introduzir gramáticas formais para caracterização das linguagens, estudando fundamentalmente as gramáticas
Leia maisMarcos Castilho. DInf/UFPR. 21 de março de 2019
21 de março de 2019 Análise sintática: introdução Dada uma gramática G e uma palavra w Σ, como saber se w L(G)? Isto é, como saber se S = G w? Derivações à esquerda e ambiguidade w L(G) se S = G w; Sabemos
Leia maisAs linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.
As linguagens regulares são I.C Proposição 16.1. Qualquer linguagem regular é independente de contexto. Dem. Seja L Σ uma linguagem regular, e seja r uma expressão regular tal que L = L(r).Por indução
Leia maisGeradores e relações
Geradores e relações Recordamos a tabela de Cayley de D 4 (simetrias do quadrado): ρ 0 ρ 90 ρ 180 ρ 270 h v d 1 d 2 ρ 0 ρ 0 ρ 90 ρ 180 ρ 270 h v d 1 d 2 ρ 90 ρ 90 ρ 180 ρ 270 ρ 0 d 2 d 1 h v ρ 180 ρ 180
Leia maisLINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos
LINGUAGENS FORMAIS E AUTÔMATOS Prova 2-10/06/2011 - Prof. Marcus Ramos NOME: _ Colocar seu nome no espaço acima; A prova pode ser feita à lápis ou caneta; A duração é de três horas; As questões da parte
Leia maisDisciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais
UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof.
Leia maisGramática Livre de Contexto
Gramática Livre de Contexto Prof. Yandre Maldonado - 1 Árvore de derivação Ambigüidade Simplificação de Gramática Forma Normal de Chomsky (FNC) Forma Normal de Greibach (FNG) Prof. Yandre Maldonado e Gomes
Leia maisDada uma gramática G = (V, T, P, S), tal que ε ² L(G), construir G, sem produções-ε, de modo a que L(G) = L(G ).
2EVHUYDo}HV Enquanto que todas as Linguagens Regulares são reconhecíveis por utómatos 'HWHUPLQLVWDV (Finitos), nem todas as Linguagens Independentes do Contexto são reconhecíveis por utómatos 'HWHUPLQLVWDV
Leia maisExemplo preliminar. Considere a linguagem dos Palíndromos Lpal:
a n b n 1 Exemplo preliminar Considere a linguagem dos Palíndromos Lpal: radar, Roma é amor, 0110, 11011,... ou seja, quando w = w r Lpal é regular? usando o Lema do Bombeamento: Suponha Lpal regular,
Leia maisLinguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC)
Linguagens Formais e Autômatos Simplificação de Gramáticas Livre do Contexto (GLC) Cristiano Lehrer, M.Sc. Gramática Simplificada Gramática simplificada é uma gramática livre do contexto que não apresenta
Leia maisSCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)
SCC-505 - Capítulo 2 e (versão 2) João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis
Leia maisUm alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.
Linguagens O conceito de linguagem engloba uma variedade de categorias distintas de linguagens: linguagens naturais, linguagens de programação, linguagens matemáticas, etc. Uma definição geral de linguagem
Leia maisLINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO
LINGUAGEM LIVRE DE CONTEXTO As Linguagens Livres de Contexto é um reconhecedor de linguagens, capaz de aceitar palavras corretas (cadeia, sentenças) da linguagem. Por exemplo, os autômatos. Um gerador
Leia maisTransformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e
Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e inacessíveis; Forma Normal de Chomsky (FNC) e Forma Normal
Leia maisGramática Livre de Contexto
Prof. Yandre Maldonado - 1 Gramática Livre de Contexto Árvore de derivação Ambigüidade Simplificação de Gramática Forma Normal de Chomsky (FNC) (FNG) Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br
Leia maisLinguagens Livres de Contexto
Linguagens Livres de Contexto 1 Roteiro Gramáticas livres de contexto Representação de linguagens livres de contexto Formas normais para gramáticas livres de contexto Gramáticas ambíguas Autômatos de Pilha
Leia maisConstrução de Compiladores Aula 16 - Análise Sintática
Construção de Compiladores Aula 16 - Análise Sintática Bruno Müller Junior Departamento de Informática UFPR 25 de Setembro de 2014 1 Introdução Hierarquia de Chomsky Reconhecedores Linguagens Livres de
Leia maisAutomata e Linguagens Formais
Automata e Linguagens Formais 6 Prof. Carlos H. C. Ribeiro carlos@ita.br Análise Sintática (Parsing) GLCs ambíguas Grafos de GLCs Estratégias para parsing Exemplos de parsers Análise Sintática (Parsing)
Leia maisCOMPILADORES. Revisão Linguagens formais Parte 02. Prof. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 02 Prof. geovanegriesang@unisc.br Legenda: = sigma (somatório) = delta ε = epsilon λ =
Leia maisTeoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)
Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q
Leia maisEspaços Euclidianos. Espaços R n. O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais:
Espaços Euclidianos Espaços R n O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais: R n = {(x 1,..., x n ) : x 1,..., x n R}. R 1 é simplesmente o conjunto R dos números
Leia maisLinguagens Formais e Problemas de Decisão
Linguagens Formais e Problemas de Decisão Mário S. Alvim (msalvim@dcc.ufmg.br) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim (msalvim@dcc.ufmg.br) Linguagens Formais e Problemas
Leia maisProblema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo?
2 Linguagens Uma linguagem de programação, ou uma língua natural como o Português ou o Inglês, pode ser vista como um conjunto de sequências de símbolos, pertencentes a um conjunto finito. Em Português
Leia maisLLC's: Lema do Bombeamento e Propriedades de Fechamento
Linguagens Formais e Autômatos LLC's: Lema do Bombeamento e Propriedades de Fechamento Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hfp://dcc.ufmg.br/~nvieira) Sumário
Leia maisLinguagens Formais - Preliminares
Linguagens Formais - Preliminares Regivan H. N. Santiago DIMAp-UFRN 25 de fevereiro de 2007 Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de 2007 1 / 26 Algumas
Leia maisAutómatos de pilha e Gramáticas independentes de contexto
Autómatos de pilha e Gramáticas independentes de contexto Proposição 15.1. A classe de linguagens aceites por autómatos de pilha está contida a classe das linguagens independentes de contexto. Dem. Seja
Leia maisLinguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática
Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra
Leia maisCompiladores - Análise Ascendente
Compiladores - Análise Ascendente Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Descendente vs. Ascendente As técnicas de análise que vimos até agora (recursiva com retrocesso,
Leia maisCompiladores - Análise Ascendente
Compiladores - Análise Ascendente Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp Análise Descendente vs. Ascendente As técnicas de análise que vimos até agora (recursiva com retrocesso,
Leia maisAutómatos de pilha e GIC
Autómatos de pilha e GIC Proposição 17.1. A classe de linguagens aceites por autómatos de pilha está contida na classe das linguagens independentes de contexto. Dem. Seja L uma linguagem independente de
Leia maisCapítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.
Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma
Leia mais14.1 Linguagens decidíveis ou Turing reconhecíveis
Linguagens decidíveis ou Turing reconhecíveis Problemas decidíveis para Linguagens Regulares Teorema Seja A linguagem A DFA é decidível A DFA = {A : A é um DFA e aceita } Dem Basta mostrar como construir
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisGramáticas Livres de Contexto
Gramáticas Livres de Contexto IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 42 Frase do dia Quando vires
Leia maisTeoria da Computação Aula 02 Introdução
Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:
Leia maisProblemas decidíveis para LICs
Problemas decidíveis para LICs Dada uma gramática independente de contexto G, L(G) =? Dada uma gramática independente de contexto G, L(G) é finita? Dada uma gramática independente de contexto G, L(G) é
Leia maisTeoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)
Teoria das Lic. em Ciências da Computação Formais e Autómatos () Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Teoria das - LCC - 2010/2011 Dep. Matemática e Aplicações - Univ.
Leia maisUma gramática é ambígua se existe alguma cadeia para qual ela tem mais de uma árvore sintática
Ambiguidade Uma gramática é ambígua se existe alguma cadeia para qual ela tem mais de uma árvore sintática De maneira equivalente, se existe mais de uma derivação mais à esquerda para uma cadeia Ou se
Leia maisDraft-v0.1. Máquinas de Turing Máquinas de Turing
13 Máquinas de Turing A necessidade de formalizar os processos algorítmicos levou, nas décadas 20 e 30 do século XX, a diversos estudos, entre os quais os de Post, Church e Turing, com vista a estudo formal
Leia maisSCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente
SCC-505 - Capítulo 3 Linguagens Sensíveis ao Contexto e João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis
Leia maisTeoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos
Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 8 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 7/4/8 Valor: pontos. Uma versão do problema
Leia maisAnálise Sintática Introdução
Análise Sintática Introdução Renato Ferreira Linguagens e Automatas Linguagens formais são importantes em Computação Especialmente em linguagens de programação Linguagens regulares A linguagem formal mais
Leia maisModelos de Computação Folha de trabalho n. 8
Modelos de Computação Folha de trabalho n. 8 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada
Leia maisSCC Capítulo 1 Linguagens Regulares e Autômatos Finitos
SCC-505 - Capítulo 1 Linguagens Regulares e Autômatos Finitos João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo
Leia maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos Soluções para a Lista 4 Universidade Federal do ABC Aritanan Gruber aritanan.gruber@ufabc.edu.br http://professor.ufabc.edu.br/ aritanan.gruber Os exercícios marcados com
Leia maisIBM1088 Linguagens Formais e Teoria da
IBM1088 Linguagens Formais e Teoria da Computação Linguagens e Gramáticas Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 47 Frase do dia Sofremos muito com
Leia maisExpressões regulares
Expressões regulares IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 38 Frase do dia A vida é uma luta inteira
Leia maisConceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem
Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.
Leia maisMAC-4722 Linguagens, Autômatos e Computabilidade Lista L3
MAC-4722 Linguagens, Autômatos e Computabilidade Lista L3 Athos Coimbra Ribeiro NUSP: ****** 3 de Abril de 26 Problema.46 (itens a,c, e d) Solução a) L = { n m n m, n } Usamos o lema do bombeamento para
Leia maisLINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam
Linguagens Naturais LINGUAGENS FORMAIS Definições Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam São muito ricas, mas também ambíguas e imprecisas. Ex.: João
Leia maisConstrução de Compiladores Aula 17 - Análise Sintática Descendente
Construção de Compiladores Aula 17 - Análise Sintática Descendente Bruno Müller Junior Departamento de Informática UFPR 3 de Novembro de 2014 1 Análise Sintática Descendente Eliminação de retrocessos Converter
Leia maisUnidade 5 - Subespaços vetoriais. A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa. 10 de agosto de 2013
MA33 - Introdução à Álgebra Linear Unidade 5 - Subespaços vetoriais A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa PROFMAT - SBM 10 de agosto de 2013 Às vezes, é necessário detectar, dentro
Leia maisCOMPILADORES. Análise sintática. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Análise sintática Parte 02 Prof. geovanegriesang@unisc.br Data Conteúdo 23/09/2013 3. Análise Sintática: 3.1 analisadores
Leia maisGramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1
Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática
Leia maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERIDADE DA EIRA INTERIOR Teoria da Computação Eng. Informática 2º emestre Frequência 2 (7 valores) Resolução 30/maio/2017 A. Expressões regulares e autómatos finitos 1. [1.25] Usando o método de eliminação
Leia maisGramática. Gramática. Gramática
Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática
Leia maisProblemas decidíveis para LICs
Problemas decidíveis para LICs Dada uma gramática independente de contexto G, L(G) =? Dada uma gramática independente de contexto G, L(G) é finita? Dada uma gramática independente de contexto G, L(G) é
Leia maisTEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO
LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho Braga, Portugal 31 de Maio de 2010
Leia maisLinguagens Regulares. Prof. Daniel Oliveira
Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões
Leia maisLINGUAGENS FORMAIS E AUTÔMATOS
LINGUAGENS FORMAIS E AUTÔMATOS O objetivo deste curso é formalizar a idéia de linguagem e definir os tipos de sintaxe e semântica. Para cada sintaxe, analisamos autômatos, ue são abstrações de algoritmos.
Leia mais1 Congruências e aritmética modular
1 Congruências e aritmética modular Vamos considerar alguns exemplos de problemas sobre números inteiros como motivação para o que se segue. 1. O que podemos dizer sobre a imagem da função f : Z Z, f(x)
Leia maisTópicos de Matemática. Teoria elementar de conjuntos
Tópicos de Matemática Lic. em Ciências da Computação Teoria elementar de conjuntos Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Tóp. de Matemática - LCC - 2010/2011 Dep. Matemática
Leia maisEspaços vectoriais reais
ALGA - 00/0 - Espaços Vectoriais 49 Introdução Espaços vectoriais reais O que é que têm em comum o conjunto dos pares ordenados de números reais, o conjunto dos vectores livres no espaço, o conjunto das
Leia maisReduce: reduz o que está imediatamente à esquerda do foco usando uma produção
Shift e reduce Shift: move o foco uma posição à direita A B C x y z A B C x y z é uma ação shift Reduce: reduz o que está imediatamente à esquerda do foco usando uma produção Se A x y é uma produção, então
Leia mais7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.
Capítulo 7 Autómatos de pilha 7.1. Autómatos de pilha não-determinísticos (NPDA) 7.2. Autómatos de pilha e linguagens livres de contexto 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maisAFNs, Operações Regulares e Expressões Regulares
AFNs, Operações Regulares e Expressões Regulares AFNs. OperaçõesRegulares. Esquematicamente. O circulo vermelho representa o estado inicial q 0, a porção verde representa o conjunto de estados de aceitação
Leia maisLinguagens e Programação Gramáticas. Paulo Proença
Linguagens e Programação Gramáticas Gramáticas Ferramenta para a descrição e análise de linguagens; Baseada num conjunto de regras que especificam o modo de construção das frases válidas na linguagem;
Leia maisCurso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios
Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios 1. Escreva a expressão regular para as seguintes linguagens sobre o alfabeto {0, 1}: strings começando
Leia maisConceitos básicos de Teoria da Computação
Folha Prática Conceitos básicos de 1 Conceitos básicos de Métodos de Prova 1. Provar por indução matemática que para todo o número natural n: a) 1 + 2 + 2 2 + + 2 n = 2 n+1 1, para n 0 b) 1 2 + 2 2 + 3
Leia maisLema do Bombeamento Linguagens Livres de Contexto
Lema do Bombeamento Linguagens Livres de Contexto Agenda Lema do Bombeamento para CFL s Motivação Teorema Prova Exemplos de provas usando o lema 0 Bombeando FA s 1 x y z 1 0 1 0 Strings de comprimento
Leia maisLinguagens Livres de Contexto
Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação 364018 Linguagens Formais e Autômatos TEXTO 4 Linguagens Livres de Contexto Prof. Luiz A M Palazzo Maio de 2011
Leia maisCAPÍTULO 8 PROPRIEDADES DAS LINGUAGENS LIVRES DE CONTEXTO
CPÍTULO 8 PROPRIEDDES DS LINGUGENS LIVRES DE CONTEXTO 8.1 Introdução 275 8.2 Dois lemas de bombagem 266 8.2.1 Lema de bombagem para linguagens livres de contexto 275 8.2.2 Lema de bombagem para linguagens
Leia maisLista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos
Lista de Exercícios CT-200 Primeiro Bimestre 2010 Carlos Henrique Quartucci Forster Estagiário: Wesley Telles Revisão de Teoria de Conjuntos 1. Sejam A = {1,2 } e B = { x, y, z}. Quais os elementos dos
Leia maisCálculo Diferencial e Integral I
Cálculo Diferencial e Integral I Texto de apoio às aulas. Amélia Bastos, António Bravo Dezembro 2010 Capítulo 1 Números reais As propriedades do conjunto dos números reais têm por base um conjunto restrito
Leia maisConceitos Básicos. Vocabulário Cadeias Linguagens Problema
Conceitos Básicos Vocabulário Cadeias Linguagens Problema Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto. Ex: {A,B,C,.Z} alfabeto latino (maiúsculas)
Leia maisCompiladores Aula 4. Celso Olivete Júnior.
Aula 4 Celso Olivete Júnior olivete@fct.unesp.br Na aula de hoje... Revisão: gramáticas Relações em uma gramática: Cabeça, Último, Primeiro (First) e Seguinte (Follow) Capítulo 4 (seção 4.4.2) do livro
Leia maisAula 1: Introdução ao curso
Aula 1: Introdução ao curso MCTA027-17 - Teoria dos Grafos Profa. Carla Negri Lintzmayer carla.negri@ufabc.edu.br Centro de Matemática, Computação e Cognição Universidade Federal do ABC 1 Grafos Grafos
Leia maisLógica Proposicional
Lógica Proposicional Lógica Computacional Carlos Bacelar Almeida Departmento de Informática Universidade do Minho 2007/2008 Carlos Bacelar Almeida, DIUM LÓGICA PROPOSICIONAL- LÓGICA COMPUTACIONAL 1/28
Leia maisLinguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.
LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior olivete@fct.unesp.br 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas
Leia maisTeoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos
Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 7 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 9/9/7 Valor: pontos. Uma versão do problema
Leia maisCurso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 2. Conceitos Básicos da Teoria da Computação
Curso: Ciência da Computação Turma: 6ª Série Aula 2 Conceitos Básicos da Computação pode ser definida como a solução de um problema ou, formalmente, o cálculo de uma função, através de um algoritmo. A
Leia maisformais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas
Capítulo 11 Uma hierarquia de linguagens formais e autómatos 11.1. Linguagens g recursivas e recursivamente enumeráveis. 11.2. Gramáticas não-restringidas 11.3. Gramáticas e linguagens dependentes do contexto
Leia mais5 Congruências lineares. Programa. 1 Parte 1 - Conjuntos e Aplicações. 1 Conjuntos. 4 Indução matemática e divisibilidade
Matemática Discreta 2008/09 Jorge André & Vítor Hugo Fernandes Departamento de Matemática FCT/UNL Programa 1 Parte 1 - Conjuntos e Aplicações 1 Conjuntos 2 Relações Binárias 3 Aplicações 4 Indução matemática
Leia mais