SMX adds %perl module support
SMX adds sqlite support.

Welcome to The SMX Home Page


SMX is a text-embedded macro processing language distrbuted under a BSD-style open source license.

Unlike many other languages, the syntax, purpose and design of SMX is to be embedded in HTML/XML pages for producing dynamic content.  SMX is uniquely well-suited for doing block-rendering and template generation, since it is a block-oriented language.

It is generally easier to develop simple web applications in SMX as opposed to more complex languages, such as PHP or Perl.

Using SMX, you can allow untrusted users to embed macros in form variables, template code, etc. and cautiously execute this code, allowing only the functions you want to expose to be exposed.

SMX is a broadly deployed language that has been developed and supported since 1998.

This SMX implementation contains full, tested support for Unix and Windows high throughput ODBC, as well as native sqlite operations, and is suitable for a wide range of database reporting or embedded applications.

“SMX is easily parsed and ported."

The primary intention of this website is to provide an agreed upon and well-documented set of inline macros that work on a broad variety of platforms, and that are "good enough" to build complex web sites without knowing much about coding.  

The intention is not to produce a definitive implementation of an interpreter.  Feel free to build a better interpreter.  In order to run SMX in a wide variety of situations, people have written SMX parsers in C++, Java, in PERL, and PHP.  SMX is terribly easy to parse.  That's the whole point.