The Language Machine 0.2.2 reviewDownload
The Language Machine is a free software toolkit for language and grammar
The Language Machine is a free software toolkit for language and grammar. It includes a shared library, a main program, and several metalanguage compilers with one frontend. The system is easy to use on its own or as a component.
The Language Machine directly implements unrestricted rule-based grammars with actions and external interfaces. A unique diagram shows rulesets in action.
Here are some key features of "The Language Machine":
rules describe how to recognise and transform grammatical input
the left-side of a rule describes a pattern
the right-side of a rule describes how the pattern is treated
the left- and right- sides are unrestricted pattern generators
the system is a kind of symbolic engine for grammar
the metalanguage is very simple and very concise
multiple grammars, rule priorities, left-recursion, right-recursion ...
transformed representations can include actions and side-effects
transformed representations can themselves be analysed as input
can be used as a free-standing engine or as a shared library
can be packaged together with precompiled rules
very simple interface to external procedures in C and D languages
built-in diagnostics with lm-diagram generator
several self-hosted metalanguage compilers with a single front end
compiled rules can be wrapped as shell scripts, or as C or D programs
rules can be compiled to C or D code
metalanguage source can be treated as wiki text in the Mediawiki format
What's New in This Release:
This release fixes a number of bugs which prevented the language machine from building on case-insensitive filesystems and with recent (0.149 and higher) versions of the DMD D language compiler.
It adds the j2d ruleset for translating from Java to the D language.
At present, the j2d ruleset produces D language source code that is syntactically acceptable to GDC-0.17 (e.g. for the java, javax, and gnu hierarchies in gnu classpath-0.90).
The Language Machine 0.2.2 keywords