Почему анализирующие инструменты необходимы для DSLs?

Похоже, это была проблема клиента.

редактировать - ~/.ssh/config

# This is ~/.ssh/config
# For all hosts
ServerAliveInterval 10

# For a selection of hosts
Host keepsdroppingme.com alsokeepsdroppingme.com
  ServerAliveInterval 10
5
задан 1 February 2009 в 22:58
поделиться

5 ответов

Можно встроить DSL в более общем языке программирования. Это часто - хорошее решение. (Вы могли сказать, что этот DSL принимает форму конкретного API.)

Можно также создать отдельный язык, с его собственным интерпретатором, для представления понятия домена. Это имеет тенденцию быть большим обязательством и часто не необходимо.

5
ответ дан 14 December 2019 в 04:49
поделиться

У Вас все еще была бы только семантика базового языка.

Например: функциональное программирование на императивном языке не работает. Таким образом, у Вас есть функциональный DSL, добавленный к этому императивному языку...

1
ответ дан 14 December 2019 в 04:49
поделиться

Да, абсолютно - простой API сделает приятно как DSL, если базовый язык будет иметь достаточную гибкость для поддержки его.

Ruby является очень хорошим языком для такого, особенно учитывая дополнительный parens и другую гибкость.

  • Направляющие часто упоминаются как DSL для записи управляемых базой данных веб-приложений.

  • Грабли являются системой сборки с DSL для записи (более умных) make-файлов.

Мой собственный OOFILE является платформой, которую можно рассматривать как DSL для записи приложений базы данных в C++ - это было вдохновлено dBase и делает очень интенсивное использование из перегрузки оператора C++, локальных объектов и потоковых идиом.

Forth является классически языком, который стирает грань между DSL и API, поскольку программа Forth состоит из немного больше, чем серия разделенных пробелом слов. Вероятно, самым впечатляющим примером Forth, DSL является Распространенность - Распространенность, является основанный на Forth бизнес-язык программирования, записанный в Forth BBL. BBL является компилятором Forth DOS на 32 бита. Распределенный, как. Посмотрите предупреждения. Это не для слабого сердечного. Это представляло бы интерес главным образом для кого-то программное обеспечение разработки для третьего мира, где Вам нужно быстрое выполнение на старом драндулете XT и В компьютерах. Можно записать некоторые очень сложные программы ввода данных с ним, которые выполнят круги вокруг современных программ ввода данных.

0
ответ дан 14 December 2019 в 04:49
поделиться

Вы путаете понятие с реализацией. Проблемно-ориентированный язык является любым представлением идеи, которую считают "близкой" к проблемной области, вместо того, чтобы быть общим языком для описания решения проблем в целом.

Да, DSL мог бы быть реализован как API, который обеспечил функции, которые упомянули конкретные понятия в проблемной области, но DSL одинаково допустим при представлении как текстовый файл.

Прагматически настроенный Программист: От Подмастерья Ведущему устройству содержит хорошее описание DSLs и обстоятельств, при которых они полезны с примерами.Очень рекомендуем.

4
ответ дан 14 December 2019 в 04:49
поделиться

И, конечно же, графический DSL вообще не требует синтаксического анализа.

-2
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: