Projects / TinyaML

TinyaML

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
Licenses
Operating Systems
Implementation

Recent releases

  •  31 Jan 2010 10:32

    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.

    •  06 Feb 2008 16:51

      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.

      •  30 Jan 2008 17:07

        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/.

        •  24 Jan 2008 11:32

          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.

          Screenshot

          Project Spotlight

          OpenStack4j

          A Fluent OpenStack client API for Java.

          Screenshot

          Project Spotlight

          TurnKey TWiki Appliance

          A TWiki appliance that is easy to use and lightweight.