About MasterX
The MasterX System is an ambitious application prototype that combines innovation, learning, and functionality. At its core is a custom-built compiler designed specifically for ETL (Easy Toy Language), a streamlined language tailored for experimental and educational purposes. The system is developed for Linux and macOS environments, leveraging these platforms' powerful capabilities to create a seamless experience for developers and enthusiasts. Accompanying this compiler is a virtual playground—a dynamic environment that fosters testing, exploration, and creativity.
This project represents more than just a technical achievement; it is a personal journey of learning through hands-on application. By building a system from the ground up, the project pushes the boundaries of understanding compilers, system-level programming, and virtual environments. It underscores the philosophy that the best way to master complex concepts is to engage with them directly and iteratively.
A notable feature of the MasterX System is its WebAssembly demonstration, accessible through a browser. This demo integrates ATS as the shell, showcasing the versatility and potential of the system in a platform-independent setting. The WebAssembly version serves as a bridge between traditional desktop environments and modern web technologies, emphasizing the adaptability and forward-thinking design of the project.
As an early-stage endeavor, the MasterX System invites further development and enhancements. Planned improvements include a more robust terminal interface, a built-in text editor for seamless file management, and refined menus for better navigation. Each milestone represents a step closer to a fully realized vision—a tool that serves as both a learning platform and a functional system for practical use. This project is a testament to the value of curiosity-driven development and the pursuit of personal growth through technological exploration.
For a demonstration of the WebAssembly version, which runs ATS as the shell and serves as a demo, please visit the link below.
Motivation
This project is a personal endeavor undertaken to enhance my skills and knowledge. As I believe the best way to learn is through practical application, this hobby project allows me to explore and experiment with compilers and system-level programming. It represents my commitment to continuous learning and personal growth.
Dependencies
- SDL2
- SDL2_ttf
- libpng
- zlib
Installation
To be able to use the ETL compiler you must first install, you must compile the compiler from the source code by first compiling the library
cxx_scan for the lexical analyzer, then ETL, and installing both in
/usr/local on your WSL2 or Linux system. Then compile the MasterX_System source code. You can find complete step by step instructions how to do this here.
Screenshots