Top Banner

of 19

Introdução a Linguagens Formais e Tradutores

Feb 16, 2018

Download

Documents

Rick Oliveira
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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$