ru-ast
v1.0.3
Published
Безопасная библиотека для работы с абстрактным синтаксическим деревом (AST) на JavaScript с полной поддержкой русского языка
Maintainers
Readme
ru-ast 🌳🇷🇺
Безопасная библиотека для работы с Абстрактным Синтаксическим Деревом (AST) на JavaScript с полной поддержкой русского языка.
Особенности ✨
- 🇷🇺 Полностью на русском - имена классов, методов и переменных
- 🔐 Встроенная безопасность - валидация, шифрование, аудит
- 🛡️ Защита от инъекций - автоматическая санитизация опасных конструкций
- 🔧 Гибкое API - фабричные методы, посетители, трансформеры
- 📊 Мониторинг - система аудита для отслеживания операций
- 🔐 Цифровые подписи - проверка целостности и аутентичности AST
Быстрый старт 🚀
Установка
npm install ru-ast
Базовое использование
const AST = require('ru-ast');
// Создание простой программы
const программа = AST.создатьПрограмму([
AST.создатьПеременную('x', 10),
AST.создатьПеременную('y',
AST.создатьБинарноеВыражение('x', '+', 5)
)
]);
// Генерация кода
const код = AST.сгенерироватьКод(программа);
console.log(код);
// let x = 10;
// let y = (x + 5);
Основные концепции 📚
Узлы AST
Библиотека предоставляет следующие типы узлов:
Тип узла Описание Пример
Программа Корневой узел программы new Программа([...])
ОбъявлениеПеременной Объявление переменной new ОбъявлениеПеременной(имя, значение)
Идентификатор Имя переменной/функции new Идентификатор('x')
ЧисловойЛитерал Числовое значение new ЧисловойЛитерал(42)
БинарноеВыражение Бинарная операция new БинарноеВыражение(a, '+', b)
ВызовФункции Вызов функции new ВызовФункции(имя, аргументы)
Функция Объявление функции new Функция(имя, параметры, тело)
Пример хорошего сообщения:
Добавлена поддержка циклов for
- Добавлен новый тип узла ЦиклДля
- Добавлены тесты для нового функционала
- Обновлена документация
Fixes #123