Toy Language

During my time in my vocational class I learned to use Python and along with that, I learned a lot about software development and programming concepts. Python built a bridge between ideas and reality when learning programming concepts because of the ease of prototyping ideas and architectures. Going from python to a language where implementing ideas takes much more time and effort is a big wall in my growth as a programmer. The main issue with this wall is that most ideas I came up with needed much more thought if the idea was even worth the effort. Why not take the knowledge I learned in and re-create my own version of a Python-like interpreted language? And because of that thought I wrote this paragraph explaining my reasoning.


The goal of this project will be to not make the best, fastest, most awesome interpreted language that has ever graced planet Earth, but to provide a great project to learn more about taking a decently complex design, and bring it into reality using tools and languages I have yet to initiate a complex project with. To be more detailed, I plan to implement this project using the programming language C, using a fluent and comprehensive use of a canonical Git workflow and implementing Continuous Integration keep track of stable branches.

What's in it?

This project will have several components that will work together to provide the working product. These components are as follows:

  • Interpreter

    • The interpreter will parse and convert code into bytecode to be executed by the VM runtime
  • Virtual Machine Runtime

    • This will be a stack-based VM providing the runtime for working code
  • Standard Library

    • Provide a library of tools to make the language somewhat usable


The repository can be found in the following locations:

Where it's at

This project is still in its baby steps, you can follow development via the linked repositories, and run test cases like an awesome human being!