Compiladores. Geração de Código Intermediário
|
|
|
- Teresa Carvalhal Coradelli
- 10 Há anos
- Visualizações:
Transcrição
1 Compiladores Geração de Código Intermediário Cristiano Lehrer, M.S.
2 Atividades do Compilador Arquivo de origem Arquivo de destino Análise Otimização Geração de Código Intermediário Geração de Código Final Síntese Gramátias Estruturas Internas Compilador
3 Introdução A geração de ódigo intermediário é a transformação da árvore de derivação em um segmento de ódigo. Esse ódigo pode, eventualmente, ser o ódigo ojeto final, mas, na maioria das vezes, onstitui-se num ódigo intermediário. A grande diferença entre o ódigo intermediário e o ódigo ojeto final é que o intermediário não espeifia detalhes da máquina alvo, tais omo quais registradores serão usados, quais endereços de memória serão refereniados, entre outros detalhes físios da máquina alvo.
4 Vantagens e Desvantagens Vantagens da geração de ódigo intermediário: Possiilita a otimização do ódigo intermediário, de modo a oterse o ódigo ojeto final mais efiiente. Simplifia a implementação do ompilador, resolvendo, gradativamente, as difiuldades da passagem de ódigo fonte para ojeto (alto nível para aixo nível), já que o ódigo fonte pode ser visto omo um texto ondensado que explode em inúmeras instruções elementares de aixo nível. Possiilita a tradução do ódigo intermediário para diversas máquinas. Desvantagens da geração de ódigo intermediário: O ompilador requer um passo a mais, pois a tradução direta do ódigo fonte para ojeto leva a uma ompilação mais rápida.
5 Linguagens Intermediárias Os vários tipos de ódigo intermediário fazem parte de uma das seguintes ategorias: Representações gráfias: Árvore e grafo de sintaxe. Notação pós-fixada ou pré-fixada. Código de três endereços: Quádruplas e triplas.
6 Árvore e Grafo de Sintaxe (1/4) Uma árvore de sintaxe é uma forma ondensada de árvore de derivação na qual somente os operandos da linguagem apareem omo folhas: Os operandos onstituem nós interiores da árvore. Outra simplifiação da árvore de sintaxe é que adeias de produções simples (por exemplo, A B, B C) são eliminadas. Um grafo de sintaxe, além de inluir as simplifiações da árvore de sintaxe, faz a fatoração das suexpressões omuns, eliminando-as.
7 Árvore e Grafo de Sintaxe (2/4) G = ({S, A, B, C}, {a,,, +, *, =}, P, S) P = { < S > < C > = < A > < A > < A > + < B > < B > < B > < B > * < C > < C > < C > a } < S > < C > = < A > Árvore de derivação a = * + * a < A > + < B > < B > < B > * < C > < B > * < C > < C > < C >
8 Árvore e Grafo de Sintaxe (3/4) Árvore de derivação a = * + * < S > Árvore de sintaxe a = * + * = < C > = < A > a + a < A > + < B > * * < B > < B > * < C > < B > * < C > < C > < C >
9 Árvore e Grafo de Sintaxe (4/4) Árvore de sintaxe a = * + * Grafo de sintaxe a = * + * = = a + a + * * *
10 Notações Pós-fixada e Pré-fixada (1/4) Se E 1 e E 2 são expressões pós-fixadas e q é um operador inário, então, E 1 E 2 q é a representação pós-fixada para a expressão E 1 q E 2. Se E 1 e E 2 são expressões pré-fixadas e q é um operador inário, então, q E 1 E 2 é a representação pré-fixada para a expressão E 1 q E 2. Notações pós e pré-fixadas podem ser generalizadas para operadores n-ários.
11 Notações Pós-fixada e Pré-fixada (2/4) Notação Infixada Pós-fixada Pré-fixada (a + ) * a+* *+a a * ( + ) a+* *a+ a + * a*+ +a* (a + ) * Pós ordem Pré ordem * * 5 * a a 1 2 a 3 4
12 Notações Pós-fixada e Pré-fixada (3/4) Para a avaliação de expressões pós-fixadas, pode-se utilizar uma pilha e um proesso que age do seguinte modo: Lê a expressão da esquerda para a direita, empilhando ada operando até enontrar um operador. Enontrando um operador n-ário, aplia o operador aos n operandos do topo da pilha. Proessamento semelhante pode ser apliado para a avaliação de expressões pré-fixadas: Nesse aso, a expressão é lida da direita para a esquerda.
13 Notações Pós-fixada e Pré-fixada (4/4) Exeução de expressões pós-fixadas a+* +* +* * * a a x x y Exeução de expressões pré-fixadas *+a *+a *+a *+ * a x y
14 Código de Três Endereços (1/4) No ódigo intermediário de três endereços, ada instrução faz referênia, no máximo, a três variáveis (endereços de memória). As instruções dessa linguagem são as seguintes: A := B op C A := op B A := B goto L if A oprel B goto L Onde A, B e C representam endereços de variáveis. op representa operador (inário ou unário). oprel representa operador relaional. L representa o rótulo de uma instrução intermediária.
15 Código de Três Endereços (2/4) Exemplo A := X + Y * Z T1 := Y * Z T2 := X + T1 A := T2 onde T1 e T2 são variáveis temporárias. Um ódigo de três endereços pode ser implementado através de quádruplas ou triplas.
16 Código de Três Endereços (3/4) As quádruplas são onstituídas de quatro ampos: Um operador, dois operandos e um resultado. Exemplo A := B * (-C + D) oper arg1 arg2 result (0) -u C T1 (1) + T1 D T2 (2) * B T2 T3 (3) := T3 A
17 Código de Três Endereços (4/4) As triplas são formadas por: Um operador e dois operandos. Essa representação utiliza ponteiros para a própria estrutura, evitando a nomeação explíita de temporários. Exemplo A := B * (-C + D) oper arg1 arg2 (0) -u C (1) + (0) D (2) * B (1) (3) := A (2)
UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE
UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMPILADORES PROFESSOR: JOHNI DOUGLAS MARANGON Back-End Compilação 1. Compilação etapa Back-end
Síntese. Compiladores. Geração de código intermediário. Linguagens Intermediárias. Modelo Clássico. Linguagens Intermediárias. Código intermediário
Síntese Compiladores Código intermediário 1 Os assuntos apresentados trazem respostas às perguntas seguintes: 1. Pode a memória ser alocada dinamicamente? 2. Pode a memória ser liberada explicitamente?
Geração de código intermediário. Novembro 2006
Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas
Organização de Computadores 1
Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).
TÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Estrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como
Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli
Banco de Dados I 2007 Módulo V: Indexação em Banco de Dados (Aulas 1, 2 e 3) Clodis Boscarioli Agenda: Estruturas de Índices; Conceitos; Tipos de Índices: Primários; Secundários; Clustering; Multiníveis;
Faculdade de Computação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra Aparecida de Amo Lista de Exercícios n o 2 Exercícios sobre Modelos de Máquinas de Turing
Nome:...N o...turma:... Data: / / ESTUDO DOS GASES E TERMODINÂMICA
Ensino Médio Nome:...N o...turma:... Data: / / Disciplina: Física Dependência Prof. Marcelo Vettori ESTUDO DOS GASES E TERMODINÂMICA I- ESTUDO DOS GASES 1- Teoria Cinética dos Gases: as moléculas constituintes
Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO
Geração de código Ivan Ricarte 2008 Sumário Geração de código intermediário Código de três endereços Notação pós-fixa Otimização de código Heurísticas de otimização Geração de código em linguagem simbólica
Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira [email protected] http://www.brunovilela.webnode.com.br Aulas 2-3-4-5-6-7-8 Lógica Algoritmos Portugol
Linguagens de Programação Aula 10
Linguagens de Programação Aula 10 Celso Olivete Júnior [email protected] Na aula passada As sentenças de controle das LP imperativas ocorrem em diversas categorias: seleção, seleção múltipla, iteração
Conjunto de instruções e modos de. aula 4. Profa. Débora Matos
Conjunto de instruções e modos de endereçamento aula 4 Profa. Débora Matos Conjunto de Instruções A = ((B + C) x D + E F)/(G x H) A H denotam posições da memória endereços As arquiteturas possuem as seguintes
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)
UNIDADE 6 - PROGRAMAÇÃO MODULAR
UNIDADE 6 - PROGRAMAÇÃO MODULAR Até o momento as estruturas de controle (seqüência, seleção e repetição) de um algoritmo definia-o como um bloco lógico (início e fim). À medida que os problemas a serem
Potenciação no Conjunto dos Números Inteiros - Z
Rua Oto de Alencar nº 5-9, Maracanã/RJ - tel. 04-98/4-98 Potenciação no Conjunto dos Números Inteiros - Z Podemos epressar o produto de quatro fatores iguais a.... por meio de uma potência de base e epoente
Aula 14: Instruções e Seus Tipos
Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos
Programação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 4 Aluno que não sabe programar int main() { cout
Instalações Máquinas Equipamentos Pessoal de produção
Arranjo físico e fluxo Procedimentos de arranjo físico O arranjo físico (em inglês lay-out) de uma operação produtiva preocupa-se com o posicionamento dos recursos de transformação. Isto é, definir onde
AJUDA - FORMULÁRIO DE PROPOSTA ON-LINE - AVG
AJUDA - FORMULÁRIO DE PROPOSTA ON-LINE - AVG Esse é o manual para auxílio ao preenchimento do formulário de propostas on-line para a modalidade de Auxílio Participação em Eventos Científicos AVG. INFORMAÇÕES
Circuitos Seqüenciais
Circuitos Seqüenciais Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva Circuitos Seqüenciais Um circuito seqüencial síncrono consiste de um circuito combinacional e uma rede de memória formada por
Recursividade. Aula 9
Recursividade Aula 9 Em matemática vários objetos são definidos apresentando-se um processo que os produz. Ex PI (circunferência/diâmetro) Outra definição de um objeto por um processo é o fatorial de um
Truques e Dicas. = 7 30 Para multiplicar fracções basta multiplicar os numeradores e os denominadores: 2 30 = 12 5
Truques e Dicas O que se segue serve para esclarecer alguma questão que possa surgir ao resolver um exercício de matemática. Espero que lhe seja útil! Cap. I Fracções. Soma e Produto de Fracções Para somar
Tarefa Orientada 18 Procedimentos armazenados
Tarefa Orientada 18 Procedimentos armazenados Objectivos: Criar Procedimentos armazenados Chamar procedimentos armazenados Utilizar parâmetros de entrada e de saída Um procedimento armazenado representa
Engenharia de Software II
Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?
Paralelismo a Nível de Instrução
Paralelismo a Nível de Instrução É possível obter maior desempenho computacional com: tecnologias mais avançadas, tais como circuitos mais rápidos; melhor organização da CPU, tais como o uso de múltiplos
LISTA 10. = ax + b onde f é uma função decrescente. Podemos afirmar que o valor exato de g(a) é igual a: a) 1 b) 2 c) 3 d) 4
LISTA 10 1 - João tem, hoje, 36 anos, idade que é igual a duas vezes a idade que Maria tinha quando João tinha a idade que Maria tem hoje. A idade, hoje, de Maria é: a) 7 ) 30 c) 33 d) 37 O custo de um
MODELAGEM E SIMULAÇÃO
MODELAGEM E SIMULAÇÃO Professor: Dr. Edwin B. Mitacc Meza [email protected] www.engenharia-puro.com.br/edwin Terminologia Básica Utilizada em de Sistemas Terminologia Básica Uma série de termos
GBD PROF. ANDREZA S. AREÃO
GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação
CRIAÇÃO DE MAPAS TEMÁTICOS COM ALOV MAP
CRIAÇÃO DE MAPAS TEMÁTICOS COM ALOV MAP INTRODUÇÃO Este é o segundo tutorial sobre o desenvolvimento de webmapping com o ALOV Map. Para obter informações sobre como elaborar uma aplicação básica com o
FUNDAÇÃO EDUCACIONAL DE ITUIUTABA
FUNDAÇÃO EDUCACIONAL DE ITUIUTABA ASSOCIADA À UNIVERSIDADE DO ESTADO DE MINAS GERAIS CURSO DE SISTEMA DE INFORMAÇÃO PILHA E FILA Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br [email protected]
Comandos de repetição while
Programação de Computadores I UFOP DECOM 2014 2 Aula prática 6 Comandos de repetição while Resumo Nesta aula vamos trabalhar com problemas cuja solução envolve realizar um cálculo ou tarefa repetidas vezes,
Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos
Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos Abordaremos nesta aula assuntos referentes à arquitetura do conjunto de instruções, tipos de operandos
ALGORITMOS E FLUXOGRAMAS
ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as
AULA 16 - Sistema de Arquivos
AULA 16 - Sistema de Arquivos Arquivos podem ser vistos como recipientes que contêm dados ou como um grupo de registros correlatos. Os arquivos armazenam informações que serão utilizadas, em geral, por
Estrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 9: Filas com Alocação de Memória Estática O objetivo desta aula é apresentar estrutura de dados Fila e suas aplicações. Motivação A estrutura
Resolução de Problemas
Resolução de Problemas Aula 2 - Inteligência Artificial Resolução de Problemas (Introdução) A resolução de um problema é composta por três passos: Definir o problema com precisão. (situações inicial e
Estruturas de Repetição
Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados
Filas: conceitos e implementações
Estrutura de Dados I Filas: conceitos e implementações Cesar Rocha [email protected] 1 Objetivos Explorar os conceitos fundamentais acerca do uso de filas utilizando a linguagem C Organização e implementação,
Arquitetura de processadores: RISC e CISC
Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo
Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade
Orientação a Objetos Conceitos Iniciais Introdução a Linguagem Java Gil Eduardo de Andrade Conceitos: Orientação a Objeto Introdução Abordagem típica no desenvolvimento de sistemas complexos; Consiste
Invenções Implementadas por Computador (IIC) Patentes
Invenções Implementadas por Computador (IIC) Patentes O que é uma IIC? Uma IIC é uma invenção que recorre a um computador, a uma rede de computadores ou a qualquer outro dispositivo programável (por exemplo
CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra
CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Pilhas Filas Deques Pilhas,,f filas e deques Vimos que as listas lineares admitem inserção e eliminação
Introdução a Computação
O que é um SO? Introdução a Computação Sistemas Operacionais PII Consiste em: Hardware Programas de Sistema Programas de Aplicativos 1 2 O que é um SO? Hardware não proporciona controle de alto nível disponível
Programação Funcional. Aula 5. Funções Recursivas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011.
Programação Funcional Aula 5 Funções Recursivas José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011.2 1/39 1 Funções recursivas 2 Recursividade mútua 3 Recursividade
Introdução às Máquinas CNC s. É proibido reproduzir total ou parcialmente esta publicação sem prévia autorização do
Grupo Caet - Divisão de Conteúdos Introdução às Máquinas CNC s. Por Delmonte Friedrich, Msc. Eng. Todos os direitos reservados. É proibido reproduzir total ou parcialmente esta publicação sem prévia autorização
INTRODUÇÃO À LINGUAGEM C++
INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem
Linguagem de Montagem 2. Operações e Operandos
Linguagem de Montagem 2 Operações e Operandos Revisão Para executar uma tarefa qualquer, um computador precisa receber instruções precisas sobre o que fazer Esse conjunto de instruções chamamos de algoritmo
COMO ENSINEI MATEMÁTICA
COMO ENSINEI MATEMÁTICA Mário Maturo Coutinho COMO ENSINEI MATEMÁTICA.ª edição 511 9 AGRADECIMENTOS À Deus À minha família Aos mestres da matemática do C.E.Visconde de Cairu APRESENTAÇÃO O objetivo deste
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.
Serviço de Clientes. Gestix Enterprise. Gestix.com
Serviço de Clientes Gestix Enterprise Serviço de Clientes Objectivo O módulo Serviço de Clientes permite organizar o expediente pós-venda de forma a aumentar a qualidade do serviço prestado ao cliente.
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Uma instrução pode ser definida como um comando
Capítulo 5: Aplicações da Derivada
Instituto de Ciências Exatas - Departamento de Matemática Cálculo I Profª Maria Julieta Ventura Carvalho de Araujo Capítulo 5: Aplicações da Derivada 5- Acréscimos e Diferenciais - Acréscimos Seja y f
OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS
OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS Etapas de desenvolvimento de um programa: Criação do programa-fonte (texto) Compilação desse programa (tradução para código executável) Execução do código produzido
Programação Orientada a Objetos C++
Programação Orientada a Objetos em C++ Sumário Histórico Comparação com Java Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Histórico Desenvolvido por Bjarne Stroustrup dos Bell Labs
Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação
Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada
Linguagem de Programação I
Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook [email protected] DESU / DAI 2016 Linguagem de Programação C 2 1 Linguagem de Programação C Os programas em C consistem em
2. O gerador de código estende DepthFirstAdapter implementando a interpretação que gerará código Jasmin a partir de Smallpascal.
Geração de Código para Smallpascal a 1. Já estudamos como SableCC faz uso do design pattern visitor para construir compiladores modulares. Vimos também os principais componentes da máquina virtual Java
Conceitos básicos da linguagem C
Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por
CENTRO DE CIÊNCIAS TECNOLÓGICAS CCT CURSO DE TECNOLOGIA EM SISTEMAS DE INFORMAÇÃO
UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CIÊNCIAS TECNOLÓGICAS CCT CURSO DE TECNOLOGIA EM SISTEMAS DE INFORMAÇÃO PLANEJAMENTO DE PROCESSOS ASSISTIDO POR COMPUTADOR CAPP (COMPUTER AIDED PROCESS
Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.
Introdução Os principais elementos de um sistema de computação são a unidade central de processamento (central processing unit CPU), a memória principal, o subsistema de E/S (entrada e saída) e os mecanismos
Compiladores. ICC1 e ICC2 Arquivos, ponteiros, alocação dinamica, modularização, recursividade, matrizes LM MOV, MUL, DIV, CMP,...
1 Compiladores ED1 e ED2 Listas encadeadas, listas ordenadas, busca binária, arvores ICC1 e ICC2 Arquivos, ponteiros, alocação dinamica, modularização, recursividade, matrizes Compiladores LFA gramáticas,
Computação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática
Modelos de Dados 1 - Introdução 2 - Modelo Relacional 2.1. Estrutura de Dados Relacional 2.1.1. Modelo Conceptual de Dados Um modelo conceptual de dados é a representação de um conjunto de objectos e das
Representação de Algoritmos - Linguagens de Programação
Representação de Algoritmos - Linguagens de Programação A representação de algoritmos em uma pseudo-linguagem mais próxima às pessoas é bastante útil principalmente quando o problema a ser tratado envolve
Especificação Operacional.
Especificação Operacional. Para muitos sistemas, a incerteza acerca dos requisitos leva a mudanças e problemas mais tarde no desenvolvimento de software. Zave (1984) sugere um modelo de processo que permite
INSTITUTO TECNOLÓGICO
PAC - PROGRAMA DE APRIMORAMENTO DE CONTEÚDOS. ATIVIDADES DE NIVELAMENTO BÁSICO. DISCIPLINAS: MATEMÁTICA & ESTATÍSTICA. PROFº.: PROF. DR. AUSTER RUZANTE 1ª SEMANA DE ATIVIDADES DOS CURSOS DE TECNOLOGIA
Introdução sobre Scilab
Ivanovitch Medeiros Dantas da Silva Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação DCA0399 - Métodos Computacionais para Engenharia Civil Natal, 14 de
Computação Quântica. Rafael T. Possignolo
Computação Quântica Rafael T. Possignolo 19 de agosto de 2011 O que é computação quântica? Mas afinal o que é computação??? Computação A computação pode ser definida como a busca de uma solução para um
Arquitetura de Computadores. Linguagem de Máquina
Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP
Java. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Orientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. [email protected]
ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO Memória Variáveis e constantes Tipos primitivos de dados Operadores Comandos
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Análise semântica. Análise Semântica. Estrutura de um compilador. Anotação da árvore sintática. Tipos de comunicação de atributos?
Estrutura de um compilador Análise semântica Tradução orientada pela sintaxe 1 2 Análise Semântica Anotação da árvore sintática Análise semântica: Tipos (& Declarações) Escopo Checagens estáticas: Idéia:
Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.
Construção de Compiladores Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.1 1/21 1 Linguagens de programação 2 Compilação 2/21 Layout 1
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática
ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API
ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API Tiago Henrique Gomes da Silva Balduino 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected]
Programação: Estruturas de seleção
Programação de Computadores I Aula 07 Programação: Estruturas de seleção José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/53 Valores booleanos Os valores booleanos
Testando e Comparando Valores
Testando e Comparando Valores A Instrução if Um dos recursos mais importantes de uma linguagem de computador é a capacidade de testar e comparar valores, permitindo que seu programa se comporte diferentemente
Classes Abstratas e Interfaces
Classes Abstratas e Interfaces Programação Orientada a Objetos Java Prof. Geraldo Braz Junior Principais conceitos Classes abstratas Interfaces Herança múltipla 2 Simulações (1) Programas são normalmente
Convertendo Algoritmos para a Linguagem C
onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento
15 a Aula Subprogramação /Subalgoritmos Função e Procedimento
FISP 1/6 15 a Aula Subprogramação /Subalgoritmos Função e Procedimento Objetivo: Simplificação e racionalização na elaboração de algoritmos mais complexos Recursos: Estruturação de algoritmos e modularização
1. Os métodos Não-Paramétricos podem ser aplicados a uma ampla diversidade de situações, porque não exigem populações distribuídas normalmente.
TESTES NÃO - PARAMÉTRICOS As técnicas da Estatística Não-Paramétrica são, particularmente, adaptáveis aos dados das ciências do comportamento. A aplicação dessas técnicas não exige suposições quanto à
A Classificação da Pesquisa
A Classificação da Pesquisa Formas de Classificação da Pesquisa l I - Classificando as pesquisas com base em seus objetivos l II - Classificando as pesquisas com base nos procedimentos técnicos utilizados
Resumo da última aula. Compiladores. Tipos. Regras semânticas. Expressões de tipos. Análise Semântica e checagem de tipos.
Resumo da última aula Compiladores Análise semântica Verificação de tipos 1 Implementação: Esquemas S-atribuídos: Mecanismo bottom-up direto Esquemas L-atribuídos: Mecanismo top-down: Necessita gramática
03/04/2016 AULAS 11 E 12 SETOR A
AULAS 11 E 12 SETOR A 1 Propriedade coligativa das soluções: são aquelas que depende unicamente do número de partículas dissolvidas. Ou seja: a adição de um soluto não-volátil a uma solução provoca mudanças
Unidade: Unidade Lógica e Aritmética e Registradores. Unidade I:
Unidade: Unidade Lógica e Aritmética e Registradores Unidade I: 0 Unidade: Unidade Lógica e Aritmética e Registradores UNIDADE LÓGICA E ARITMÉTICA E REGISTRADORES O Processador é um chip com milhares de
Exercícios resolvidos sobre Função de probabilidade e densidade de probabilidade
Exercícios resolvidos sobre Função de probabilidade e densidade de probabilidade Você aprendeu o que é função probabilidade e função densidade de probabilidade e viu como esses conceitos são importantes
CRONÔMETRO MICROPROCESSADO
O equipamento possui um display de alta resolução e 6 botões: CRONÔMETRO MICROPROCESSADO www.maxwellbohr.com.br (43) 3028-9255 LONDRINA PR 1 - Introdução O Cronômetro Microprocessado é um sistema destinado
VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00
Fundamentos da Programação 32 A. Conceito Variáveis contém dados: VIII. VARIÁVEIS de entrada que o computador precisa manipular; de saída que o computador precisa imprimir; e temporários, utilizados de
Linguagem de Programação C
ICMC USP Linguagem de Programação C Aula: Funções em C Prof Alneu de Andrade Lopes MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente em vários subproblemas MODULARIZAÇÃO
Java Como Programar, 8/E
Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção
Como enviar e receber correio eletrónico utilizando o Gmail
Como enviar e receber correio eletrónico utilizando o Gmail Este módulo pressupõe que que já tenha criado uma conta de correio eletrónico no Gmail (caso já não se recorde como deve fazer, consulte o nosso
