TinyaML is a virtual machine, a compiler, and a compiler- compiler, powered by the abstract parser tinyap. It is endian-safe and allows easy bindings of new C APIs into the virtual machine. The VM executes wordcode with a virtual threading model and features a garbage collector. TinyaML allows the user to compile and run assembly code, or plug new grammars for higher-level languages into the parser and implement the methods to compile their ASTs.
tinyap is a recursive descent parser with backup that outputs an abstract syntax tree (AST). Unlike in most parsers, the grammar is data. Tinyap uses an AST that represents a grammar to parse its input text. The factory default for the grammar is tinyap's grammar description language itself, so one can parse a grammar description and directly use the parse output to parse some other text written in the described language. Tinyap also features a plugin mechanism for grammars, which allows for dynamic modular grammars. Finally, it provides an interface to walk down the ASTs and to write external plugins to visit the nodes.
MetaCC is an annotation based lexer (scanner) and parser generator suitable for processing a wide range of languages, from small domain-specific languages to big ones like Java. Actions may be written directly as annotated Java methods. It contains examples of an expression language and Java 5 grammar.
Aseba is an event-based architecture for distributed control of mobile robots. It targets integrated multi-processor robots or groups of single-processor units, real or simulated. The core of aseba is a lightweight virtual machine tiny enough to run even on microcontrollers. Robots are programmed in a user-friendly scripting language using a cozy integrated development environment.
Compiler for actsl is an extremely small compiler for a minimal low-level action-based programming language. The programming language has pointers with both references and dereferences, and therefore can do everything that can be done with C. The compiler can compile itself (bootstrap).