Linguagens Formais e Compilação (cod. 5387)

Tamanho: px
Começar a partir da página:

Download "Linguagens Formais e Compilação (cod. 5387)"

Transcrição

1 Linguagens Formais e Compilação (cod. 5387) Departamento de Informática Universidade da Beira Interior Ano lectivo 2012/2013 Figura 1: Don t make your compiler complain Esta página no formato pdf 1

2 1 Novidades Defesa (e entrega) dos trabalhos: a partir das 9h00 na sala Segunda Frequência. Local: 6.2 e Entrega da primeira parte do trabalho adiada para a quinta-feira 9 de Maio as 9h00. Cada grupo é convidado a mostrar o estado actual do trabalho ao docente, marcação da data e hora por . Por forma a repor a aula teórica de segunda-feira 1 de Abril, haverá aula teórica quinta feira 4 de abril, das 14h00 às 16h00 na sala Alterações no horário das aulas. Consulte 10. As constituições de grupo devem ser comunicadas por ao regente da UC. Enunciado do trabalho disponível. Relembra-se a secção Fraude (ver 7.1.1) a todos os alunos... Inscrição em turmas práticas: via site dos serviços académicos. Como colocar uma dúvida ao regente da Unidade Curricular? 1. Comparecer nas aulas e colocá-la directamente ao regente 2. Comparecer no horário de atendimento do regente e colocá-la directamente 3. enviar um ao regente (desousauuu@uuudi.ubi.pt, (retire os UUU) ) com o assunto LFC: XXXX em que XXX é o título da dúvida em questão. Qualquer outro formato no assunto arrisca condenar o ao esquecimento. Conteúdo 1 Novidades 2 2

3 2 Equipa Docente 3 3 Objectivos 3 4 Competências por Adquirir 5 5 Programa 6 6 Metodologia de Ensino 6 7 Critérios de Avaliação Avaliação da Componente Prática Fraudes Avaliação da Componente Teórica Exame Datas importantes Notas Mínimas Nota Final Material Pedagógico Teóricas Práticas Algumas soluções Material Suplementar Referências Bibliográficas Horário Atendimento 11 2 Equipa Docente Simão Melo de Sousa (regente) - Gabinete Laboratório Bloco VI. 3

4 3 Objectivos Esta disciplina apresenta as principais fases da construção dum compilador, isto é, um programa que transforma uma sequência de caracteres, representando um programa, numa sequência de instruções máquina que poderão ser executadas com a finalidade de produzir o resultado do programa original. A construção dum compilador envolve a utilização de vários métodos e ferramentas de análise léxica e sintáctica. A aprendizagem do funcionamento de tais análises constitui uma parte importante desta disciplina. As linguagens de programação modernas de alto nível propõem uma detecção precoce dos erros graças a uma análise semântica, cada vez mais complexa e poderosa, muitas vezes sob a forma dum controlo de tipos. A última fase da compilação é a geração de código que é realizada em várias etapas que correspondem a tradução para várias linguagens intermédias antes de se concluir pela produção de código executável. Estudaremos mais particularmente a organização da memória para a gestão das chamadas de procedimentos. Esta apresentação assenta sobre resultados da teoria das linguagens formais(autómatos finitos, expressões regulares, gramáticas, em particular gramáticas livres de contexto, autómatos de pilha, etc...), à qual daremos uma curta introdução. Assim os objectivos genéricos desta disciplina são a apresentação e estudo de metodologias, técnicas e ferramentas para o desenvolvimento processadores de linguagens e de compiladores. Em particular pretende-se: Introduzir a noção de linguagem e caracterizar o conceito de processamento de linguagens formais, estabelecendo os objectivos, as tarefas dum processador, as exigências que lhe são impostas e as técnicas de desenvolvimento (face às restrições e à complexidade do problema). Introduzir os conceitos de gramática e de autómato, a sua teoria e a sua aplicação ao desenvolvimento de Processadores de Linguagens. Introduzir formalismos para especificação da sintaxe e da semântica das linguagens e estudar a implementação dos analisadores que se podem derivar desses formalismos. Desenvolver capacidades de tradução de textos escritos em linguagens distintas, utilizando métodos de análise e de síntese mais usados pelos compiladores. 4

