Linguagens Formais e Autômatos P. Blauth Menezes

Documentos relacionados
Linguagens Formais e Autômatos P. Blauth Menezes

IBM1088 Linguagens Formais e Teoria da Computação

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais

Linguagens Formais e Autômatos. Conceitos Básicos Prof. Anderson Belgamo

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos P. Blauth Menezes

Introdução Definição Conceitos Básicos de Linguagem

Hierarquia de Chomsky e sua relação com os autômatos

I.2 Introdução a Teoria da Computação

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Teoria da Computação

Linguagens Formais e Autômatos P. Blauth Menezes

FOLHA DE PROVA. Descreva e ilustre, com um exemplo, o algoritmo de minimização de um autômato.

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

PLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO

Linguagens Formais e Autômatos P. Blauth Menezes

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERALRURAL DO RIO DE JANEIRO Instituto Multidisciplinar Departamento de Ciência da Computação

Matemática Discreta para Ciência da Computação

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Funções Recursivas. Prof.: Edson Holanda Teoria da computação - Diverio e Menezes

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

Introdução à Programação

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

FACULDADE LEÃO SAMPAIO

INE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL:

Matemática Discreta para Ciência da Computação

Linguagens Formais e Autômatos P. Blauth Menezes

LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

Linguagens Formais e Autômatos

Linguagens Regulares. Prof. Daniel Oliveira

PLANO DE APRENDIZAGEM

Revisão: linguagens de programação

Teoria da Computação Aula 02 Introdução

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Instituto de Informática Departamento de Informática Teórica

Gramáticas Livres de Contexto

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang

Máquinas de Turing - Computabilidade

Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)

Paradigmas de Programação

Matemática Discreta para Computação e Informática

Construção de Compiladores Aula 16 - Análise Sintática

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

SEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica

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 e Autômatos P. Blauth Menezes

INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas

BACHARELADO EM SISTEMAS DE INFORMAÇÃO MATEMÁTICA DISCRETA Aula 1 - Apresentação da disciplina

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

Universidade Federal de Alfenas

UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

INE5622 INTRODUÇÃO A COMPILADORES

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

CAP. VI ANÁLISE SEMÂNTICA

COORDENAÇÃO DO CURSO DE ENGENHARIA ELÉTRICA DATAS DAS AVALIAÇÕES DO PERÍODO LETIVO 2017/1

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Turma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min

Teoria da Computação (BBC244)

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERALRURAL DO RIO DE JANEIRO Instituto Multidisciplinar Departamento de Ciência da Computação

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

LINGUAGENS FORMAIS E AUTÔMATOS

Linguagens Livres do Contexto. Adaptado de H. Brandão

Teoria da Computação. Computabilidade e complexidade computacional

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.

Especificações Gerais do Compilador e Definição de FRANKIE

SIMULADOR DE AUTÔMATOS FINITOS DETERMINÍSTICOS - AUTOMATOGRAPH 1 DETERMINISTIC FINITE AUTOMATA SIMULATOR - AUTOMATOGRAPH

Análise Léxica. Fundamentos Teóricos. Autômatos Finitos e Conjuntos Regulares (cap. III da apostila de Linguagens Formais e Compiladores)

Como construir um compilador utilizando ferramentas Java

Matemática Discreta para Ciência da Computação

Universidade Federal de Alfenas

Universidade Federal de Alfenas

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

Linguagens Formais e Autômatos P. Blauth Menezes

SCC-5832 Teoria da Computação

Semântica Denotacional

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

INTRODUÇÃO AOS SISTEMAS LÓGICOS

Apresentação. !! Familiarização com os métodos de construção de compiladores de linguagens e com as técnicas de compilação mais habituais.

Implementação do Analisador Léxico

Editor de Autômatos Finitos. Acadêmica: Josiane Patrícia Morastoni Orientadora: Joyce Martins

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Linguagens Formais e Problemas de Decisão

Transcrição:

Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes 1

Linguagens Formais e Autômatos P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Linguagens e Gramáticas 3 Linguagens Regulares 4 Propriedades das Linguagens Regulares 5 Autômato Finito com Saída 6 Linguagens Livres do Contexto 7 Propriedades e Reconhecimento das Linguagens Livres do Contexto 8 Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 9 Hierarquia de Classes e Linguagens e Conclusões Linguagens Formais e Autômatos - P. Blauth Menezes 2

1 Introdução e Conceitos Básicos 1.1 Introdução 1.1.1 Sintaxe e Semântica 1.1.2 Abordagem 1.2 Conjuntos, Relações e Funções 1.3 Noções de Lógica 1.4 Técnicas de Demonstração 1.5 Indução Linguagens Formais e Autômatos - P. Blauth Menezes 3

1 Introdução e Conceitos Básicos Linguagens Formais e Autômatos - P. Blauth Menezes 4

1.1 Introdução Teoria das Linguagens Formais desenvolvida na década de 1950 objetivo inicial desenvolver teorias relacionadas com as linguagens naturais entretanto, logo foi verificado que era importante estudo de linguagens artificiais em especial, para as linguagens originárias da Computação e Informática desde então, desenvolveu-se significativamente Linguagens Formais e Autômatos - P. Blauth Menezes 5

Exemplos de aplicações análise léxica e análise sintática de linguagens de programação modelagem de circuitos lógicos ou redes lógicas modelagem de sistemas biológicos Mais recentemente animações hipertextos e hipermídias linguagens não-lineares planares espaciais n-dimensionais Linguagens Formais e Autômatos - P. Blauth Menezes 6

