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.
|Tags||Software Development Assemblers Debuggers Disassemblers Compilers|
Release Notes: Language layers have been redesigned. From bottom to top, the current layers are the symbolic assembly, meta-assembly, functional assembly, and script language. Lots of bugs were fixed. All current features are working properly. A new extension was added for I/O for files, pipes, and network. (TCP/UDP connections and a TCP server framework are included.) Tinyaml now comes with a full-fledged tutorial, explaining the core assembly language, the 4 bundled language layers, how to write a compiler, and how to write an extension in C. Also, all core and extensions asm mnemonics are documented.
Release Notes: The opcode handling in grammar and compiler was refactored, so compilation is about 5 times faster now. Raw exception handling was implemented, and everything should be ready for object-oriented language definition. The debugger has improved a bit but still lacks essential features.
Release Notes: The design and API are nearly final. Most of the features run flawlessly. A debugger (in the alpha stage) is provided. A manual and reference are being written at http://beublo23.free.fr/doxygen/tinyaml/.
Release Notes: The software is still in beta stage. Most of the base features are implemented but not optimized. It may still lack some API or framework to code "drivers" to handle external synchronous blocking calls in an asynchronous manner inside the VM (probably with using a Mutex per blocking call). The source code features a Lua-like script language compiler as a (big) example of use.