parte 3: parseo general
En esta sección del trabajo práctico se construye la parte del parser que determina qué acción llevar a cabo sobre la LL1Machine a partir de la menor cantidad de información posible. El algoritmo de decisión se aisló de forma que haya que escribirlo en el método parse de AutomaticParser.java. La característica definitoria de los parsers LL(1) es justamente que pueden trabajar a partir de esta poquísima información.
El método parse incluye la parte del algoritmo donde se accede la tabla de análisis sintáctico. Formalmente, esto requeriría la construcción de los conjuntos y , tal como descripto en la teórica. En este caso no es necesario calcular la tabla explicitamente sino que se puede diseñar informalmente.
Consigna#
Completar el métodos de AutomaticParser.java de forma que pasen los tests de test/.../parte3/AutomaticParserTest.java..
Consejos#
LL1Machinedetecta casos en los cualesparse()no llama ningún método, o realiza más de una invocación. Evitar estos casos.- Aprovechar los casos
defaultde las estructurasswitch, bloqueselse, etc. No es necesario especificar la tabla con excesiva precisión.