You can start on-line demos of the shells from this page. They use shellinabox and in Firefox some keys are not working properly. It is recommended to use other browsers.
Preshell is an interactive C/C++ preprocessor shell. It is intended to be used for trying out non-trivial preprocessor usage, such us using the macros of Boost.Preprocessor.
The shell simulates a preprocessor. It receives the input line by line coming from the shell. The result of preprocessing is immediately displayed to the user.
The shell is based on the Boost.Wave and the Readline libraries.
Metashell is an interactive shell for template metaprogramming. It is based on the libclang, the Boost.Wave and the Readline libraries.