introdução a linguagens formais e tradutores

Upload: rick-oliveira

Post on 16-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Introduo a Linguagens Formais e Tradutores

    1/19

    Andr Luis Meneses Silva

    [email protected]

    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$