1 Introdução e Conceitos Básicos 1.1 Introdução 1.1.1 Sintaxe e Semântica 1.1.2 Abordagem 1.2 Conjuntos, Relações e Funções 1.3 Noções de Lógica 1.4 Técnicas de Demonstração 1.5 Indução Linguagens Formais e Autômatos - P. Blauth Menezes 7

1.1.1 Sintaxe e Semântica Linguagens Formais problemas sintáticos das linguagens Importante apresentar os conceitos de sintaxe e semântica Historicamente, o problema sintático reconhecido antes do problema semântico primeiro a receber um tratamento adequado tratamento mais simples que os semânticos Linguagens Formais e Autômatos - P. Blauth Menezes 8

Conseqüência grande ênfase à sintaxe levando à idéia de que questões das linguagens de programação resumiam-se às questões da sintaxe Teoria da sintaxe possui construções matemáticas bem definidas e universalmente reconhecidas exemplo: Gramáticas de Chomsky Linguagens Formais e Autômatos - P. Blauth Menezes 9

Linguagem de programação (ou qq modelo matemático) pode ser vista como uma entidade livre, sem qualquer significado associado juntamente com uma interpretação do seu significado Sintaxe trata das propriedades livres da linguagem exemplo: verificação gramatical de programas Semântica objetiva dar uma interpretação para a linguagem exemplo: significado ou valor para um determinado programa Linguagens Formais e Autômatos - P. Blauth Menezes 10

Conseqüentemente, a sintaxe: manipula símbolos sem considerar os seus correspondentes significados Mas, para resolver qualquer problema real necessário dar uma interpretação semântica aos símbolos exemplo: estes símbolos representam os inteiros Sintaticamente "errado" não existe tal noção de programa simplesmente não é um programa da linguagem Sintaticamente válido ("correto") pode não ser o programa que o programador esperava escrever Linguagens Formais e Autômatos - P. Blauth Menezes 11

Programa "correto" ou "errado" se o mesmo modela adequadamente o comportamento desejado Limites entre a sintaxe e a semântica nem sempre são claros exemplo: ocorrência de um nome em um programa entretanto, em linguagens artificiais distinção entre sintaxe e semântica é (em geral) óbvia Análise léxica tipo especial de análise sintática centrada nas componentes básicas da linguagem portanto, também é ênfase das Linguagens Formais Linguagens Formais e Autômatos - P. Blauth Menezes 12

1 Introdução e Conceitos Básicos 1.1 Introdução 1.1.1 Sintaxe e Semântica 1.1.2 Abordagem 1.2 Conjuntos, Relações e Funções 1.3 Noções de Lógica 1.4 Técnicas de Demonstração 1.5 Indução Linguagens Formais e Autômatos - P. Blauth Menezes 13

1.1.2 Abordagem Centrada no tratamento sintático linguagens lineares abstratas com fácil associação às linguagens da Computação e Informática Clasificação dos formalismos Operacional Axiomático Denotacional Linguagens Formais e Autômatos - P. Blauth Menezes 14

Operacional Autômato ou uma máquina abstrata estados instruções primitivas especificação de como cada instrução modifica cada estado Máquina abstrata suficientemente simples para não permitir dúvidas sobre a execução de seu código Também é dito um formalismo Reconhecedor análise de uma entrada para verificar se é "reconhecida" Linguagens Formais e Autômatos - P. Blauth Menezes 15

Principais máquinas Autômato Finito Autômato com Pilha Máquina de Turing Linguagens Formais e Autômatos - P. Blauth Menezes 16

Axiomático Associam-se regras às componentes da linguagem Regras permitem afirmar o que será verdadeiro após a ocorrência de cada cláusula considerando-se o que era verdadeiro antes da ocorrência Também é dito um formalismo Gerador verifica se um elemento da linguagem é "gerado" Linguagens Formais e Autômatos - P. Blauth Menezes 17

Abordagem é sobre Gramáticas Regulares Livres do Contexto Sensíveis ao Contexto Irrestritas Linguagens Formais e Autômatos - P. Blauth Menezes 18

Denotacional Ou Funcional Define-se um domínio caracteriza o conjunto de palavras admissíveis na linguagem funções, em geral, composicionais (horizontalmente) valor denotado por uma construção especificado em termos dos valores denotados por suas subcomponentes Abordagem restrita às Expressões Regulares Também é dito um formalismo Gerador é simples inferir ("gerar") as palavras da linguagem Linguagens Formais e Autômatos - P. Blauth Menezes 19

1 Introdução e Conceitos Básicos 1.1 Introdução 1.1.1 Sintaxe e Semântica 1.1.2 Abordagem 1.2 Conjuntos, Relações e Funções 1.3 Noções de Lógica 1.4 Técnicas de Demonstração 1.5 Indução Linguagens Formais e Autômatos - P. Blauth Menezes 20

Linguagens Formais e Autômatos P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Linguagens e Gramáticas 3 Linguagens Regulares 4 Propriedades das Linguagens Regulares 5 Autômato Finito com Saída 6 Linguagens Livres do Contexto 7 Propriedades e Reconhecimento das Linguagens Livres do Contexto 8 Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 9 Hierarquia de Classes e Linguagens e Conclusões Linguagens Formais e Autômatos - P. Blauth Menezes 21