Está en la página 1de 7

Facultad de Ing.

De Sistemas e Informática
1° Informe del laboratorio De Lenguajes
y Traductores

Pregrado
Arzapalo Caldas, César Kennedy Rousseau 17200134

16 de agosto 2018
Índice
Resumen

Índice

I. Introducción:

1. Resumen
2. Objetivos.
II. Estructura General del lenguaje “MINORIN”:
1. Ámbito de Alcance:
1.1. Declaraciones Globales.
1.2. Declaraciones Locales.
1.3. Comentarios
2. Componentes esenciales:
2.1. Bibliotecas:
2.2. Definiciones:
2.3. Declaraciones:
2.4. Ejecución:
III. Elementos Principales del Lenguaje:
1. [TOKENS]
1.1. Identificadores:
1.2. Palabras Reservadas:
1.3. Literales:
1.4. Variables & Constantes:
1.5. Signos de Puntuación y separadores:
2. Tipos de datos:
3. Operadores:
IV. Programación Estructurada:
1. Estructura de control:
1.1. Si … Sino:
2. Estructura de selección:
2.1. Selección:
3. Estructura de Iteración:
3.1. Realizar:
3.2. Realizar…Controlada:
V. Programación Modular:
1. Sub-programación:
I. Introducción
1. Resumen:
En este informe se dará la creación a grandes rasgos de un lenguaje.

2. Objetivos
 Desarrollar a grandes rasgos un lenguaje, para posteriormente tener una base para el traductor.

II. Estructura de un lenguaje


Sintaxis:

add biblioteca [NOMBRE_DE_BIBLIOTECA]


add biblioteca [NOMBRE_DE_BIBLIOTECA]

add definir constante valor_constante


Ámbito Global
declarar nombre_de_funcion(tipo_de_dato variable;…)

declarar tipo_de_dato nombre_variable

vacio ejecucion():



… Ámbito Local


fin;

tipo_dato_retorno nombre_funcion (tipo_de_dato variable; …):





… Ámbito Local


retornar valor;

1. Ámbito de alcance

1.1. Declaraciones Globales:

Las declaraciones globales le indica al traductor que lo definido y declarado en ese ámbito se puede disponer
para todo el programa.

Se pueden hacer declaraciones globales de variables, constantes, funciones, inclusión de bibliotecas y definir
constantes; estas 3 ultimas solamente se pueden ser declaradas de manera global.

Las declaraciones globales solo se pueden definir antes de la función ejecución.


1.2. Declaraciones Locales:

Las declaraciones locales se pueden normalmente se ubican dentro de funciones; pero también se pueden
encontrar dentro de estructuras de control; iterativas y de selección.

Esta solo se puede usar en su ámbito declarado, fuera de este no se puede usar

Ejemplo en la siguiente sintaxis:

Tipo_de_retorno nombre_de_funcion():
Tipo_de_dato variable;




Si (condicion):
Tipo_de_dato variable_2;
… Ámbito Local_1
… Ámbito Local_2

fin;


fin;

Lo declarado en el Ámbito Local_2 solo se puede usar en ese ámbito y no en el Ámbito Local_1 ni en el
programa; en cambio en el Ámbito Local_1 se puede usar las variables declaradas en este ámbito, por ende
también en el Ámbito Local_2, ya que este pertenece al Ámbito Local_1.

1.3. Comentarios:

Los comentarios no pertenecen a ningún ámbito, el traductor los ignora.

Su función es que cuando el código de un programador sea entregado a otro, este se apoye de los comentarios
del anterior para poder entender las sentencias de código.

Su sintaxis es la siguiente:

Comentario:


Lo que se desea comentar…


fin

2. Componentes principales

2.1. Bibliotecas:

La biblioteca brinda al programador con funciones o tipos de datos nuevos, para la facilidad de este.

También el programador puede crear sus propias bibliotecas para su mayor facilidad.

Para poder añadir bibliotecas se usa la siguiente sintaxis:


add biblioteca [NOMBRE_DE_BIBLIOTECA]

Nombre de la biblioteca “Siempre entre corchetes”

Palabra Reservada biblioteca

Palabra Reservada add “Añadir”

2.2. Definiciones:
Nos ayudan a definir unos tokens como constantes globales para poder usarlos en el proceso de programar.

Para poder definir se usa la siguiente sintaxis.

add definir tipo_de_dato nombre_de_constante valor_de_la _constante

