Cree una gramática libre de contexto para los sub-lang de los prototipos de Java

Soy nuevo en la gramática libre de contexto y hasta ahora solo he aprendido cosas como la derivación izquierda / derecha y G = (V, E, R, S). Pero el problema que estoy tratando de resolver implica el prototipo de Java y no soy muy bueno en Java. Así que realmente no sé por dónde empezar.

Proporcione una gramática libre de contexto para el sub-lenguaje de los prototipos de Java.

int myMethod();
double myMethod(int x, double y);
static double f(int x, double y, int z);
public static double g();

Estos son métodos y variables, ¿cómo puedo relacionarme con cosas como S => Sa | e? ¿Y cuál es el símbolo de inicio?

¡Gracias!

Respuesta 1

Todo lo que Java necesita saber sobre las firmas de métodos se encuentra en una sola página de documentación . Empiezas a escribir gramática identificando variables gramaticales. Los más obvios para comenzar son

- type
- argument_name
- method_name
- parenthesis (2 terminal symbols)
- comma (terminal)
- semicolon (terminal)

Introduce más variables al escribir reglas gramaticales, por ejemplo

argument_list : argument
              | argument, comma, argument_list

Tan pronto como termine su gramática, tendrá la "regla más importante":

method_signature : ... 

El method_signaturees el símbolo de inicio.

Respuesta: 2

Prepare el analizador de gramática de Java (p. Ej., De http://www.antlr.org/grammar/list ) y deseche todas las cosas innecesarias.

Respuesta: 3

Construí una aplicación con Angular, SpringBoot y MySQL Database. Utiliza CrudRepository y no lo entiendo (todo funciona bien). ¿Cómo saben los controladores / repositorio qué tabla ...

Entonces tengo un hashmap que almacena cadenas como la clave y las listas como el valor. Necesito crear una nueva lista dentro de mi método, llenar mi nueva lista con la que está almacenada dentro del hashmap. Haciendo esto soy ...

Quería usar una función de cambio en mi aplicación desde una cadena. Cuando hice ese eclipse, dije que tenía que actualizarme a Java 1.7, que estúpidamente lo dejé hacer. Luego me dijo que usara el Android Fix Project para arreglar ...

Estoy buscando una manera de obtener la dirección IP de la solicitud del cliente en el lado del servidor. Por cierto, no es un proyecto de servlet.