Macroprocesadores

Páginas: 6 (1300 palabras) Publicado: 25 de mayo de 2012
Macroprocesadores

1. Funciones básicas del macroprocesador | | |
1.1 Definición y expansión de macros | | 2 |
1.2 Algoritmos y estructuras de datos | | 3 |
2. Características independientes de la maquina | | |
2.1 Concatenación de parámetros | | 4 |
2.2 Generación de etiquetas únicas | | 4 |
2.3 Expansióncondicional de macros | | 4 |
2.4 Parámetros con palabras clave | | 5 |
3. Opciones de diseño del macroprocesador | | |
3.1 Expansión de macros recursivas | | 5 |
3.2 Macroprocesadores de aplicación general | | 5 |
3.3 Macroprocesadores en traductores de lenguajes | | 6 |

1. Funciones básicas del macroprocesador2.1. Definición y expansión de macros

* Macroinstrucciones (o macros) representa un grupo de proposiciones usadas frecuentemente en el código fuente.
* El Macroprocesador remplaza cada macros en el código fuente, a lo que se llama expansión de macros.
* Las macros permiten escribir versiones abreviadas de los programas y le dejan al Macroprocesador los detalles mecánicos.* Se pueden utilizar con lenguajes de alto nivel.
* Para definir una macro se usan dos directivas.
* La directiva MACRO, indica el inicio de la definición de una macro junto con su lista de parámetros.
* Cada uno de estos parámetros comienza con &
* A esta línea se le llama prototipo de la macro.
* Lo siguiente es el cuerpo de la macro.
* Y por último, ladirectiva MEND, que indica el final de la definición de la macro.
* Estas definiciones NO generan código objeto.
* Ejemplo:
* ………….
WRBUFF MACRO &OUTDEV,&BUFADR,&RECLTH

MACRO QUE ESCRIBE EL REGISTRO DE BUFFER

CLEAR X
LDT &RECLTH
LDCH &BUFADR, X
TD =X’&OUTDEV’
JEQ *-3
WD =X’&OUTDEV’
TIXR T
JLT *-14
MEND
* En elprograma principal y en otras partes puede aparecer macrollamadas o invocaciones a macros en las cuales se indica el nombre de la macro que se invoca y los argumentos que se utilizaran en la expansión de la macro.
* Ejemplo:
* ENDFIL WRBUFF 05,EOF, THREE
* Las definiciones de las macros desaparecen.
* Las invocaciones se vuelven comentarios.
* Se agrega el cuerpo de lamacro correspondiente.
* Los argumentos reemplazan a los parámetros.
* La etiqueta de la macrollamada se coloca como etiqueta de la primera línea de la macroexpresión, esto permite utilizar a las macros como nemónicos.
* En el cuerpo de la macro no hay etiquetas, solo hay referencias al contador de localidades.
* Esto obliga a obtener a mano las referencias a CONTLOC.
* Unmacroprocesador de un paso puede trabajar con definiciones de macros que contengan a su vez definiciones de macros.
* Solo se necesita que las definiciones de cada macro aparezca antes de cada invocación de la macro.

2.2. Algoritmos y estructuras de datos

* Las definiciones de las macros se almacenan en una tabla de definiciones (TABDEF), contiene el prototipo y cuerpo dela macro
* Los nombres de las macros se guardan en la tabla de nombres (TABNOM) que es un índice para TABDEF.
* Cuando se hace una invocación a macros se almacena sus argumentos de una tabla de argumentos (TABARG).
* El algoritmo del macroprocesador consta de de las siguientes partes:

* Programa principal
1. Expansión = Falso
2. Mientras CODOP sea diferente de ENDa. TOMA-LINEA
b. PROCESA-LINEA
* Procedimiento PROCESA-LINEA
1. Busca TABNOM para CODOP
a. Si lo encuentras EXPANDE
b. Si no, CODOP = MACRO, entonces DEFINE
c. Si no, escribe la línea del código fuente del archivo ampliado.
* Procedimiento DEFINE
1. Introduce nombre de la macro en TABNOM y
2. el prototipo de la macro en TABDEF.
3....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • macroprocesos
  • Macroprocesadores
  • Macroprocesos siif
  • Macroproceso IPS
  • Mapa MAcroprocesos
  • macroproceso
  • macroprocesos
  • Macroprocesos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS