Gema

Gema — Descargar gratis. Procesamiento de texto mediante patrones

Gema es una utilidad de procesamiento de texto de propósito general basada en el concepto de coincidencia de patrones. Lee un archivo de entrada y lo copia en un archivo de salida, realizando transformaciones específicas en los datos según un conjunto de patrones definidos por el usuario. Esta herramienta realiza funciones similares a las utilidades de Unix como cpp, grep, sed, awk o strings. Opera como un procesador de macros, pero con mayor generalidad que cpp o m4, ya que no impone una sintaxis particular para las llamadas a macros.

5.0(1 valoraciones)

Descargar Gema (Enlaces oficiales)
Tamaño del archivo: 44.4 MB
La última versión de Gema es: 2.0
Sistema operativo: Windows, Linux, MacOS
Idiomas: English
Precio: $0.00 USD
Producto de código abierto y gratuito.

  • Coincidencia de Patrones. Gema utiliza un lenguaje de patrones potente para identificar texto en el flujo de entrada. Los patrones pueden contener literales, caracteres comodín, clases de caracteres y referencias a partes coincidentes. La coincidencia es ambiciosa, buscando la coincidencia más larga posible.
  • Sustitución de Texto. Cuando se encuentra una coincidencia con un patrón, Gema ejecuta acciones asociadas que generan texto de salida. Las acciones pueden incluir texto literal, referencias a partes coincidentes, llamadas a funciones incorporadas o definidas por el usuario, y modificación de variables.
  • Macros Definidas por el Usuario. Los usuarios pueden definir macros con nombre que encapsulan patrones y acciones complejas. Estas macros pueden aceptar parámetros y ser invocadas en otras partes del programa, permitiendo la construcción de bibliotecas reutilizables de transformaciones de texto.
  • Variables y Estado. Gema mantiene un conjunto de variables que pueden establecerse, modificarse y referenciarse durante el procesamiento. Las variables pueden almacenar cadenas, números o incluso fragmentos de código de acción, proporcionando un mecanismo para mantener el estado entre coincidencias de patrones.
  • Funciones Incorporadas. Incluye numerosas funciones incorporadas para manipulación de cadenas, conversión de tipos, operaciones matemáticas, y control de flujo. Estas funciones pueden utilizarse dentro de las acciones para transformar datos antes de la salida.
  • Procesamiento de Líneas y Bloques. Puede operar en modos que procesan el texto línea por línea o en bloques más grandes, con patrones que pueden extenderse más allá de los límites de las líneas. Este modo es apropiado para procesar texto estructurado o lenguajes de marcado.
  • Expresiones Regulares. Aunque tiene su propio lenguaje de patrones, Gema puede integrarse con expresiones regulares a través de funciones incorporadas, permitiendo la utilización de la potencia de las regex en los patrones cuando es necesario.
  • Condicionales y Control de Flujo. Incluye construcciones para ejecución condicional y bucles dentro de las acciones. Esto permite tomar decisiones basadas en el contenido coincidente o en el estado de las variables, haciendo las transformaciones más dinámicas.
  • Inclusión de Archivos. Soporta la inclusión de otros archivos de patrones durante el procesamiento, facilitando la organización de conjuntos grandes de reglas en múltiples archivos y la reutilización de bibliotecas de patrones.
  • Manejo de Contexto. Los patrones pueden ser sensibles al contexto, activándose sólo cuando ciertas condiciones son verdaderas o después de que otros patrones hayan coincidido. Esto permite implementar transformaciones complejas que dependen del estado anterior.
  • Procesamiento Recursivo. Las acciones pueden generar salida que es posteriormente procesada por los mismos patrones, permitiendo procesamiento recursivo. Esta característica es útil para transformaciones anidadas o el procesamiento de estructuras jerárquicas.
  • Compatibilidad con Unicode. Gema soporta texto Unicode, permitiendo el procesamiento de datos internacionales y la escritura de patrones que coincidan con caracteres beyond ASCII.

Gema fue creada inicialmente por David N. Gray en 1996. El desarrollo comenzó como una alternativa más general a los procesadores de macros existentes. El programa está escrito en lenguaje C, lo que le proporciona portabilidad entre diferentes sistemas operativos. A lo largo de los años, varios colaboradores han contribuido al proyecto, añadiendo nuevas funciones y mejoras. Gema se distribuye como software de código fuente a través de plataformas como SourceForge, donde los usuarios pueden acceder a las versiones más recientes y contribuir al desarrollo.


Alternativas a Gema: