LINGUAGENS FORMAIS E AUTÔMATOS
|
|
|
- Levi Farias Veiga
- 9 Há anos
- Visualizações:
Transcrição
1 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. Dentre as classes de linguagens temos: Regulares Livres de contexto Sensíveis ao contexto Recursivas Recursivamente enumeráveis O curso de Linguagens Formais e Autômatos se ocupa principalmente dos primeiros, enuanto os dois últimos são objetivo de um curso de Computabilidade. Uma linguagem comum é um conjunto de três aspectos: Aspecto léxico Define os símbolos (signos) ue compõe a linguagem. Aspecto Sintático Define regras para símbolos ue indicam ue seüências de símbolos são aceitas. Aspecto Semântico Dá o significado das seüências de símbolos. Nosso curso se concentra nos dois primeiros aspectos, ue são vitais para a construção de compiladores. Podemos definir linguagem como:. Linguagem é um conjunto de sentenças. 2. Sentença sobre um vocabulário é uma seüência finita de símbolos do vocabulário. 3. Vocabulário é um conjunto finito de símbolos. Por enuanto, definimos uma linguagem só definindo seu aspecto léxico. Assim, se ueremos definir uma linguagem para uma calculadora, definimos o alfabeto (vocabulário): = {+, -,, /, NUM} Sentenças sobre esse vocabulário são: W = NUM NUM + NUM W2 = + NUM Uma linguagem é um subconjunto do conjunto das sentenças. Podemos considerar somente: L = { NUM, NUM + NUM, NUM NUM...} A linguagem pode ser definida de forma recursiva: NUM L α β L α + β, α - β, α β, α / β L E NUM E E + E E E - E E E E E E / E Assim também: E E + E E E + E E E + NUM E NUM + NUM NUM NUM + NUM Definimos sobre o conjunto de sentenças a operação de concatenação. Por exemplo:
2 W = ++ W2 = NUM W W2 = ++NUM Dado um alfabeto (vocabulário), definimos como o conjunto de todas possíveis sentenças, incluindo ε ue representa a sentença vazia. Dessa forma, toda linguagem é: L Definimos também + = /{ ε}, ou seja, o conjunto de todas possíveis sentenças não vazias. No nosso exemplo do vocabulário da calculadora: = { ε, +,, +,, /, +, +, ++, + NUM,,...} Em seguida, vamos definir o ue é uma gramática, uma linguagem gerada por uma gramática. A cada tipo de linguagem (definida pelo seu tipo de gramática) e a cada um dele vamos associar um autômato. Linguagem Regulares Livres de Contexto Sensíveis ao Contexto Sem Restrição Autômato Autômato Finito Autômato com pilha Máuina de Turing Linearmente Limitada Máuina de Turing Definimos uma gramática G como uma 4-tupla G =, N, P, S, onde: = Alfabeto de símbolos terminais. N = Conjunto de símbolos não terminais. P = Conjunto de regras de produção, da forma: α β, αβ, ( N) e α tem ao menos um símbolo de N. S = Símbolo inicial. S N. Para a linguagem ue definimos, uma gramática adeuada seria: = {+, -,, /, NUM}. N = {E} P ={ E NUM, E E + E, E E E, E E E, E E / E} S = E Dada uma gramática, definimos em ( ) N a relação binária em um passo ( G ) como:
3 w= γ. αγ. 2 ( w G w2) w2= γ. βγ. 2 ( α β) P Onde γ, γ2, α, β ( N). Seja ( G ) o fecho reflexivo de ( G ). Assim definimos a linguagem gerada pela gramática G como L(G) = { w / s w} G Por exemplo, a linguagem composta pelas seüências binárias ε,,,,,,,,,... pode ser gerada pela seguinte gramática: = {,} N = { S} P= { S S, S S, S, S } S = S Assim, LG ( ). Um problema é, dada um alfabeto e uma gramática G, como decidir se uma sentença w pertence ou não à linguagem L(G). Isso normalmente é feito usando autômatos. Analisemos alguns antes de definir formalmente o ue é um autômato sobre ={, }.. O seguinte autômato reconhece todas as sentenças com um número par de zeros: Onde representa um estado e um estado final, ou seja, um ponto em ue o funcionamento da máuina pode parar. 2. Seüências de s e s ue têm um número par de s ou um número ímpar de s. 3. Seüências ue terminam em
4 4. Seüências ue tem o comprimento múltiplo de O antepenúltimo caractere é. Para organizar o raciocínio, vamos chamar os estados de abc,,, onde a,b,c {x, }, onde x representa ualuer coisa diferente de, seja ou nenhum resultado. Definição: Um autômato finito determinístico é uma 5-upla M = { Q,, δ,, F} onde: Q é o conjunto finito de estados é o alfabeto de entrada Qé o estado inicial F Qé o conjunto de estados finais. No exemplo das linguagens ue terminam em e temos:
5 = {,} Q= {,, } F = { } 2 2 A função δ : Q Qé dada pela seguinte tabela: 2 2 Definamos recursivamente a função δ : Q Qsobre o conjunto das seüências como: δ(, ε) = δ( a, ω) = δ( δ( a, ), ω), onde a, ω Assim, para o exemplo ue estávamos discutindo: (,) = ( (,),) = (,) = = δδ ( (,),) = δ(,) = = δδ ( (,), ε) = δ( 2, ε) = 2 δ δ δ δ Na prática, δ (, ω ) representa o estado alcançado a partir de pelo caminho ω. Assim, definimos o conjunto de linguagens reconhecidas por M como: T( M) = { ω, δ(, ω) F} Exercícios Fazer um autômato finito ue reconheça i. ω {,}, tal ue termina em ou tem um número par de s. ii. ω {,}, tal ue ω é a representação binária de um número múltiplo de 5. iii. ω {,,2,3,4,5,6,7,8,9,A,B,C,D,E,F,x}, tal ue ω é um inteiro positivo na linguagem C. Por exemplo: 235 inteiro 75 octal x7ff hexadecimal
6 O problema i tem uma solução com somente 4 estados ue é: : número par de s : número ímpar de s terminando em ix : número ímpar de s terminando em i : número ímpar de s terminando em i
7 Uma pergunta natural seria ual a gramática reconhecida pelo autômato finito do problema iii, ou seja, ue linguagem descreve os números inteiros da linguagem C? Dando nome aos estados temos: S Z S D ec D D D Z X H H Z O O D ec D ε xx Hex H ex H H ε O ct O O ct O ε Isso nos dá uma receita para a construção de uma gramática ue gera a linguagem reconhecida por um autômato finito. Isso nos dá uma prova construtiva para: Teorema: Dado um autômato finito M = { Q,, δ,, F}, construo um não terminal N para cada e considero a gramática G =, N, P, S, onde N = { N / Q} e ~ ~ P= { N an / δ(, a) = } { N ε / F}. Assim, nestas condições L(G) = T(M). Classificação das gramáticas Gramática Regular Dizemos ue uma gramática é regular uando todos os elementos de P são da forma: A a A ab A ε para A e A,B N Gramática Livre de Contexto Dizemos ue uma gramática é livre de contexto se todas as regras são da forma: A ω, com A N e ω ( N ) Gramática Sensível ao Contexto Dizemos ue uma gramática é sensível ao contexto uando todos os elementos de P são da forma: ω ω, com ω, ω ( N ) e 2 2 ω ω 2 Note ue, por essa definição, Regulares são Livres de contexto, mas não são necessariamente sensíveis ao Contexto, pois elas podem ter a regra A ε, onde = A > ε =. Para corrigir esse defeito, redefinimos gramática sensível ao contexto como gramáticas cujas sentenças têm a forma: ω ω2, ω ω2 ou S ε, onde S é um símbolo não terminal, ue não aparece do lado direito de nenhuma regra. Isso permite ue linguagens sensíveis ao contexto tenham a sentença vazia.
8 Dizemos ue uma linguagem L é regular (respectivamente sensível ao contexto, livre de contexto) se existe uma gramática regular (respectivamente sensível ao contexto, livre de contexto) tal ue L = L(G), ou seja, L é a linguagem gerada pela gramática. Quando passamos para linguagens, passamos a ter inclusões. O diagrama da direita é chamado hieraruia de Chomsky. Dois fatos interessantes: nem toda gramática livre de contexto é sensível ao contexto, mas toda linguagem livre de contexto é sensível ao contexto. Isso acontece pois, dada uma gramática G livre de contexto mas com alguma regra do tipo A ε, ou seja, ue não seja sensível ao contexto, então, como provaremos mais tarde, existe uma gramática ~ G livre de contexto e sensível ao contexto tal ue: L(G) = L( ~ G ) Assim, provaremos ue toda linguagem livre de contexto é sensível ao contexto. Isso será feito mais tarde. Outro fato interessante: nem todas as linguagens podem ser descritas por gramáticas. Provemos isso. Dado um alfabeto finito, o conjunto das possíveis sentenças é um conjunto infinito e enumerável. Uma linguagem L é um subconjunto de, logo o conjunto das possíveis linguagens é o conjunto das partes de, ou seja, o conjunto de todos os subconjuntos de. Mas esse é um conjunto não enumerável (Prova diagonal de Cantor). Como toda gramática pode ser definida por uma cadeia finita de caracteres, o conjunto das possíveis gramáticas é enumerável. Assim, existem linguagens ue não podem ser descritas por gramáticas. Queremos resolver o problema da análise sintática, isto é, dada uma gramática G e uma sentença ω determinar se ω L(G) e, em caso afirmativo, saber ual a derivação. Vimos ue, dado um autômato finito podemos construir uma gramática G regular tal ue L(G) é a linguagem reconhecida pelo autômato. Será ue vale a recíproca? Ou seja, dada uma gramática G, existe um autômato finito cuja linguagem reconhecida por ele é L(G)? Considere a linguagem L(G), formada pelas seüências em {,} ue terminam em ou. Temos ue a gramática pode ser dada por:
9 S S S S S S A A Tentando aplicar o algoritmo para transformar autômatos em linguagens, chegamos a: Isso não é um autômato finito, pois a função de transição δ não está bem determinada. Assim, o ue temos é um autômato finito não determinístico. Outro exemplo de autômato finito não determinístico é o seguinte, ue reconhece todas as cadeias com um número ímpar de s ou um número ímpar e s. Para ue um autômato finito não determinístico reconheça uma sentença, deve existir um caminho ue leve ao estado final partindo do estado inicial. Vejamos nos exemplos: i. Seüências ue terminam em. ii. Seüências cujo antepenúltimo caractere é.
10 iii. Seüências ue terminam em ou têm um número par de s. Outra maneira é tomar Assim, se temos dois autômatos finitos não determinísticos, podemos criar um autômato ue reconheça a linguagem de um ou de outro, ue pode ser gerado por: Onde o novo estado inicial se liga aos estados dos dois autômatos da mesma forma ue os estados iniciais dos autômatos e 2 se ligavam Assim, se temos autômatos M e M 2 com m e m 2 estados, respectivamente, um autômato finito não determinístico ue reconhece M ou M 2 tem no máximo m+ m2 + estados, enuanto um autômato
11 finito determinístico deveria ter no máximo m m2 estados. Assim, a cota superior é menor para autômatos finitos não determinísticos. A definição formal de autômato finito não determinístico é uma 5 upla M = { Q,, δ,, F} onde: Q é o conjunto finito de estados é o alfabeto de entrada δ : Q P( Q) : Função de transição Qé o estado inicial F Qé o conjunto de estados finais. Note ue o AFND (Autômato Finito Não Determinístico) é bastante semelhante ao determinístico, porém um estado e um símbolo a levam, não a um estado, mas a um conjunto de estados. Dessa forma, definimos a linguagem reconhecida por um AFND M = { Q,, δ,, F} como: T( M) = { ω / δ(, ω) F } Onde δ : Q P( Q) é definido recursivamente como: δ(, ε) = { } δ ( a, ω) = δ( r, ω) r δ (, a) Por exemplo, para o AFND ao lado calculamos:` δ(,) = δ(,) δ(,) = δ(, ε) δ(, ε) { } { } = { } 2 =, 2 2
Disciplina: 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.
Capí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
INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas
INE5317 Linguagens Formais e Compiladores AULA 4: Gramáticas bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: [email protected] URL:
Linguagens 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
Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador
Estrutura de um compilador programa fonte Compiladores Análise lexical () Expressões Regulares analisador léxico analisador sintático analisador semântico análise gerador de código intermediário otimizador
Como construir um compilador utilizando ferramentas Java
Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 4 Análise Léxica Prof. Márcio Delamaro [email protected] Como construir
Construçã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
LINGUAGENS 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
LINGUAGENS 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
TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS
TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS Acadêmico: Cleison Vander Ambrosi Orientador: José Roque Voltolini da Silva Roteiro da Apresentação Introdução Motivação
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes
Gramáticas Livres de Contexto
Gramáticas Livres de Contexto IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz [email protected] Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 42 Frase do dia Quando vires
Aula 3: Autômatos Finitos
Teoria da Computação Primeiro Semestre, 25 Aula 3: Autômatos Finitos DAINF-UTFPR Prof. Ricardo Dutra da Silva Um procedimento ue determina se uma string de entrada pertence à uma linguagem é um reconhecedor
IV Gramáticas Livres de Contexto
IV Gramáticas Livres de Contexto Introdução Definições de GLC 1 G = (Vn, Vt, P, S) onde P = {A α A Vn α (Vn Vt) + } 2 GLC ε - LIVRE : S ε pode pertencer a P, desde que: S seja o símbolo inicial de G S
Linguagens Formais e Autômatos. Apresentação do Plano de Ensino
Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma C01 Engenharia da Computação e Ciência da Computação Horário: Segunda e Quinta:
COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 01 [email protected] Legenda: = sigma (somatório) = delta ε = épsilon λ = lambda
Segunda 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
Aula 3: Autômatos Finitos
Teoria da Computação Segundo Semestre, 24 Aula 3: Autômatos Finitos DAINF-UTFPR Prof. Ricardo Dutra da Silva Um procedimento ue determina se uma string de entrada pertence à uma linguagem é um reconhecedor
a n Sistemas de Estados Finitos AF Determinísticos
a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um
Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Definições Hierarquia de Chomsky Exemplos de gramáticas. Gramáticas. Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas
Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Gramáticas Conceito introduzido pela lingüística Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas Fracasso da tradução
Linguagens Formais e Problemas de Decisão
Linguagens Formais e Problemas de Decisão Mário S. Alvim ([email protected]) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim ([email protected]) Linguagens Formais e Problemas
Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)
Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL) 1 Gramática Sensível ao Contexto Definição: Uma gramática G é sensível ao contexto se
Teoria 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
Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo
Gramática regular IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz [email protected] Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 41 Frase do dia Através de três métodos
Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO II Campus Rio Pomba
Questão 01 No processo de construção de compiladores, é essencial compreender e manipular as expressões regulares e suas equivalências. Dentro desse contexto, seja o alfabeto = {a, b, c, d, e} e a seguinte
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar
Autômatos com Pilha: Reconhecedores de LLCs
Autômatos com Pilha: Reconhecedores de LLCs 1 Autômatos com Pilha (AP) Definições alternativas para Linguagens Livres de Contexto Extensão de AFND com uma pilha, que pode ser lida, aumentada e diminuída
LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.
LFA Aula 05 AFND: com e sem movimentos vazios 05/12/2016 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula passada... Reconhecedores genéricos Autômatos finitos
LFA. Aula 04. Sintaxe e Semântica. Conceitos Básicos Alfabeto Palavra Linguagem
LFA Aula 04 Sintaxe e Semântica. Conceitos Básicos Alfabeto Palavra Linguagem Linguagens Formais Linguagens formais se preocupam com os problemas sintáticos das linguagens. Sintaxe e Semântica Sintaxe
LINGUAGENS FORMAIS E AUTÔMATOS
LINGUGENS FORMIS E UTÔMTOS Introdução reve Histórico Em 1936, lan Turing (matemático) propôs a possibilidade de se construir um computador digital através da formalização de um procedimento em tempo finito.
LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.
LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos Modelos Matemáticos Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. Ressalta-se contudo que é muito importante
Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.
Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel 8.1 - Introdução. Como observado no capítulo anterior, podemos substituir a definição informal de procedimento pela
Compiladores Aula 4. Celso Olivete Júnior.
Aula 4 Celso Olivete Júnior [email protected] 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
Teoria da Computação
Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: [email protected] Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz
Gramá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
Linguagens Formais e Autômatos
Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Introdução Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto
Linguagens Formais e Autômatos
Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto M dos
Gramáticas Livres de Contexto Parte 1
Universidade Estadual de Feira de Santana Engenharia de Computação Gramáticas Livres de Contexto Parte 1 EXA 817 Compiladores Prof. Matheus Giovanni Pires O papel do Analisador Sintático É responsável
TEORIA 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
Linguagens 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;
Fundamentos da Teoria da Computação
Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista Sérgio Mariano Dias 1 1 UFMG/ICEx/DCC Entrega da 1 a lista: 31/03/2009 Sérgio Mariano Dias (UFMG) Fundamentos
LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos
LFA Aula 07 Equivalência entre AFD e AFND AFND: uma aplicação busca em textos Equivalência entre ER s e AF s Equivalência entre GR s e AF s Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa
Apostila 05 Assunto: Linguagens dos tipos 0 e 1
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Linguagens 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 [email protected] 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas
Draft-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
Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1
Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática
Gramática. Gramática. Gramática
Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática
Linguagens 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
SCC 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
Gramá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
Máquinas de Turing - Computabilidade
BCC244-Teoria da Computação Prof. Lucília Figueiredo Lista de Exercícios 03 DECOM ICEB - UFOP Máquinas de Turing - Computabilidade 1. Seja L uma linguagem não livre de contexto. Mostre que: (a) Se X uma
Um 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
Expressões Regulares e Gramáticas Regulares
Universidade Católica de Pelotas Escola de informática 053212 Linguagens Formais e Autômatos TEXTO 2 Expressões Regulares e Gramáticas Regulares Prof. Luiz A M Palazzo Março de 2007 Definição de Expressão
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Propriedades 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
Faculdade 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
Aulas 10 e 11 / 18 e 20 de abril
1 Conjuntos Aulas 10 e 11 / 18 e 20 de abril Um conjunto é uma coleção de objetos. Estes objetos são chamados de elementos do conjunto. A única restrição é que em geral um mesmo elemento não pode contar
Linguagens livres de contexto e autômatos de pilha
Capítulo 6: Linguagens livres de contexto e autômatos de pilha José Lucas Rangel, maio 1999 6.1 - Introdução. Os aceitadores, ou reconhecedores, das linguagens livres de contexto são os chamados autômatos
Capítulo 2: Procedimentos e algoritmos
Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo
Linguagens 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
Capítulo 3: Gramáticas
Capítulo 3: Gramáticas Já vimos que procedimentos podem ser usados para definir linguagens de duas maneiras essenciais: como geradores, procedimentos que enumeram os elementos da linguagem, e como reconhecedores
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação SCC-205 TEORIA DA COMPUTAÇÃO E LINGUAGENS FORMAIS Turma 1 2º. Semestre de 2012 Prof. João Luís
Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação
Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Não são aceitas respostas sem justificativa. Explique tudo o que você fizer. Linguagens Formais o semestre de 999 Primeira Prova
Linguagens Formais e Autômatos. Apresentação do Plano de Ensino
Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma A01 Engenharia da Computação e Ciência da Computação Horário: Segunda, Terça e Quinta.
Conceitos 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.
SCC 205 Teoria da Computação e Linguagens Formais
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC 205 Teoria da Computação e Linguagens Formais Autômatos com pilha Lista 3 1. Dê um
Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.
LFA Aula 01 Apresentação 24/10/2016 Celso Olivete Júnior [email protected] 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado e Doutorado em Engenharia Elétrica
Decidibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)
Decidibilidade Mário S Alvim (msalvim@dccufmgbr) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S Alvim (msalvim@dccufmgbr) Decidibilidade DCC-UFMG (2018/02) 1 / 45 Decidibilidade:
Conceitos 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)
Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente
ESIN/UCPel 058814 Linguagens Formais e Autômatos TEXTO 5 Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente Prof. Luiz A M Palazzo Maio de 2007 0. Introdução A Ciência da Computação
Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes
Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes Questões do POSCOMP 2011 A resposta certa está assinalada em vermelho. Por que é correta e por que as demais alternativas são incorretas?
I.2 Introdução a Teoria da Computação
I.2 Introdução a Teoria da Computação O que é? Fundamento da Ciência da Computação Tratamento Matemático da Ciência da Computação Estudo Matemático da Transformação da Informação Qual sua importância?
Gramá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 é
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Teoria 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:
INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos
INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: [email protected] URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos
Curso: Ciência da Computação Turma: 6ª Série Aula 4 Autômatos Finitos Autômatos Finitos Não Determinísticos Um autômato finito não-determinístico (AFND, ou NFA do inglês) tem o poder de estar em vários
Terceira 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 Terceira Lista de Exercícios 2004/2
LFA Aula 09. Gramáticas e Linguagens Livres de Contexto 18/01/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.
LFA Aula 09 Gramáticas e Linguagens Livres de Contexto (Hopcroft, 2002) 18/01/2016 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Classes Gramaticais Linguagens
ACH2043 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 [email protected]
SCC 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
Fundamentos da Teoria da Computação
Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Doutorando em Ciência da Computação Estagiário em docência II Departamento de Ciência da Computação
formais 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
