C++ Definition


The test of how complete MPS is to implement any new language would be to define C++ targeted at different standard versions being one of the most complex languages with a pre processor also.

C is already implemented (mbeddr.com) and a guy is working on a subset of C++.

You don't want to implemente the preprocessor, tough. It is bad for a variety of reasons. First of all it makes very difficult to analyze, second it is error prone.

You really DON'T want to have the proprocessor if you can replace it with something better, and in MPS you can.

Hi, anything new on the C++ front? Are you talking about the Z++ project (https://github.com/qutorial/zplusplus), which seems to be dead. We'd love to use MPS for robotic applications (with ROS as the underlying framework). Unfortunately, the client library of ROS is C++ ;)


It depends what you want to do. If you want to just generate to C++ code, you can use plain text generation, like the plaintextgen (https://plugins.jetbrains.com/plugin/8444?pr=mps) plugin.

As far as Z++ goes, I've had the chance to work on it a little bit and I think most of the things are in there, up until the template level usable for cases like "java generics". The usability really needs to be improved (and since the last time it was updated is long ago, a migration is needed), but there is no one currently actively maintaining it (maybe not enough interest?)

By the way: I wouldn't recommend to try and do any metaprogramming support for C++ templates in MPS. That is exactly what MPS-based DSLs were made to do a million times better.


Please sign in to leave a comment.