/waves-assembly-language

A Web based assembly language and compiler for Waves, a new assembly language written in JavaScript

Primary LanguageJavaScript

Waves Assembly Language

Waves Assembly Language is a web-based compiler for a unique assembly language designed and implemented from scratch. Created as a part of my final year project in college in 2017, this project showcases a blend of creativity, technical skills, and innovation.

Overview

The compiler interprets a custom assembly language, referred to as "Waves," and translates it into executable code. It is written in JavaScript and uses various libraries, including Jison parser, Metro UI, and Ace Editor, to offer an optimal user experience.

Features

  • Syntax Highlighting: Integrated with Ace Editor, providing real-time syntax highlighting.
  • Custom Parsing: Utilizing Jison parser to interpret the unique syntax of Waves.
  • Modern UI: Styled with Metro UI to offer an intuitive and aesthetically pleasing interface.
  • Interactive Experience: Compile and execute code directly from the browser.

Screenshots

Code Editor Screen

Output Screen

Installation & Usage

Prerequisites

Running Locally

  1. Clone the repository:

    git clone https://github.com/israelalagbe/waves-assembly-language.git
  2. Navigate to the project directory:

    cd waves-assembly-language
  3. Open the project with Visual Studio Code.

  4. Use the Live Server extension (or your preferred local server) to launch the project.

Development

The project makes extensive use of the following libraries and tools:

  • JavaScript: Core programming language
  • Jison Parser: For parsing custom assembly language syntax
  • Metro UI: For a responsive and modern interface
  • Ace Editor: For code editing and syntax highlighting

Contributing

If you're interested in contributing or have suggestions and ideas, feel free to open an issue or create a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgements

Special thanks to my college professors, peers, and everyone who contributed directly or indirectly to this intellectually stimulating project.