You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Сейчас из продукций с двумя символами в правой части поддерживаются только продукции вида <нетерминал> -> <нетерминал> <нетерминал>, из-за чего для каждого терминала приходится создавать вспомогательный соответствующий нетерминал и продукцию <нетерминал> -> <терминал>, что затрудняет восприятие КС-грамматик человеком
Решение
Поддержать продукции вида <нетерминал> -> <произвольный символ> <произвольный символ>
The text was updated successfully, but these errors were encountered:
IlyaMuravjov
changed the title
Поддержка продукций вида <нетерминал> -> <произвольный символ> <произвольный символ>
Support production of kind <nonterminal> -> <any symbol> <any symbol>Oct 7, 2024
В данный момент времени для алгоритма Хеллингса можно ввести любую контекстно-свободную грамматику, которая для работы алгоритма будет автоматически переведена в НФХ, в которой и будет показываться пользователю (как будто так немного нагляднее?)
С большой НФХ не удобно работать человеку, сложно воспринимать много вспомогательных продукций.
Например, у меня была вот такая грамматика:
S -> a b
Мне её зачем-то удлиняют до:
S -> N1 N2
N1 -> a
N2 -> b
И заставляют думать про какие-то N1 и N2, хотя можно было бы научить алгоритм Хеллингса работать с исходной продукцией S -> a b, т.е. продукцией вида <нетерминал> -> <произвольный символ> <произвольный символ>.
Другими словами, я предлагаю не просто следовать определению 7, а учесть замечание 2.
Проблема
Сейчас из продукций с двумя символами в правой части поддерживаются только продукции вида
<нетерминал> -> <нетерминал> <нетерминал>
, из-за чего для каждого терминала приходится создавать вспомогательный соответствующий нетерминал и продукцию<нетерминал> -> <терминал>
, что затрудняет восприятие КС-грамматик человекомРешение
Поддержать продукции вида
<нетерминал> -> <произвольный символ> <произвольный символ>
The text was updated successfully, but these errors were encountered: