Skip to content

Interpreter

Joel Alvarez edited this page Jul 11, 2026 · 1 revision

Interpreter

Interpreter representa reglas o expresiones de un lenguaje pequeño y las evalúa contra un contexto.

Idea central

Una expresión se modela como datos. Luego un evaluador interpreta esos datos para responder si una regla se cumple, cuánto descuento aplicar o si un permiso existe.

En Rust suele aparecer como:

  • Enums recursivos para árboles de expresión.
  • Traits cuando las expresiones deben ser extensibles.
  • Parsers pequeños cuando el lenguaje entra como texto.

Ejemplos del repositorio

  • Filtros simples de búsqueda campo operador valor: src/patterns/gof/behavioral/interpreter/search_filter.rs
  • Reglas de descuentos expresadas como árbol: src/patterns/gof/behavioral/interpreter/discount_rules.rs
  • Mini lenguaje para permisos: src/patterns/gof/behavioral/interpreter/permission_language.rs

Guía técnica

La guía cercana al código vive en:

patterns/gof/behavioral/interpreter/README.md

Clone this wiki locally