Xpoint
   [напомнить пароль]

Проверка синтаксиса грамматики

Метки: [без меток]
2006-04-05 15:09:11 [обр] Irina[досье]

Текстовый редактор должен обладать функцией проверки синтаксиса определенной грамматики. Грамматика не большая. Каким способом можно реализовать подобное требование. Мне тут предложили использовать case-конструкцию, но думаю, что есть и более красивые решения. Не парсер ли для такой цели нужен?

Заранее спасибо.

спустя 1 час 5 минут [обр] Дворнов Роман(0/109)[досье]
Парсер, на конечных автоматах. Составляете ликсемы и вуаля. case вам не даст такой скорости и корректности. В конечном счете правильность будет зависеть только от правильности составленных ликсем.
спустя 1 час 13 минут [обр] Irina[досье]

Дворнов Роман[досье]Не подскажете ли литературу на данную тему.

Спасибо.

спустя 20 дней [обр] Александр Жешев(0/50)[досье]

Дворнов Роман[досье]А как связаны ЛЕКСЕМЫ и СИНТАКСИС??? Что значит "составляете лИксемы"? По идее, синтаксис должен проверяться на взаиморасположение заданных элементов. Позиция элементов должна определяться по правилам грамматики языка. Если элементы задать невозможно (язык не является конечным), то задаются их классы.

Уважаемая Ирина, я бы вам порекомендовал по этому вопросу книгу Реформацкого А.А. "Введение в языкознание", ну и Крылову с Белошапковой. Если вас интересует синтетичный язык, то вопрос обрастает массой сложностей. Если же язык аналитичный, то все количество правил легко можно свести к разумному (т.е. обозримому) минимуму.

спустя 19 минут [обр] GRAy(0/259)[досье]
Александр Жешев[досье] Я думаю речь идёт о синтаксисе формального языка. Стандартное автоматизированное решение для таких случаев - как раз конечный автомат. Он фактически представляет собой описание графа всех возможных взаимных расположений элементов грамматики. Узлами этого графа как раз и являются лексемы.
Powered by POEM™ Engine Copyright © 2002-2005