Я создаю простую DSL для проверки сообщений FIX с использованием ANTLRv4. В настоящее время моя грамматика поддерживает диалект 1 ниже (в основном, операторы сравнения), и я ищу дополнительную диалект 2.Определение диалектов для DSL с использованием ANTLR
Можно ли определить грамматики для диалектов, которые наследуют и/или расширяются от родительской грамматики?
Например, другие разработчики, использующие мою грамматику, должны иметь возможность определять свои диалекты и выражать правила, которые подчиняются диалекту, без необходимости писать весь DSL с нуля.
Правила в диалекте 1:
tag 9 > 0 tag 59 = "A"
Те же правила в диалекте 2:
tag 9 must be greater than 0 tag 59 must be equal to "A"
У вас должны быть действительно умные пользователи, если вы ожидаете, что они изменят базовую грамматику. Что такое приложение с такими умными пользователями? –
Чтобы уточнить, пользователи должны использовать DSL, но другие разработчики должны иметь возможность определять свои собственные диалекты. Извинения, я должен был уточнить ранее, отредактировал сейчас. – Mahesh