ExPanda

Движок полного раскрытия макросов для отладки и интроспекции AST в Elixir.

Active ElixirMacro ExpansionASTDebugging 4 2524
ExPanda

рекурсивно раскрывает макросы Elixir для отображения базового AST в целях отладки и статического анализа.

Идея

Система макросов Elixir позволяет создавать такие DSL, как Ecto и Phoenix. Однако отладка многоуровневых макросов или статический анализ генерируемого кода часто затруднены.

ExPanda рекурсивно разворачивает макросы Elixir до узлов базового синтаксического дерева. Посмотрите точный код, создаваемый макросами, отслеживайте шаги раскрытия и передавайте чистый AST в статически линтеры.


Почему ExPanda?

Полное Рекурсивное Раскрытие

Разворачивает вложенные макросы до примитивных AST-конструкций Elixir.

Пошаговая Отладка

Инспектируйте промежуточные состояния макросов для локализации ошибок.

Учет Контекста

Учитывает алиасы, импорты и контексты модулей при раскрытии.

Фундамент для Инструментов

Служит слоем нормализации AST для анализаторов кода, форматировщиков и рефакторинга.


Технологии

Язык Elixir
Задача Рекурсивное Раскрытие Макросов и Нормализация AST
Цель Отладка Макросов и Статический Анализ
Hex Пакет ex_panda

Для Кого

  • Разработчиков Макросов , отлаживающих сложные вложенные макросы в библиотеках Elixir.
  • Создателей Инструментов Анализа , которым требуется полностью раскрытый код.
  • Elixir-Инженеров , желающих понять, как разворачиваются DSL Phoenix и Ecto.

Итог

Разворачивайте конвейеры макросов Elixir до базовых структур AST с помощью ExPanda.