La actualización dinámica de reglas en tiempo de ejecución
Pregunta
Cuando se envía un comando AT que normalmente se termina por \ r \ n, pero, de hecho, estos son realmente dos 'registro variables' S3 y S4.
Por S4 == '\ n' predeterminado S3 == '\ r' y, pero el usuario puede cambiar estos términos en tiempo de ejecución con el comando ATSx =
¿Cómo puedo manejar esto en mi Antlr analizador léxico / analizador?
Cada comando tiene la forma de AT [parámetros] S3S4, ¿cómo puedo manejar que si el usuario cambia el valor de S3 o S4?
Gracias de antemano por cualquier ayuda ...
Solución
No, no hay tal opción de cambiar dinámicamente analizador-reglas lexer- o yo sepa. Por supuesto, existen soluciones temporales como sea posible volver a crear el analizador léxico / analizador al cambiar las variables de registro, pero no va a ser bonito, supongo ...
Editar
MAWG escribió
recrear el LEXR y poarser (bueno, lexer solamente, supongo) - podrías leaborate en ese
Reescribiendo el archivo de gramática inicial (sólo las reglas analizadoras, como usted menciona correctamente) y recompilar sobre la marcha. Ver: http://java.sun.com/ JavaSE / 6 / docs / api / javax / herramientas / JavaCompiler.html