Комментарии 6
Ну что ж, раз вы взялись за рослиновскую модель синтакса, то в следующий части обязательно ждём реализацию инкрементального парсера. Это тот, который может взять предыдущее дерево + новые текстовые изменения и эффективно сконструировать новое дерево, переиспользуя большую часть узлов из старого. Иначе модель краснозелёного дерева теряет всякий смысл
Я как любитель писать DSL с мохнатого прошлого века скажу .
Это всё лажа если нет удобного редактора и отладчика.
Написать что-то маленькое на DSL для смелого гусарского применения можно.
Но как только надо писать много строк то тут тупик. Отладка просто ад.
🐸🥱
Насчет удобного редактора, не знаю правда насколько выйдет удобно но все попытаюсь хоть что-то сделать, в 6 части, где мы создадим LSP, а так же дополнительно интеграцию для Visual Studio(НЕ КОД). А вот отладка это задача со звездочкой, однозначно этим вопросом буду заниматься в 7 части, пока что в голове оборачивать каждую инструкцию в DEVELOPMENT моде в try catch где exception будет указывать на конкретную строку и позицию, а продакшн моде все эти проверки убрать. В любом случае надеюсь это кому-то поможет, хотя бы 1 человеку.
Поверь. Отладка главное для успеха DSL. 🌎
Редактор - просто вишенка.
Писать код для продакшена без возможности удобной (не в психологическом, а в техническом смысле) отладки. Это загубить проект или усложнить себе жизнь.
Теряется сам смысл DSL - заработать много бабок с минимум усилий.
Да, разработка DSL удовлетворяет здоровый интерес инженера 👌 Но бабло важнее.

Создаём DSL на C#