Linguagens Formais e Autômatos (LFA)
|
|
|
- Ronaldo Chaplin Flores
- 10 Há anos
- Visualizações:
Transcrição
1 INF1626 Linguagens Formais e Autômatos (2013- Linguagens Formais e Autômatos (LFA) Aula de 30/10/2013 Autômatos de Pilha Modelo Conceitual; JFLAP Modelos de Implementação: Ruby Clarisse S. de Souza,
2 INF1626 Linguagens Formais e Autômatos (2013- Definição e Modelo Conceitual No JFLAP autômatos de pilha não determinísticos (nondeterministic( pushdown automaton, ou NPDA) como a tupla (Q, Σ, Γ, δ, q s, Z, F) onde: Q é um conjunto finito de estados {q i i é um inteiro não negativo} Σ é um conjunto finito de símbolos s que constituem o alfabeto de entrada Γ é um conjunto finito de símbolos s que constituem o alfabeto da pilha δ é a função de transição ão, δ : Q Σ* Γ* subconjuntos finitos de Q Γ* q s (membro de Q) é o estado inicial Z é o símbolo inicial da pilha (sempre um Z, maiúsculo, no JFLAP) F (subconjunto de Q) é o conjunto de estados finais Esta definição dád conta de autômatos de pilha determinísticos (PDA), que nada mais são do que NPDA s s onde, para cada elemento de δ = Q Σ* Γ* subconjuntos finitos de Q Γ*, a cardinalidade de Q Γ* é 1 (só há um estado para o qual a transição leva). Clarisse S. de Souza,
3 INF1626 Linguagens Formais e Autômatos (2013- Construindo um NPDA com o JFLAP No Tutorial do JFLAP pode-se ver como se construir NPDA s. Veja a ilustração no vídeo v que acompanha o material da aula. veja npda-video1.mp4 No exemplo, o NPDA é construído para a linguagem L = { {a n b n : n > 0}. A opção dos tutores é push um a para a pilha a cada vez que for lido um a na cadeia de entrada e, depois, pop um a para fora da pilha a cada vez que for lido um b na cadeia de entrada. Clarisse S. de Souza,
4 INF1626 Linguagens Formais e Autômatos (2013- Converto um NPDA para CFG com o JFLAP veja npda-video2.mp4 Clarisse S. de Souza,
5 INF1626 Linguagens Formais e Autômatos (2013- Converto LL(k) e LR(k) para PDA no JFLAP veja npda-video3.mp4 e npda-video4.mp4 Clarisse S. de Souza,
6 INF1626 Linguagens Formais e Autômatos (2013- Implementação de Autômatos de Pilha em Ruby (livro-texto, p ) Novas classes: AutomatoPilha AutomatoPilhaDeterministico AutomatoPilhaNaoDeterministico ConsultaAPD MovimentacaoAPD MovimentacaoAPND Pilha ReconhecedorAPD ReconhecedorAPND 6
7 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apd/reconhecedorapd.rb class ReconhecedorAPD < Reconhecedor def instanciarautomato( estadoinicial, estadosfinais = AutomatoPilhaDeterministico.new( estadoinicial, estadosfinais ) def condicaodoautomato?(automato) return (automato.consulta.atingiueof?() && automato.consulta.pilhavazia?()) Obs: este método implementa a aceitação por pilha vazia. Se comentado, a aceitação é por estado final (implementada na classe base) 7
8 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apd/automatopilha.rb class AutomatoPilha < Automato attr_accessor :pilha def = Pilha.new() def adicionartransicao( transicao transicao ) def = FitaLimitada.new() def = ConsultaAPD.new( self ) 8
9 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apd/automatopilhadeterministico.rb class AutomatoPilhaDeterministico < AutomatoPilha def = MovimentacaoAPD.new( self ) Exemplo de transição: { ['q0', 'b', 'Z0'] => ['q1', ['Z0']] } 9
10 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apd/pilha.rb class Pilha def initialize() = ["Z0"] inicial da pilha def pop() def top() def push( lista += lista def vazia?() == [] def configuracao?() return "(" + ")" def clonar() return Clonagem.new().clonar( self ) 10
11 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apd/servico/movimentacaoapd.rb (1) class MovimentacaoAPD < MovimentacaoDeterministica def calcularondadeclones() ondadeclones = {} e s do condicaoesperada, instrucao #tentativa de transicao com consumo de entrada if( condicaoesperada == [ e,s,z ] ) clone ondadeclones[ clone ] = (instrucao << "A") #tentativa de transicao sem consumo de entrada elsif( condicaoesperada == [ e,"",z ] ) clone ondadeclones[ clone ] = instrucao return ondadeclones Indica que deve avançar na fita de entrada 11
12 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apd/servico/movimentacaoapd.rb ( def mover( instrucao instrucao[1] ) if( instrucao.size() > 2 Verifica se o A foi incluído no array (slide anterior) 12
13 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apd/casouso1.rb rpd = ReconhecedorAPD.new( 'q0', ['q1'] ) rpd.automato.adicionartransicao({ ['q0','a','z0'] => ['q0',['z0','c','c'] ]}) rpd.automato.adicionartransicao({ ['q0','a','c'] => ['q0',['c','c','c'] ]}) rpd.automato.adicionartransicao({ ['q0','b','z0'] => ['q1',['z0'] ]}) rpd.automato.adicionartransicao({ ['q0','b','c'] => ['q1',['c'] ]}) rpd.automato.adicionartransicao({ ['q1','c','c'] => ['q1',[] ]}) rpd.automato.adicionartransicao({ ['q1','','z0'] => ['q1',[] ]}) rpd.iniciar( 'aabccc' ) automatos = rpd.analisar() puts rpd.reconheceu?() 13
14 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apnd/reconhecedorapnd.rb class ReconhecedorAPND < Reconhecedor def instanciarautomato( estadoinicial, estadosfinais = AutomatoPilhaNaoDeterministico.new( estadoinicial, estadosfinais ) def condicaodoautomato?(automato) return (automato.consulta.atingiueof?() && automato.consulta.pilhavazia?()) Assim como no APD, define o critério de aceitação 14
15 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apnd/automatopilhanaodeterministico.rb class AutomatoPilhaNaoDeterministico < AutomatoPilha def = MovimentacaoAPND.new(self) Exemplo de transição: { ['q0','a','z0'] => [ ['q1', ['Z0', 'C', 'C']], ['q2', ['Z0', 'C']] ] } 15
16 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apnd/servico/movimentacaoapnd.rb (1) class MovimentacaoAPND < MovimentacaoNaoDeterministica def calcularondadeclones() ondadeclones = {} e s do condicaoesperada, instrucoes #tentativa de transicao com consumo de entrada if( condicaoesperada == [ e, s, z ] ) instrucoes.each do instrucao clone ondadeclones[ clone ] = (instrucao << "A") #tentativa de transicao sem consumo de entrada elsif( condicaoesperada == [ e, "", z ] ) instrucoes.each do instrucao clone ondadeclones[ clone ] = instrucao return ondadeclones Diferença em relação ao APD (não determinismo) 16
17 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apnd/servico/movimentacaoapnd.rb ( def mover( instrucao instrucao[1] ) if( instrucao.size() > 2 Igual a MovimentacaoAPD.mover 17
18 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apnd/casouso1.rb 18
19 INF1626 Linguagens Formais e Autômatos (2013- Arquivo apnd/casouso1.rb rpnd = ReconhecedorAPND.new( 'q0', ['q4'] ) rpnd.automato.adicionartransicao({['q0','a','z0'] => [ ['q1', ['Z0','C','C']], ['q2',['z0','c']] ]}) rpnd.automato.adicionartransicao({['q1','a','c'] => [ ['q1', ['C','C','C']] ]}) rpnd.automato.adicionartransicao({['q1','c','c'] => [ ['q3',[]] ]}) rpnd.automato.adicionartransicao({['q2','a','c'] => [ ['q2',['c','c']] ]}) rpnd.automato.adicionartransicao({['q2','c','c'] => [ ['q3',[]] ]}) rpnd.automato.adicionartransicao({['q3','c','c'] => [ ['q3',[]] ]}) rpnd.automato.adicionartransicao({['q3','','z0'] => [ ['q4',['z0']] ]}) rpnd.iniciar( 'ac' ) automatos = rpnd.analisar() puts rpnd.reconheceu?() 19
Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto
LFA - PARTE 2 Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária João Luís Garcia Rosa LFA-FEC-PUC-Campinas 2002 R. Gregory Taylor: http://starbase.cs.trincoll.edu/~rtaylor/thcomp/
Automatocom Pilha Pushdown Automaton
Automatocom Pilha Pushdown Automaton 1 Algoritmos Recursivos e Pilhas Princípio Geral em Computação: Qualquer algoritmo recursivo pode ser transformado em um não-recursivousando-se umapilhae um while-loop,
Roteiro da Aula 3. Sintaxe. 2 Exemplos. 4 Propriedades de Fechamento. Teoria da. 116360 Aula 3. Roteiro
636 da Finitos Nãoterminísticos Finitos Não-terminísticos Sintaxe Semântica 2 3 4 5 636 Finitos Nãoterminísticos Sintaxe Semântica Não-terminismo Determinístico Exatamente uma trajetória sobre uma w Σ.
Introdução às Máquinas de Turing (TM)
Comparação com computadores: Introdução às Máquinas de Turing (TM) um modelo matemático simples de um computador Semelhanças: lê e escreve em posições arbitrarias de memoria Diferenças: sem limite no tamanho
Autómatos finitos não determinísticos (AFND)
Autómatos finitos não determinísticos (AFND) [HMU00](Cap 2.3) Computações não determinísticas: o estado seguinte não é univocamente determinado pelo estado actual.num autómato finito (não-determínistico):
Informática PUC-Rio. Aula de 14/08/2013. Linguagens e Autômatos Exercícios. cios com JFLAP e Ruby. Clarisse S. de Souza, 2013
Linguagens Formais e Autômatos (LFA) Aula de 14/08/2013 Linguagens e Autômatos Exercícios cios com JFLAP e Ruby 1 Retomando o sistema pq da aula anterior Um sistema com 3 representações apenas: p, q e
Compiladores. Análise léxica. Plano da aula. Vocabulário básico. Motivação para análise léxica. Estrutura de um compilador
Estrutura de um compilador Compiladores Análise lexical (1) Expressões Regulares 1 2 Plano da aula 1. Motivação do uso de E.R. e definições Linguagens, tokens, lexemas... 2. Regras de formação e exemplos
Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz
Autômato com pilha IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz [email protected] Departmento de Computação e Matemática FFCLRP Universidade de São Paulo E.E.S Ruiz (DCM USP)
7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.
Capítulo 7 Autómatos de pilha 7.1. Autómatos de pilha não-determinísticos (NPDA) 7.2. Autómatos de pilha e linguagens livres de contexto 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto
Autômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. http://www.consiste.dimap.ufrn.br/ david/enseignement/2003.
UFRN/DIMAp/DIM0330 Linguagens formais http://www.consiste.dimap.ufrn.br/ david/enseignement/2003.1/dim0330 1/36 Autômatos a pilha David Déharbe UFRN/DIMAp Campus Universitário, Lagoa Nova, 59072-970 Natal,
Lógica Computacional
Aula Teórica 3: Sintaxe da Lógica Proposicional António Ravara Simão Melo de Sousa Departamento de Informática, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa Departamento de Informática,
O que queremos. Processamento Estatístico da Linguagem Natural. Parsing Morfológico. Regras Simples. Adicionando palavras. Regras Derivacionais
Processamento Estatístico da Linguagem Natural Aula 5 Professora Bianca (Sala 302 Bloco E) [email protected] http://www.ic.uff.br/~bianca/peln/ O que queremos Algo que faça automaticamente um mapeamento
Curso de C. Introdução. Copyright @ 2005 by Arnaldo V. Moura e Daniel F. Ferber
Curso de C Introdução Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação Algoritmos Recordando: Algoritmo: conjunto finito
COMPILADORES E INTERPRETADORES
Aula 16 Arquitetura de Computadores 12/11/2007 Universidade do Contestado UnC/Mafra Curso Sistemas de Informação Prof. Carlos Guerber COMPILADORES E INTERPRETADORES Um compilador transforma o código fonte
Lista n 0 1 de Exercícios de Teoria da Computação
Lista n 0 1 de Exercícios de Teoria da Computação UFU-Curso de Bacharelado em Ciência da Computação - 7 0 período Profa. Sandra de Amo Exercícios de Revisão : Autômatos e Gramáticas 1. Mostre que a linguagem
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
a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP
a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP 1 ACP Assim como LR tem um autômato equivalente (AF) as LLC tem também
Máquinas de Turing 1
Máquinas de Turing 1 Agenda Máquinas de Turing (TM) Alan Turing Motivação Tese de Church-Turing Definições Computação Configuração de TM Reconhecedores vs. Decisores 2 Alan Turing Alan Turing é um dos
Prova 1 de INF1626 Linguagens Formais e Autômatos
Prova 1 de INF1626 Linguagens Formais e Autômatos Aluno(a): Matrícula: Atenção: O tempo total de prova é de 110 minutos (09:05 às 10:55). Durante a prova não é permitido o uso de qualquer aparelho eletrônico
Usando um Simulador da Máquina de Turing Claudio Kirner 2010
1. Introdução Usando um Simulador da Máquina de Turing Claudio Kirner 2010 A Máquina de Turing, idealizada por Alan Turing, em 1936, é uma máquina teórica simples capaz de calcular qualquer função matemática.
Faculdade de Computação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra de Amo Solução da Lista de Exercícios n o 6 - Problemas Indecidiveis Exercicio 7-5.5 do
Compiladores - Autômatos
Compiladores - Autômatos Fabio Mascarenhas 2015.1 http://www.dcc.ufrj.br/~fabiom/comp Especificação x Implementação Usamos expressões regulares para dar a especificação léxica da linguagem Mas como podemos
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?
Resumo. Sistemas e Sinais Máquinas de Estados Finitos. Máquina de Estados Finitos. Esta Aula
Resumo Sistemas e Sinais Máquinas de Estados Finitos [email protected] Estrutura das máquinas de estados finitos. Diagrama de estados. Tabela de actualização. Máquinas não-determinísticas. Simulação e bi-simulação.
Autómatos Finitos Determinísticos
Ficha 2 Autómatos Finitos Determinísticos 2.1 Introdução Se olharmos, de forma simplificada, para um computador encontramos três componentes principais: a) A unidade de processamento central b) As unidades
CAPÍTULO 7 AUTÓMATOS DE PILHA
CAPÍTULO 7 AUTÓMATOS DE PILHA 7.1 Introdução 247 7.2 O Autómato de Pilha, PDA-Push Down Automata 247 7.3 Autómatos de Pilha Não-Determinísticos 249 7.4. Autómatos de pilha e linguagens livres de contexto
TRABALHO DE RECUPERAÇÃO Menção máxima = MM
Nome Completo TRABALHO DE RECUPERAÇÃO Menção máxima = MM Rubrica INSTRUÇÕES 1) ATENÇÃO!!! Entregar o trabalho com a resolução das questões totalmente escrita à mão!!! Não será aceita em hipótese alguma
Tutorial Ruby versão 0.3 [email protected] SOBRE O TUTORIAL
SOBRE O TUTORIAL Este tutorial cobre alguns aspectos da linguagem Ruby, mostra de forma simples algumas de suas características através de exemplos e curtas descrições de conceitos, não se propondo ser
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC-0505 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Lista de Exercícios do Capítulo 3 Gramáticas
Programação Aplicada de Computadores 2015/2
Programação Aplicada de Computadores 2015/2 Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Seção 5.1 Problemas indecidíveis Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima 1 Na aula passada... A MT é indecidível (usando diagonalização)
PCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação
PCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação Aula 02 Anarosa Alves Franco Brandão (PCS 2302) Jaime Simão Sichman (PCS 2302) (PCS 2024) Ricardo Luís de Azevedo da Rocha (PCS 2024) Monitores:
6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto
Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para
Ruby e Ruby on Rails
Ruby e Ruby on Rails Universidade Federal de São Carlos Anderson Kenji Mise [email protected] Ruby? linguagem de programação orientada a objetos (tudo é objeto) Ruby on Rails? RoR é um framework para desenvolvimento
Outras Máquinas de Turing
Capítulo 10 Outras Máquinas de Turing 10.1. Pequenas variações da TM padrão 10.2. MT s com dispositivos de armazenamento mais complexos 10.3. MT s não-determinísticas 10.4. A Máquina de Turing Universal
Linguagens Formais e Autômatos (LFA)
Linguagens Formais e Autômatos (LFA) Aula de 09/09/2013 Panorama do Restante da Disciplina 1 Próximo Tópicos da Matéria Linguagens Autômatos Regulares Autômatos Finitos Máquinas de Moore e Mealy Livres
ALP Algoritmos e Programação. . Linguagens para Computadores
ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1 Linguagens para Computadores. Linguagem binária: Dispositivos
Aulas de PHP Criptografia com Cifra de César. Paulo Marcos Trentin [email protected] http://www.paulotrentin.com.br
Aulas de PHP Criptografia com Cifra de César Paulo Marcos Trentin [email protected] http://www.paulotrentin.com.br Cifra de César com ISO-8859-1 A cifra de Cesar existe há mais de 2000 anos. É
Autômatos de Pilha (AP)
Linguagens Formais e Autômatos Autômatos de Pilha (AP) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (h@p://dcc.ufmg.br/~nvieira) Sumário Introdução Autômatos de pilha
Dispositivos de Entrada e Saída
SEL-0415 Introdução à Organização de Computadores Dispositivos de Entrada e Saída Aula 9 Prof. Dr. Marcelo Andrade da Costa Vieira ENTRADA e SAÍDA (E/S) (I/O - Input/Output) n Inserção dos dados (programa)
$XWyPDWRV)LQLWRV'HWHUPLQLVWDV$)' A= (Q, È, G,q 0,F)
&DStWXOR,,$XWyPDWRV)LQLWRV $XWyPDWRV)LQLWRV'HWHUPLQLVWDV$)' 'HILQLomR: Um $XWyPDWR)LQLWR'HWHUPLQLVWD é um quíntuplo ordenado, onde: A= (Q, È, G,q 0,F) Q é um conjunto finito, não vazio, de HVWDGRV, È é
Apostila 03 Linguagens Livres de Contexto
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
Programação de Computadores
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Programação de Computadores Um pouco de diversão - libgosu O exemplo desenvolvido nesta apresentação é o mesmo do tutorial GOSU,
Autômatos com Pilha. Douglas O. Cardoso docardoso.github.io
Autômatos com Pilha [email protected] docardoso.github.io Autômatos com Pilha 1/18 Roteiro 1 Autômatos com Pilha 2 APDs 3 APNs Autômatos com Pilha 2/18 Roteiro 1 Autômatos com Pilha 2 APDs 3
Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto
Computabilidade 2012/2013 Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Capítulo 1 Computabilidade 1.1 A noção de computabilidade Um processo de computação
Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.
LFA Aula 04 Autômatos Finitos 16/11/2016 Celso Olivete Júnior [email protected] 1 Classificação das Linguagens segundo Hierarquia de Chomsky Máquina de Turing Máquina de Turing com fita limitada Autômato
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
2 Formalidades referentes ao trabalho
Bacharelado em Ciência da Computação DINF / UFPR Projetos Digitais e Microprocessadores 1 o Semestre de 2006 MICO-v12.r0 07/03/2006 Profs. Luis Allan Künzle e Armando Luiz Nicolini Delgado Atenção: Este
DAS5102 Fundamentos da Estrutura da Informação
Pilhas A estrutura de dados Pilha emula a forma de organização de objetos intuitiva que é utilizada diariamente nos mais diversos contextos da vida humana. Containeres são empilhados e desempilhados diariamente
Um compilador é um programa que lê um programa escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num programa equivalente
Capítulo 1 Introdução Um compilador é um que lê um escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num equivalente numa outra linguagem, a linguagem destino Como parte importante neste
Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).
Alfabeto e palavras Alfabeto conjunto finito de símbolos (Σ). {A,...,Z}, {α, β,... }, {a,b}, {0,1}, ASCII Palavra de Σ sequência finita de símbolos do alfabeto Σ Σ = {a, b} aabba a aaaaaaaa Comprimento
PYTHON LISTAS. Introdução à Programação SI2
PYTHON LISTAS Introdução à Programação SI2 3 Sequências Sequências! Podem ser indexados por algum valor ordinal posicional Algumas operações são aplicadas a todos os tipos de sequências. Listas li = [1,2,3,
Teoria da Computação Linguagens Formais e Autômatos
1 Prof. Diógenes Furlan Teoria da Comutação Linguagens Formais e Autômatos Módulo 2 2015 2 Autômato de Pilha Modelo reconhecedor de alavras ara LLCs. Modelo da Máuina fita de entrada cabeça de leitura
NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann
Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von
Autómatos de Pilha e Linguagens Livres de Contexto
Folha Prática Autómatos de Pilha e Linguagens Livres de Contexto 1 Autómatos de Pilha e Linguagens Livres de Contexto Autómatos de Pilha Não Determinísticos (APND) 1. Considere a seguinte tabela de transição
Templates e Pilhas. 1. Introdução
Templates e Pilhas 1. Introdução Templates ou Generics é considerado uma forma de polimorfismo [1]. É uma forma de programar onde o tipo do dado não é considerado. Programa-se para um tipo de dado indefinido.
Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.
Autómatos de Pilha Um autómato de pilha (não determinístico) (AP) é um autómato finito não determinístico com transições ɛ, acrescido de uma memória infinita a pilha mas em que o modo de acesso à informação
Aula 7: Autômatos com Pilha
Teoria da Computação Segundo Semestre, 2014 Aula 7: Autômatos com Pilha DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos adicionar um memória do tipo pilha ao nossos autômatos para que seja possível aceitar
INF 1005 Programação I
INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou
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
Modelagem de uma Vending Machine utilizando um Autômato Finito com Saída
Modelagem de uma Vending Machine utilizando um Autômato Finito com Saída Ailton Sérgio Bonifácio Yandre Maldonado e Gomes da Costa Mestrado em Ciência da Computação - FACCAR/UFRGS [email protected], [email protected]
Listas Duplamente Encadeadas
Listas Duplamente Encadeadas! quando for preciso seguir a seqüência de elementos em ambos os sentidos! cada nó possui dois ponteiros: ant e prox ant prox a b c d Início Fim 1 Listas Duplamente Encadeadas
Aluísio Eustáquio da Silva
1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que
ESTRUTURA DE DADOS PILHA
ESTRUTURA DE DADOS PILHA CONCEITO DE PILHAS - Pilhas são listas lineares onde a inserção de um novo item ou a remoção de um item já existente se dá em uma única extremidade, no topo. Pilha vazia Insere(A)
Pilhas. Profa Morganna Diniz
Pilhas Profa Morganna Diniz Pilhas Geralmente pilhas são úteis em situações em que dados devem ser recuperados em ordem inversa a do armazenamento É uma estrutura de dados linear que permite acesso por
www.ead.unifei.edu.br/index.php?option=com_content&view=article&id=56&itemid=98 www.ispringsolutions.com/products/ispring_free.
Neste tutorial serão apresentados os passos para elaboração de Agendas e Dinâmicas de Curso, para serem incluídas no AVA TelEduc, usando os softwares ispring Free 4.3 e Microsoft PowerPoint 2007. O ispring
Software Básico (INF1018)
Software Básico (INF1018) http://www.inf.puc-rio.br/~inf1018 Noemi Rodriguez ([email protected]) Ana Lúcia de Moura ([email protected]) 1 Objetivo do curso Entender como funciona um computador típico,
Arquitetura de Computadores - Princípio de Funcionamento da CPU. Por Helcio Wagner da Silva
Arquitetura Computadores - Princípio Funcionamento da CPU Por Helcio Wagner da Silva Arquitetura Von Neumann Memória Principal CPU ULA UC Dispositivo E/S ULA : Unida Lógica Aritmética UC : Unida Controle
PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 5 - O NÍVEL DA LINGUAGEM DE MONTAGEM 1. INTRODUÇÃO É relativamente fácil compreender os fundamentos da programação de computadores, sob o ponto de vista da inteligibilidade dos comandos de alto
Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo
INF01040 Introdução à Programação Introdução à Lógica de Programação s Seqüenciais Sumário Elaboração de um programa/algoritmo Formas de representação de um algoritmo Elementos manipulados em um programa/algoritmo
Programação 1. Rafael Vargas Mesquita. http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/
Programação 1 Rafael Vargas Mesquita http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/ Definições Básicas Lógica de programação é a técnica de desenvolver algoritmos (sequências
Bruno Jurkovski Lucas Fialho Zawacki. Site do curso: www.inf.ufrgs.br/pet/cursos/ruby
Bruno Jurkovski Lucas Fialho Zawacki Site do curso: www.inf.ufrgs.br/pet/cursos/ruby Recapitulando... Escopos Constantes Tipagem Métodos Input Estruturas de Controle e Repetição Classes Nativas Blocos
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
ARQUITETURA DE COMPUTADORES INTRODUÇÃO
CURSO TÉCNICO DE REDES DE COMPUTADORES Disciplina de Arquitetura de Computadores Juliana Cristina dos Santos ARQUITETURA DE COMPUTADORES INTRODUÇÃO Processamento de Dados Computador máquina capaz de coletar,
UFRPE Prof. Gustavo Callou [email protected]
UFRPE Prof. Gustavo Callou [email protected] 1 Algoritmos Representação Exercícios Linguagens de Programação Compilador Interpretador Ambiente de Desenvolvimento Python Característica Para que serve Onde
ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa
ARQUITETURA DE COMPUTADORES 1 Rogério Spindula Rosa 2 EXECUÇÃO DE PROGRAMAS PROGRAMA 3 4 INTRODUÇÃO Hoje é raro escrever um programa diretamente em linguagem de computador em virtude da enorme dificuldade
Linguagens Formais e Autômatos
Linguagens Formais e Autômatos Hisham Muhammad [email protected] PUC-Rio Sobre o professor Hisham H. Muhammad MSc. em Informática pela PUC-Rio Doutorando na área de Linguagens de Programação Grupo do LabLua,
1 Autómatos finitos deterministas
1 Autómatos finitos deterministas 1.1 Autómato finito determinista Um alfabeto é um conjunto finito. Uma linguagem sobre um alfabeto I é um subconjunto de I. Usa-se simplesmente a designação linguagem
Linguagens Formais e Autômatos (LFA)
Linguagens Formais e Autômatos (LFA) Aula de 19/08/2013 Símbolos, Cadeias, Linguagens Propriedades e Representações Formais de Interesse 1 Nota preliminar ( O conceito de decomposição e suas representações
QUITETURA AVANÇADA DE SISTEMAS
QUITETURA AVANÇADA DE SISTEMAS ICARDO MENDÃO SILVA RMSILVA AT UAL DOT PT MARÇO 2015 AAS OUTLINE INTRODUÇÃO COMENTÁRIOS VARIÁVEIS OPERADORES IF STATEMENT FUNÇÕES CICLO FOR CICLO WHILE STRINGS LISTAS TUPLAS
História. Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega.
1 1. Overview 2 História Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega. Matz procurava por uma linguagem de script orientada a objetos. A primeira versão estável de Ruby (1.2) foi
UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA. Ghabriel Calsa Nunes SIMULADOR DE AUTÔMATOS E MÁQUINAS DE TURING
UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA Ghabriel Calsa Nunes SIMULADOR DE AUTÔMATOS E MÁQUINAS DE TURING Florianópolis 2017 Ghabriel Calsa Nunes SIMULADOR DE AUTÔMATOS
Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais
Objetivos da UML Introdução a UML [email protected] Uma linguagem para: Visualizar Especificar Construir Documentar... e analisar. Desenvolvimento dirigido a modelos 2 Construções básicas Organizadas em
Marcos Castilho. DInf/UFPR. 5 de abril de 2018
5 de abril de 2018 Autômatos com Pilha Não-Determinísticos Um Autômato com Pilha Não-Determinístico (APN) é uma sêxtupla (Q, Σ, Γ, δ, Q 0, F ), onde: Q, Σ, Γ, F são como nos APD s; δ : Q (Σ {λ}) (Γ {λ})