5 Introduzir os processos, ferramentas, algoritmos e estruturas de dados mais utilizados na tradução, na análise e na compilação. Para quê estudar os Processos de Compilação? Em primeiro porque é interessante e formador! Porque as técnicas de processamento de linguagens e de construção de compiladores têm aplicações fortes em muitas áreas da informática, e não só em construção de compiladores. Através do estudo da compilação, tentaremos mostrar o quão úteis para a informática em geral são as técnicas e as ferramentas oriundas deste estudo assim como procuraremos perceber as características das linguagens de programação. De facto um compilador é um programa de tamanho importante que é necessário bem estruturar. Este deve ser também eficiente e é importante que esteja isento de erro. Ser capaz de escrever um compilador é assim uma competência desafio para qualquer programador que se quer exímio. Agradecimentos O regente da disciplina gostaria de agradecer à Professora Doutora Christine Paulin-Mohring (LRI - Paris Sud, França) por lhe ter facultado a sebenta intitulada Cours de Compilation de que é autora e por lhe permitido um uso livre e intensivo desta última. O regente gostaria de agradecer igualmente o Professor Doutor Jean- Christophe Filliâtre (LRI - Paris Sud / CNRS, França) pelo apoio prestado na componente prática desta UC. 4 Competências por Adquirir Os estudantes deverão adquirir as seguintes competências: Conceber, planear, desenhar e implementar em software processadores de linguagens artificiais e de informação especificada textualmente segundo determinadas regras lexicais e sintácticas; Conceber e implementar em software as várias etapas relacionadas com compiladores, nomeadamente: 5

6 expressões regulares e autómatos finitos; analisadores sintácticos e semânticos; analisadores semânticos; optimizações de código; geradores de código para processadores ou para máquinas virtuais; 5 Programa 1. Introdução: o problema, o contexto, o processamento de linguagens na informática, a arquitectura dum compilador. 2. Processamento de Linguagens análise léxica, autómatos finitos, gramáticas e expressões regulares. Processamento de linguagens regulares. análise sintáctica: Autómatos de pilha, gramáticas algébricas, análise descendente e análise ascendente. analise semântica: gramáticas de atributo, tabelas dos símbolos, inferência e verificação de tipos. 3. Geração de Código geração de código intermédio analise e optimização de código geração de código máquina 6 Metodologia de Ensino As aulas presenciais são divididas em duas categorias Aulas Teóricas onde são expostos os conceitos teóricos, os algoritmos mas também as tecnologias capacitativas, próprios à construção de um compilador. Aulas Práticas com aplicação das técnicas de compilação na construção de compiladores para linguagens de programação simples e para arquitecturas simples. 6

7 7 Critérios de Avaliação A avaliação tenta qualificar e quantificar a aprendizagem e a aquisição de competência e de conhecimentos do aluno inscrito. Nesta unidade curricular esta avaliação é dividida em duas partes: a avaliação prática e a avaliação teórica. Listamos a seguir as diferentes componentes da avaliação. 7.1 Avaliação da Componente Prática Esta avaliação mede em termos práticos a aquisição dos conceitos expostos. Como tal é baseada na realização, durante o semestre lectivo, de um trabalho realizado em grupo e entregue à equipa docente. Este trabalho será dividido em duas partes, dando ambas origem a uma defesa. Ambas as partes carecem da entrega dum relatório em L A TEX e dum arquivos comprimido com os ficheiros fontes que constituí a implementação realizada assim como de um makefile permitindo a compilação completa. Esta avaliação resultará na atribuição da Nota da Componente Prática (NCP). Esta nota é calculada como a média das notas atribuídas às duas partes do trabalho Fraudes A equipa docente gostaria de realçar que qualquer tipo de fraude em qualquer dos itens desta disciplina implica a reprovação automática do aluno faltoso, podendo ainda vir a ser alvo de processo disciplinar. 7.2 Avaliação da Componente Teórica A avaliação da aquisição de conceitos teóricos é baseado em provas escritas, nomeadamente aqui duas frequências. Esta avaliação resultará na atribuição da Nota da Componente Teórica (NCT) e será calculada como a média das notas atribuídas às duas frequências Exame O resultado do exame só irá incidir na NCT. 7

8 O aluno admitido a exame mas reprovado na avaliação contínua poderá tentar uma nova atribuição da NCT. O aluno aprovado na avaliação contínua poderá melhorar a sua NCT Datas importantes Primeira frequência: 18 de Abril Segunda frequência: 6 de Junho Entrega da primeira parte do trabalho: 26 Abril Defesa da primeira parte do trabalho: Por definir Entrega da segunda parte do trabalho: 7 de Junho Defesa da segunda parte do trabalho: Por definir exame primeira chamada: (conferir nos académicos) exame segunda chamada: (conferir nos académicos) exame época especial: (conferir nos académicos) 7.3 Notas Mínimas Será igualmente instaurado um regime de notas mínimas como critério de validação da nota final. Esses mínimos são: 6 valores (em 20) para a NCP 6 valores (em 20) para a NCT Uma nota abaixo desses valores implica reprovação à disciplina (Não Admitido a Exame). 8

9 7.4 Nota Final Os mínimos são os mínimos afixados por regulamento e são válidas individualmente para cada parte (NCT e NCP). Assim a nota final da disciplina é determinada de acordo coma seguinte fórmula: onde NF = se (NCT 6) e (NCP 6) então NCP +NCT 2 senão Reprovado NF = Nota Final (20 valores) NCT = Nota da Componente Teórica (20 valores) NCP = Nota da Componente Prática (20 valores) 8 Material Pedagógico Acetatos e sebenta distribuídos nas aulas. 8.1 Teóricas Capítulo: Introdução Capítulo: Analises sintácticas descendentes Capítulo: Analises sintácticas ascendentes Capítulo: Árvores de sintaxe abstracta Capítulo: Analise semântica Capítulo: Analise semântica - Complementar Capítulo: Sistemas de tipos - Complementar Capítulo: Geração de código Capítulo: Tutorial MIPS Capítulo: Geração de código (versão antiga - compilação para uma stack based virtual machine) - Complementar Capítulo: Geração de código - um exemple de uma stack based virtual machine - Complementar 9

