Sie sind auf Seite 1von 4

Compilador: YAJUU

1.-Convenciones léxicas.

Un programa en YAJUU consta de uno o más archivos. Un archivo se traduce


conceptualmente, en varias fases. La primera de estas es el pre procesamiento, que incluye
archivos y sustituye macros. El pre procesamiento se controla por medio de directivas introducidas
con líneas que tienen a @ como primer carácter distinto de espacio blanco. El resultado del pre
procesamiento es una secuencia de componentes léxicos, es decir, un archivo pre procesado, que
se llama unidad de traducción.

Componentes léxicos.

YAJUU posee 5 tipos de componentes léxicos: identificadores, palabras clave, literales,


operadores y otros separadores. Se pasan por alto los espacios, tabuladores horizontales y
verticales, cambios de línea, cambios de página y comentarios. Se requiere cierto espacio blanco
para separar identificadores, palabras clave y constantes que de otro modo quedarían adyacentes.

Comentarios.

Los caracteres …. Inician un comentario el cual termina con los caracteres ….

Identificadores

El identificador será una secuencia arbitrariamente larga de letras y dígitos. El primer


carácter debe ser una letra. El subrayado cuenta como letra. Las mayúsculas y minúsculas son
diferentes. Todos los caracteres son significativos.

Palabras Clave: Son un conjunto de palabras que tienen un significado predeterminado para el
compilador, y solo pueden ser utilizadas con dicho sentido.
-AUTOMATICO -ENUMERAR
-FRENO -EXTERNO
-CARÁCTER -FLOTANTE
-CLASE -PARA
-CONSTANTE -AMIGO
-REGISTRAR -IRHA
-TALLAOF -CORTO
-PLANTILLA -ESTRUCTURAR
-SINFIRMAR -PROBAR
-FUII -VOLATIL
-CONTINUAR -LARGO
-NORMAL -NUEVO
-ELIMINAR -OPERADOR
-HACER -PRIVADO
-DOBLE -PROTEGIDO
-SIEMPRE -PUBLICO
-REGRESAR -FIRMADO
-ESTATICO -SWICH
-ESTEES -UNION
-VIRTUAL -MIEMBROS
Constantes.

Constante-entera
Constante-de-caracteres
Constante-flotante
Constante-de-cadena

Constantes Enteras.

El tipo de una constante entera depende de su forma valor y sufijo. Si es decimal y carece de sufijo
tiene el primero de los siguientes tipos en que se puede representar el valor:

Entero, largo, largo entero, nolargo entero


Sufijo: nle

Entero, corto, corto entero, nocorto entero

Sufijo: nce

Constantes de caracteres.

Constantes de un solo carácter: Carácter

Constantes de varios caracteres: entero

Caracteres no gráficos, el apostrofe ´, las comillas “, el signo de interrogación y barra vertical

Secuencias de Escape:

Nueva Linea |n
Tabulador horizontal |t
Tabulador vertical |v
Retroceso |r
Retorno de carro |re
Avance de página |f
Alerta |a
Diagonal invertida \
Signo de Interrogación ¿
Apostrofe ´
Comillas “
Numero octal |000
Numero Hexadecimal |x000

Constantes Flotantes.

Una constante flotante consiste en una parte entera, un punto decimal, una parte
fraccional, un exponente entero con signo opcional y un sufijo opcional de tipo. De las partes
enteras y fraccional, cada una consiste en una secuencia de dígitos decimales (base diez). Puede
faltar la parte entera o la fraccional, pero no ambas.

Constantes de cadena.

Una constante de cadena es una secuencia de caracteres encerrada entre comillas, como en “…”.
El tipo de una cadena es “arreglo de CARACTERES” y su clase de almacenamiento es ESTATICO, y
se inicia con los caracteres dados. El que todas las constantes de cadena sean distintas (es decir, se
almacenen en objetos no traslapados) depende de la implantación. El efecto de intentar modificar
una Constante de cadena no está definido.

2.-Conceptos Básicos.

Un nombre denota un objeto, una función un conjunto de funciones, un enumerador, un tipo, un


miembro de clase, un patrón, un valor o rotulo. Un nombre se introduce en un programa por
medio de una declaración. Un nombre se puede utilizar solo dentro de una región del texto del
programa. Todo nombre tiene un tipo, que determina su empleo. Un nombre utilizado en más de
una unidad de traducción se puede referir o no al mismo objeto, función, tipo, patrón o valor en
esas unidades de traducción dependiendo del enlace especificado en las unidades de traducción.

Un objeto es una región de almacenamiento. Un objeto con nombre posee una clase de
almacenamiento que determina su tipo de vida. El significado de los valores que se encuentran en
un objeto está determinado por el tipo de expresión empleada para obtener acceso a él.

3.-Unidades

SPT Soporte de Pantalla y Teclados


OSDos Funciones de propósito DOS
DIB Rutinas graficas
IMPRER Acceso a impresora
System Rutinas de la biblioteca en ejecución.

4.-Programa y Enlace

Un programa consta de uno o más archivos enlazados entre sí. Un archivo se compone de una
secuencia de declaraciones. Una función solo puede definir en alcance de archivo o de clase Los
tipos identificados en todas las declaraciones de un nombre externo dado deben ser idénticos.

5.-Inicio y Terminación.

Un programa debe contener una función llamada menú(). Esta función es el inicio designado del
programa, no está predefinida por el compilador, no se puede sobrecargar y su tipo depende de la
implantación.
Un enunciado REGRESAR (devolver) en menú() tiene el efecto de llamar a SALIR() con el valor
devuelto como argumento.

6.-Clases de Almacenamientos.

Los objetos automáticos son locales con respecto a cada llamada de un bloque.

Los objetos estáticos existen y conservan sus valores durante toda la ejecución del programa
completo.

7.-Tipos fundamentales.

Se tienen 3 tipos: Flotante, Doble, y 2Doble. El tipo Doble no ofrece menos precisión que el
Flotante, así como el tipo 2Doble tampoco proporciona menos precisión que Doble encabezado.

8.-Expresiones.

TALLAOF: proporciona el tamaño , en bytes, de su operando. El operando ya sea una expresión


que no se evalúa o bien un nombre de tipo entre paréntesis.

NUEVO: intenta crear un nuevo objeto del nombre-de-tipo al que se aplica. Este tipo debe ser un
tipo de objeto. No se puede asignar memoria a funciones de esta manera.

9. Eliminación.

El operador ELIMINAR destruye un objeto creado con el operador NUEVO.

Expresión-de-liberación

….Operación ELIMINAR expresión-de-mutación

….Operación ELIMINAR [ ] expresión-de-mutación

Das könnte Ihnen auch gefallen