Palabra Reservada definir

Palabra Reservada add “Añadir”

2.3. Declaraciones:
Inicializa variables para su posterior uso; su sintaxis es la siguiente:

declarar tipo_de_dato nombre_de_constante

Palabra Reservada declarar

2.4 Función de Ejecución:


Su propósito es ejecutar líneas de comando en la memoria principal a través del traductor.

Todo lo que este fuera de su ámbito no se ejecuta.

Su sintaxis es la siguiente:

vacio ejecucion()



… Ámbito de ejecución

fin;

Palabra Reservada vacio “Tipo de dato”

Palabra Reservada ejecucion “Está reservado explícitamente para la ejecución”

Palabra Reservada fin “Sirve para terminar el ámbito de una estructura”


III. Elementos principales del Lenguaje:

1. Tokens

1.1. Identificadores:

Los identificadores son una secuencia de caracteres (“dígitos, letras, subraya y tres puntos”) que denota el
nombre de una variable, función, entre otros; para así poder distinguirlos e identificarlos (“De ahí el nombre”)

1.2. Palabras Reservadas:

Las palabras reservadas, son palabras con significado único que cumplen con una función especifica que el
traductor utiliza para poder ejecutar las sentencias de código.

Unos ejemplos son los tipos de datos primitivos, que sirvan para indicar de que tipo de dato son: entero, vacio,
real, carácter.

Otros podrían Si … Sino, Realizar, Realizar…Controlada, Selección, entre otros que nos dicen que son
estructuras de control selección e iteración.

Todo esto lo detecta el traductor en el análisis semántico para poder saber como ejecuta las sentencias de
código.

1.3. Literales:

Los Literales son como la contraparte de los identificadores; en cuanto a ellos, definían el nombre de las
variables, funciones, entre otros; los literales son los posibles valores que pueden tomar las variables o aparecer
en el programa, mediante un conjunto de dígitos y caracteres.

Ejemplo de ello son:

12  Numero Entero “entero”


12.34  Numero Decimal “real”
‘S’  Carácter “caracter”
“hola”  palabra “cadena”

1.4. Variables & Constantes:

Son una posición de memoria identificado con un identificador en la cual se almacena literal, en una variable
el literal puede cambiar el valor almacenado y en una constante se queda fijo.

Sintácticamente se diferencian:

constante tipo_de_dato nombre_de_la_constante valor_de_la_constante;

Palabra reservada constante “hace que el valor en la dirección de memoria no se


modifique”

tipo_de_dato nombre_de_la_constante valor_de_la_constante; “Declaración sintáctica de la variable”


1.5. Signos de puntuación y Separadores:

Se utiliza signos de puntuación y separadores para que el analizador sintáctico pueda distinguir de mejor
manera sentencias de código, también para que las sentencias de código sean más específicas y controladas.

Algunos signos de puntuación que se utilizaron son:

El “:” para la inicialización de unas estructuras iterativas, de control, funciones, entre otros.
El “;” para terminar una línea de código.
El “( )” para pasar parámetros en las funciones

Algunos separadores:

El “[S]” para saltar una línea en la consola.


El “[A]” para alarma.
El “[L]” para retornar una línea en la consola.
El “[E]” para retornar un espacio en la consola.

2. Tipos de datos
Es la cualidad univoca que posee un dato, la cual se le puede asignar a un espacio de memoria para utilizarlo como
una variable o constante. Tenemos como ejemplos:

entero real
caracter cadena
vacio
3. Operadores
Los operadores son símbolos que se usan para las operaciones matéricas, booleanas, de asignación, entre otros.

3.1. Operadores Aritméticos:

Sirven para realizar los procedimientos matemáticos básicos.

Tenemos el operador suma “+”, resta “-”, multipicador “*”, división “/”, potencia “^”, entre otros.

3.2. Operadores Lógicos:

Sirve para asignar valores booleanos, como el falso y el verdadero.

3.3. Operadores de Asignación y Relación:

El Operador de asignación sirve para darle un valor a un identificador en una asignación de memoria, se define
de la siguiente manera:

identificador = valor_asignado

Operador de Asignación.

El Operador de relación sirve para apoyar a los operadores matemáticos asignando un mayor campo de uso de
sus operadores.

entero numero;

numero = 3 * ( 4 + 1 ) ;

Se usa los paréntesis para abarcar mayor ámbito del operador “*”.

También podría gustarte