Linguagens, Tradutores e Utilitários

Propaganda
Ferramentas Programação
UDESC - Prof. Juliano Maia
1
Índice
Seção
Seção
Seção
Seção
1
2
3
4
–
–
–
–
Linguagens de Programação
Interpretador
Compilador / Linkeditor
Ambientes de Desenvolvimento
UDESC - Prof. Juliano Maia
2
Linguagens de Programação
Seção 1
Linguagem de Programação
LP de Alto Nível
LP de Baixo Nível
Interpretador / Compilador
UDESC - Prof. Juliano Maia
3
Linguagem de Programação
Método padronizado para expressar
instruções para um computador.
Conjunto de regras sintáticas e
semânticas usadas para definir um
programa de computador.
UDESC - Prof. Juliano Maia
4
LP de Alto Nível
Linguagens de programação com um
nível de abstração relativamente
elevado, longe do código de máquina e
mais próximo à linguagem humana.
Ex.: COBOL, Pascal, Delphy, Java, C.
UDESC - Prof. Juliano Maia
5
Exemplo Programa C
Imprime o caracter * em tela:
#include <stdio.h> //adiciona biblioteca padrão de I/O ao programa
int main() {
//declara/inicia função “principal” do programa
puts("*");
//escreve o caratcer * em tela
}
//finaliza a função “principal” e o programa
UDESC - Prof. Juliano Maia
6
LP de Baixo Nível
Linguagem de programação mais
próxima ao código da máquina e,
portanto, menos abstrata. Possui forte
relação entre as operações
implementadas pela linguagem e as
operações implementadas pelo
hardware.
Ex.: Assembly.
UDESC - Prof. Juliano Maia
7
Exemplo Programa Assembly
Imprime o caracter * em tela:
.model small ;modelo de memória
.stack
;espaço de memória para instruções do programa na pilha
.code
;as linhas seguintes são instruções do programa
mov ah,2h ;move o valor 2h p/ o registrador ah
mov dl,2ah ;move o valor 2ah p/ o registrador dl (ASCII do caractere *)
int 21h
;interrupção 21h
mov ah,4ch ;função 4ch, sai para o sistema operacional
int 21h
;interrupção 21h
end
;finaliza o programa
UDESC - Prof. Juliano Maia
8
Interpretador / Compilador
Programas (utilitários) que processam
linguagens de alto nível, traduzindo-as
em linguagens de baixo nível.
UDESC - Prof. Juliano Maia
9
Interpretador
Seção 2
Interpretador
Fluxo / Iteração Interpretação
Vantagens / Desvantagens
UDESC - Prof. Juliano Maia
10
Interpretador
Um interpretador, no momento da
execução do programa, traduz cada
instrução do programa e a executa em
seguida.
UDESC - Prof. Juliano Maia
11
Fluxo / Iteração Interpretação
Programa Fonte
Interpretador
Interpretador
Saída
Dados
UDESC - Prof. Juliano Maia
12
Vantagens / Desvantagens
Vantagem: Permite implementação de
sub-processos / rotinas dinâmicas, ou
seja, que podem mudar durante a
execução do programa.
Desvantagem:Tempo gasto na
tradução das instruções de um
programa toda vez que este for
executado.
UDESC - Prof. Juliano Maia
13
Compilador / Linkeditor
Seção 3
Compilador
Fluxo / Iteração Compilação
Vantagens / Desvantagens
Linkeditor
Processo Compilação - Linkedição
Bibliotecas
UDESC - Prof. Juliano Maia
14
Compilador
Um compilador lê um programa e o traduz
completamente antes que o programa seja
executado. Neste caso, o programa escrito
em linguagem de alto nível é chamado de
código fonte, e o programa traduzido é
chamado de código objeto. Uma vez que
um programa é compilado, você pode
executá-lo repetidamente, sem que precise
de nova tradução.
UDESC - Prof. Juliano Maia
15
Fluxo / Iteração Compilação
Código Fonte
Dados
Compilador
Compilador
Arquivo Executável
UDESC - Prof. Juliano Maia
Saída
16
Vantagens / Desvantagens
Vantagem: A execução é mais rápida,
pois o programa executado já se
encontra totalmente traduzido.
Desvantagem: Programa totalmente
estático – não é possível a
implementação de sub-processos /
rotinas dinâmicas.
UDESC - Prof. Juliano Maia
17
Linkeditor
Programa (utilitário) responsável por
gerar, a partir de um ou mais códigos
objeto, um único programa executável.
Suas funções básicas são resolver todas
as referências simbólicas existentes
entre os módulos e reservar memória
para a execução do programa.
UDESC - Prof. Juliano Maia
18
Processo Compilação - Linkedição
Programa
ProgramaFonte
Fonte
Programa
ProgramaFonte
Fonte
Compilador
Compilador
Compilador
Compilador
Programa
ProgramaObjeto
Objeto
Programa
ProgramaObjeto
Objeto
Ligador
Ligadorou
ou
Linkeditor
Linkeditor
Biblioteca
Biblioteca
Biblioteca
Biblioteca
Programa
ProgramaExecutável
Executável
UDESC - Prof. Juliano Maia
19
Bibliotecas
Bibliotecas são conjuntos de sub-rotinas
(programas ou funções) que podem ser
utilizadas em qualquer programa.
A biblioteca stdio.h (Standart Input and
Output) da linguagem C, por exemplo, é a
biblioteca que contem todas as
funcionalidade de leitura / escrita (entrada
e saída de dados).
UDESC - Prof. Juliano Maia
20
Ambientes de Desenvolvimento
Seção 4
Ambiente Integrado (IDE)
O IDE Dev-C++
Depurador de Programa
UDESC - Prof. Juliano Maia
21
IDE
IDE, Integrated Development
Environment ou Ambiente de
Desenvolvimento Integrado, é um
utilitário que reúne características e
ferramentas de apoio ao
desenvolvimento de software com o
objetivo de agilizar este processo.
UDESC - Prof. Juliano Maia
22
Exemplo IDE Dev-C++
UDESC - Prof. Juliano Maia
23
Depurador de Programa
O depurador, ou debuger, é um
utilitário que permite ao programador
controlar toda a execução de um
programa a fim de detectar erros.
UDESC - Prof. Juliano Maia
24
Funcionalidades
Acompanhar a instrução de um
programa instrução por instrução.
Alterar e visualizar o conteúdo de
variáveis em tempo de execução.
Implementar “breakpoints” – pontos de
parada na execução do programa.
UDESC - Prof. Juliano Maia
25
Depurando um Programa ...
UDESC - Prof. Juliano Maia
26
Informações úteis
Baixe o IDE Dev-c++ (free) em:
www.superdownloads.com.br
Em plataforma Linux, não há um IDE similar.
Neste caso, usar:
Editor de texto Kedit
Utilitário console, para compilação e
execução:
gcc –o <arq exe> <código fonte>
./ <arq exe>
UDESC - Prof. Juliano Maia
27
Download