7/23/2019 Introduo a Linguagens Formais e Tradutores
1/19
Andr Luis Meneses Silva
2010
1
Ncleo de Sistema de Informao
7/23/2019 Introduo a Linguagens Formais e Tradutores
2/19
Compiladores
2
Um compilador um programa que traduz um programaescrito numa linguagem fontepara outro equivalente escritonuma linguagem alvo.
ompiladorprograma
fonteprograma
alvo
mensagensde erro
7/23/2019 Introduo a Linguagens Formais e Tradutores
3/19
!
esqueleto do programa fonte
pre"processador
programa fonte
#$%I&'(#)
programa alvo em assem*ler
montador
c+digo de m,quina reloc,vel
carregador
c+digo de m,quina a*soluto
*i*liotecas-arquivos-o*etos
reloc,veis
7/23/2019 Introduo a Linguagens Formais e Tradutores
4/19
Anlise e SnteseAnlise
Divide o programaonte em partes cria uma
representa!"ointermediria #rvoressintticas$
Sntese
constr%i o programaalvo
/
:=
m
dp
tp
+
*
60
0erramentas que fazem an,lise 3ditores de estruturasPretty printers 4erificadores est,ticos Interpretadores 0ormatadores de te5to Interpretadores de consultas
7/23/2019 Introduo a Linguagens Formais e Tradutores
5/19
Anlise do programaonteAnlise l&ica #linear ou scanning$Anlise sinttica #'ierr(uica ou gramatical$
Anlise sem)ntica #restri!*es sensveis aoconte&to+ tipos, coer!*es, ... $
6
7/23/2019 Introduo a Linguagens Formais e Tradutores
6/19
Anlise L&icaCaracteres s"o agrupados em Tokens
7
montante := deposito_inicial +taxa_de_juros * 60
8 decomposto nos seguintes tokens Identificador montante S9m*olo de atri*uio := Identificador deposito_inicial
Sinal de adio Identificador ta5a:de:uros Sinal de multiplicao Nmero 7;
7/23/2019 Introduo a Linguagens Formais e Tradutores
7/19
Anlise SintticaAgrupa os to-ens do programa onte emrases gramaticais.
econ'ece a estrutura gramatical doprograma onte a (ual representada poruma rvore gramatical.#rvore gramatical / rvore de parser/
rvore de deriva!"o$Devolve uma rvore sinttica #sinta&eastrata$
Top Related