10 8.2 Práticas Para quem necessitar uma actualização em programação OCaml, encontrará aqui uma introdução à programação funcional em OCaml. Ficha : Introdução à analise sintáctica com yacc/menhir Ficha teórico-prática - Aplicação das linguagens formais à construção de analisadores, análises descendentes, ascendentes, análises semânticas, sistemas de tipo. Ficha prática - Introdução à analise léxica, construção de lexer, parser com lex/yacc/menhir, analisadores de tipos, analisadores semânticos. Ficha: Introdução à construção de compiladores - a linguagem artih Algumas soluções solução de alguns exercícios de analise léxica em ocaml (parte 1) solução de alguns exercícios de analise léxica em ocaml (parte 2) Exemplo de uma pequena calculadora feita de raíz com base em processamento de listas. um htmlizer para Caml feito em ocamllex Resolução completa: sistema de gestão de notas compilador e interpretador completo da linguagem arith com target a máquina virtual VM Uma frequência resolvida Resolução de exercício sobre analises LL(1) Arquivo com provas de anos anteriores (contém algumas resoluções). ZIP com exemplos de programas MIPS ZIP com o código do compilador arith para MIPS *por completar* ZIP com o código do compilador arith para MIPS *completo* ZIP com o código do compilador arith para MIPS *completo* alternativo (com typechecking) 8.3 Material Suplementar Enunciado do trabalho. 9 Referências Bibliográficas As referências principais são: [4, 6, 1] 10

11 As restantes referências listadas em fim de documento são de consulta alternativa ou ocasional. 10 Horário Tipo de aula Horário Sala Teórica Segunda-Feira das 9h00 às 11h Práticas Laboratoriais 1 Quinta-Feira das 11h00 às 13h Práticas Laboratoriais 2 Quint-Feira das 9h00 às 11h Atendimento Referências Horário Sexta-Feira das 9h00 às 11h00 [1] A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, [2] A. W. Appel. Modern Compiler Implementation in C. Cambridge University Press, [3] A. W. Appel. Modern Compiler Implementation in Java. Cambridge University Press, Cambridge, [4] A. W. Appel. Modern Compiler Implementation in ML. Cambridge University Press, [5] D. Bagley. The great computer language shootout. [6] E. Chailloux, P. Manoury, and B. Pagano. Developing applications with objective caml [7] G. Cousineau and M. Mauny. The functional approach to programming. Cambridge University Press,

12 [8] C. J.H. Jacobs, K. G. Langendoen, D. Grune, and H. E. Bal. Modern Compiler Design. Wiley, [9] X. Leroy and P. Weis. Le Language Caml. iia, Inter Edition, [10] X. Leroy and P. Weis. Manuel de Référence du Language Caml. iia, Inter Edition, [11] J. R. Levine, T. Masson, and D. Brown. Lex & Yacc. Unix Programming Tool. O Reilly, [12] J. Mitchell. Foundation for Programming Languages. Foundations of Computing, MIT Press, [13] S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kauffman, [14] F. Nielson, H. R. Nielson, and C. L. Hankin. Principles of Program Analysis. Springer-Verlag, [15] H. R. Nielson and F. Nielson. Semantics with Applications. John Wiley & Sons, Chichester, [16] OCaml Development Team. The Objective Caml system:documentation and user s manual, [17] R. Wilhelm and D. Maurer. Compiler Design. Addison Wesley, [18] G. Winskel. The Formal Semantics of Programming Languages: An Introduction. Foundations of Computing series. MIT Press, Cambridge, Massachusetts, February Enviar comentários e dúvidas para (retire os UUU) : desousauuu@uuudi.ubi.pt 12

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPILADORES Ano Lectivo 2011/2012

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPILADORES Ano Lectivo 2011/2012 Programa da Unidade Curricular COMPILADORES Ano Lectivo 2011/2012 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Informática 3. Ciclo de Estudos 1º 4. Unidade Curricular COMPILADORES

Leia mais

Ficha da Unidade Curricular

Ficha da Unidade Curricular Ficha da Unidade Curricular Curso: Engenharia Informática Ano Lectivo: 2008/09 Unidade Curr.: Processamento de Linguagens Ano Curricular: 3º Créditos: 6 Responsável: Maria João Varanda Regime: Anual X

