SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Linguagem de programação
Victor Antoniazzi @vgsantoniazzi
compiladores e interpretadores
Compiladores vs Interpretadores
Por que C gera um arquivo e Ruby não?
Compilador
- Verifica a declaração
- Gera assembly
- Proxima declaração
- Executa o assembly!
Erro de compilacão
- Não executa as declarações
Interpretador
- Verifica a declaração
- Executa declaração
- Proxima declaração
Erro de interpretação
- Executa as declarações
Como é analisado o arquivo?
Análise sintática
Análise léxica
Análise semântica
Código!
x = 10;
print x;
token "x", tipo identificador, coluna 1, linha 1;
token "=", tipo assinatura, coluna 3, linha 1;
token "10", tipo inteiro, coluna 5, linha 1;
token ";", tipo fim, coluna 6, linha 1;
token "print", tipo imprimir, coluna 5, linha 2;
token "x", tipo identificador, coluna 7, linha 2;
token ";", tipo fim, coluna 8, linha 2;
if(CurrentToken() == VARIABLE) {
string variableName = CurrentToken();
nextToken.Match(ASSIGNMENT);
int value = MathExpression(CurrentTokenPosition);
variables[variableName] = value;
NextToken.match(SEMICOLON);
}
if(CurrentToken() == OUTPUT) {
print variables[CurrentToken()]
NextToken.match(SEMICOLON);
}
Quando intepretar e quando compilar?
Por que criar uma linguagem de programação?
Live coding!
Dúvidas?

Más contenido relacionado

Destacado (8)

Cramer_Jeremy_4.4_PPP_Slideshow
Cramer_Jeremy_4.4_PPP_SlideshowCramer_Jeremy_4.4_PPP_Slideshow
Cramer_Jeremy_4.4_PPP_Slideshow
 
실험참가자모집
실험참가자모집실험참가자모집
실험참가자모집
 
Compromiso Empresarial 23. ¿’Trumpazo’ a La Sostenibilidad?
Compromiso Empresarial 23. ¿’Trumpazo’ a La Sostenibilidad? Compromiso Empresarial 23. ¿’Trumpazo’ a La Sostenibilidad?
Compromiso Empresarial 23. ¿’Trumpazo’ a La Sostenibilidad?
 
Entrevistas de trabajo en empresa los andes
Entrevistas de trabajo en empresa los andesEntrevistas de trabajo en empresa los andes
Entrevistas de trabajo en empresa los andes
 
Clases de comunicación
Clases de comunicaciónClases de comunicación
Clases de comunicación
 
BHP presentationFailure to Turnaround
BHP presentationFailure to TurnaroundBHP presentationFailure to Turnaround
BHP presentationFailure to Turnaround
 
Fun Run
Fun RunFun Run
Fun Run
 
6 tips to redefine your brand
6 tips to redefine your brand6 tips to redefine your brand
6 tips to redefine your brand
 

Similar a Compiladores e interpretadores (7)

Java script
Java scriptJava script
Java script
 
A Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em JogosA Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em Jogos
 
LIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de AlgoritmosLIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de Algoritmos
 
Novidades PHP 5.3 e PHP 6
Novidades PHP 5.3 e PHP 6Novidades PHP 5.3 e PHP 6
Novidades PHP 5.3 e PHP 6
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Compiladores 3
Compiladores 3Compiladores 3
Compiladores 3
 
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
 

Compiladores e interpretadores