UMA PROPOSTA DE FERRAMENTA PARA SIMPLIFICAR A DEPURAÇÃO DE CÓDIGOS EM C, POR ALUNOS INICIANTES
|
|
- Caio Taveira Ribas
- 6 Há anos
- Visualizações:
Transcrição
1 WAlgProg / 2016 UMA PROPOSTA DE FERRAMENTA PARA SIMPLIFICAR A DEPURAÇÃO DE CÓDIGOS EM C, POR ALUNOS INICIANTES Marina Gomes <gomes.marina93@gmail.com > Érico Amaral <ericoamaral@unipampa.edu.br>
2 Roteiro 2 Introdução Motivação e Objetivo Geral Metodologia Implementação Resultados e Discussões Considerações Finais Referências
3 Introdução 3 Cechinel et. al (2008) aponta: Alto índice de evasão/reprovação (>55%) Primeiros contatos com programação (67%) Dificuldades no aprendizado. Encontrar erros de compilação (1º). Desenvolver programa para executar uma tarefa.
4 Introdução 4 Construcionismo (Papert, 1986) enfatiza aprendizagem de programação. Fase da depuração é uma das mais importantes. O aprendiz pode construir seu conhecimento Ciclo da descrição-execução-reflexão-depuração (Burd, 1999).
5 Motivação 5 Dificuldade na aprendizagem da disciplina; Evasão e/reprovação Necessidades observadas por professores; recurso de apoio ao processo de ensino/aprendizagem de programação auxilie na prática de programação em linguagem C correção de erros de compilação mais simples
6 Metodologia 6 Etapas da Metodologia (Próprio Autor).
7 7 Implementação Projeto Piloto Instrumento de coleta de dados Resultados do projeto piloto Projeto de Software Técnicas para construção da ferramenta Desenvolvimento do analisador CFacil por alunos iniciantes
8 Projeto Piloto Coleta de dados 8
9 Projeto Piloto Resultados 9 Análise realizada com minerador de textos Sobek. Resultados observados para os conceitos Error e Warning (Próprio Autor). 10
10 10 Projeto e Desenvolvimento CFacil Paradigma de engenharia de software Modelagem através de UML Ciclo de vida clássico Cascata (Pressman, 2006). Diagrama de casos de uso (Próprio Autor).
11 Conceitos Aplicados 11 Conceitos e técnicas da construção de compiladores Autômato Finito A linguagem pode ser reconhecida por autômatos finitos. Léxico: palavras (tokens) do programa I, while, =, [, (, <, int Erro: 8p Sintática: combinação de tokens que formam o programa Erro: while ( expressão comendos Semântica: adequação Uso de identificadores declarados, verificação tipos Erros: j = 2 Autômato comando while (Próprio Autor).
12 12 Projeto do Analisador Começa o reconhecimento pela função principal main() Reconhece subconjunto restrito de comandos da linguagem de acordo com os critérios: Restrições nos alvos de if-else, if, while, do-while, for: Todos devem ser cerrados dentro de um bloco ( { e } ) A partir destas consideração as seguintes produções podem representar a linguagem C: Programa -> coleção de funções + variáveis globais Função -> especificador de função + lista de parâmetros + bloco de código Bloco de código -> { sequência de comandos } Comando -> palavra-chave, expressão ou bloco de código
13 13 Resultados e discussões Exemplos de programas-fonte reconhecidos pelo CFacil Experimento em aulas práticas de programação Questionário de avaliação por alunos iniciantes
14 Exemplos de programas-fonte reconhecidos pela ferramenta 14
15 Exemplos de programas-fonte reconhecidos pela ferramenta 14 15
16 Exemplos de programas-fonte reconhecidos pela ferramenta 14
17 Exemplos de programas-fonte reconhecidos pela ferramenta 14
18 Experimento em aulas práticas de programação 15 Análise realizada com o minerador de textos Sobek
19 Experimento em aulas práticas de programação 16 Erros CFacil X Erros compilador GCC (Projeto piloto)
20 Experimento em aulas práticas de programação 16 Erros CFacil X Erros compilador GCC (Projeto piloto) 10 % - Compilações de Código
21 17 Questionário de avaliação
22 18 Questionário de avaliação
23 Considerações Finais 19 Projeto Piloto. Identificando os erros mais cometidos e validando a proposta inicial. Alunos da disciplina de algoritmos e programação. Redução de alguns tipos de erros (Projeto Piloto) Redução nas compilações.
24 21 Trabalhos Futuros Versão Monitor (ClientexServidor)
25 22 Referências BURD, L. Desenvolvimento de software para atividades educacionais. Dissertação (mestrado) Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação. Campinas-SP, CECHINEL, C.; COGO, G.; BETEMPS, C.; TAVARES, R. Desenvolvimento de Objetos de Aprendizagem para o Apoio à Disciplina de Algoritmos e Programação, SBIE, PAPERT, S. Constructionism: a new opportunity for elementary science education. Cambridge, Epistemology and Learning Group, Massachusetts Institute of Technology, PRESSMAN, Roger S. Engenharia de software. 6ª ed. Porto Alegre: Bookman, 2006.
26 WAlgProg / 2016 UMA PROPOSTA DE FERRAMENTA PARA SIMPLIFICAR A DEPURAÇÃO DE CÓDIGOS EM C, POR ALUNOS INICIANTES Marina Gomes <gomes.marina93@gmail.com > Érico Amaral <ericoamaral@unipampa.edu.br>
DESCOMPLICANDO A PROGRAMAÇÃO EM LINGUAGEM C. UMA SOLUÇÃO PARA DEPURAÇÃO SIMPLES DE CÓDIGOS. GOMES, M. S. ¹, AMARAL, E. M H. ¹
DESCOMPLICANDO A PROGRAMAÇÃO EM LINGUAGEM C. UMA SOLUÇÃO PARA DEPURAÇÃO SIMPLES DE CÓDIGOS. GOMES, M. S. ¹, AMARAL, E. M H. ¹ ¹ Universidade Federal do Pampa (UNIPAMPA) Bagé RS Brasil RESUMO Este trabalho
Leia maisPROPOSTA DE UM SISTEMA PARA O MONITORAMENTO DAS ATIVIDADES DE PROGRAMAÇÃO PARA ALUNOS INICIANTES
Grupo de Estudos em Informática na Educação PROPOSTA DE UM SISTEMA PARA O MONITORAMENTO DAS ATIVIDADES DE PROGRAMAÇÃO PARA ALUNOS INICIANTES Patricia Padula Marina Gomes Thiago Dantas Érico Amaral Roteiro
Leia maisLinguagens de Programação Aula 3
Aula 3 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada... Classificação das LPs (nível, geração e paradigma) Paradigmas Imperativo, OO, funcional, lógico e concorrente 2/33 Na aula de hoje...
Leia maisSimplificando a depuração de códigos na Linguagem C - Uma solução para alunos iniciantes.
Simplificando a depuração de códigos na Linguagem C - Uma solução para alunos iniciantes. Marina S. Gomes 1, Érico M. H. do Amaral 1 1 Engenharia de Computação - Universidade Federal do Pampa (Unipampa)
Leia maisFERRAMENTA 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 maisUniversidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação
Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação Análise Semântica Disciplina: Compiladores Equipe: Luiz Carlos dos Anjos Filho José Ferreira Júnior Compiladores Um compilador
Leia maisDESENVOLVIMENTO 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 maisUma Proposta de Ferramenta para Simplificar a Depuração de Códigos em C, por Alunos Iniciantes
Uma Proposta de Ferramenta para Simplificar a Depuração de Códigos em C, por Alunos Iniciantes Marina S. Gomes 1, Érico M. H. do Amaral 1 1 Engenharia de Computação - Universidade Federal do Pampa (Unipampa)
Leia maisFACULDADE 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 maisConceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 03 Processo de Compilação Edirlei Soares de Lima Métodos de Implementação Arquitetura de Von Neumann: A linguagem de máquina de um computador
Leia maisUm estudo sobre erros em Programação: reconhecendo as dificuldades de programadores iniciantes
Um estudo sobre erros em Programação: reconhecendo as dificuldades de programadores iniciantes Marina Gomes 1, Liliane Becker 1, Lucas Gestaro 1, Érico Amaral 1, Liane Tarouco 2 1 Engenharia de Computação
Leia maisINFORMÁTICA NA EDUCAÇÃO: INSTRUCIONISMO X CONSTRUCIONISMO
INFORMÁTICA NA EDUCAÇÃO: INSTRUCIONISMO X CONSTRUCIONISMO José Armando Valente O que é informática na educação? O termo "Informática na Educação" tem assumido diversos significados dependendo da visão
Leia maisCompiladores. 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 maisConstruçã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 maisAnálise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema
Desenvolvimento de programas 1 Análise do problema 2 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Conhecer exatamente o que o problema
Leia maisCompiladores. Prof. Bruno Moreno Aula 8 02/05/2011
Compiladores Prof. Bruno Moreno Aula 8 02/05/2011 RECONHECIMENTO DE TOKENS Reconhecimento de Tokens Até aqui aprendemos a identificar tokens Para reconhecimento, a única abordagem utilizada foi árvores
Leia maisDesenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa
Desenvolvimento de programas 1 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Análise do problema 2 Conhecer exatamente o que o problema
Leia maisLinguagens de Programação
Linguagens de Programação de Linguagens de Programação Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 11 Propriedades desejáveis Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade:
Leia maisDesenvolvimento de programas
1 Desenvolvimento de programas Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração 2 Análise do problema Conhecer exatamente o que o problema
Leia maisCompiladores. 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 maisProjeto 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 maisCompiladores - 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
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Apresentação do Plano de Ensino Aula 1 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de Computação 1º Período 1/16 Professor
Leia maisAnálise Sintática Introdução
Análise Sintática Introdução Renato Ferreira Linguagens e Automatas Linguagens formais são importantes em Computação Especialmente em linguagens de programação Linguagens regulares A linguagem formal mais
Leia maisCompiladores. 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 maisUniversidade 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 maisALGUMAS POSSIBILIDADES DO APLICATIVO SCRATCH E DA ROBÓTICA EDUCACIONAL NO ENSINO DE MATEMÁTICA
ALGUMAS POSSIBILIDADES DO APLICATIVO SCRATCH E DA ROBÓTICA EDUCACIONAL NO ENSINO DE MATEMÁTICA Clodogil Fabiano Ribeiro DOS SANTOS Universidade Estadual do Centro-Oeste UNICENTRO 1 professorgil1968@gmail.com
Leia maisAnálise Semântica e Representação Intermédia
Análise Semântica e Representação Intermédia Compiladores, Aula Nº 22 João M. P. Cardoso 1 Representação do fluxo de controlo Nós de enunciados Nó if Árvore de expressão para a condição Nó para o corpo
Leia maisPró-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 maisCompiladores. 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 maisIntroduçã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 maisAcadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl
AVALIAÇÃO DA QUALIDADE DO CÓDIGO FONTE ESCRITO EM PL/SQL Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes
Leia maisCompiladores Análise Semântica
Compiladores Análise Semântica Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp Árvores Sintáticas Abstratas (ASTs) A árvore de análise sintática tem muita informação redundante Separadores,
Leia maisLinguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP
Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Ementa Gramáticas. Linguagens Regulares, Livres-de-Contexto e Sensíveis-ao- Contexto. Tipos de Reconhecedores. Operações
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisCompiladores Análise Semântica
Compiladores Análise Semântica Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Árvores Sintáticas Abstratas (ASTs) A árvore de análise sintática tem muita informação redundante Separadores,
Leia maisGramáticas Livres de Contexto Parte 1
Universidade Estadual de Feira de Santana Engenharia de Computação Gramáticas Livres de Contexto Parte 1 EXA 817 Compiladores Prof. Matheus Giovanni Pires O papel do Analisador Sintático É responsável
Leia maisLogica de Programacao. Jorge Augusto F. de Souza Edward Boszczowski
Logica de Programacao Jorge Augusto F. de Souza Edward Boszczowski Roteiro: O que é lógica de programação A importância do papel e caneta O que é algoritmo Pseudocódigo Diagrama de Blocos Diagrama de Chapin
Leia maisCompiladores. 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 maisComo construir um compilador utilizando ferramentas Java
Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 4 Análise Léxica Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir
Leia maisCompiladores. 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 maisAnálise Semântica e Representação Intermédia
Análise Semântica e Representação Intermédia Compiladores Cristina C. Vieira 1 Representação do fluxo de controlo Nós de enunciados Nó if Árvore de expressão para a condição Nó para o corpo do then e nó
Leia maisCompiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)
Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Análise Léxica A primeira fase da compilação Recebe os caracteres de entrada do programa e os converte em um fluxo de
Leia maisTeoria da Computação (BBC244)
Teoria da Computação (BBC244) Professor: Anderson Almeida Ferreira anderson.ferreira@gmail.com http://www.decom.ufop.br/anderson Sala COM 10 DECOM-UFOP Ementa Gramáticas. Linguagens. Operações com Linguagens.
Leia maisLinguagens 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 maisLinguagens Formais e Autômatos. Tiago Alves de Oliveira
Linguagens Formais e Autômatos Tiago Alves de Oliveira Ementa Linguagens Regulares; Máquinas de Turing; O Problema da Parada da Máquina de Turing; Autômatos Finitos; Linguagens Livres de Contexto; Autômatos
Leia maisImplementação do Analisador Léxico
Implementação do Analisador Léxico Ricardo Mendes do Nascimento Universidade Regional Integrada do Alto Uruguai e das Missões (URI) Santo Ângelo RS Brasil rnascom@urisan.tche.br Resumo. Este artigo tem
Leia maisCompiladores. Análise Semântica
Compiladores Análise Semântica Análise semântica A semântica define o significado dos programas sintaticamente corretos; Por exemplo, em C, a instrução if(a>b) max = a; else max = b; Diz que a expressão
Leia maisApresentaçã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 maisCompiladores 02 Analise léxica
Compiladores 02 Analise léxica Sumário Análise Léxica Definição: Lexema, tokens Tabela símbolos Expressões regulares, automatos Relembrando O compilador é dividido em duas etapas Análise Síntese Análise
Leia maisEng. Alimentos PROGRAMA DE DISCIPLINA IDENTIFICAÇÃO CÓDIGO DISCIPLINA PRÉ-REQUISITOS
PROGRAMA DE DISCIPLINA Semestre 2016.1 IDENTIFICAÇÃO CÓDIGO DISCIPLINA PRÉ-REQUISITOS EXA170 Introdução à Ciência da Computação CURSO DEPARTAMENTO ÁREA Engenharia de Alimentos Ciências Exatas Informática
Leia maisAlgoritmos e Introdução à Programação. Lógica e Linguagem de Programação
Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato/honoratonunes Linguagem C Prof.
Leia maisIntrodução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 04 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL LINGUAGEM IREMOS ESTUDAR? 2 Introdução à Programação Linguagens
Leia maisA pesquisa no ensino de computação. Práticas de ensino de algoritmos (Hazzan, Cap. 4) Péricles Miranda
A pesquisa no ensino de computação Práticas de ensino de algoritmos (Hazzan, Cap. 4) Péricles Miranda Existe pesquisa na área de ensino? Existe uma variedade de tópicos Conhecimento de novatos Investiga
Leia maisAula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas
Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br Nome da disciplina:
Leia maisIntrodução à Programação
Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.
Leia maisLinguagem de Programação e Compiladores
Linguagem de Programação e Compiladores Fernando Antônio Asevedo Nóbrega Instituto de Ciências Matemáticas e de Computação USP SCC-206 Introdução à Compilação 24 de abril de 2012 1 / 20 Sumário 1 Introdução
Leia maisAlgoritmos e Introdução à Programação. Lógica e Linguagem de Programação
Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato/honoratonunes Linguagem C Seleção
Leia maisPONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS PRÓ-REITORIA DE GRADUAÇÃO ESCOLA DE CIÊNCIAS EXATAS E DA COMPUTAÇÃO PLANO DE ENSINO
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS PRÓ-REITORIA DE GRADUAÇÃO ESCOLA DE CIÊNCIAS EXATAS E DA COMPUTAÇÃO PLANO DE ENSINO Disciplina: Técnicas de Programação I Curso: Engenharia de Computação/ Ciência
Leia maisConceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 06 Análise Sintática (Implementação) Edirlei Soares de Lima Análise Sintática A maioria dos compiladores separam a tarefa da análise sintática
Leia maisConceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 04 Sintaxe e Semântica Edirlei Soares de Lima Sintaxe e Semântica A descrição de uma linguagem de programação envolve dois aspectos principais:
Leia maisNoçõ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 Compilação: por que estudar? (parte 1) Compiladores:
Leia maisNoçõ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 maisCompiladores. Análise Léxica
Compiladores Análise Léxica Cristiano Lehrer, M.Sc. Introdução (1/3) Análise léxica é a primeira fase do compilador. A função do analisador léxico, também denominado scanner, é: Fazer a leitura do programa
Leia maisUniversidade 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 maisSERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria
Leia maisSEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.
SEMÂNTICA program simples = var x : int := 3 in x := x + 5 end. rode =? Rogério Rocha Roteiro Introdução Sintaxe Semântica Dinâmica (Métodos formais) Operacional Axiomática Denotacional Estática Conclusão
Leia maisParadigmas de Programação
Paradigmas de Programação Prof.: Edilberto M. Silva http://www.edilms.eti.br Aula 2 Linguagens de Programação Desenvolvimento e execução de programas Características de linguagens Execução de programas
Leia maisHierarquia de Chomsky e sua relação com os autômatos
Hierarquia de Chomsky: Linguagens Regulares, Livres de Contexto, Sensíveis ao Contexto e Irrestritas seus Reconhecedores, e Geradores Autômatos são essenciais para o estudo dos limites da computação. Existem
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Faculdade de Computação Aula Revisão Marcelo Zanchetta do Nascimento Material elaborado pela Profa. Ana Carolina Lorena - UNIFESP Desenvolvimento de Software ANÁLISE IMPLEMENTAÇÃO
Leia maisFOLHA DE PROVA. Descreva e ilustre, com um exemplo, o algoritmo de minimização de um autômato.
Tema 01: LINGUAGENS E FUNÇÕES REGULARES Disserte sobre as possíveis formas de se demonstrar que uma linguagem é regular e de se demonstrar que uma linguagem não é regular. Descreva e ilustre, com um exemplo,
Leia maisTratamento dos Erros de Sintaxe. Adriano Maranhão
Tratamento dos Erros de Sintaxe Adriano Maranhão Introdução Se um compilador tivesse que processar somente programas corretos, seu projeto e sua implementação seriam grandemente simplificados. Mas os programadores
Leia maisUniversidade Federal de Roraima Departamento de Matemática Introdução à Ciência da Computação
Universidade Federal de Roraima Departamento de Matemática Introdução à Ciência da Computação Tema nº1: Entrada e saída de dados Assunto: Elemos básicos sobre Arquitetura de Computadores Conceito de Hardware,
Leia maisEderson Luiz da Silva Ciência da Computação. Algoritmos e Programação
Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de
Leia maisAnálise Sintática. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 18
Análise Sintática Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Outubro, 2016 1 / 18 Sumário 1 Introdução 2 Derivações 2 / 18 1 Introdução 2 Derivações 3 /
Leia maisINSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem
Leia maisMINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO
DISCIPLINA: Linguagens de Programação CÓDIGO: 2ECOM.031 Data de Elaboração: Janeiro/2012 Carga Horária: Total: 30 h/a; Semanal: 02 aulas; Créditos: 02 Modalidade: Prática Classificação do Conteúdo pelas
Leia maisCompiladores - Gramáticas
Compiladores - Gramáticas Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa
Leia maisAula 01 Algoritmos e lógica de programação e introdução ao C++
Aula 01 Algoritmos e lógica de programação e introdução ao C++ Autor: José Martins de Castro Neto Carga Horária: 2h 21 de julho de 2015 1 Algoritmo e lógica de programação Ementa do curso 1. Definições
Leia maisComo 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 maisCompiladores - Gramáticas
Compiladores - Gramáticas Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa
Leia maisCompiladores Prof. a Mariella Berger. Trabalho 2 Analisador Léxico
Compiladores Prof. a Mariella Berger Trabalho 2 Analisador Léxico 1. Objetivo O objetivo deste trabalho é a criação de um analisador léxico para a linguagem Pascalito, um subconjunto modificado da linguagem
Leia maisM Y C H E L L I N E S O U T O H E N R I Q U E P A T R Í C I A C. A. R. T E D E S C O
M Y C H E L L I N E S O U T O H E N R I Q U E P A T R Í C I A C. A. R. T E D E S C O AGENDA Definição do Problema Objetivo Procedimentos Metodológicos Resultados Conclusões e Trabalhos Futuros 2 Definição
Leia maisUma gramática é ambígua se existe alguma cadeia para qual ela tem mais de uma árvore sintática
Ambiguidade Uma gramática é ambígua se existe alguma cadeia para qual ela tem mais de uma árvore sintática De maneira equivalente, se existe mais de uma derivação mais à esquerda para uma cadeia Ou se
Leia maisCapítulo 6: Linguagens de Programação
Capítulo 6: Linguagens de Programação Ciência da Computação: Uma Visão Abrangente 11a Edição by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Capítulo 6: Linguagens de programação 6.1 Perspectiva
Leia maisTeoria e Implementação de Linguagens Computacionais. Especificação do projeto da disciplina (2006.1) Versão de 23/08/2006.
Teoria e Implementação de Linguagens Computacionais Especificação do projeto da disciplina (2006.1) Versão de 23/08/2006 André Santos Introdução O objetivo do projeto é proporcionar aos alunos da disciplina
Leia maisPLANO 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 maisCompiladores. 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 maisEstruturas condicionais
Estruturas condicionais David Déharbe 1 1 Objetivos da aula Revisar os primeiros elementos de linguagem C já vistos. Condicionais simples Condicionais compostas Operadores lógicos 2 2 Objetivos da aula
Leia maisRevisão. Fases da dacompilação
1 Revisão Prof. Julio Arakaki Julio Arakaki 1 Fases da dacompilação Código fonte Análise Léxica tokens e lexemas Análise Sintática Árvore Sintática Abstrata (ASA) Análise Semântica ASA decorada Geração
Leia maisFunção, interação com o compilador Especificação e reconhecimento de tokens Implementação Tratamento de erros. Prof. Thiago A. S.
Análise léxica Função, interação com o compilador Especificação e reconhecimento de tokens Implementação Tratamento de erros Prof. Thiago A. S. Pardo 1 Estrutura geral de um compilador programa-fonte analisador
Leia maisPLANO DE UNIDADE DIDÁTICA- PUD
Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de
Leia maisSISTEMA DE INFORMAÇÃO EXECUTIVO PARA ENVIO DE DADOS APLICADO NA UNIMED BLUMENAU
Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Curso de Ciências da Computação (Bacharelado) SISTEMA DE INFORMAÇÃO EXECUTIVO PARA ENVIO DE DADOS APLICADO NA UNIMED BLUMENAU Acadêmica:
Leia maisCompiladores. Análise Semântica
Compiladores Análise Semântica Cristiano Lehrer, M.Sc. Atividades do Compilador Arquivo de origem Análise léxica Análise semântica Síntese Análise sintática Análise Gramáticas Estruturas internas Arquivo
Leia maisCompiladores Ambiente de Execução
Compiladores Ambiente de Execução Fabio Mascarenhas 2015.2 http://www.dcc.ufrj.br/~fabiom/comp O Back-end Até agora vimos as fases do front-end do compilador: Análise Léxica Análise Sintática Análise Semântica
Leia maisProf. Adriano Maranhão COMPILADORES
Prof. Adriano Maranhão COMPILADORES LINGUAGENS: INTERPRETADAS X COMPILADAS Resumo: Linguagem compilada: Se o método utilizado traduz todo o texto do programa, para só depois executar o programa, então
Leia mais