Page 86 - LENGUAJES FORMALES AUTOMATAS Y COMPILADOS
P. 86

86



                  Para este mismo segmento, resolviendo el no determinismo, esta rutina bien puede ser:

                  Estado = Q0
                  Insertar (#)
                  Estado = P
                  Insertar (S)
                  Estado = Q
                  Leer símbolo entrada
                  Mientras cima != #
                        repita
                                según-caso (símbolo en la cima)
                                          S: si símbolo != X
                                               entonces
                                                      extraer (S)
                                               sino
                                                      extraer (S), insertar (XSY)
                                               fin-si
                                         X: si símbolo no es X
                                              entonces
                                                      rutina-error
                                              sino
                                                     extraer (X), leer (símbolo)
                                               fin-si
                                         Y: si símbolo no es Y
                                              entonces
                                                            rutina-error
                                              sino
                                                  extraer (Y), leer (símbolo)
                                              fin-si
                                fin-caso
                  Fin-mientras
                  Extraer (#)
                  Si el símbolo no es la marca de cadena vacía (λ)
                  Entonces
                              rutina-error
                  Sino
                          estado=F

                  Acá símbolo, es nuestra memoria temporal para el siguiente símbolo de la entrada, para hacer
                  efectivo el LL(K), donde K=1

                  El no determinismo se resuelva con un LL(1), o sea hará un pre análisis leyendo un carácter, para
                  poder discernir sobre lo que debe hacerse.
                  Si hay una X al observar el siguiente símbolo de entrada, entonces debe reemplazarse por la S por
                  la cadena XSY; de lo contrario se debe sustituir por la cadena vacía. Porque si insertamos XSY
                  en la pila sabiendo que el siguiente símbolo a leer no es una X , esto no funcionará.  Una vez que
                  se inserta un símbolo terminal en la pila, para poder extraerlo debe ser igual al de la entrada. Si
                  se coloca XSY en la pila cuando observamos en la entrada un símbolo distinto de X, el símbolo
   81   82   83   84   85   86   87   88   89   90   91