UNISAN
О продукте
Статьи Разработчики Демо-версия Прайс-лист
ПРОЕКТЫ
ANT-97, DSPc, HLCCAD, MPDS, UNIICE, UNIICS, INTER, WInter, IEESD-2000, DL,
другие...
ЛАБОРАТОРИИ
Встроенные системы,
Дистанционное обучение,
|
|
|
Unisan (универсальный синтаксический анализатор)
ОПИСАНИЕ Генератор распознавателей Unisan может использоваться для создания компиляторов, интерпретаторов и других программ, трубующих обработки текстов.
Unisan позволяет работать с SLL1(k) грамматиками. Это означает, что для выбора одной из альтернатив для продолжения разбора используется информаци о k следующих символах.
Кроме этого, для упрощения грамматики используется эвристический
алгоритм факторизации, который объединяет общие начала альтернатив и
часто способен преобразовать грамматику к SLL1(k).
В Unisan имеются возможности для описания построения синтаксического
дерева, создания своего препроцессора, имеется встроенный препроцессор языка C.
Работает на платформе Win32.
Для разбора используется динамически подключаемая библиотека
вместо генерации исходного кода, как происходит в большинстве генераторов
распознавателей.
НАЗНАЧЕНИЕ
ХАРАКТЕРИСТИКИ
ПРЕИМУЩЕСТВА Имеет следующие возможности:
поддержка SLL1(k) грамматик. Данный класс грамматик в настоящее время поддерживается только в Antlr. Остальные широко используемые генераторы распознавателей (например, lex/yacc) работают с LALR(0) или LL(1) грамматиками, что накладывает существенные ограничения на описываемую грамматику. При этом скорость работы, объем и время генерации LALR(0), LL(1) и SLL1(k) распознавателей практически одинаковы.
наличие встроенных в анализатор функций для создания препроцессора, макросов и подобных возможностей.
наличие механизма обнаружения типа синтаксической ошибки. Например, можно описать грамматику языка программативания так, что бы анализатор определял, в какой конструкции встретилась ошибка - в объявлении типа, в синтаксисе арифметического выражения или в другой.
наличие встроенного препроцессора языка С. Для поддержки препроцессора С в описанном Вами языке не нужно вносить никаких изменений в описание грамматики, нужно лишь вызвать одну функцию перед началом разбора. Есть возможность заранее задавать значения некоторых символов, определяемых директивой #define.
возможность построения синтаксического дерева во время разбора. Операторы построения дерева включаются в РБНФ-описание грамматики, во внешней программе нужно реализовать инферфейс, описывающий узел дерева. Во времы разбора распознаватель ваызывает его методы для создания и соединения узлов.
наличие документации на русском языке.
ПРИМЕНЕНИЕ
СИСТЕМНЫЕ ТРЕБОВАНИЯ Windows 95/98/NT/2000
СМОТРИТЕ ТАКЖЕ
Статьи и пресс-релизы Группа разработчиков UNISAN Демонстрационная версия UNISAN Прайс-лист UNISAN
|
|