Бурбакизатор

Бурбакизатор — редактор текстов на языке родоструктурной экспликации, осуществляющий также:

  • синтаксический и семантический контроль родоструктурного текста
  • вычисление типизаций термов
  • построение M-графов родов структур
  • операции над родами структур (синтез и порождение структур данного рода) споддержанием графа синтеза
  • построение графа синтеза
  • выгрузку концептуальных схем в файл Word

Программа распространяется с открытым исходным кодом под лицензией GPL v.3. Проект зарегистрирован на sourceforge.net:

http://sourceforge.net/projects/bourbakizer/.

Все, кто желает поучаствовать в улучшении программы, могут обращаться к администраторам проекта для получения доступа на запись в репозитарий Subversion.

Скачать программу

Бурбакизатор API — описание классов и процедур, необходимых для представления концептуальных схем, M-графов и схем синтеза и манипулирования ими.

25.06.2012. Исправлено: ошибка в спецификации семантических правил: при D1 in B(X1 x X1) терм D1 x D1 теперь имеет типизацию B((X1 x X1) x (X1 x X1)) (ранее имел B(X1 x X1 x X1 x X1)).
29.05.2009. Исправлено: ошибка в спецификации семантических правил, в определённых случаях приводившая к неверному вычислению типизации термов.
06.04.2009. Исправлено: ошибка, в определённых обстоятельствах приводившая к невозможности открытия сохранённых ранее файлов.
29.02.2008. Исправлено: в M-графах не отображались подписи нод базисных множеств.
06.08.2007. Исправлено: нестабильная работа программы после копирования в буфер обмена фрагментов M-графов или схем синтеза.
17.03.2006. Исправлено: ошибка в алгоритме, приводившая к недопустимо долгим расчетам после выполнения синтеза некоторых концептуальных схем.
12.12.2005. Исправлено: Assertion Failure при попытке переместить аксиому или теорему. Неверная выгрузка заголовка таблицы в Word.


Замечания по инсталляции и использованию

  1. Для работоспособности программы файлы b.exe и template.txt должны находитьсяв одной директории. На компьютере также должен быть установлен шрифт Arial Unicode MS (входит в поставку MS Office 2000 SR3 и выше). Если такого шрифта нет, его можно скопировать с машины, где он есть или установить из дистрибутива Office (пункт «универсальный шрифт» в разделе «мультиязыковая поддежка»).
  2. Документ Бурбакизатора сохраняется с расширением .b. В действительности,это текстовый ASCII-файл.
  3. testfile.b — демонстрационный документ.
  4. Для того, чтобы экспортировать набор текстов родов структур в таблицу Word,необходимо выбрать в меню пункт «сохранить как» и выбрать в списке форматов — .doc. Создастся файл Word. Для работоспособности этой опции Word должен быть установлен на компьютере с Бурбакизатором.
  5. Можно сказать, что в части семантико-синтаксической верификации текстовпрограмма уже показала себя, как надёжная. Но функциональность синтеза тестировалась слабо, поэтому возможны ошибки. При возникновении любого сбоя (сообщения с символом «X» красного цвета и надписью на английском языке) — очень прошу сообщать мне. Идеально — выслать скриншот экрана, документ, на котором произошёл сбой, и описание последовательности действий, повлекших сбой. Заранее спасибо.

Замечания по компиляции программы из исходников

  1. Проект написан в системе Delphi7
  2. Группа проектов ConcEdit.bpg состоит из проектов b.dpr (исполняемый модуль программы) и testConcedit.dpr (модульные тесты)
  3. Проект b.dpr не требует никаких внешних библиотек/компонент и собирается в стандартной установке Delphi7
  4. Автоматические модульные тесты требуют установки библиотеки модульного тестирования DUnit, http://dunit.sf.net. При изучении исходников на них можно внимания не обращать.
  5. Файл HTMLHelp\Бурбакизатор_API.chm содержит справочную информацию, сгенерированную из javadoc-документов по классам бурбакизатора. Там описано, какой класс для чего нужен и как работает.
  6. ЛЕКСИКА. Т. к. лексика языка родоструктурной экспликации очень проста (как правило, один символ—одна лексема, плюс цифры), то лексический анализатор был создан вручную в виде конечного автомата и содержится в
    файле lexer.inc.
  7. СИНТАКСИС И СЕМАНТИКА. Файл Logic\Synthax\synthax.y содержит спецификацию синтаксиса и семантики языка. Файл
    Logic\Synthax\synthax.pas представляет собой файл, сгенерированный из synthax.y с помощью утилиты dyacc.exe, находящейся в директории Logic\Synthax.
  8. Утилита upx.exe используется для сжатия результирующего экзешника (Delphi7 компилирует очень объёмные экзешники).