analizador sintáctico unidad 6

Upload: paco-torres

Post on 17-Feb-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Analizador Sintctico Unidad 6

    1/20

    ANALIZADORSINTCTICO

    Ing. Francisco Miguel Gonzlez Ji!nezLengua"es # Au$%a$as l&ni'a' (

  • 7/23/2019 Analizador Sintctico Unidad 6

    2/20

    ANALIZADOR SINTCTICO

    &n analizador sintctico*o parser+ es una 'e las'e un co,ila'or -ue $ransora su en$ra'a en un'eri0aci%n.

  • 7/23/2019 Analizador Sintctico Unidad 6

    3/20

    Con0ier$e el $e1$o 'e en$ra'a en o$ras es$ruc$uras *co2nen$er/oles+3 -ue son s 2$iles ,ara el ,os$erior anlisis # ca,$uran

    la "erar-u4a i,l4ci$a 'e la en$ra'a.&n analiza'or l!1ico crea $o5ens 'e una secuencia 'e carac$eres'e en$ra'a # son es$os $o5ens los -ue son ,rocesa'os ,or elanaliza'or sin$c$ico ,ara cons$ruir la es$ruc$ura 'e 'a$os3 ,ore"e,lo un r/ol 'e anlisis o r/oles 'e sin$a1is a/s$rac$a.

  • 7/23/2019 Analizador Sintctico Unidad 6

    4/20

    R6OL7S D7 D7RI8ACI9N.

  • 7/23/2019 Analizador Sintctico Unidad 6

    5/20

    &n r/ol 'e anlisis sin$c$ico o r/ol 'e 'eri0aci%n es un r/ol cu#re,resen$an $erinales # no $erinales 'e la gra$ica 'on'e el noel s4/olo 'e inicio # los :i"os 'e ca'a no'o no $erinal son los s4/ree,lazan a ese no $erinal en la 'eri0aci%n

    (ningn smbolo trminal !"d sr nodo intrior dl rbol# nningn smbolo no trminal !"d sr "na %o&a'

    A con$inuaci%n se ,resen$a un r/ol 'e anlisis sin$c$ico ,ara la cazaza/a/a usan'o la siguien$e gra$ica # cual -uiera 'e las 'eri0ac

  • 7/23/2019 Analizador Sintctico Unidad 6

    6/20

  • 7/23/2019 Analizador Sintctico Unidad 6

    7/20

    GRAMATICAS ; L7NG&AJ7S LI6R7SD7 CONT7

  • 7/23/2019 Analizador Sintctico Unidad 6

    8/20

    7s una gra$ica oral en la -ue ca'a regla 'e ,ro'ucci%n es

    'e la ora?8 @

    Don'e 8 es un s4/olo no $erinal # es una ca'ena 'e$erinales #Bo no $erinales.

    7l $!rino li/re 'e con$e1$o se reere al :ec:o 'e -ue el no$erinal 8 ,ue'e sie,re ser sus$i$ui'o ,or sin $ener encuen$a el con$e1$o en el -ue ocurra.

    &n lengua"e oral es li/re 'e con$e1$o si :a# una gra$icali/re 'e con$e1$o -ue lo genera.

  • 7/23/2019 Analizador Sintctico Unidad 6

    9/20

    FORMA NORMAL D7 COMSE;

  • 7/23/2019 Analizador Sintctico Unidad 6

    10/20

    &na gra$ica oral es$ en Fora noral 'e C:os5# si$o'as sus reglas 'e ,ro'ucci%n son 'e alguna 'e las siguien$esoras?

    A6C o A3 o 'on'e A3 6 # C son s4/olos no $erinales *o 0aria/les+ # es

    un s4/olo $erinal.

    To'o lengua"e in'e,en'ien$e 'el con$e1$o -ue no ,osee a laca'ena 0ac4a3 es e1,resa/le ,or e'io 'e una gra$ica enora noral 'e C:os5# *GFNC+ # rec4,rocaen$e.A'es3 'a'a una gra$ica in'e,en'ien$e 'el con$e1$o3 es,osi/le algor4$icaen$e ,ro'ucir una GFNC e-ui0alen$e3 es'ecir3 -ue genera el iso lengua"e.

  • 7/23/2019 Analizador Sintctico Unidad 6

    11/20

    DIAGRAMAS D7 SINTA

  • 7/23/2019 Analizador Sintctico Unidad 6

    12/20

    7s o$ra ora *al igual -ue los r/oles 'e 'eri0aci%n+ 'ees,ecicar gra$icas 'el $i,o H.

    La carac$er4s$ica 'e es$e es-uea es -ue ,eri$e 0er la'eri0aciones al ins$an$e 'e -ue ocurren.

  • 7/23/2019 Analizador Sintctico Unidad 6

    13/20

  • 7/23/2019 Analizador Sintctico Unidad 6

    14/20

    TIOS D7 ANALIZADOR7S SINTCTICOS

  • 7/23/2019 Analizador Sintctico Unidad 6

    15/20

    TIOS D7 ANALIZADOR7S SINTCTICOS

  • 7/23/2019 Analizador Sintctico Unidad 6

    16/20

    MAN7JO D7 7RROR7S

  • 7/23/2019 Analizador Sintctico Unidad 6

    17/20

    Muc:os errores 'e na$uraleza sin$c$ica Recu,eraci%n? Al,ro'ucirse un error el co,ila'or 'e/e ser ca,az 'e inorar 'elerror # seguir co,ilan'o. *I'eal+

    7l ane"o 'e errores 'e sin$a1is es el s co,lica'o 'es'e el,un$o 'e 0is$a 'e la creaci%n 'e co,ila'ores. Nos in$eresa -uecuan'o el co,ila'or encuen$re un error3 se recu,ere # siga/uscan'o errores. or lo $an$o el ane"a'or 'e errores 'e unanaliza'or sin$c$ico 'e/e $ener coo o/"e$i0os?

    In'icar los errores 'e ora clara # ,recisa. Aclarar el $i,o'e error # su localizaci%n. Recu,erarse 'el error3 ,ara ,o'er seguir e1ainan'o laen$ra'a.

    No ralen$izar signica$i0aen$e la co,ilaci%n.

  • 7/23/2019 Analizador Sintctico Unidad 6

    18/20

    &n /uen co,ila'or 'e/e :acerse sie,re $enien'o $a/i!n enen$e los errores -ue se ,ue'en ,ro'ucirK con ello se consigue?

    Si,licar la es$ruc$ura 'el co,ila'or.

    Me"orar la res,ues$a an$e los errores.Teneos 0arias es$ra$egias ,ara corregir errores3 una 0ez'e$ec$a'os?

    Ignorar el ,ro/lea *anico'e+

    Consis$e en ignorar el res$o 'e la en$ra'a :as$a llegar a unacon'ici%n 'e seguri'a'.

    &na con'ici%n $al se ,ro'uce cuan'o nos encon$raos un $o5enes,ecial *,or e"e,lo un K o un 7ND+. A ,ar$ir 'e es$e ,un$o sesigue analizan'o noralen$e.

  • 7/23/2019 Analizador Sintctico Unidad 6

    19/20

    Recu,eraci%n a ni0el 'e rase

    In$en$a recu,erar el error una 0ez 'escu/ier$o. 7n el caso an$erior3 ,or e"e,lo3,o'r4a :a/er si'o lo sucien$een$e in$eligen$e coo ,ara inser$ar el $o5en K.

    a# -ue $ener cui'a'o con es$e !$o'o3 ,ues ,ue'e 'ar lugar a recu,eracionesinni$as.

    Reglas 'e ,ro'ucci%n a'icionales ,ara el con$rol 'e errores

    La gra$ica se ,ue'e auen$ar con las reglas -ue reconocen los errores scounes. 7n el caso an$erior3 se ,o'r4a :a/er ,ues$o algo coo?

    sen$err%ne a sen$sinaca/ar sen$enciaaca/a'a K

    sen$enciaaca/a'a sen$encia K

    sen$sinaca/ar sen$enciaLo cual nos 'a a#or con$rol en cier$as circuns$ancias

  • 7/23/2019 Analizador Sintctico Unidad 6

    20/20

    Correcci%n Glo/al

    Da'a una secuencia co,le$a 'e $o5ens a ser reconoci'a3 si :a#alg2n error ,or el -ue no se ,ue'e reconocer3 consis$e en

    encon$rar la secuencia co,le$a s,areci'a -ue s4 se ,ue'a reconocer. 7s 'ecir3 el analiza'orsin$c$ico le ,i'e $o'a la secuencia 'e $o5ens al l!1ico3 # lo -ue:ace es 'e0ol0er lo s ,areci'o a la ca'ena 'e en$ra'a ,erosin errores3 as4 coo el r/ol -ue lo reconoce.