README.md

Библиотека libIM

Contributor Covenant

Программная библиотека libIM предназначена для работы с моделью данных информационных моделей. Первоначально библиотека основывается на обработке модели данных IFC и формирования в соответсвтии с Российской национальной XML-схемой. Описание и обсуждение данной бибилиотеки ведется на сайте Свод знаний по информационному моделированию

Концепция построения библиотеки

Использование библиотеки

Сборка библиотеки

Раработка библиотеки ведется на языке программирования Julia. Данный язык был выбран в качестве базового по двум причнам:

  • этот язык мне нравится и применяется для различных видов математического моделирования
  • архитектура языка повщволяет в нем использовать конструкции C++ и Python Правила кодирования определяются Code Style: Blue

При реализации данной библиотеки, с целью обеспечения последующей реализации поддержки различных форматов данных и преобразования их в универсальный формат информационной модели, было решено написать свои лексические анализаторы. Для этой цели используется сторонняя библиотека ParcerCombinator.jl, которая распространяется по лицензии MIT “Expat” License. Для удобства работы и понимания подходов работы данной библиотекиу здесь вы сможете найти перевод README.md этой библиотеки. Также общее описание подходов по работе данной библиотеки можно прочитать в переводенной версии файла design.txt. В дополнение ко всему на основе материалов stackoverflow.com был сформирован файл на английском языке Packard.md, чтобы дать пояснения как работает алгоритм семантического анализа Packrat.

Примечание: дополнительно ведется анализ бибилиотеки CombinedParsers.jl. Workshop 2021 года по этой библиотее состоялся в рамка конференции JuliaCon2021. Также к этой библиотеке есть набор дополнительных решений CombinedParserTools.jl.

Если вы планируете участовавать в доработке библиотеки libIM ознакомьтесь, пожалуйста, с рекомендациями под доработке и Кодексом Поведения участника

Для обеспечения доступности библиотеки на разных платформах и на разных языках прогаммирования используется специальный пакет BinaryBuilder

Описание

Программная библиотека для работы с моделью данных информационной модели

Конвейеры
0 успешных
0 с ошибкой