¿Qué es una "macro"?

¿Qué es una "macro"?

Una "macro" en informática es un concepto abstracto que reemplaza un determinado patrón de texto basado en un conjunto de reglas predefinidas. El software de oficina Excel integra automáticamente el lenguaje de programación de alto nivel "VBA" para la creación de programas llamados "maros". ".El uso de "VBA" requiere una cierta base de programación y lleva mucho tiempo. Por lo tanto, la gran mayoría de los usuarios sólo utilizan la función de tabulación general de Excel y rara vez utilizan "VBA". Cuando el intérprete o compilador encuentra una macro, esta El reemplazo de patrones se realiza automáticamente. Para los lenguajes compilados, la expansión de macros ocurre en el momento de la compilación y la herramienta que realiza la expansión de macros a menudo se denomina expansor de macros. El término macro también se usa a menudo en muchos contextos similares derivados del concepto de expansión de macros. , incluidas las macros de teclado y los lenguajes de macros. En la mayoría de los casos, usar la palabra "macro" significa convertir pequeños comandos u operaciones en una serie de instrucciones. Las macros se utilizan para automatizar secuencias de uso común o para obtener funciones de abstracción más potentes. Esto suele ser lo mismo. Los lenguajes informáticos como C o el lenguaje ensamblador tienen sistemas de macros simples implementados por compiladores o preprocesadores de ensambladores. El preprocesador de macros en lenguaje C puede realizar búsquedas y reemplazos de texto simples, mientras que los programadores de C utilizan procesamiento de texto adicional. Los lenguajes (como M4) pueden usar macros más complejas. Los lenguajes similares a Lisp (como Common Lisp y Scheme) tienen sistemas de macros más complejos: las macros se comportan como si las funciones transformaran su propio texto de programa y todos los idiomas. se puede utilizar para expresar estas transformaciones. Las macros en C definen una sustitución sintáctica, y las macros en Lisp controlan el cálculo de un fragmento de código, obteniendo la capacidad de controlar el orden de ejecución del código (consulte Evaluación diferida y funciones sin restricciones). hace que las construcciones de sintaxis recién creadas sean indistinguibles de las integradas en el lenguaje. Por ejemplo, un dialecto Lisp que tiene cond pero no puede usar macros para definir las últimas y las primeras. p>Acelerar la edición y el formateo generales. Combinar múltiples comandos para hacer que las opciones en los cuadros de diálogo sean más accesibles. Automatizar una serie de tareas complejas. Las aplicaciones también pueden usar un mecanismo similar a las macros, lo que permite al usuario personalizar una serie de acciones (generalmente las más comunes). los usados) como un paso, es decir, el usuario realiza una serie de acciones y luego deja que la aplicación "recuerde" estas acciones y la secuencia de acciones a través de la programación de macros incorporada accede directamente a la funcionalidad de la aplicación. en un lenguaje de macros desconocido, es más efectivo registrar la secuencia de operaciones que el usuario desea obtener y luego leer el archivo de macro grabado por la aplicación para comprender la estructura del comando de macro.

Editado. Introducción a la programación de macros

Al programar macros en un lenguaje de macros desconocido, primero puede registrar lo que el usuario quiere que haga la macro y luego abrir el archivo de macro e intentar comprender cómo funciona la estructura del comando. Las macros también se pueden ajustar modificando el comando. Algunos lenguajes de macros (como el motor de ejecución Dexterity del software Great Plains Accounting) no pueden importar datos de otras fuentes de datos (como archivos de texto delimitados por comas) para solucionar esta limitación. , puede crear un programa de computadora en un lenguaje de programación más potente (como VBA) que genere una macro especial utilizando este lenguaje de programación débil. Por ejemplo, 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 importe datos específicos a Great Plains. Cada nuevo conjunto de datos requiere un nuevo archivo .mac.

Editar 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 el producto de esta filosofía.

De hecho, la mayoría de los editores se componen de macros, y Emacs fue diseñado originalmente como un conjunto de macros para el lenguaje de edición TECO y luego fue portado a Emacs Lisp, un dialecto de Lisp.

Edición del lenguaje de macros

Los lenguajes informáticos (como C o el lenguaje ensamblador) tienen un sistema de macros simple implementado por un compilador o preprocesador ensamblador.

Las macros en el preprocesador de lenguaje C son simplemente búsqueda y reemplazo de texto. Al utilizar lenguajes de procesamiento de texto adicionales (como M4), los programadores de lenguaje C pueden usar macros más complejas. Los lenguajes de macros son una clase de lenguajes de programación en los que todos o la mayoría de los cálculos se realizan mediante macros de expansión. 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 (derivado de AT&T, incluido con Unix, como se mencionó anteriormente) Definición de macro Una de las funciones de preprocesamiento proporcionadas por los programas C. Incluye definiciones de macros con y sin parámetros. Específicamente, un reemplazo de cadena simple o un reemplazo detallado con un identificador específico. Su forma es #define identificador (lista de parámetros) cadena nombre de macro El identificador en la definición anterior se llama "nombre de macro". Expansión de macros El proceso de reemplazar nombres de macros con cadenas cuando se compila un programa en C se llama "expansión de macros".