Leia mais

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.

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. Apresentação Universidade dos Açores Departamento de Matemática www.uac.pt/~hguerra/!! Aquisição de conceitos sobre a definição de linguagens de programação.!! Familiarização com os métodos de construção

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPILADORES Ano Lectivo 2017/2018

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPILADORES Ano Lectivo 2017/2018 Programa da Unidade Curricular COMPILADORES Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade Curricular

Leia mais

COMPILADORES PROGRAMA E BIBLIOGRAFIA

COMPILADORES PROGRAMA E BIBLIOGRAFIA COMPILADORES PROGRAMA E BIBLIOGRAFIA Mariza A. S. Bigonha e Roberto S. Bigonha UFMG 27 de maio de 2008 Todos os direitos reservados Proibida cópia sem autorização dos autores OBJETIVOS DO CURSO Ensinar

Leia mais

Teoria da Computação (cod.11562)

Teoria da Computação (cod.11562) Teoria da Computação (cod.11562) Departamento de Informática Universidade da Beira Interior Figura 1:...but don t they already know how? Esta página no formato pdf 1 Paper do David Hilbert sobre o seu

Leia mais

Trabalho de Linguagens Formais e Compilação

Trabalho de Linguagens Formais e Compilação Trabalho de Linguagens Formais e Compilação Desenho de uma linguagem simples e do seu compilador para MIPS. (cod. 5387) Departamento de Informática Universidade da Beira Interior Ano lectivo 2012/2013

Leia mais

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONSTRUÇÃO DE COMPILADORES CARGA HORÁRIA: 75 H. A. ANO/SEMESTRE: 2016/02 PROFESSOR: EDUARDO FERREIRA DOS SANTOS

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: CÓDIGO: CURSOS/PRE-REQUISITO: CIC Linguagens formais e autômatos N COMPILADORES INF01147

Leia mais

Plano da Unidade Curricular

Plano da Unidade Curricular Plano da Unidade Curricular Documento com o PUC desta unidade curricular. Sítio: Elearning UAb Unidade curricular: Compilação 2014 01 Livro: Plano da Unidade Curricular Impresso por: Ricardo Marques Data:

Leia mais

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores Motivação Prof. Sérgio Faustino Compiladores Conhecimento das estruturas e algoritmos usados na implementação de linguagens: noções importantes sobre uso de memória, eficiência, etc. Aplicabilidade freqüente

Leia mais

CP Compiladores I Prof. Msc.. Carlos de Salles

CP Compiladores I Prof. Msc.. Carlos de Salles CP 5017.9 Prof. Msc.. Carlos de Salles 1 - EMENTA O Processo de Compilação. Deteção e Recuperação de Erros. Introdução à geração de Código Intermediário. Geração de Código de Máquina. Otimização. Uma visão

Leia mais

Programação de Sistemas (Sistemas de Programação) Semana 10, Aula 17

Programação de Sistemas (Sistemas de Programação) Semana 10, Aula 17 PCS3616 Programação de Sistemas (Sistemas de Programação) Semana 10, Aula 17 Linguagens e Compiladores Programação em linguagem de alto nível Escola Politécnica da Universidade de São Paulo Roteiro 1.

Leia mais

Universidade Federal do ABC Rua Santa Adélia, Bairro Bangu - Santo André - SP - Brasil CEP Telefone/Fax:

Universidade Federal do ABC Rua Santa Adélia, Bairro Bangu - Santo André - SP - Brasil CEP Telefone/Fax: Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA MC3201 - COMPILADORES 2. DISCIPLINA

Leia mais

Linguagens e Compiladores

Linguagens e Compiladores Linguagens e Compiladores Aula 1: a) Critérios b) Noções de Compiladores e Interpretadores c) Usos da tecnologia de compilação d) Compiladores, filtros e pré-processadores e) Estruturação lógica de compiladores

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular OPÇÃO 3 - TEORIA DA COMPUTAÇÃO Ano Lectivo 2011/2012

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular OPÇÃO 3 - TEORIA DA COMPUTAÇÃO Ano Lectivo 2011/2012 Programa da Unidade Curricular OPÇÃO 3 TEORIA DA COMPUTAÇÃO Ano Lectivo 2011/2012 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Informática 3. Ciclo de Estudos 1º 4. Unidade

Leia mais

INE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC URL:

INE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC   URL: INE5317 Linguagens Formais e Compiladores Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Plano de Ensino OBJETIVO GERAL: Estudar a teoria das linguagens

Leia mais

Simão Melo de Sousa. Computer Science Department University of Beira Interior, Portugal

Simão Melo de Sousa. Computer Science Department University of Beira Interior, Portugal Introdução à Compilação Simão Melo de Sousa Computer Science Department University of Beira Interior, Portugal Plano 1 Aviso Prévio Objectivos Gerais da Disciplina Porquê? 2 Noções de Base O que é a Compilação?

Leia mais

I LINGUAGENS E PROCESSADORES: INTRODUÇÃO 1

I LINGUAGENS E PROCESSADORES: INTRODUÇÃO 1 PREÂMBULO PREFÂCIO xiii xv I LINGUAGENS E PROCESSADORES: INTRODUÇÃO 1 1 1.1 1.1.1 1.1.2 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 2 2.1 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.4 2.4.1 2.4.2

Leia mais

Implementação de Linguagens

Implementação de Linguagens Implementação de Linguagens Pedro Vasconcelos DCC/FCUP 11 de Abril de 2016 Objectivos Introdução à implementação de linguagens de programação funcionais. Enfoce sobre técnicas de interpretação/compilação

Leia mais

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever

Leia mais

Compiladores. Introdução

Compiladores. Introdução Compiladores Introdução Apresentação Turma Noite Continuada I 20/03 Continuada II 22/05 Atividades Regimental 05/06 Total 1 Ponto 1 Ponto 1 Ponto 7 Pontos 10 Pontos Aulas expositivas teórico-práticas Exercícios

Leia mais

PLANO DE APRENDIZAGEM

PLANO DE APRENDIZAGEM PLANO DE APRENDIZAGEM 1. DADOS DE IDENTIFICAÇÃO Curso: Bacharelado em Sistemas de Informação Disciplina: Linguagens Formais e Compiladores Código: SIF5N191 Professor: Jamilson Ramalho Dantas e-mail: jamilson.dantas@fasete.edu.br

Leia mais

Projeto de Compiladores

Projeto de Compiladores Projeto de Compiladores FIR Faculdade Integrada do Recife João Ferreira 12 e 13 de fevereiro de 2007 Questionário 1. Em quais linguagens de programação você já programou? 2. O que você sabe sobre compiladores?

Leia mais

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise

Leia mais

Engenharia de Software

Engenharia de Software 1 o Ciclo de Engenharia Informática 1 o Ciclo de Tecnologias e Sistemas da Informação 1 o Ciclo de Informática Web 2 o Ciclo de Engenharia Eletrotécnica e de Computadores Sebastião Pais 1 1 Departamento

Leia mais

Corpo Docente. Algoritmos e Estruturas de Dados LEE 2014/ /02/15. Apresentação. } Fernando Mira da Silva

Corpo Docente. Algoritmos e Estruturas de Dados LEE 2014/ /02/15. Apresentação. } Fernando Mira da Silva Algoritmos e Estruturas de Dados LEE 2014/2015 Apresentação Corpo Docente Fernando Mira da Silva Teóricas Laboratórios Horários de Dúvidas Contactos Gabinete: Núcleo 11 Fernando.silva@tecnico.ulisboa.pt

Leia mais

Conclusões. Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown

Conclusões. Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown Conclusões Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown QUESTÕES FUNDAMENTAIS 1. Correção do código gerado 2. Desempenho do compilador: a. Notificação de erros; b.

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2014/2015

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2014/2015 Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2014/2015 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3.

Leia mais

Construção de Compiladores

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

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2016/2017

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2016/2017 Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2016/2017 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3.

Leia mais

Análise Sintática II. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 34

Análise Sintática II. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 34 Análise Sintática II Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Outubro, 2016 1 / 34 Sumário 1 Introdução 2 Ambiguidade 3 Análise sintática descendente 4

Leia mais

Compiladores Ficha de exercícios práticos

Compiladores Ficha de exercícios práticos Compiladores Ficha de exercícios práticos Simão Melo de Sousa Ano lectivo 2004/2005 O objectivo desta ficha é a implementação dos pequenos programas ou funções sugeridos pelo enunciado dos exercícios seguintes.

Leia mais

Compiladores I Prof. Ricardo Santos (cap 1)

Compiladores I Prof. Ricardo Santos (cap 1) Compiladores I Prof. Ricardo Santos (cap 1) Compiladores Linguagens de programação são notações que permitem descrever como programas devem executar em uma máquina Mas, antes do programa executar, deve

Leia mais

ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018

ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018 ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018 Página da Disciplina http://www.di.ubi.pt/~hugomcp/estruturas Conteúdo: Avaliação.

Leia mais

2 o Ciclo de Engenharia Informática, 1 o Ano, 1 o Semestre 2016/2017

2 o Ciclo de Engenharia Informática, 1 o Ano, 1 o Semestre 2016/2017 Gerais Período 2 o Ciclo de Engenharia Informática, 1 o Ano, 1 o Semestre 1 1 Departamento de Informática Universidade da Beira Interior sebastiao@di.ubi.pt http://www.di.ubi.pt/~sebastiao 2016/2017 Sumário

Leia mais

Compiladores. Conceitos Básicos

Compiladores. Conceitos Básicos Compiladores Conceitos Básicos Processadores de Linguagem De forma simples, um compilador é um programa que recebe como entrada um programa em uma linguagem de programação a linguagem fonte e o traduz

Leia mais

Computação Fiável. 1 Novidades. Conteúdo. Departamento de Informática Universidade da Beira Interior. Ano lectivo 2007/2008

