New IT Research Labs
   Начало    ESRL    DLRL    Проекты    Демо    Цены    Наука    Контакты   English     19 марта    
UNISANО продукте
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


    Присылайте замечания и предложения на адрес newit(at)gsu.by
    Copyright © 1996-2001 New IT Research Labs. All rights reserved.