Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Задача совпала с желанием освоить какой-нибудь новый язык . Подскажите пожалуйста "идеальное" на ваш взгляд средство/набор средств решения задачи. (Пока смотрю на Cactus под Haskell, но шведский не понимаю совершенно... )
Ну конечно же, Nemerle! Это такой Всемогутор Абсолютный, который позволяет решать Принципиально Нерешаемые Задачи. Правда при этом получается Принципиально Непостижимый Результат, но тут уж выбирать не приходится — таков закон природы.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Всем привет!
T_B>Есть сторонний скриптовый язык с небольшой и четко определенной грамматикой (EBNF). Стоит задача добавить в этот язык определенное количество жизненно необходимого "синтаксического сахара". Думаю идти путем трансляции "подслащенных" исходников в нативный код, и скармливания полученного кода нативному интерпретатору.
T_B>Похоже, что нужно уметь распарсить "сладкий" исходник, построить абстрактное синтаксическое дерево, и сохранить это дерево уже в нативном формате.
T_B>Задача совпала с желанием освоить какой-нибудь новый язык . Подскажите пожалуйста "идеальное" на ваш взгляд средство/набор средств решения задачи. (Пока смотрю на Cactus под Haskell, но шведский не понимаю совершенно... )
T_B>Задача совпала с желанием освоить какой-нибудь новый язык . Подскажите пожалуйста "идеальное" на ваш взгляд средство/набор средств решения задачи. (Пока смотрю на Cactus под Haskell, но шведский не понимаю совершенно... )
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Всем привет!
T_B>Есть сторонний скриптовый язык с небольшой и четко определенной грамматикой (EBNF). Стоит задача добавить в этот язык определенное количество жизненно необходимого "синтаксического сахара". Думаю идти путем трансляции "подслащенных" исходников в нативный код, и скармливания полученного кода нативному интерпретатору.
T_B>Похоже, что нужно уметь распарсить "сладкий" исходник, построить абстрактное синтаксическое дерево, и сохранить это дерево уже в нативном формате.
T_B>Задача совпала с желанием освоить какой-нибудь новый язык . Подскажите пожалуйста "идеальное" на ваш взгляд средство/набор средств решения задачи. (Пока смотрю на Cactus под Haskell, но шведский не понимаю совершенно... )
T_B>Спасибо, T_B>Tuo_Bellas.
Да Haskell хороший выбор, особенно с учетом совпавшего желания.
Ну вот еще интересный на мой взгляд вариант — TXL. Как раз для таких задач разрабатывался. Здесь
Если задачи не очень сложные то можно попытаться какой-нибудь макропроцессор приспособить, M4 например. Я как-то использовал его для подслащивания SQL. Но этот сахарок на любителя, с привкусом.
T_B>Задача совпала с желанием освоить какой-нибудь новый язык . Подскажите пожалуйста "идеальное" на ваш взгляд средство/набор средств решения задачи. (Пока смотрю на Cactus под Haskell, но шведский не понимаю совершенно... )
Более полного набора тулов для разработки сканнеров, парсеров, и работы с AST-ами, чем в Cocktail-е (http://www.cocolab.com/en/cocktail.html) я не видел. Только сей тул коммерческий.
Есть сторонний скриптовый язык с небольшой и четко определенной грамматикой (EBNF). Стоит задача добавить в этот язык определенное количество жизненно необходимого "синтаксического сахара". Думаю идти путем трансляции "подслащенных" исходников в нативный код, и скармливания полученного кода нативному интерпретатору.
Похоже, что нужно уметь распарсить "сладкий" исходник, построить абстрактное синтаксическое дерево, и сохранить это дерево уже в нативном формате.
Задача совпала с желанием освоить какой-нибудь новый язык . Подскажите пожалуйста "идеальное" на ваш взгляд средство/набор средств решения задачи. (Пока смотрю на Cactus под Haskell, но шведский не понимаю совершенно... )