Детерминированные контекстно-свободные языки (DCFL) и языки визуального нажатия (VPL) являются наборами формальных языков между контекстно-свободными языками (CFL) и обычными языками (REG). Есть ли удобочитаемая нотация, которая может быть выражена в простом ASCII-формате, например Backus-Naur-Form для CFL и регулярных выражений для REG?
fl.formal-languages
Jakob
источник
источник
Ответы:
Что касается DCFL, я не вижу лучшего обозначения, чем переходная функция детерминированного пуш-автомата, то есть написание явных правил вида с состояниями q , q ′ в Q , z символом стека, γ последовательность символов стека, иQ, z, а → д', γ Q, д' Q Z γ a входной символ или пустая строка. Само обозначение не обеспечивает детерминизм, но его легко проверить. Используя не зависящий от контекста грамматический вид обозначений (например, BNF), вы столкнетесь с проблемами, поскольку DCFL являются надлежащим подклассом CFL, и, как отмечается в DaniCL, вы не можете в целом решить, учитывая CFG, является ли его язык детерминированным.
Что касается VPL, то в скобках / в скобках для CFG было бы достаточно, с правилами формы где A - нетерминал, a - символ вызова, b - символ возврата и α -A → a α b A a б α
последовательностьрегулярного выражения над смешанным. внутренние символы и нетерминалы. Поскольку любой VPL также является (D) CFL, вы также можете повторно использовать приведенную выше нотацию для автоматов pushdown и проверить, соответствуют ли операции стека вызовам и возвратам, или записать переходное отношение вложенного словесного автомата (который был бы менее избыточным) ,источник
Чтобы найти каноническое представление, рассмотрим следующее: класс DCFL эквивалентен классу языков, генерируемых грамматиками LR (k), что опять-таки эквивалентно LR (1). Это означает, что вы можете найти грамматику LR (1) для каждого DCFL. Конечно, грамматика LR (1) по-прежнему является контекстно-свободной грамматикой, но со специальным свойством: из грамматик LR (1) мы можем легко создавать таблицы синтаксического анализа, чтобы направлять детерминированный синтаксический анализатор (с заглядыванием в 1 символ, следовательно, LR (1)). Эти таблицы разбора были бы другим представлением, хотя и несколько менее читабельным.
Кстати, помните, что неразрешимо, является ли данный контекстно-свободный язык детерминированным (теорема Грейбаха).
Я должен признать, что я никогда не слышал о VPL.
источник