21 lines
1 KiB
Text
21 lines
1 KiB
Text
Colm is COmputer Language Machinery.
|
|
|
|
Colm is a programming language designed for the analysis and transformation of
|
|
computer languages.
|
|
Colm is influenced primarily by TXL.
|
|
|
|
Features:
|
|
* Colm's main contribution lies in the parsing method.
|
|
* Colm's parsing engine is generalized, but it also allows for the construction
|
|
of arbitrary global data structures that can be queried during parsing. In
|
|
other generalized methods, construction of global data requires some very
|
|
careful consideration because of inherent concurrency in the parsing method.
|
|
It is such a tricky task that it is often avoided altogether and the problem
|
|
is deferred to a post-parse disambiguation of the parse forest.
|
|
* By default Colm will create an elf executable that can be used standalone for
|
|
that actual transformations.
|
|
* Colm is a static and strong typed scripting language.
|
|
* Colm is very tiny and fast and can easily be embedded/linked with c/cpp
|
|
programs.
|
|
* Colm's runtime is a stackbased VM that starts with the bare minimum of the
|
|
language and bootstraps itself.
|