Red de conocimiento informático - Conocimiento informático - ¿Qué es un programa de macros?

¿Qué es un programa de macros?

1. "Macro" en ordenadores ¿Qué es una macro?

Una macro en informática es una abstracción que reemplaza un determinado patrón de texto según una serie de reglas predefinidas. El software de oficina Excel integra automáticamente el lenguaje de programación de alto nivel "VBA", y el programa compilado en este lenguaje se denomina "macro". El uso de "VBA" requiere cierta base de programación y consume mucho tiempo. Por lo tanto, la gran mayoría de los usuarios solo usan la función de tabulación general de Excel y rara vez usan "VBA".

El intérprete o compilador realizará automáticamente este reemplazo de patrón cuando encuentre una macro. Para los lenguajes compilados, la expansión de macros ocurre en el momento de la compilación y las herramientas que realizan la expansión de macros a menudo se denominan expansores de macros. El término macro se utiliza a menudo en muchos contextos similares, derivado del concepto de expansión de macros, incluidas las macros de teclado y los lenguajes de macros. La mayoría de las veces, el uso de la palabra “macro” implica la conversión de pequeños comandos o acciones en una serie de instrucciones.

El propósito de las macros es automatizar secuencias utilizadas con frecuencia o lograr una abstracción más poderosa, pero esto suele ser lo mismo.

Los lenguajes informáticos como C o el lenguaje ensamblador cuentan con sistemas de macros simples, que son implementados por el preprocesador del compilador o ensamblador. El trabajo del preprocesador de macros de C es simplemente buscar y reemplazar texto. Utilizando lenguajes de procesamiento de texto adicionales como M4, los programadores de C pueden obtener macros más sofisticadas.

Los lenguajes similares a Lisp, como Common Lisp y Scheme, tienen sistemas de macros más sofisticados: las macros se comportan como funciones que transforman el texto de su propio programa, y ​​todos los lenguajes pueden usarse para expresar esta transformación. Una macro C puede definir un reemplazo gramatical, pero una macro Lisp puede controlar el cálculo de una sección de código.

Obtuvo la capacidad de controlar el orden de ejecución del código (consulte evaluación diferida y funciones sin restricciones), lo que hace que las estructuras de sintaxis recién creadas sean indistinguibles de las estructuras de sintaxis integradas del lenguaje. Por ejemplo, un dialecto Lisp que tiene cond pero no if puede usar macros para definir el último del primero. Las principales extensiones de la sintaxis Lisp, como el sistema CLOS orientado a objetos, pueden definirse mediante macros.

Usos típicos de las macros

Acelerar la edición y el formateo diarios

Combinar múltiples comandos

Facilitar las opciones en los cuadros de diálogo Visita

Automatizar una serie de tareas complejas

Introducción a la programación de macros

Cuando realices programación de macros en un lenguaje de macros desconocido, puedes hacer esto: primero anota lo que el usuario quiere que se ejecute la macro, luego abra el archivo de macro e intente comprender cómo funciona la estructura del comando. También puede modificar el comando para ajustar la macro. Algunos lenguajes de macros, como el motor de ejecución Dexterity del software de contabilidad Great Plains, no pueden importar datos de otras fuentes de datos (como archivos de texto delimitados por comas). Esta limitación se puede solucionar creando un programa informático en un lenguaje de programación más potente como VBA que genere una macro especial en este débil lenguaje de programación. Por ejemplo, se puede programar una macro de Microsoft Excel para leer datos de una hoja de estilo extendida o un archivo de texto y crear un archivo .mac de Great Plains que se utiliza para importar datos específicos a Great Plains. Esto debe declararse para cada nuevo conjunto de datos. Nuevo archivo .mac.

Macros de teclado

Las macros de teclado y las macros de editor se utilizan de forma interactiva en la interfaz gráfica de usuario y el editor, respectivamente. Úselos para reemplazar largas secuencias de comandos con pulsaciones de teclas cortas y proporcionar una forma sencilla de automatización para tareas repetitivas.

El editor de texto del programador Emacs (abreviatura de "Editing MACroS") es un producto de esta idea. De hecho, la mayoría de los editores se componen de macros. Emacs se diseñó originalmente como un conjunto de macros del lenguaje de edición TECO y luego se transfirió a Emacs Lisp, un dialecto chino de Lisp.

Lenguaje de macros

Un lenguaje de macros es un tipo de lenguaje de programación en el que todos o la mayoría de los cálculos se completan mediante macros expandidas. Los lenguajes de macros no se utilizan mucho en la programación general, pero sí se utilizan habitualmente en programas de procesamiento de textos.

Por ejemplo,

Preprocesador C Preprocesador C

Macros de Internet (iOpus)

M4 (como se mencionó anteriormente, se originó en AT&T y se incluye con Unix)

Definición de macro

Una de las funciones de preprocesamiento proporcionadas por el programa c. Incluyendo definiciones de macros con parámetros y definiciones de macros sin parámetros. Específicamente, se refiere al uso de un identificador específico para realizar un reemplazo de cadena simple o un reemplazo de elaboración. El formato es:

#define cadena de identificador (lista de parámetros)

Nombre de macro

El identificador en la definición anterior se denomina "nombre de macro".

Expansión de macros

El proceso de reemplazar nombres de macros con cadenas al compilar un programa en C se llama "expansión de macros".

Microsoft Word y virus de macro

Visual Basic para Aplicaciones (VBA) es un lenguaje de programación de Microsoft Office pero, según la definición anterior, no es un lenguaje de macros en absoluto. Sin embargo, su funcionalidad evolucionó y eventualmente reemplazó la idea macro de las aplicaciones de usuario, por lo que se lo denomina amplia y erróneamente lenguaje macro.

VBA proporciona acceso a muchas funciones del sistema operativo y admite la ejecución automática de macros cuando se abre un documento. Esto hace posible escribir virus informáticos en este idioma. A mediados y finales de la década de 1990, los virus de macro se convirtieron en uno de los tipos más populares de virus informáticos. Otros proyectos que incluyen lenguajes de macros, como openoffice.org, excluyen deliberadamente algunas funciones (como la ejecución automática) de sus lenguajes de macros para evitar dañar los programas. Sin embargo, esta característica es bienvenida en muchas transacciones. De "Baidu Know"