Page 85 - LENGUAJES FORMALES AUTOMATAS Y COMPILADOS
P. 85

85


                  Como  resultado  de  este  existe  un  conjunto  de  analizadores  sintácticos  ll  cuya  característica
                  distintiva es el número de símbolos de entrada que podrá leer para poder hacer un pre análisis
                  (análisis predictivo). Estos se denotan como LL (K), donde K es un entero que determina el
                  número de símbolos pre analizados por el analizador sintáctico.

                  Autómata

                                               P

                                                                                Λ , Λ; S

                                     Λ/Λ;#

                                                                                                Y,Y;Λ                                     Λ, S; XSY


                       q0
                                                                       Q             Λ,#; Λ
                                                                                                      F
                                                                                    X/X;Λ



                                                                                                                Λ/S;Λ


                  La gramática asociada acá es:   S  XSY
                                                                     S  Λ

                  La rutina de análisis sintáctico seria:

                  Estado = Q0
                  Insertar (#)
                  Estado = P
                  Insertar (S)
                  Estado = Q
                  Mientras cima != #
                        repita
                                según-caso (símbolo en la cima)
                                          S: extraer (S) e insertar (XSY), o extraer S
                                          X: extraer (X), leer una X de la entrada
                                          Y: extraer (Y), leer una Y de la entrada
                                fin-caso
                  Fin-mientras
                  Extraer (#)
                  Estado = F

                  A todas luces esta rutina es eminentemente no determinista, se debe dar lo que es, de lo contrario
                                                                                                               
                  no funciona porque no tener transiciones que no sean LS necesarias para obtener la cadena   
                     
                    
   80   81   82   83   84   85   86   87   88   89   90