Публикации по теме 'domain-specific-languages'


Создание предметно-ориентированного языка с помощью Chrevrotain
Chevrotain , библиотека для создания синтаксических анализаторов с открытым исходным кодом, представляет собой отличный инструмент, который обеспечивает чистое решение для создания многих видов синтаксических анализаторов на JavaScript, не требуя генерации кода во время выполнения. В этой статье я расскажу, как использовать Chevrotain для создания простого предметно-ориентированного языка (DSL), который управляет воображаемой платформой умных лампочек. К концу этой статьи мы создадим..

Краткое руководство по регулярным выражениям
Регулярные выражения — это DSL (Domain-specific Language), который используется для сопоставления шаблонов текста. Они повсюду. Все основные языки программирования имеют встроенную библиотеку, которая поддерживает разновидность регулярных выражений. В следующей статье делается попытка исследовать происхождение регулярных выражений и представить их основные синтаксические варианты. Происхождение регулярных выражений

Демистификация метаклассов Python: понимание и использование возможностей создания пользовательских классов
Руководство по пониманию метаклассов в Python, их вариантам использования и тому, как создавать свои собственные для расширенной настройки поведения классов. В Python метакласс создает и определяет поведение других классов, поскольку сами классы являются объектами. Определив свой собственный метакласс, вы можете настроить создание классов, атрибуты и методы для различных целей, таких как добавление дополнительных атрибутов к классам, введение ограничений на создание классов, реализация..

Groovy DSL Builders #5: высыхание
В предыдущем посте Маскировка: Скрытие реализации API конструктора мы разделили три основные задачи нашей библиотеки DSL — определение, данные и процесс экспорта. В этой части мы помогаем разработчикам, использующим наш DSL, извлекать часть определений DSL в методы. Использование DSL имеет свои преимущества, но также и некоторые недостатки. Один из них заключается в том, что компоновщики де-факто являются данными в виде кода, поэтому, например, для представления большой диаграммы..

Слияние моделирования и программирования с языковым программированием
Меня пригласили на трек Объединение моделирования и программирования на конференции ISoLA в этом году . Тема, очевидно, близка и дорога моему сердцу. Поэтому воспользовался возможностью написать исчерпывающий документ о том, как мы используем MPS для создания DSL, сочетающих лучшее из обоих миров, моделирования и программирования. Вот аннотация: Моделирование в целом, конечно, отличается от программирования (подумайте: модели климата). Однако, когда мы рассматриваем роль моделей в..

DSL против «изучения языков»
Существует категория языков, которые используются для обучения программированию новичков, часто детей. Исторически первичным примером является LOGO , язык для рисования на холсте всем известной тутле-графики . В наши дни много шумихи вокруг Scratch и подобных языков, разработанных на базе Blockly , таких как CoBlox , язык в блочном стиле для программирования промышленных роботов. Являются ли языки обучения (LL) предметно-ориентированными языками (DSL)? Очевидно, что нет Scratch:..

Язык домена (DSL): начало работы
Интересным примером применения DSL является биллинг мобильных телефонов (беспроводных сетей). В домене выставления счетов за телефон DSL может быть связан с вызовом, продолжительностью вызова, схемой мобильной связи, периодичностью выставления счетов, кредитом до. Предположим, что существует биллинговый движок, который может анализировать DSL, инициализировать, выполнять правила. Когда в систему приходит новый клиент.. Инициализация информации о клиенте будет следующей:..