Re[68]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Ziaw Россия  
Дата: 29.03.13 02:45
Оценка:
Здравствуйте, alex_public, Вы писали:

_>На самом деле хочется следующего:


_>1. Добавления удобного МП в мощные мейнстримовые языки. В идеале в C++ и Java, как обладающие самой развитой сейчас инфраструктурой.

_>2. Способ добавление (препроцессор, фронтенд к существующему компилятору, альтернативный компилятор) значения не имеет. Хотя в случае C++ третий вариант вряд ли возможно сделать сравнимым по эффективности с существующими монстрами.
_>3. Макросы обязательно должны работать с исходниками не как с текстом, а разбирая конструкции языка. Это естественно ключевой пункт, т.к. текстовых вариантов уже давным давно полно.
_>4. Чтобы ключевые IDE не тошнило от этих макросов (плагины к ним или что-то подобное). В принципе это пункт опциональный, но очень очень желаемый...
_>5. Язык самих макросов не принципиален. Но хочется что-то позволяющее одновременно и ненапряжно делать простейшие вещи (типа макросов C++) и создавать целые DSL при надобности.

_>Вот такие скромные хотелки. За их реализацию в принципе и не жалко денег заплатить. В смысле за готовый продукт, а не за разработку. )))


Для C# почти все это уже есть. Правда IDE легко свести с ума макросами. В отличии от Nemerl'овой, интеграция C# ничего не знает про возможность МП. Но и третий пункт вроде опциональный.

Интегрировать DSL в C# все равно не получится, не расширяемый синтаксис у языка. Только в строковых константах писать. Но зато к компилятору легко подключается парсер для любого файлового расширения, делать DSL в отдельных файлах очень легко. В немерловом проекте даже может какая-то интеграция заработать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.