Compilador
Buenas tardes, soy nuevo en el campo de compiladores. Espero me puedan ayudar en lo siguiente: Tengo que definir una gramática simple (p.e. G = ({A,B,C}, {a,b,c}, A, P) ) en la cual las reglas de derivación (P) no tienen que ser necesariamente complicadas. Bueno una vez definido, se tiene que hacer un programa en java usando estructura de datos(listas, pilas, colas, etc..) en la que pueda reconocer si una cadena ingresada por un usuario pertenece a la gramática definida o no mostrándolo en un mensaje.
Mi idea fue:
G = (VN, VT, S, P)
Siendo:
• VARIABLES NO TERMINALES (VN) = { A, B, C }
• VARIABLES TERMINALES (VT) = { x, +, (, ) }
• AXIOMA PRINCIPAL (S) = { A }
Teniendo como reglas de producción:
• (1) A -> x | (B) // first_rule
• (2) B -> AC // second_rule
• (3) C -> {+A} // third_rule
Por favor ayudenme, puede cambiar a otra gramática si parece muy complicado.
Gracias de antemano.
duplicado
Duplicado de