COMPILADORES END.pptx

Embed Size (px)

Citation preview

  • 8/16/2019 COMPILADORES END.pptx

    1/13

    COMPILADORES

    X Semestre

    Ing. Jhony Javier Apaza Masco

  • 8/16/2019 COMPILADORES END.pptx

    2/13

    COMPILADORES

    Los compia!ores son programas o so"t#are !e comp$ta!ora

    %$e tra!$cen $n eng$a&e a otro. 'n compia!or toma como

    s$ entra!a $n programa escrito en s$ eng$a&e "$ente y

    pro!$ce $n programa e%$ivaente escrito en s$ eng$a&e

    o(&etivo.

    Por o reg$ar) e eng$a&e "$ente es $n eng$a&e !e ato

    nive) ta como C o C**) pasca mientras %$e e eng$a&e

    o(&etivo es c+!igo o(&eto ,tam(i-n ama!o c+!igo !e

    m%$ina/ para a m%$ina o(&etivo) es !ecir) c+!igo escrito

    en as instr$cciones !e m%$ina correspon!ientes a a

    comp$ta!ora en a c$a se e&ec$tar.

    Po!emos !ecir %$e es $n tra!$ctor especia %$e toma $n

  • 8/16/2019 COMPILADORES END.pptx

    3/13

    'n compia!or es $n programa m$y compe&o con $n n0mero

    !e 1neas !e c+!igo %$e p$e!e variar !e 23)333 a 2)333)333.

    Escri(ir $n programa !e esta nat$raeza) o inc$so

    compren!ero) no es $na tarea "ci) y a mayor1a !e os

    cient14cos y pro"esionaes !e a comp$taci+n n$ncaescri(irn $n compia!or competo.

     5o o(stante) os compia!ores se $tiizan en casi to!as as

    "ormas !e a comp$taci+n) y c$a%$iera %$e est- invo$cra!o

    pro"esionamente con as comp$ta!oras !e(er1a conocer a

    organizaci+n y e "$ncionamiento (sicos !e $n compia!or.

  • 8/16/2019 COMPILADORES END.pptx

    4/13

    I56ERPRE6ES

    Es como $n compia!or) soo %$e a sai!a es $na e&ec$ci+n.

    E programa !e entra!a se reconoce y e&ec$ta a a vez. 5o se pro!$ce $n res$ta!o

    "1sico ,c+!igo m%$ina/ sino +gico ,$na e&ec$ci+n/. 7ay eng$a&es %$e s+o p$e!en

    ser interpreta!os) como p.e&. S5O8OL ,StriNg Oriented SimBOlyc Language/) LISP

    ,LISt Processing/) ag$nas versiones !e 8ASIC ,Beginner’s All-purpose Symbolic

    Instruction Code/) etc.S$ principa venta&a es %$e permiten $na "ci !ep$raci+n. Entre os inconvenientes

    po!emos citar) en primer $gar) a entit$! !e e&ec$ci+n ) ya %$e a e&ec$tar a a vez

    %$e se tra!$ce no p$e!e apicarse $n ato gra!o !e optimizaci+n9 por e&empo) si e

    programa entra en $n ($ce y a optimizaci+n no est m$y a4na!a) as mismasinstr$cciones se interpretarn y e&ec$tarn $na y otra vez) enentecien!o a

    e&ec$ci+n !e programa. Otro inconveniente es %$e !$rante a e&ec$ci+n) e

    int-rprete !e(e resi!ir en memoria) por o %$e cons$men ms rec$rsos.

  • 8/16/2019 COMPILADORES END.pptx

    5/13

  • 8/16/2019 COMPILADORES END.pptx

    6/13

    E est$!io !e a escrit$ra !e os compia!ores sereaciona con os eng$a&es !e programaci+n) aar%$itect$ra !e comp$ta!oras) a teor1a !eeng$a&es) os agoritmos y a ingenier1a !eso"t#are.

    Por o tanto se !e(er1a tener conocimiento (sicoacerca !e os temas menciona!os para po!eringresar a m$n!o !e os compia!ores.

    La apicaci+n !e os compia!ores nos permitereaizar !ise:ar procesa!ore !e te;to) mane&o !e!atos estr$t$ra!os ;m) inteigencia arti4cia < en e!ise:o !e inter"aces hom(re= ma%$ina) tra!$ctores

    !e eng$a&es nat$raes.

  • 8/16/2019 COMPILADORES END.pptx

    7/13

     6RA8AJO 5>?

    Descri(a os sig$ientest-rminos@2. toens?. sinta;is !e $n eng$a&eB. semantica. ensam(a!or. in

    . pasa!as en compiaci+nF. programa "$enteG. 8ootstrapingH. tra!$ctor o compia!or

    incrementa

  • 8/16/2019 COMPILADORES END.pptx

    8/13

    FASES DE UN

    COMPILADOR

    Un compilador se compone internamente de vanas etapas, o fases, que realizan

    distintas operaciones lógicas. Es útil pensar en estas fases como en piezas separadas

    dentro del compilador, y pueden en realidad escribirse como operaciones

    codificadas separadamente aunque en la práctica a menudo se integren juntas.

    Podemos describir como una secuencia de fases seriadas que inician con un análisis

    leicográfico y finalizan con la generación de código, adicionalmente se utiliza el

    manejo de tablas, modulos de error y E!" que interactúan con mas de una fase

    dentro de la estructura del compilador.

  • 8/16/2019 COMPILADORES END.pptx

    9/13

  • 8/16/2019 COMPILADORES END.pptx

    10/13

    Es m$y importante se:aar %$e en as!i"erentes "ases p$e!en aparecer errores y%$e !e han !e ser !etecta!os) as "ases2)?)B se !enominan etapas !e anisis y as

    )) son consi!era!as etapas !e s1ntesis

  • 8/16/2019 COMPILADORES END.pptx

    11/13

    Se !enominan tokens a os lexemas) as

    $ni!a!es m1nimas !e in"ormaci+n,por e&empo) $na instr$cci+n OR/. Lai!enti4caci+n !e estos eementos es a4nai!a! !e análisis léxico.

  • 8/16/2019 COMPILADORES END.pptx

    12/13

    Anaiza!or L-;icoEn esta "ase e compia!or e"ect$a aect$ra rea !e programa "$ente ec$a generamente esta en a "orma

    !e $n $&o !e caracteres s$ "$nci+nes recoectar sec$encias !ecaracteres en $ni!a!essigni4cativas) po!emos se:aar %$e$n rastrea!or reaiza $na "$nci+nsimiar a !eetreo.

    E&empo@ po!emos consi!erar $na

  • 8/16/2019 COMPILADORES END.pptx

    13/13

    AKin!e;*?

    Este c+!igo contiene 2? caracteresy G toens

    A in!enti4ca!orK corchete iz%$ier!oIn!e; i!enti4ca!or corchete !erecho

    asignaci+n 5$mero* signo mas? n$mero