Downloads

mstring ships as source. 1.3.0.0 is the first public release — the generator has existed since 2006, but only as an internal tool.

Each archive is a git archive snapshot at the release tag: the generator (src/), the CMake function (cmake/), the message-file reference and its grammar diagrams (docs/), the examples, the tests, the benchmark, the Conan recipe and the licence. Extract it and follow the installation guide.

The one build dependency, cparse, comes from Conan (conan create . in the extracted tree).

Source

1.3.1.2 · 2026-09-26Latest
FileSizeSHA-256Download
.tar.gz
75.4 KB
492c35f62871b4fcf9f066caedb0ec3962c7fd1ea1da4dcd279f4166d76b00c0.sha256
.zip
147.6 KB
887c4e057d7dffbce31392933fc276dc74dc53347669b5e24ff3146b4e0c1cde.sha256

Verifying a download

sha256sum -c mstring-1.3.0.0.tar.gz.sha256
# mstring-1.3.0.0.tar.gz: OK

Release notes

1.3.0.0 — first public release. The generator was rewritten and reviewed for this release; the input language is compatible with the 2006-era flex / bison version, with its gaps closed.

  • A new parser on cparse — no flex / bison, file:line:column diagnostics for every error, $IMPORT with a search path and a recursion guard.
  • Correct, modern generated code — valid C++17 and C++20 (no dynamic exception specifications), std::locale const & parameters, prefix locale matching ([tr] selects tr_TR.UTF-8), exceptions that own their data and implement what(), formats that never leak.
  • 4–8× faster string functions — the text is appended to a std::string directly instead of built through an ostringstream.
  • $MESSAGE Name : STRING THROW — the artefacts of one message.
  • Translation checks — warnings for a missing language and for a parameter one translation forgot.
  • $MODULE … INLINE — header-only modules.
  • $EXPORT and $EXCEPTION OVERRIDE — generated exceptions inside a shared library's own hierarchy; plugin's dsold uses them.
  • Build integration — mstring_generate() for CMake, a Conan recipe (tool_requires), pkg-config.
  • Deprecated: $CHARSET, the charset in [language charset], NOSOURCE.

The full list is in CHANGELOG.md.

License

mstring is MIT-licensed — see the License page.