MasterX System

Custom-built compiler and virtual playground for testing and exploration.

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

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

Screenshot 1 Screenshot 2 Screenshot 4 Screenshot 6
Download Run in Browser