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


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

Создание предметно-ориентированного языка с помощью .NET, JavaScript и Azure
Зачем создавать DSL? Есть случаи, когда создание собственного предметно-ориентированного языка (DSL) было бы полезно. Давайте представим случай, когда мы хотим предложить клиентам продукт, в котором опытные пользователи могут писать бизнес-логику, но без необходимости разбираться в других технических проблемах. Хотя в большинстве случаев может быть предпочтительнее предлагать пользовательский интерфейс (UI) без кода для опытных пользователей для настройки продукта, в некоторых других..

Groovy DSL Builders #9: Навигация
В предыдущем сообщении Отставка: Переписывание построителя Groovy DSL на Java мы перенесли наш построитель Groovy DSL на Java. В этой части мы собираемся объявить некоторые методы, принимающие именованные параметры в нашем DSL. Если вы читали Манифест разработчика Groovy , то знаете, что я считаю злоупотребление картами в Groovy одним из самых больших грехов разработчиков. С другой стороны, я вижу, насколько привлекательными могут быть именованные аргументы. Groovy 2.5 делает..

Определение языка последовательности
Даже такой крошечный язык, как Sequence, требует тщательного и итеративного процесса, вам нужно учитывать как семантику, так и синатакс. Обсуждая языки, особенно компьютерный, я заметил, что люди часто начинают с выражения своего взгляда на синтаксис и грамматику. Подобно тому, как легко получить свое мнение о внешнем виде приложения, они оба являются пользовательскими интерфейсами . Гораздо важнее семантика , то, что язык позволяет выразить. Я не думаю, что внешний вид или синтаксис..

Adelta: Автоматическое дифференцирование для прерывистых программ — Часть 2: Объем выражаемых…
[ Adelta: Автоматическое дифференцирование для прерывистых программ — Часть 1: Основы математики] [ Учебное пособие по Adelta — Часть 1: Отличие простой шейдерной программы ] [ Учебное пособие по Адельте — Часть 2: Raymarching Primitive ] [ Учебное пособие по Adelta — Часть 3: Анимация логотипа SIGGRAPH ] [ Учебник Adelta — Часть 4: Анимация кельтского узла ] В предыдущем посте мы представили набор новых градиентных правил, представленных в Aδ, которые позволяют автоматически..

Учебное пособие по Adelta — Часть 1. Отличие простой шейдерной программы
[ Adelta: Автоматическое дифференцирование для прерывистых программ — Часть 1: Основы математики] [ Adelta: Автоматическое дифференцирование прерывистых программ — Часть 2: Введение в DSL ] [ Учебное пособие по Адельте — Часть 2: Raymarching Primitive ] [ Учебное пособие по Adelta — Часть 3: Анимация логотипа SIGGRAPH ] [ Учебник Adelta — Часть 4: Анимация кельтского узла ] В предыдущих сообщениях мы представили основную идею автоматического дифференцирования для прерывистых..

Раскрытие возможностей DSL: конечные автоматы без сохранения состояния
Чжан Цзяньфэй Что такое предметно-ориентированный язык (DSL)? DSL — это инструмент, который помогает более четко передать назначение части системы. В этой статье мы реализуем конечный автомат, чтобы дать представление о природе DSL. Мы представляем семантические модели и плавные интерфейсы и обсуждаем проблемы производительности конечных автоматов. Мы использовали конечный автомат для отслеживания частых переходов в недавнем проекте, потому что выразительность DSL конечного..