Teoria da Computação Prof. Msc. Ricardo Loiola

Slides:



Advertisements
Apresentações semelhantes
Informática Teórica Engenharia da Computação
Advertisements

Gramáticas Livres de Contexto
COMPILADORES 04 Prof. Marcos.
O que é Inteligência Artificial O que é IA A inteligência artificial é um ramo de pesquisa da ciência da computação que busca, através de símbolos computacionais,
Linguagens de Programação Conceitos e Técnicas Valores e Tipos de Dados Prof. Isabel Cafezeiro
Compiladores - Introdução. O que é um Compilador? “Um compilador é um programa que lê um programa escrito em uma linguagem (linguagem fonte) e a traduz.
Lógica de Programação Aula 25 Prof. Auler Gomes. Introdução - subrotina Muitos problemas grandes ou nem tão grandes, mas de solução mais complexa podem.
Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de dados Oracle Wagner da Silva Orientando Prof. Alexander Roberto Valdameri.
Reconhecimento de Padrões Métodos Sintático e Estrutural Disciplina: Tópicos em Inteligência Artificial Prof. Josué Castro.
Administração de Sistemas Operacionais 1 -Windows Processos Curso Técnico em Redes de Computadores Prof. Emerson Felipe.
Lógica para Computação (IF61B) Lógica para Computação: Especificação de Programas Prof. Celso Antônio Alves Kaestner, Dr. Eng.
Ferramenta Web para testes de fórmulas matemáticas Kauê da Silva Vieira Orientador: Aurélio Faustino Hoppe.
Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador.
Resolução de Problemas por Meio da Matemática. Competência X Habilidade Competência: capacidade de realização de ações complexas; Habilidade: associada.
Algoritmos e Programação utilizando Visualg
Note 2B – Plano de Liberações
Casamento de Padrão Aproximado e Compressão de Huffaman
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA PROJETO PIBEG Unidade IV Interpolação Polinomial.
Projeto de Compiladores
Diagrama de estado Higo Vale Kleber Baingo
Algoritmos e Estruturas de Dados I
Construção de Compiladores
Algoritmos e Estruturas de Dados I Prof. Dsc. Alex F. V. Machado
Sistemas de Controle III N8SC3
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Laboratório de Computação I
Linguagem Natural, Linguagem Artificial e Linguagem Documentária
Acadêmica: Rosana Ittner Prof. Orientador: Dr. Oscar Dalfovo
ab LÓGICA DE PROGRAMAÇÃO ab
GERAÇÃO DE CÓDIGO PARA A MÁQUINA VIRTUAL DE RÓTULOS
Análise de Algoritmo Profº Me. Jeferson Bussula Pinheiro
Prof. Wellington Franco
Programação Lógica: PROLOG
Diagrama de Atividade Prof. Thales Castro.
FUNDAMENTOS DE PROGRAMAÇÃO
Introdução à Programação BCC 201 Aula
Linguística gerativa: Desenvolvimento e Perspectivas uma Entrevista com Noam Chomsky Na Linguística e na Filosofia, geralmente as pessoas estão interessadas.
LINGUAGENS FORMAIS E AUTÔMATOS ... tentando usar ensino híbrido ...
Introdução instrumental às Linguagens Formais
Análise do Discurso Fundada por Michel Pêreux, na década de 60, a Escola Francesa de Análise do Discurso tinha a proposta de substituir a Análise de Conteúdo.
Modelagem de Sistemas I Aula 1 – Introdução à UML
COMPILADORES 06 Prof. Marcos.

Teoria dos Conjuntos.
BANCO DE DADOS I.
3. Sintaxe e Semântica.
Aula 22 Modularização 22/10/08.
Instituto Federal de Santa Catarina
ELEMENTOS DE ORGANIZAÇÃO DE COMPUTADORES :
Programação Estruturada Aula 1 Prof. Jorge Barreto Julho 2018.
MARKETING III A5 – PESQUISA DE MERCADO III.
Linguagem de Programação
Melissa Figueira Fagundes
Traduções Dirigidas por Sintaxe
Introdução instrumental às Linguagens Formais
CONJUNTOS.
Compiladores, Aula Nº 5 João M. P. Cardoso
Professora Roberta Bonamichi Guidi Garcia
Prof.: Bruno Rafael de Oliveira Rodrigues
Linguagem de Programação I
Linguagem Natural, Linguagem Artificial e Linguagem Documentária
Projeto e Análise de Algoritmos
Apresentação da Disciplina Disciplina: Linguagens de Programação Prof. Antonio Oseas.
Paradigma de Orientação a Objetos
Prof. Marcio Ferreira Modelagem de dados II
Linguagem Natural, Linguagem Artificial e Linguagem Documentária
Campo semântico e campo lexical
Análise Sintática (parte 1) “Pois o salário do pecado é a morte, mas o dom gratuito de Deus é a vida eterna em Cristo Jesus, nosso Senhor.” (Romanos 6:23)
Momento Crítico Onde o Seguro Deixar de Ser Custo.
Introdução instrumental às Linguagens Formais
Transcrição da apresentação:

Teoria da Computação Prof. Msc. Ricardo Loiola Instituto de Ciências Exatas e tecnológicas Ciência da Computação Universidade Paulista/ UNIP Teoria da Computação – Prof. Msc. Ricardo Loiola

Teoria da computação: Linguagens Formais e Autômatos Por: P. Blauth Menezes Introdução e Conceitos Básicos Linguagens e Gramáticas Linguagens Regulares Propriedades das Linguagens Regulares Autômato Finito com Saída Linguagens Livres do Contexto Propriedades e Reconhecimento das Linguagens Livres do Contexto Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto Hierarquia de Classes e Linguagens e Conclusões

1 – Introdução e Conceitos Básicos Sintaxe e Semântica Abordagem Conjuntos, Relações e Funções Noções de Lógica Técnicas de Demonstração Indução

1 – Introdução e Conceitos Básicos

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

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

1 – Introdução e Conceitos Básicos Sintaxe e Semântica Abordagem Conjuntos, Relações e Funções Noções de Lógica Técnicas de Demonstração Indução

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

Teoria da sintaxe possui construções matemáticas 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

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 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

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

1 – Introdução e Conceitos Básicos Sintaxe e Semântica Abordagem Conjuntos, Relações e Funções Noções de Lógica Técnicas de Demonstração Indução

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

Operacional Autômato ou uma máquina abstrata 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"

Principais máquinas Autômato Finito Autômato com Pilha Máquina de Turing

Axiomático Associam-se regras Regras permitem afirmar à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"

Abordagem é sobre Gramáticas Regulares Livres do Contexto Sensíveis ao Contexto Irrestritas

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

1 – Introdução e Conceitos Básicos Sintaxe e Semântica Abordagem Conjuntos, Relações e Funções Noções de Lógica Técnicas de Demonstração Indução 20

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