Implementation of a subset of the C++14 programming language in a JetBrains MetaProgrammingSystem (MPS) language. mbeddr.cpp has been implemented as an extension to mbeddr C, reusing existing concepts from the MISRA C language and extending it with concepts like classes, namespaces, templates, etc..
Although mbeddr.cpp does not implement the full C++14 standard, it supports the most commonly used constructions such as classes, methods, exceptions, namespaces, as well as partially operator overloading and templates. While it is not yet fully engineered, mbeddr.cpp is already a good generation target with a reasonably workable editing experience in MPS.
In a similar fashion as baseLanguage that is shipped with MPS and also mbeddr, a big advantage of having C++ as an MPS language, is that it is arbirarily extensible on various C++ language elements (statements, expressions, variables, etc.) with Domain Specific Languages that are implemented in MPS. This gives an unprecedented level of integration on language-to-language level.
We're happy for other uses and contributions!
Have a look at the documentation directory for the original project documentation.
Current maintenance: Hristina Moneva, Eugen Schindler, and Niko Stotz.
Clean-up into a proper extension of mbeddr and setup of build: Niko Stotz with help from Kolja Dummann.
Original implementation by "Eded" team of Eindhoven University of Technology in collaboration with Océ:
- Nicholas Donnelly
- Daan Drijver
- Bart van Helvert
- Julia Hofs
- Daan van der Kallen
- Bart Munter
- Joris Rombouts
- Job Savelsberg
- Bart Smit
- Remco Surtel
- Jelle van der Ster
Supervised by Önder Babur. Project managed by Wout de Ruiter and Wesley Brants. Created for customer Dmitrii Nikeshkin.