LINUX.ORG.RU

История изменений

Исправление gh0stwizard, (текущая версия) :

BNF - это описание грамматики, по грамматике нельзя определить значение слов или словосочетаний.

Хорошо, что ты это заметил. Движок DSL != DSL. Движок. Движок. Движок-пирожок, через поле как снежок.

Для постановки задачи достаточно сказать напишите движок DSL с использованием BNF.

Сисадмин: разочарование в профессии (комментарий)

конечно, и BNF - не описывает что должна делать каждая конструкция DSL, а всего лишь в каком порядке эти конструкции можно располагать.

В контексте движка это то, что ожидается. Давай объясню подробнее. Движок DSL позволяет писать любые конструкции, создавать любые привязки слово -> действие. С помощью движка DSL пишутся свои мини/микро ЯП. На основе движка DSL можно делать конструкторы DSL, т.е. готовые программы, в которых легко и просто создавать свои ЯП и использовать в своих проектах. Одним из таких конструкторов является для Java MPS. Движок не описывает конечный синтаксис, грамматику, словосочетания и т.д и т.п. новообразовавшегося языка! С движком можно создавать свои DSL, аля конечные реализации своего ЯП. Именно, то, что ты привык ожидать от аббриватуры DSL.

конечно, и в BNF нельзя такое записать, можно записать только «можно нажимать ЛКМ»

Не надо запутываться. BNF это BNF, нажать ЛКМ это нажать ЛКМ. Я не использовал их в одном предложении.

Исходная версия gh0stwizard, :

BNF - это описание грамматики, по грамматике нельзя определить значение слов или словосочетаний.

Хорошо, что ты это заметил. Движок DSL != DSL. Движок. Движок. Движок-пирожок, через поле как снежок.

Для постановки задачи достаточно сказать напишите движок DSL с использованием BNF.

Сисадмин: разочарование в профессии (комментарий)

конечно, и BNF - не описывает что должна делать каждая конструкция DSL, а всего лишь в каком порядке эти конструкции можно располагать.

В контексте движка это то, что ожидается. Давай объясню подробнее. Движок DSL позволяет писать любые конструкции, создавать любые привязки слово -> действие. С помощью движка DSL пишутся свои мини/микро ЯП. На основе движка DSL можно делать конструкторы DSL, т.е. готовые программы, в которых легко и просто создавать свои ЯП и использовать в своих проектах. Одним из таких конструкторов является для Java MPS. Движок не описывает конечный синтаксис, грамматику, словосочетания и т.д и т.п. новообразовавшегося языка!

конечно, и в BNF нельзя такое записать, можно записать только «можно нажимать ЛКМ»

Не надо запутываться. BNF это BNF, нажать ЛКМ это нажать ЛКМ. Я не использовал их в одном предложении.