Например, для того, чтобы проверять HTML-ввод пользователей на сайтах на наличие хаков. Или валидировать, или конвертировать к схеме стилей, принятой на сайте.
У вас на выходе полная скобочная структура выражения, можно ее решить методом Рутисхаузера, как раз и предназначенный для решения полных скобочных выражений. А, может еще для чего пригодится, мало ли сколько задач в жизни бывает.
Сейчас, например, мне необходимо сделать формализованное описание кинематической и пространственной структуры манипулятора робота в виде некоторого выражения. Вот для похожих задач и необходим разбор выражений!!!
13 месяцев спустя :)
Техническая Кибернетика? :)
мы своих «роботов» (АИ) писали на 5 курсе, что бы препятствия обходил, образы распознавал :) весело было
Писал для защиты так называемой «магистерской» работы
Была задача для реальных роботов. Там еще нужно было реализовать обход препятствий (станков, подающих устройств)… С чем я и справился.
А описание пространственной и кинематической структуры было новшевством в этой работе (там типа робот описывался набором примитивом с условием, где может быть поворот или линейное перемещение).
Насчет 13 месяцев — думаю, никогда не поздно написать комментарий )))
как видно, алгоритм танцует не от грамматики, а от связываемости символов.
а классификация грамматик, тогоже Хомского, основана на теории автоматов, которая тут никак не используются.
как одно с другим связано — так просто не скажешь.
исходная публикация, к сожалению, доступна только за 100$, потомучто ACM.
а по ссылкам можно найти примеры разбора грамматики питоновских выражений,
в том числе оператора «not in» и прочих завитушек.
А есть какие-нибудь соображения по поводу эффективности в сравнении с классическим рекурсивным спуском?
И присоединяюсь к вопросуXronos о типах грамматик. Или там накладываются совсем другие ограничения?
Prett Parsing — метод Вогана Пратта для разбора выражений