El patrón Visitor es un patrón de diseño de comportamiento que permite separar algoritmos de las estructuras de objetos sobre las que operan.
En compilación, este patrón es especialmente útil para:
- Recorrer y operar sobre el árbol de sintaxis abstracta (AST) de un programa.
- Implementar diferentes fases del proceso de compilación (análisis semántico, generación de código, optimización, etc.).
- Mantener la separación de preocupaciones entre la estructura del AST y las operaciones realizadas sobre él.
- Facilita la adición de nuevas operaciones sin modificar las clases de nodos existentes.
- Permite agrupar funcionalidades relacionadas en una sola clase visitor.
- Mejora la separación de preocupaciones en el compilador, facilita la implementación de diferentes fases de manera modular y extensible.
- BaseVisitor: Contiene la implementación principal del patrón Visitor.
- Example: Incluye ejemplos de cómo utilizar el patrón Visitor propuesto en diferentes escenarios.
- Main: Contiene el programa principal que ejecuta los ejemplos.
- .NET SDK 8.0
- Clona el repositorio:
git clone https://github.com/programming-C121/Visitor.git
- Navega al directorio del proyecto:
cd Visitor - Restaura los paquetes NuGet:
dotnet restore
- Ejecuta el proyecto:
dotnet run --project Main