Prof. Luiz A M Palazzo Pelotas, fevereiro de 2011

Slides:



Advertisements
Apresentações semelhantes
FAPE - Curso de Ciência da Computação
Advertisements

FAPE - Curso de Ciência da Computação
Tópicos em Compiladores
Capítulo 9 A semântica da Lógica de Predicados
Linguagem Fabrício Dias
REVISÃO– FUNÇÕES Fabrício Dias
Teoria da Computação VERIFICAÇÃO DE EQUIVALÊNCIA FORTE DE PROGRAMAS
I - Noções dum compilador
Prof. Yandre Maldonado e Gomes da Costa
Linguagens Formais e Autômatos
TEORIA DA COMPUTAÇÃO Parte II  Linguagens Livres de Contexto
Teoria da Computação FIC– Ciência da Computação
TEORIA DOS AUTÓMATOS FINITOS E DAS SUAS LINGUAGENS
3 AUTÓMATOS FINITOS.
Ling. Formais e Autômatos Autômatos finitos
Equivalência de Autômatos
Forma Normal de Chomsky
Teoria da Computação Sandra de Amo
Gramáticas Livres do Contexto Revisão
Lema do Bombeamento – Gramáticas Livres do Contexto
Jorge Muniz Barreto UFSC-INE 2000
Linguagens Livres de Contexto
Linguagens Livre de Contexto
esquerda p/ direita,read only
Identificando Linguagens Não Regulares
SISTEMAS LINEARES I Prof. Marlon.
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Construção de Compiladores
00(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Alfabetos, Palavras e Linguagens
Linguagens Formais e Autômatos
Modelagem & Representação
Exercícios Linguagens Formais.
Conceitos Básicos.
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Colégio Salesiano Dom Bosco
Compiladores, Aula Nº 9 João M. P. Cardoso
Linguagens Livres de Contexto
Histórico, exemplos e problemas
Gramáticas Livres de Contexto
Ling. Formais e Autômatos AFN-ε
Teoria da Computação Aula 1 Prof. Fabiano Sabha.
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
Expressões Regulares e Gramáticas
Capítulo II Gramáticas e Linguagens
André Luiz da Costa Carvalho
Analise sintática aula-07-analise-sintática.pdf.
Transformação Linear Definição: Sejam dois espaços vetoriais reais. Uma função T (ou aplicação) é denominada Transformação Linear de se:
Linguagens Formais e Compiladores
Linguagens Formais e Autômatos
LFA: Unidade 03 – Parte B Engenharia/Ciência da Computação
Linguagens Livres de Contexto
Prof. André Luis Roland Tancredo Engenheiro da Computação e Pesquisador em Desenvolvimento Tecnológico para Semicondutores pelo CNPq Especialista em Microeletrônica.
Linguagens Formais - aula 02
Relações 1.
Métodos Formais Juan Andrés Mussini.
Engenharia/Ciência da Computação
tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.
Compilador Software que traduz o texto (linguagem fonte) que representa um programa para código máquina(linguagem alvo) capaz de ser executado pelo.
Reverso de uma Linguagem Regular
Faculdade Pernambuca - FAPE Compiladores Abril/2007 Compiladores Abril/2007.
Informática Teórica Engenharia da Computação. Teoria da Computação Contexto do que vamos começar a estudar As linguagens também podem ser definidas formalmente.
Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE
Informática Teórica Engenharia da Computação. Autômatos Com Pilha São como autômatos finitos não-determinísticos mas com uma pilha. São como autômatos.
Definição Dados dois conjuntos A e B, denomina-se função de A em B toda relação que a cada elemento de A associa um único elemento de B. X  variável independente.
Transcrição da apresentação:

Prof. Luiz A M Palazzo Pelotas, fevereiro de 2011 Universidade Católica de Pelotas Escola de Informática Bacharelado em Ciência da Computação Bacharelado em Sistemas de Informação Gramáticas Prof. Luiz A M Palazzo Pelotas, fevereiro de 2011

Gramáticas Uma gramática é uma quádrupla, G=(V, T, P, S), onde: V é um conjunto de símbolos variáveis ou não-terminais. T é um conjunto de símbolos terminais, disjunto de V. P é um conjunto finito de regras de produção. S é um elemento de V denominado “variável inicial”. Exemplo: G = ( V = {S, X}, T = {a, b}, P = {S  a | aX, X  b | bX}, S ). Linguagens Formais e Autômatos - 04

Regras de Produção P= {SaX|bX, Xa|b|X} São pares do tipo (a, b), representados por ab, onde a  (VT)+ e b  (VT)*. Definem as condições de geração das palavras da linguagem. Abreviação: ab1, ab2, ..., abn por ab1|b2|...|bn. A aplicação de uma regra de produção chama-se uma derivação. P= {SaX|bX, Xa|b|X} Linguagens Formais e Autômatos - 04

Derivação Seja G=(V,T,P,S) uma gramática. Uma derivação é um par da relação denotada por , com domínio em (VT)+ e contradomínio em (VT)*. Um par (a,b) da relação é denotado de forma infixa: ab. Seqüência de Derivação Seja G=(V,T,P,S)=({S,X},{a,b},{SaS|X,Xba|X},S). Uma seqüência de derivação para produzir a palavra “aaba” nesta gramática é: S  aS  aaS  aaX  aaba. Linguagens Formais e Autômatos - 04

Definição Indutiva de Derivação Para toda produção da forma Sb, onde S é o símbolo inicial de G, tem-se que Sb. Para todo par ab, onde b=uvw, se vt é regra de P, então autw. Portanto uma derivação é a substituição de uma subpalavra, de acordo com uma regra de produção. Linguagens Formais e Autômatos - 04

Notação * Zero ou mais passos de derivação sucessivos. + Um ou mais passos de derivação sucessivos. n Exatamente n passos de derivação sucessivos. Uma gramática é um formalismo gerador, pois permite derivar (gerar) todas as palavras da linguagem que representa. Linguagens Formais e Autômatos - 04

Linguagem Gerada Seja G = (V, T, P, S) uma gramática. A linguagem gerada pela gramática G, denotada por L(G) ou GERA(G), é composta por todas as palavras formadas por símbolos terminais deriváveis a partir do símbolo inicial S. L(G) = {w  T* | S + w}. Linguagens Formais e Autômatos - 04

Exemplo Por exemplo, gerar 593: S DS  5S  5DS  59S  59D  593 A gramática abaixo gera o conjunto dos números naturais: G=(V,T,P,S)=({S, D}, {0,1,...,9}, {SD|DS, D0|1|...|9}, S). Por exemplo, gerar 593: S DS  5S  5DS  59S  59D  593 Linguagens Formais e Autômatos - 04

Gramáticas Equivalentes Duas gramáticas, G1 e G2 são ditas ser equivalentes se e somente se geram a mesma linguagem, isto é: GERA(G1) = GERA(G2). Linguagens Formais e Autômatos - 04