Gramatica LL candidata
Proponer una gramática LL candidata.
Describir las características de la solución.
Diseñar un programa de cómputo (en el lenguaje de elección) que implemente el reconocer sintácticoespecificado.
INSTRUCCIÓN DE SELECTIVA MULTIPLE SELEC CASE BASANDOSE EN LA SINTAXIS DE VISUAL BASIC. NET.1. DISEÑO DE LA GRAMÁTICA.
V.1.4
1 IS => Select_case (ID) End_select
2 Casos => Case
3 4
Más Casos=> Є | Case
5 6
Dom=> Є | Case_Else
7 8Instrucciones=> | Є
9
Valor=> Num
1 CARACTERISTICAS DE LA SOLUCIÓN.
ALCANSES Y LIMITACIONES
La variable deberá estar contenida dentro delparéntesis.
La variable deberá estar compuesta por solo letras.
Solo se reconocerá números enteros sin signos.
No reconocerá operadores aritméticos.
No reconocerá signos de puntuación ni caracteresespeciales.
Admite select anidado.
Case Else solo se admitirá como el último de los Case.
Case Else podrá ser opcional.
En los CASE solo reconocerá números 1-9.
Las variables no admite guionesseguidos, debe por lo menos existir una letra de por medio.
CALCULO DE LOS PRIMEROS
FIRST (IS) = (SELECT CASE)
FIRST (CASOS) = (CASE)
FIRST (MAS CASOS) = (Є, CASE)
FIRST (DOM) = (Є, CASE_ELSE)FIRST (INSTRUCCIONES) = FIRST (IS) = (SELECT CASE) U (Є ) = (SELECT_CASE , Є)
FIRST (VALOR) = (NUM)
CALCULO DE LOS SEGUNDOS
FOLLOW (IS) = $ U FOLLOW (INSTRUCCIONES)
FOLLOW (CASOS) = FIRST(DOM) = {CASE_ELSE , END_SELECT}
FOLLOW (DOM) = {END_SELECT}
FOLLOW (VALOR) = FIRST(INSTRUCCIONES) = {SELECT CASE} U FIRST(MAS CASOS) = {CASE}
= {SELECT_CASE, CASE} U FOLLOW(CASOS) ={CASE_ELSE ,END_SELECT} U FOLLOW(MAS CASOS) = {SELECT_CASE, CASE, CASE_ELSE, END_SELECT}
FOLLOW (MAS CASOS) = FOLLOW(CASOS) = {CASE_ELSE, END_SELECT}
FOLLOW (INSTRUCCIONES) =FIRST(MAS CASOS) = {CASE} U FOLLOW...
Regístrate para leer el documento completo.