GNU Prolog это бесплатный компилятор Prolog с разрешения ограничений по конечной области разработан Daniel Diaz. GNU Prolog можно Prolog программы ограничения и производит собственные двоичные файлы (например, GCC не из источника). Полученный исполняемый файл изолированная.
Размер исполняемого файла может быть довольно небольшой, так GNU Prolog можете избежать, чтобы связать код из неиспользуемых встроенных предикатов. Выступления GNU Prolog очень радуют (в отличие от коммерческих систем). Кроме машинного кода компиляции GNU Prolog предлагает классический интерактивный переводчик (верхнего уровня) с помощью отладчика.
В Prolog части соответствует стандарту ISO для Prolog с большим количеством расширений очень полезно на практике (глобальные переменные, интерфейс OS, розетки).GNU Prolog также включает в себя эффективный решатель более Finite Domains (FD). Откроется логика ограничителем программирования для пользователей сочетая в себе возможности программирования в ограничениях к декларативности логики программирования.
Основные характеристики:
- Система Prolog:
- соответствует стандарту ISO для Prolog (числа с плавающей точкой, потоки, динамический код, ).
- много расширений: глобальные переменные, определенные пунктом грамматик (DCG), сокеты, интерфейс, интерфейс операционной системы
- более 300 Prolog встроенные предикаты.
- Отладчик Prolog и низкоуровневый отладчик WAM.
- объект редактирования линии под интерактивный переводчик с завершением на атомы.
- мощный двунаправленный интерфейс между Prolog и С.
- Компилятор:
- только машинного кода компилятор производит стенд исполняемых файлов.
- простой командной строки компилятора принимать самые разнообразные файлы: Prolog файлы, файлы C, WAM файлов, ...
- прямая генерация кода сборки 15 раз быстрее, чем wamcc ССЗ.
- большинство неиспользуемые встроенные предикаты не связаны (для уменьшения размера исполняемых файлов).
- составлен предикатов (машинного кода) так быстро, как wamcc в среднем.
- консультации предикатов (байт-код) в 5 раз быстрее, чем wamcc.
- Решателя:
- FD переменные хорошо интегрированы в окружающую среду Prolog (полная Совместимость с переменными Prolog и целые числа). Нет необходимости для явного объявления FD.
- очень эффективный решатель FD (сравним с решателей).
- высокий уровень ограничений может быть описана в терминах простых примитивов.
- много предопределенных ограничений: ограничения арифметические, логические ограничения, символических ограничений, овеществленные ограничений, ...
- несколько стандартных эвристик перечисления.
- пользователь может определить собственные ограничения.
- более 50 FD встроенной ограничения/предикаты.
Комментарии