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.
- Host: GitHub
- URL: https://github.com/owen7000/programmatrix
- Owner: Owen7000
- Created: 2022-10-27T20:55:15.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-23T13:16:17.000Z (over 2 years ago)
- Last Synced: 2025-04-10T12:01:37.555Z (10 months ago)
- Topics: compiler, programming-language, python, python3
- Language: Python
- Homepage:
- Size: 129 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
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/)