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