Monday, November 10, 2008

Domain Specific Languages

Интересные работы по DSL и их практическое воплощение в Java. Domain Specific Languages - это расширения языков программирования, ориентированные на конкретную область (отсюда и domain). Вот в этом примере:

public class Example {
public static void main(String[] args) {
System.out.println(
MCMLXXVII + XXIV
);
}
}

взятом отсюда, римские цифры на этапе компиляции подменяются их значениями. А технически это базируется на JSR 269 и представляет собой пример расширения синтаксиса (хотя код по приведенной ссылке и будет специфичен именно для компилятора javac от Sun).
P.S. а вообще интересно, как все по кругу развивается. Когда-то (когда снег был белее ...), проблемно-ориентированные языки были весьма популярной (модной) областью в системном программировании. Теперь вот новая реинкарнация, в виде DSL.

No comments: