Dragon-Compiler
Specification
We will create a simple cli for Dragon with help of rust programming and assembly programming language. Knowledge of how to operating systems work, and how to program one is a required prerequiste. Any programmer is capable of learning how to do this with little patience. The objective of this project is to help answer the question of, Is there a way to universal create and share data models through dynamically typed imperative statements.. Alot of attention has been focused on OpenAPI standards which is awesome. This project provides a key part to the solution set. Here we aim to be able to allow our compiler using Dragon.
First Principals
Our first example will create a happy object compiler, with the pretense that we always write code correctly the first time ;).
Why Rust?
Well this hasn't been done with Rust, but more than that Rust provides a nice universal LLVM which plays nicely even with WASM (web assembly). Rust can also be very performt, which in our case of using a JIT style object compiler, well its rad.
Inspirations
This project will help support the OpenDTO initiative, as well as provide us a way to dynamically encode and decode complex object models; which can also contain complex analytical continuance functions. This becomes a very powerful tool for which developers whom utilize meta programming in various fields of computer science can adopt. This is also a much faster and efficent way to tranmitting not only the data that makes up the objects instance, but also the underlaying prototype functions that define the rules and behaviors of your codes event bus and circuits. Accomplishing this will be one giant step towards universal interoperability of computer information systems.
ObjectScript
The compiler will process source files written in OSL (ObjectScript Language), and output valid WASM (web assembly), Java (.java or .jar), or Javascript (raw, or minified and mangled). The compiler will be defined by using OSL itself through a thin PSI (programming structure interface) written in Rust; which is nice becuase it can be built for pretty much any embedded system or processor type.