1. Las letras mayúsculas A, B ,C , D, E y S, y son denotadas como variables,
igualmente S, es el símbolo de Inicio.
2. Las letras minúsculas a, b, c, d, e, los dígitos, las cadenas en negrillas se utilizan
para denotar terminales.
3. Las mayúsculas X,Y y Z denotan símbolos los cuales pueden ser terminales o
variables
4. Las letras minúsculas u, v, w, x, y, z denotan cadenas terminales
5. Las letras del griegas α , β , γ (alfa, beta y gamma respectivamente) denotan
cadenas variables y terminales
Teniendo en cuenta lo anterior, podríamos establecer la gramática para el ejemplo
visto:
E → E + E
E → E * E
E → ( E )
E → id
La gramática sería: E→ E + E | E * E | ( E | id )
De esta misma manera escribiremos una gramática para un ejemplo hecho en con el
Lenguaje de programación Java, entonces, teniendo una declaración de una variable el
cual consta de tres partes, el tipo de variable en este caso es entera, la letra o palabra
que representa la variable, y por último el punto y coma, para finalizar la sentencia o
linea de código, el cual nos quedaría algo como lo siguiente
int valor;
para escribir su gramática debemos tener presente como la regla V → W, como lo que
queremos en este lenguaje es declarar una variable de tipo entero llamada valor, y
teniendo en cuenta el formato de la regla, tendríamos las siguientes tres reglas:
1. <var> → <tipo> <id> ;
2. <tipo> → int
3. <id> → id
Ahora si tuviéramos lo siguiente:
double valorDouble;
1. <var> → <tipo> <id> ;
2. <tipo> → int | double