Linguagens e Programação Gramáticas. Paulo Proença
|
|
|
- Nina Ribas Freire
- 7 Há anos
- Visualizações:
Transcrição
1 Linguagens e Programação Gramáticas
2 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; Assente nos vários tokens que são reconhecidos pelo analisador léxico.
3 Representação formal G = (V, Σ, P, S) V é um conjunto finito, não vazio, de símbolos não terminais é o alfabeto (conjunto finito, não vazio, de símbolos terminais) P é o conjunto de produções (regras da gramática) S é o símbolo inicial a partir do qual todas as frases são derivadas (axioma da gramática)
4 Notação BNF BNF Backus Naur Form (Backus Normal Form) Criada por John Backus e Peter Naur para descrever a linguagem ALGOL Meta símbolos utilizados: ::= - representa definido como - indica uma alternativa <> - define uma regra <numero> ::= <algarismo> <algarismo><numero> <algarismo> ::=
5 Notação EBNF Estende a notação BNF com a inclusão dos seguintes símbolos: [] - indica uma parte opcional {} - indica algo que se pode repetir 0 ou mais vezes () - define precedência dentro da regra "" - define um carater que deve ser tratado como terminal. Por exemplo: "<" <identificador> ::= (<letra> _){(<letra> <algarismo> _)} <letra> ::= a A b B z Z <algarismo> ::=
6 Hierarquia de Chomsky Tipo 0 recursivamente enumeráveis Tipo 1 dependentes de contexto Tipo 2 independentes de contexto Tipo 3 regulares
7 Notações e Convenções Seja G=(V n,v t,p,s) V n vocabulário não terminal Letras maiúsculas do alfabeto {A,B,,Z} V t vocabulário terminal Letras minúsculas do alfabeto {a,b, z}, dígitos e símbolos. V n V t = P produções S V n axioma da gramática V = V n V t Letras gregas minúsculas {,,, } Cada produção tem a forma onde V+ e V*
8 Hierarquia de Chomsky Tipo 3 Gramáticas regulares As produções são da forma: Lineares à direita A a A ab A ou onde A,B V n e a V t São os tipos de gramática mais restritas em termos de poder de representação G=({S}, {a,b}, P, S) P: { S as S b } L(G)={a n b n 0} Lineares à esquerda A a A Ba A
9 Hierarquia de Chomsky Tipo 2 Gramáticas independentes de contexto As produções são da forma: A α onde A V n e V+ O lado esquerdo da regra possui apenas uma símbolo não terminal (uma variável) G=({S,A,B}, {a,b}, P, S) P: { S ab ba A a as baa B b bs abb } L(G)={palavras sobre {a,b} com o mesmo número de a's e de b's}
10 Hierarquia de Chomsky Tipo 1 Gramáticas dependentes de contexto Imposta a restrição de que nenhuma substituição reduz o comprimento da frase à qual a substituição é aplicada As produções são da forma: αaβ αγβ com αaβ αγβ onde α,β,γ V*, γ e A V n G=({A,B,C}, {a,b,c}, P, A) P: { A abc A abbc Bb bb Bc Cbcc bc Cb ac aab ac aa }
11 Hierarquia de Chomsky Tipo 0 Gramáticas livres ou sem restrições As produções são da forma: α β onde V+ e V* Não há restrições nas regras de produção. G=({S,A,B,C,D,E}, {a}, P, S) P: { S ACaB Ca aac CB DB CB E ad DA AD AC ae Ea AE } L(G)={a 2n n é um inteiro positivo}
12 Exercício Classifique a seguinte gramática segundo a hierarquia de Chomsky G = ({S,C,D,E}, {a,$,#}, P, S) P = {S $Ca# a Ca aac $D $C C# D# E ad Da ae Ea $E } Gramática Livre ou Recursivamente enumerável
13 Exercício Classifique a seguinte gramática segundo a hierarquia de Chomsky G = ({A,B,C}, {a,b,c}, P, A) P = {A abc abbc Bb bb Bc Cbcc bc Cb ac aab ac aa } Gramática Dependente de contexto
14 Exercício Classifique a seguinte gramática segundo a hierarquia de Chomsky G = ({S,A,B}, {a,b}, P, S) P = { S ab ba A a as baa B b bs abb } Gramática Independente de contexto
15 Exercício Classifique a seguinte gramática segundo a hierarquia de Chomsky G = ({S}, {a, +, *, (, )}, P, S) P = { } S S * S S S + S S (S) S a Gramática Independente de contexto
16 Exercício Classifique a seguinte gramática segundo a hierarquia de Chomsky G = ({S,A}, {a, b, c}, P, S) P = { S as ba A c } Gramática Regular à direita
17 Reconhecedores Tipo de gramática Tipo 0 livres Tipo 1 dependente de contexto Tipo 2 independente de contexto Tipo 3 regulares Reconhecedor Máquina de Turing Máquina de Turing com memória limitada Autómato de pilha Autómato finito
18 Exercícios Propostos 1. Considere a seguinte gramática S (L) a L L,S S a) Identifique os símbolos terminais e não terminais desta gramática Símbolos terminais: "a" "," "(" ")" Símbolos não terminais: b) Determine uma árvore de derivação desta gramática para (a,a) S S L ( L ) L S, S a a
19 Exercícios Propostos 1. Considere a seguinte gramática S (L) a L L,S S c) Crie um autómato finito equivalente a esta gramática Impossível. Só as gramáticas tipo 3 podem ser representadas por um AF. d) Caracterize formalmente a linguagem representada por esta gramática Qualquer regra da gramática é do tipo X onde X V n e V +. Isto é, qualquer ocorrência de X pode ser substituído por independentemente do contexto. Logo a gramática é Tipo 2 independente de contexto.
20 Exercícios Propostos 2. Escreva uma gramática capaz de reconhecer cada uma das seguintes linguagens a) Palavras no ={a,b} que terminam em b e começam em a b) Palavras no ={a,b,c,d} em que b é sempre precedido por um a c) Palavras no ={a,b,c,d} que são capicuas e têm um comprimento maior que 1 S atb T at bt ε S at T at bt b
21 Exercícios Propostos 2. Escreva uma gramática capaz de reconhecer cada uma das seguintes linguagens a) Palavras no ={a,b} que terminam em b e começam em a b) Palavras no ={a,b,c,d} em que b é sempre precedido por um a c) Palavras no ={a,b,c,d} que são capicuas e têm um comprimento maior que 1 S T TS T a ab c d S as cs ds ab a c d B bs b
22 Exercícios Propostos 2. Escreva uma gramática capaz de reconhecer cada uma das seguintes linguagens a) Palavras no ={a,b} que terminam em b e começam em a b) Palavras no ={a,b,c,d} em que b é sempre precedido por um a c) Palavras no ={a,b,c,d} que são capicuas e têm um comprimento maior que 1 S ata btb ctc dtd T a b c d S
23 Exercícios Propostos 3. Defina uma gramática capaz de representar uma quantia monetária nas moedas apresentadas na tabela seguinte Euro Moeda Exemplo e12,23; e1,00; e2,35; 23,50EUR Libra 12.50; 22.12; Dólar $25.13; $5.00; $0.30 Escudo 12$50; 25$00; 150$00; 0$50 <MOEDA> <EURO> <LIBRA> <DOLAR> <ESCUDO> <EURO> e<valor>,<cent> <VALOR>,<CENT>EUR <LIBRA> <VALOR>.<CENT> <DOLAR> $<VALOR>.<CENT> <ESCUDO> <VALOR>$<CENT> <VALOR> <NUM> <NUM><VALOR> <CENT> <NUM><NUM> <NUM>
24 Exercícios Propostos 4. Considere uma gramática G=(V,,P,S): S TyBT T xt x B zb a) Defina formalmente a gramática G G=({S,T,B},{x,y,z},P,S) P: { S TyBT T xt x B zb } b) Classifique G, segundo a hierarquia de Chomsky. Justifique. Tipo 2 independente de contexto c) Represente a gramática recorrendo a um AF. Impossivel! Só as gramáticas regulares podem ser representadas com AF
25 Exercícios Propostos 7. Considere uma gramática G tal que: S as Sb ab SS a) Escreva uma expressão regular para reconhecer a linguagem definida pela gramática G, ou seja, L(G). a(a b)*b b) Escreva uma sequência de derivação para aaabb. <S> a<s> aa<s> aa<s>b aaabb c) Classifique a gramática G quanto à ambiguidade. Como vimos de b), <S> a<s> aa<s> aa<s>b aaabb Mas, <S> <S>b a<s>b aa<s>b aaabb Isto é, aaabb tem mais do que uma sequência de derivação. Logo a gramática G é uma GRAMÁTICA AMBIGUA
26 Exercícios Propostos 8. Crie um programa em FLEX, que identifique os tokens presentes em expressões lógicas válidas na seguinte gramática. E E or E E and E E xor E not E (E) ID INT REAL Nota: Um ID representa um identificador (uma letra seguida de letras ou algarismos), INT um número inteiro e REAL um número real. Os espaços, tabs e mudanças de linha devem ser ignorados. Qualquer outro carácter deve originar um erro.
27 Exercícios Propostos 8. %% (OR or) {printf(" OR ");} (AND and) {printf(" AND ");} (XOR xor) {printf(" XOR ");} (NOT not) {printf(" NOT ");} \( {printf(" ABREPAR ");} \) {printf(" FECHAPAR ");} [0-9]+\.[0-9]+ {printf(" REAL ");} [0-9]+ {printf(" INT ");} [a-za-z]([0-9] [a-za-z])* {printf(" ID ");} [ \t] \n. {printf(" ERRO ");} %% main() { yylex(); }
28 Exercícios Propostos 9. Considere a seguinte gramática: S if b then S else S S if b then S S a a) Mostre que a gramática em questão é ambígua (p.e. encontre uma frase que tenha duas árvores sintáticas) Frase: if b then if b then a else a Derivação 1: S if b then S else S if b then if b then S else S if b then if b then a else a Derivação 2: S if b then S if b then if b then S else S if b then if b then a else a b) Escreva uma gramática equivalente não ambígua S A B A if b then A else A a B if b then S if b then A else B
29 Exercícios Propostos 10.Converta o seguinte AF numa gramática. Considere ={a,e,i,o,u} S A B C D E aa es is os us aa eb is os us aa es ic os us aa es is od us aa es is os ue ae ee ie oe ue ε
30 Exercícios Complementares 1. Escreva uma gramática capaz de reconhecer cada uma das seguintes linguagens: i. Palavras em = {a,b,c,d} que começam e terminam em a; S ata a T at bt ct dt ε S at a T at bt ct dt a ii. Números romanos menores que 50. S U D DU D x xx xxx xl U i ii iii iv v vi vii viii ix
31 Exercícios Complementares 2. Considere uma calculadora básica capaz de processar as quatro operações algébricas fundamentais representadas pelos símbolos +,-, *, /, parêntesis e o '-' unitário. I. Escreva uma sintaxe para expressões algébricas válidas nesta calculadora; II. III. Escreva uma árvore de derivação para a expressão: *4. A árvore de derivação que obteve é única? Que problema está aqui em causa? Explique. Adicione as operações: ^ e % à gramática.
32 Exercícios Complementares 4. Converta o seguinte AF numa gramática A ae bb ce de B ac bc C bd D ac be ce dc E ab ε
33 Linguagens e Programação Gramáticas
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
Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07
Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07 Ficha 3 Autómatos Finitos Objectivos: Introdução ao conceito de Autómato Finito e notações utilizadas na sua representação;
Hierarquia de Chomsky Exemplos de gramáticas
Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática. Este
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.
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
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 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
Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha
Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Gramáticas e Definições básicas 1 2 Gramáticas e Linguagens 4 2.1 Gramáticas
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
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:
Definições Hierarquia de Chomsky Exemplos de gramáticas
Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática.
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]
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 é
Apostila 03 - Linguagens Livres de Contexto Exercícios
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
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
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]
Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)
Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Análise Léxica A primeira fase da compilação Recebe os caracteres de entrada do programa e os converte em um fluxo de
Aná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
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
Definições Hierarquia de Chomsky Exemplos de gramáticas
Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática.
Alfabeto, Cadeias, Operações e Linguagens
Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter
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
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
Histórico e motivação
Expressões regulares 1. Histórico e motivação 2. Definição a) Sintaxe b) Semântica c) Precedência dos operadores 3. Exemplos 4. Leis algébricas 5. Dialetos 6. Aplicações 7. Exercícios Pré-requisito: básico
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
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
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
Python e sua sintaxe LNCC UFRJ
Python e sua sintaxe LNCC UFRJ Linguagens naturais e formais Linguagens naturais Linguagem formal Um conjunto finito e não-vazio cujos elementos são símbolos Qualquer cadeia finita de símbolos justapostos
V Análise Sintática. V.1.1 Gramáticas Livres de Contexto Definições de GLC
V Análise Sintática V.1 Fundamentos Teóricos V.1.1 G.L.C V.1.2 Teoria de Parsing V.2 Especificação Sintática de Ling. de Prog. V.3 - Implementação de PARSER s V.4 - Especificação Sintática da Linguagem
Linguagens e Programação Automátos Finitos. Paulo Proença
Linguagens e Programação Automátos Finitos Autómatos finitos Formalismo, que permite representar de uma forma clara, um qualquer processo composto por um conjunto de estados e transições entre esses estados.
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
Plano da aula. Compiladores. Os erros típicos são sintáticos. Análise Sintática. Usando Gramáticas. Os erros típicos são sintáticos
Plano da aula Compiladores Análise sintática (1) Revisão: Gramáticas Livres de Contexto 1 Introdução: porque a análise sintática? Noções sobre Gramáticas Livres de Contexto: Definição Propriedades Derivações
LINGUAGENS 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.
COMPILADORES. 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. [email protected] Legenda: = sigma (somatório) = delta ε = epsilon λ =
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
Linguagens Formais e Autómatos
Parte teórica - Duração: 5 min Nome Número Atenção: Responda às perguntas na folha do enunciado ndique o seu número e nome A prova é sem consulta Cada resposta errada terá uma cotação negativa de 2/3 do
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
Automata e Linguagens Formais
Automata e Linguagens Formais 5 Prof. Carlos H. C. Ribeiro [email protected] Gramáticas A Hierarquia de Chomsky Tipos de gramáticas e linguagens Pré-normalização de GLCs Formas Normais: Chomsky e Greibach
Linguagens e Gramáticas. Linguagens Formais Hierarquia de Chomsky
Linguagens e Gramáticas Linguagens Formais Hierarquia de Chomsky Já vimos que Linguagem é um conjunto de cadeias de símbolos sobre um alfabeto/vocabulário, V. É um subconjunto específico de V*. Estas cadeias
Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais
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
Formas 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)
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:
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
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
As 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
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 2 BNF e Grafo Sintático Prof. Márcio Delamaro [email protected] Como construir
Capítulo 1: Alfabetos, cadeias, linguagens
Capítulo 1: Alfabetos, cadeias, linguagens Símbolos e alfabetos. Um alfabeto é, para os nossos fins, um conjunto finito não vazio cujos elementos são chamados de símbolos. Dessa maneira, os conceitos de
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.
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
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
Folha 3 - Análise léxica
Folha 3 Análise léxica 1. Escrever um programa em FLEX que permite contar o número de ocorrências de uma cadeia de caracteres contida num ficheiro de texto. 2. Escrever um programa em FLEX que permite
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
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
INE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL:
INE5416 Paradigmas de Programação Ricardo Azambuja Silveira INE CTC UFSC E Mail: [email protected] URL: www.inf.ufsc.br/~silveira Conceitos Léxica estudo dos símbolos que compõem uma linguagem Sintaxe
Definições Exemplos de gramáticas
Definições 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 por volta dos anos
Compiladores - Análise Léxica
Compiladores - Análise Léxica Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Introdução Primeiro passo do front-end: reconhecer tokens Tokens são as palavras do programa O analisador léxico
COMPILADORES. 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. [email protected] Data Conteúdo 23/09/2013 3. Análise Sintática: 3.1 analisadores
Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti.
Sintaxe e Semântica George Darmiton da Cunha Cavalcanti ([email protected]) Tópicos Introdução O problema de descrever a sintaxe Métodos formais para descrever a sintaxe Gramáticas de atributos Descrevendo
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
LINGUAGEM 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
Compiladores - Análise Léxica
Compiladores - Análise Léxica Fabio Mascarenhas 2017.2 http://www.dcc.ufrj.br/~fabiom/comp Introdução Primeiro passo do front-end: reconhecer tokens Tokens são as palavras do programa O analisador léxico
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
Introdução à Programação
Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira
Conceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 04 Sintaxe e Semântica Edirlei Soares de Lima Sintaxe e Semântica A descrição de uma linguagem de programação envolve dois aspectos principais:
A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)
DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 2ª chamada - Resolução 2h + 30min 07/Fev/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1
Construção de Compiladores
Construção de Compiladores Parte 1 Introdução Linguagens e Gramáticas F.A. Vanini IC Unicamp Klais Soluções Motivação Porque compiladores? São ferramentas fundamentais no processo de desenvolvimento de
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 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
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 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
Análise Sintática. Fabiano Baldo
Compiladores Análise Sintática Fabiano Baldo Gramáticas Livre de Contexto (GLC) É utilizada na especificação formal lda sintaxe de uma linguagem de programação. É um conjunto de produções ou regras gramaticais
Compiladores. Análise Sintática
Compiladores Análise Sintática Análise Sintática Vejamos um exemplo, seja a seguinte instrução de atribuição: posicao = inicial + incremento * 60 Na análise sintática tenta-se construir uma frase correta
Análise sintática. Análise sintática ascendente. Parte-se dos símbolos terminais em direção ao símbolo inicial da gramática. Derivação mais à direita
Análise sintática Função, interação com o compilador Análise descendente e ascendente Especificação e reconhecimento de cadeias de tokens válidas Implementação Tratamento de erros Prof. Thiago A. S. Pardo
Prof. Adriano Maranhão COMPILADORES
Prof. Adriano Maranhão COMPILADORES LINGUAGENS: INTERPRETADAS X COMPILADAS Resumo: Linguagem compilada: Se o método utilizado traduz todo o texto do programa, para só depois executar o programa, então
Gramáticas Livres de Contexto
Gramáticas Livres de Contexto 25 de novembro de 2011 Definição 1 Uma Regra (ou produção) é um elemento do conjunto V (V Σ). Sendo que V é um conjunto finito de elementos chamados de variáveis e Σ um conjunto
Folha 2 Autómatos e respectivas linguagens
Folha 2 Autómatos e respectivas linguagens 1. Considere a linguagem L formada por todas as sequências sobre o alfabeto { 0, 1, 2 } cujo somatório seja divisível por 3. Construa um autómato finito A que
Compiladores Ficha de exercícios
Compiladores Ficha de exercícios Simão Melo de Sousa Ano lectivo 2004/2005 1 Linguagens Formais: Construir Frases Exercício 1 Para cada uma das gramáticas G seguintes, (a) descreva a linguagem L(G) gerada
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
Capí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
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
