Бурбакизатор — редактор текстов на языке родоструктурной экспликации, осуществляющий также:
- синтаксический и семантический контроль родоструктурного текста
- вычисление типизаций термов
- построение 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.
Замечания по инсталляции и использованию
- Для работоспособности программы файлы b.exe и template.txt должны находитьсяв одной директории. На компьютере также должен быть установлен шрифт Arial Unicode MS (входит в поставку MS Office 2000 SR3 и выше). Если такого шрифта нет, его можно скопировать с машины, где он есть или установить из дистрибутива Office (пункт «универсальный шрифт» в разделе «мультиязыковая поддежка»).
- Документ Бурбакизатора сохраняется с расширением .b. В действительности,это текстовый ASCII-файл.
- testfile.b — демонстрационный документ.
- Для того, чтобы экспортировать набор текстов родов структур в таблицу Word,необходимо выбрать в меню пункт «сохранить как» и выбрать в списке форматов — .doc. Создастся файл Word. Для работоспособности этой опции Word должен быть установлен на компьютере с Бурбакизатором.
- Можно сказать, что в части семантико-синтаксической верификации текстовпрограмма уже показала себя, как надёжная. Но функциональность синтеза тестировалась слабо, поэтому возможны ошибки. При возникновении любого сбоя (сообщения с символом «X» красного цвета и надписью на английском языке) — очень прошу сообщать мне. Идеально — выслать скриншот экрана, документ, на котором произошёл сбой, и описание последовательности действий, повлекших сбой. Заранее спасибо.
Замечания по компиляции программы из исходников
- Проект написан в системе Delphi7
- Группа проектов ConcEdit.bpg состоит из проектов b.dpr (исполняемый модуль программы) и testConcedit.dpr (модульные тесты)
- Проект b.dpr не требует никаких внешних библиотек/компонент и собирается в стандартной установке Delphi7
- Автоматические модульные тесты требуют установки библиотеки модульного тестирования DUnit, http://dunit.sf.net. При изучении исходников на них можно внимания не обращать.
- Файл HTMLHelp\Бурбакизатор_API.chm содержит справочную информацию, сгенерированную из javadoc-документов по классам бурбакизатора. Там описано, какой класс для чего нужен и как работает.
- ЛЕКСИКА. Т. к. лексика языка родоструктурной экспликации очень проста (как правило, один символ—одна лексема, плюс цифры), то лексический анализатор был создан вручную в виде конечного автомата и содержится в
файле lexer.inc. - СИНТАКСИС И СЕМАНТИКА. Файл Logic\Synthax\synthax.y содержит спецификацию синтаксиса и семантики языка. Файл
Logic\Synthax\synthax.pas представляет собой файл, сгенерированный из synthax.y с помощью утилиты dyacc.exe, находящейся в директории Logic\Synthax. - Утилита upx.exe используется для сжатия результирующего экзешника (Delphi7 компилирует очень объёмные экзешники).