Está en la página 1de 7

TECNOLÓGICO NACIONAL DE MÉXICO

Instituto Tecnológico Superior de San Martín


Texmelucan

DIVISIÓN DE INGENIERÍA EN
SISTEMAS COMPUTACIONALES

Lenguajes y Autómatas I

Ejercicios 2-Reglas de un lenguaje

INGENIERÍA EN SISTEMAS COMPUTACIONALES

PRESENTA:

Eduardo Rosales Roldan

DOCENTE:

M.C. Maria Petra Paredes Xochihua

Declaro que el siguiente trabajo de evaluación es el fruto de análisis y


trabajo personal. El uso de todos los recursos como citas, ilustraciones,
scripts de terceros, se menciona de forma clara y estricta su origen, tanto
en el cuerpo del texto como en la bibliografía. En este sentido, soy (somos)
consciente(s) de que el hecho de no respetar los derechos de autor y hacer
plagio, son objeto de sanciones universitarias y/o legales

Eduardo Rosales Roldan

San Martín Texmelucan, Puebla 30 de Marzo de 2020


Contenido

Introducción ....................................................................................................................................... 2
Desarrollo ........................................................................................................................................... 3
Conclusión .......................................................................................................................................... 6

i
Introducción

Las definición de reglas de un lenguaje de programación, son esenciales, ya que


sin ellas no se podría establecer una sintaxis estandarizada para realizar una
determinada operación, por ejemplo mostrar un mensaje en pantalla o hacer un
ciclo, es por ello que siempre se debe de tomar en cuenta todas las reglas que
conformen un lenguaje de programación. En el presente documento se realiza un
ejercicio en donde se definen 10 reglas de un lenguaje determinado. Para realizar
este ejercicio se tomó como referencia la práctica 4 en donde se obtiene la tabla de
tokens, puesto que es en esta práctica en donde se definen reglas que el usuario
deberá de seguir, de lo contrario el lexema se muestra dentro de la tabla mas no se
reconoce.
Desarrollo
Para realizar este ejercicio, se toma como base el trabajo realizado en la práctica 4,
en donde, a partir de un sentencia ingresada por el usuario, se obtiene la tabla de
tokens correspondiente, para ello, se definieron vectores que en este caso fungen
como reglas que deberá de seguir la sintaxis del lenguaje, a continuación se
presenta los vectores con las palabras y símbolos que son aceptados en el lenguaje:

String reservadas[] ={"static","System","out","println"}; // Vector para palabras reservadas en Java


String TipodeDato[]={"int","float","double","boolean","void","string"};//Vector para tipo de datos
String ModAcceso[]={"public","private","protected"};//Vector para Modificadores de acceso
String SentenciasControl[]={"if","do","while","for","switch"};//Vector para Sentencias de control
String Libreria[]={"import","javax","util","math","Scanner","Joption"};//Vector para librerias
String SAgrupacionApertura[] ={"(","{","[","'"};//Vcetor para Simbolos de agrupación de apertura
String SAgrupacionCierre[]={")","]","}","''"};//Vector para Simbolos de agrupación de cierre
String Sseparacion[] ={",",";"};//Vector para simbolos de separación
String concatenacion[]={".","$"};//Vcetor para simbolos de concatenación
String PreservadasM[]={"main","get","set"};//Vector para palabras reservadas de Métodos (por
ejemplo metódo main)
String OpAritmetico[]={"+","-","*","/","%"};//Vector para operadores aritmeticos
String OpRelacionales[]={"==","!=","&&","||"};//Vector para Operadores relacionales

Como ejemplo se describe las reglas para la sintaxis para mostrar un mensaje en
pantallla:

System-.-out.-.println-(-‘- MENSAJE-‘’-$-r1-)-;
Reglas:
1. “System” Siempre debe de iniciar con “S”, si se inicia con “s” el programa
no la identifica.
2. Se debe de usar “-“entre cada palabra reservada, símbolo, o mensaje.
3. No es permisible poner “-“al principio de la sentencia.
4. El “.” Debe ser usado entre las palabras reservadas “out” y “println”.
5. El contenido de lo que se mostrara en pantalla estará entre dos paréntesis,
uno de apertura y uno de cierre.
6. El símbolo de apertura de un mensaje siempre deberá ser: ‘

3
7. El mensaje puede ser tan largo como se desee, no olvidando que dentro de
este también debe de haber un “-“entre cada palabra.
8. El símbolo de cierre de un mensaje siempre será: ‘’
9. Se usa $ para concatenar variables, por ejemplo “r1” puede tomarse como
una operación de suma, y si queremos mostrar el valor de esa variable en
pantalla junto con un mensaje debemos de usar ese símbolo, recordando
que para ello no hace falta ningún tipo de comillas o de lo contrario se
mostrara como una cadena de texto.
10. La sentencia se finaliza con “;”

Siguiendo estás reglas entonces al momento de obtener nuestra tabla de tokens,


se van a reconocer todos los lexemas, como se muestra en la siguiente imagen
en donde se comprueba:
System-.-out-.-println-('-hola-''-$-r-)-;

Se puede observer que al obtener la table de tokens, se reconocen todos los


lexemas, porque se han respetados las reglas del lenguaje.

Sin embargo, si no respetamos las reglas entonces en la tabla de tokens nos


aparecerá como no identificada, ejemplo;
system-.-out-.-println-('-hola-''-$-r-)-;

4
En esta ocasión hemos escrito “system” lo que por la definición de las reglas no es
correcto, al mostrarnos la tabla de tokens nos debe de aparecer que esa palabra no
está identificada, ya que no forma parte del lenguaje.

5
Conclusión
Con este tipo de ejercicios, fue posible identificar las reglas que definen a un
lenguaje de programación, siendo estas demasiadas para una sola línea de código,
sin embargo, son fundamentales, ya que en temas posteriores como análisis
sintáctico, la definición de reglas será crucial. En los lenguajes de programación que
actualmente conocemos tiene infinidades de reglas que obligan al usuario a seguir
un determinado orden en la sintaxis, y esto demuestra que la correcta declaración
de reglas se realiza de acuerdo al lenguaje establecido.

También podría gustarte