Публикации по теме '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, инициализировать, выполнять правила. Когда в систему приходит новый клиент..
Инициализация информации о клиенте будет следующей:..