Computação Fiável. 1 Novidades. Conteúdo. Departamento de Informática Universidade da Beira Interior. Ano lectivo 2007/2008 Computação Fiável Departamento de Informática Universidade da Beira Interior Ano lectivo 2007/2008 Esta página no formato pdf, no formato ps 1 Novidades Primeira versão da página. Encontrará aqui as novidades

Leia mais

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014. DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos Apresentação Computação e Programação (CP) 2013/2014 Aula 1 Objetivos Ficar a saber: funcionamento da unidade curricular (UC) Computação

Leia mais

Web site. Profa. Patrícia Dockhorn Costa.

Web site.  Profa. Patrícia Dockhorn Costa. Estruturas de Dados Aula 1: Introdução e conceitos básicos Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Monitoria: Alexandro alexandrosouzaramos@gmail.com

Leia mais

Plano da Unidade Curricular

Plano da Unidade Curricular Plano da Unidade Curricular Documento com o PUC desta unidade curricular. Sítio: Elearning UAb Unidade curricular: Linguagens e Computação 2015 01 Livro: Plano da Unidade Curricular Impresso por: Hugo

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular GLOBALIZAÇÃO FINANCEIRA Ano Lectivo 2013/2014

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular GLOBALIZAÇÃO FINANCEIRA Ano Lectivo 2013/2014 Programa da Unidade Curricular GLOBALIZAÇÃO FINANCEIRA Ano Lectivo 2013/2014 1. Unidade Orgânica Ciências da Economia e da Empresa (2º Ciclo) 2. Curso Mestrado em Economia 3. Ciclo de Estudos 2º 4. Unidade

Leia mais

PROGRAMAÇÃO E ALGORITMOS (LEI, TSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

PROGRAMAÇÃO E ALGORITMOS (LEI, TSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 PROGRAMAÇÃO E ALGORITMOS (LEI, TSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 Página da Disciplina http://www.di.ubi.pt/~hugomcp/progalg Avaliação. n Consulta

Leia mais

Estruturas de Dados. Pedro Ribeiro 2017/2018 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/ / 16

Estruturas de Dados. Pedro Ribeiro 2017/2018 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/ / 16 Estruturas de Dados Pedro Ribeiro DCC/FCUP 2017/2018 Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 1 / 16 Informações Gerais Site: http://www.dcc.fc.up.pt/~pribeiro/aulas/edados1718/ Piazza: http://piazza.com/up.pt/spring2018/cc1007

Leia mais

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Introdução O que são estruturas

Leia mais

Autômatos e Linguagens

Autômatos e Linguagens Autômatos e Linguagens Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Agosto, 2016 1 / 41 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores

Leia mais

Implementação de Linguagens

Implementação de Linguagens Implementação de Linguagens Pedro Vasconcelos DCC/FCUP 21 de Março de 2011 Objectivos Introdução à implementação de linguagens de programação declarativas (funcionais e lógicas). Enfoce sobre técnicas

Leia mais

Apresentação. Informação geral + Conceitos iniciais

Apresentação. Informação geral + Conceitos iniciais Apresentação Informação geral + Informação geral Página da cadeira Objectivos principais Compreender a importância dos algoritmos e dos programas de computador para a resolução de problemas em engenharia.

Leia mais

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

Especificações Gerais do Compilador e Definição de FRANKIE Especificações Gerais do Compilador e Definição de FRANKIE 1. Especificações Gerais do Compilador (Decisões de projeto) 2. Especificações da Linguagem Fonte Definição Informal Considerações Léxicas Considerações

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2017/2018

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2017/2018 Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2013/2014

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2013/2014 Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2013/2014 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2017/2018

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2017/2018 Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4.

Leia mais

SCC Introdução à Teoria da Computação

SCC Introdução à Teoria da Computação SCC-0505 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 - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br

Leia mais

INE5421 LINGUAGENS FORMAIS E COMPILADORES

INE5421 LINGUAGENS FORMAIS E COMPILADORES INE5421 LINGUAGENS FORMAIS E COMPILADORES PLANO DE ENSINO Objetivo geral Conhecer a teoria das linguagens formais visando sua aplicação na especificação de linguagens de programação e na construção de

Leia mais

Instituto Superior de Ciências e Tecnologia de Moçambique

Instituto Superior de Ciências e Tecnologia de Moçambique Instituto Superior de Ciências e Tecnologia de Moçambique INFORMAÇÃO N 01 Curso: Engenharia Informática Disciplina: Programação e Algoritmos I Nome do Regente: Tatiana Kovalenko Nome do Assistente (quando

Leia mais

AED Algoritmos e Estruturas de Dados LEE /2004

AED Algoritmos e Estruturas de Dados LEE /2004 AED Algoritmos e Estruturas de Dados LEE - 2003/2004 http://web.tagus.ist.utl.pt/~ana.freitas/aed Algoritmos e Estruturas de Dados Disciplina de base da área científica de Metodologia e Tecnologia da Programação

Leia mais

Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina)

Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina) Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina) George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Informações Básicas Professor George Darmiton da Cunha Cavalcanti Monitores

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTELIGÊNCIA ARTIFICIAL Ano Lectivo 2017/2018

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTELIGÊNCIA ARTIFICIAL Ano Lectivo 2017/2018 Programa da Unidade Curricular INTELIGÊNCIA ARTIFICIAL Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade

Leia mais

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

Turma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min UNIVERSIDADE DEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA TEÓRICA 2 Semestre 2008 04/08/2008 a 12/12/2008 DISCIPLINA: TEORIA DA COMPUTAÇÃO N CÓDIGO: INF05501. Horário:

Leia mais

Programação II Sinopse

Programação II Sinopse Programação II Sinopse Universidade de Lisboa Faculdade de Ciências Departamento de Informática Licenciatura em Tecnologias da Informação 2015/2016 Apresentação A disciplina de Programação II complementa

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO PARA WEB Ano Lectivo 2012/2013

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO PARA WEB Ano Lectivo 2012/2013 Programa da Unidade Curricular PROGRAMAÇÃO PARA WEB Ano Lectivo 2012/2013 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Informática 3. Ciclo de Estudos 1º 4. Unidade Curricular

Leia mais

Análise Sintática I. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42

Análise Sintática I. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42 Análise Sintática I Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2017 1 / 42 Sumário 1 Introdução 2 Derivações 3 Ambiguidade 4 Análise sintática descendente

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2013/2014

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2013/2014 Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2013/2014 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Informática 3. Ciclo de Estudos 1º 4. Unidade

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2016/2017

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2016/2017 Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2016/2017 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2017/2018

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2017/2018 Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade

Leia mais

Compiladores Aula 1. Celso Olivete Júnior.

Compiladores Aula 1. Celso Olivete Júnior. Aula 1 Celso Olivete Júnior olivete@fct.unesp.br Tópicos da disciplina Introdução à compilação Analisador léxico Analisador sintático descendente Analisador sintático ascendente Análise semântica Geração

Leia mais

Compiladores. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 38

Compiladores. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 38 Compiladores Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Fevereiro, 2017 1 / 38 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores

Leia mais

FACULDADE ZACARIAS DE GÓES SISTEMAS DE INFORMAÇÃO ADRIEL ALMEIDA CAFÉ PROCESSO DE COMPILAÇÃO

FACULDADE ZACARIAS DE GÓES SISTEMAS DE INFORMAÇÃO ADRIEL ALMEIDA CAFÉ PROCESSO DE COMPILAÇÃO 0 FACULDADE ZACARIAS DE GÓES SISTEMAS DE INFORMAÇÃO ADRIEL ALMEIDA CAFÉ PROCESSO DE COMPILAÇÃO Valença Bahia Novembro 2010 1 ADRIEL ALMEIDA CAFÉ PROCESSO DE COMPILAÇÃO Trabalho apresentado como requisito

Leia mais

Linguagens de Programação

Linguagens de Programação O estudante estuda muito. Regras: 7 9 12 14. . Regras: 2 4 . Regras: 1 Representar através de uma árvore de derivação. 77 O estudante estuda muito.

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INFORMÁTICA Ano Lectivo 2017/2018

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INFORMÁTICA Ano Lectivo 2017/2018 Programa da Unidade Curricular INFORMÁTICA Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Gestão das Organizações Desportivas 3. Ciclo de Estudos 1º 4.

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2010/2011

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2010/2011 Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2010/2011 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º

Leia mais

Teoria da Prova e da Programação

Teoria da Prova e da Programação Teoria da Prova e da Programação Departamento de Informática Universidade da Beira Interior Ano lectivo 2011/2012 Esta página no formato pdf, no formato ps 1 Novidades Primeira versão da página. Encontrará

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROTOTIPAGEM Ano Lectivo 2013/2014

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROTOTIPAGEM Ano Lectivo 2013/2014 Programa da Unidade Curricular PROTOTIPAGEM Ano Lectivo 2013/2014 1. Unidade Orgânica Arquitectura e Artes (1º Ciclo) 2. Curso Design 3. Ciclo de Estudos 1º 4. Unidade Curricular PROTOTIPAGEM (L5020) 5.

Leia mais

Disciplina: Programação I

Disciplina: Programação I Disciplina: Programação I Cursos: Engenharia Informática e Engenharia Industrial e Sistemas Eléctricos Prof. Gustavo Campos Sebastião 1º ano, 2º Semestre Ano Lectivo 2010 Sumários Programa da cadeira Software

Leia mais

DESENVOLVIMENTO DO COMPILADOR PARA A LINGUAGEM SIMPLE

DESENVOLVIMENTO DO COMPILADOR PARA A LINGUAGEM SIMPLE DESENVOLVIMENTO DO COMPILADOR PARA A LINGUAGEM SIMPLE Jeferson MENEGAZZO 1, Fernando SCHULZ 2, Munyque MITTELMANN 3, Fábio ALEXANDRINI 4. 1 Aluno 5ª fase do Curso de Ciência da Computação do Instituto

Leia mais

Algoritmos e Estruturas de Dados II LEIC

Algoritmos e Estruturas de Dados II LEIC Algoritmos e Estruturas de Dados II Licenciatura em Engenharia Informática e Computação www.fe.up.pt/ rcamacho/cadeiras/aed2 LIACC/FEUP Universidade do Porto rcamacho@fe.up.pt Fevereiro 2005 Conteúdo da

Leia mais

Instituto Superior de Ciências e Tecnologia de Moçambique

Instituto Superior de Ciências e Tecnologia de Moçambique Instituto Superior de Ciências e Tecnologia de Moçambique INFORMAÇÃO N 01 Curso: Engenharia Informática Disciplina:_Introdução a Programação Nome do Regente: Tatiana Kovalenko Nome do Assistente (quando

Leia mais

Mestrado Integrado Engenharia Aeronáutica, 1 o Ano, 1 o Semestre 2017/2018

Mestrado Integrado Engenharia Aeronáutica, 1 o Ano, 1 o Semestre 2017/2018 ção Mestrado Integrado Engenharia Aeronáutica, 1 o Ano, 1 o Semestre 1 1 Departamento de Informática Universidade da Beira Interior sebastiao@di.ubi.pt http://www.di.ubi.pt/~sebastiao 2017/2018 Sumário

Leia mais

Compiladores. Análise Léxica

Compiladores. Análise Léxica Compiladores Análise Léxica Regras Léxicas Especificam o conjunto de caracteres que constituem o alfabeto da linguagem, bem como a maneira que eles podem ser combinados; Exemplo Pascal: letras maiúsculas

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019 Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019 1. Unidade Orgânica Instituto de Engenharia e Tecnologias (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos

Leia mais

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR Curso Engenharia Informática Ano letivo 2012-2013 Unidade Curricular Programação Funcional ECTS 4 Regime Opcional Ano 2.º ou 3.º Semestre 2.º Horas de trabalho globais Docente (s) Celestino Gonçalves Total

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2013/2014

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2013/2014 Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2013/2014 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade

Leia mais

Como construir um compilador utilizando ferramentas Java

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 1 - Introdução Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir um

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2010/2011

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2010/2011 Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2010/2011 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4.

Leia mais

Compiladores. Prof. Bruno Moreno

Compiladores. Prof. Bruno Moreno Compiladores Prof. Bruno Moreno Apresentação - Professor Bruno Neiva Moreno Graduado em Ciência da Computação (UFPB) 2004 a 2009 Bolsista PIBIC/CNPq LARHENA - Laboratório de Recursos Hídricos e Engenharia

Leia mais

ESCOLA SUPERIOR DE TECNOLOGIA

ESCOLA SUPERIOR DE TECNOLOGIA Departamento Informática Curso Engenharia de Sistemas e Informática Ano 4º Semestre 2º Ano Lectivo 2005/2006 Grupo Teóricas Carga horária semanal Práticas Teórico Práticas Seminários Estágios Docente Responsável

Leia mais

FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS

FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS Acadêmico: Roger Anderson Schmidt Orientador : Marcel Hugo Supervisor : Ricardo de Freitas Becker Empresa

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO OPTIMIZADA PARA BASES DE DADOS Ano Lectivo 2011/2012

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO OPTIMIZADA PARA BASES DE DADOS Ano Lectivo 2011/2012 Programa da Unidade Curricular PROGRAMAÇÃO OPTIMIZADA PARA BASES DE DADOS Ano Lectivo 2011/2012 1. Unidade Orgânica Ciências da Economia e da Empresa (2º Ciclo) 2. Curso MESTRADO EM CIÊNCIAS DA COMPUTAÇÃO

Leia mais

Introdução à Programaçã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

Leia mais

FACULDADE LEÃO SAMPAIO

FACULDADE LEÃO SAMPAIO FACULDADE LEÃO SAMPAIO Paradigmas de Programação Curso de Análise e Desenvolvimento de Sistemas Turma: 309-5 Semestre - 2014.2 Paradigmas de Programação Prof. MSc. Isaac Bezerra de Oliveira. 1 PARADIGMAS

Leia mais

Compiladores. Fabio Mascarenhas

Compiladores. Fabio Mascarenhas Compiladores Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/comp Introdução Compiladores x Interpretadores Offline x Online Um compilador transforma um programa executável de uma linguagem fonte

Leia mais

Noções de compilação

Noções de compilação Noções de compilação Compilador: o que é, para que serve e estrutura geral Parentes do compilador e programas correlatos Prof. Thiago A. S. Pardo 1 Exercício em duplas Para esquentar... 2 1 Compilação:

Leia mais

UNIVERSIDADE DO MINHO

UNIVERSIDADE DO MINHO UNIVERSIDADE DO MINHO Dossier da Unidade Curricular 1011.8201N6 - [10-11] Laboratórios de Informática I [ENGINF] Ano Lectivo 2010/11-1º Ano, 1º semestre Coordenador da UC: José Nuno Fonseca Oliveira Documento

Leia mais