C++ статическая библиотека для работы с родоструктурными экспликациями. Также содержит dll и python обертки с урезанным функционалом Является основой для Экстеор
Go to file
2024-05-10 02:25:09 +03:00
.vscode Refactor RSLang code readability 2024-05-06 15:02:37 +03:00
ccl Refactoring: sync names in Parser and AstVisitor 2024-05-10 02:25:09 +03:00
coredll Initial commit 2024-04-15 22:16:14 +03:00
pyconcept Rebuild pyconcept with updated ccl 2024-05-10 01:43:36 +03:00
scripts Refactoring: cleanup grammar and upgrade Bison 2024-05-05 16:20:57 +03:00
.clang-tidy Fix clang-tidy warnings 2024-05-06 18:13:24 +03:00
.dockerignore Setup Linux build for pyconcept and ConceptCoreLibrary 2024-04-17 21:16:08 +03:00
.gitignore Setup Linux build for pyconcept and ConceptCoreLibrary 2024-04-17 21:16:08 +03:00
BuildAll.sh Setup manylinux docker build for package 2024-04-20 17:35:42 +03:00
CCL-Full.sln Simplify build instructions 2024-04-15 22:54:45 +03:00
docker-compose.yml Setup Linux build for pyconcept and ConceptCoreLibrary 2024-04-17 21:16:08 +03:00
Dockerfile Setup manylinux docker build for package 2024-04-20 17:35:42 +03:00
LICENSE Initial commit 2024-04-15 22:16:14 +03:00
README.md Refactoring: cleanup grammar and upgrade Bison 2024-05-05 16:20:57 +03:00
TODO.txt Add deploy to Pypi 2024-04-17 21:48:36 +03:00

🏛️ ConceptCore

PyPI pyconcept

C++ library for manipulating concepts in formal language of advanced set theory

🌲 Structure

  • ccl - ConceptCoreLibrary static C++ library
  • coredll - ConceptCoreDLL binary for Windows embedding
  • pyconcept - PyPi packaged Python wrapper for some core RSLanguage and parsing functions

📦 Project build

  • ccl + coredll + pyconcept - Dockerfile to setup Clang / GCC build for Ubuntu development (see BuildAll.sh).
  • ccl + coredll local dev - Visual Studio Solution for Windows development - 'CCL_full.sln'.
  • ccl - VS Code and ccl/CMakeLists.txt for other platforms.
  • pyconcept - python setup.py OR pyconcept/scripts

After changing grammar / syntax you can rebuild lexers and parser using 'scripts' folder.

  • parser requires Bison installed on through chocolatey: 'choco install winflexbison3'
  • lexer requires Re-flex

To run terminal after building docker container use command

docker run --rm -it --entrypoint /bin/bash concept-core-builder

💝 Acknowledgements

This project is based on multiple projects and works listed below. If you notice any problems with licensing or missing acknowledgements please inform repository maintainer.

  • Re-flex provides clear way to generate lexical analyzers for ASCII and Unicode syntax variations
  • Bison is used to generate language parser
  • nlohmann-json is embedded as C++ JSON parser for conceptual schema persistence and high level JSON strings API
  • Clang-tidy along with Visual Studio analyzer are used for C++ static code analysis
  • pybind11 is used to generate Python module wrapper for C++ integration
  • CMake provides C++ projects build toolchain
  • conan and NuGet are used to manage package dependencies
  • Docker container is used to provide consistent build environment for Linux builds
  • Microsoft Visual Studio 2022 and Visual Studio Code are used as IDE's and build environments for Windows builds