El operador comodín ANTLR no consume la entrada esperada

Estoy escribiendo una gramática antlr que se lee en el archivo de especificación yacc. Los archivos de especificaciones de Yacc tienen la forma

declarations 
%%
rules 
%%
programs 

Sin embargo, solo estoy interesado en las secciones de declaraciones y reglas del archivo de especificaciones de yacc. He definido reglas que coinciden bien con las declaraciones y las reglas, pero estaba tratando de hacer coincidir todo lo que viene después del segundo '%%' usando un operador comodín (. *?). Esto falla Aquí está el
enlace a mi otra gramática para las gramáticas yacc

¿Cómo puedo hacer coincidir lo que viene después del segundo '%%'?

También he intentado combinar cualquier cosa menos el EOF usando

<some_rule> : ~(EOF)* ;

Aquí hay un ejemplo del archivo que falla

Respuesta 1

¿Hay alguna forma de evitar el retraso causado por el inicio de JVM cada vez que ejecuta un comando exec en PHP? Tengo dos JAR para cifrado y descifrado que necesito ejecutar con PHP. Ambos corren en ...

Estoy usando Scala para trabajar con algunos datos muy desordenados que no es práctico limpiar. Viene en forma de pares clave-valor delimitados, algo como esto: "a = 1, b = 2, c = 3". Estoy usando String.split para ...

Encontré este código fuente y quería asegurarme de que entendía por qué está escrito tal como está (o si debería serlo): boolean modificado = falso; Establezca <String> possibleSites = settings ...

Quiero mostrar todos los clientes almacenados en archivos de texto, pero un cliente está almacenado en muchos archivos de texto y se muestra más de una vez. ¿Cómo eliminar duplicados de estos clientes? Yo he tratado ...