An open API service indexing awesome lists of open source software.

https://github.com/owen7000/programmatrix

Programmatrix, pronounced Program-a-tricks. Is a programming language written with python.
https://github.com/owen7000/programmatrix

compiler programming-language python python3

Last synced: 10 months ago
JSON representation

Programmatrix, pronounced Program-a-tricks. Is a programming language written with python.

Awesome Lists containing this project

README

          

# Programmatrix

## Project Description
Programmatrix, pronounced Program-a-tricks. Is a programming language written with python.

The language is python based, and (is hopefully) similar to BASIC.
I used python as it was the easiest thing I could get my hands on, as I had it installed. It is also easier to work with than something like C which would have caused a pain that I just was not prepared for.

I hope to make this into a fully functioning language at some point in the future, but this will probably take a while as I'm a student with basically no free time.

## How to install

The language was written in Python3.7 however I have tested it with Python3.9 and it still worked. I cannot guarantee that anything below 3.7 will work, but it might if that's all you have installed!

To install the language, you need to:
- Download the zip file from the github repo, and then extract the files. (Put them somewhere that you will be able to find it again)

- Install Python 3.7 or higher from the [Python Website](https://www.python.org/downloads/)

- After you have completed these steps, you're all done!

Run instructions will be added in a future commit.

To Do:
- Parentheses for expressions
- Logical operators
- ELSE IF and ELSE
- FOR loop
- Number literals written in binary, hex, and octal
- Better compiler errors
- Allow multiple code files
- Functions with parameters and return values
- Lexical scope
- Standard library
- Abstract syntax tree representation
- More primitive types
- Arrays
- Record types
- Type checking
- Compiler optimisations
- Interpreter to actually be able to run programmatrix rather than compile to C
- Compiler errors that insult you if you make a mistake, with the insults getting stronger every time you make the same mistake

# Documentation
Our documentation is currently a work in progress. Contributions are very welcome.
You can find the docs [here](https://owen7000.github.io/Programmatrix-docs/)