View demo & docs here
A simple programming language built from scratch in Python.
Includes full lexer (tokenizer), parser, and interpreter (no real-world senario, just educational) This version supports basic features like:
- Variable declarations (with
intandstringtypes) - Printing output using
say() - Comment support (
#for single-line comments) - Debug Mode to see tokenizing and parsing happen in real time
- Repeat blocks for simple loops (
repeat x { ... }) - Arithmetic operators in expressions (
+,-,*,/) - If statements for conditional execution (
if ... { ... }) - Function definitions and calls (
function name { ... }andcall(name))
# Print say("Hello, world!") # Define a string myname = string("Alex") # Define an integer mynumber = int(42) # Output the values say(myname) say(mynumber) # Repeat block demo repeat 3 { say("hi!") } # Arithmetic operators demo minutes_in_a_day = int(60 * 24) say(minutes_in_a_day) sum = int(5 + 3) say(sum) complex = int((2 + 3) * 4 - 6 / 2) say(complex) # If statement demo minutes = int(60 * 24) if minutes > 100 { say("there are more than 100 minutes in a day!") } # If with equality x = int(5) if x == 5 { say("x is five!") } # Function demo function hello { say("Hello from function!") } call(hello) - have Python 3.x installed
- clone the repository
- add your code to a
.txtfile - run the python file and add your source code's path as an argument
python run.py sourcecode.txt
- Integer & string variables
- Print with
say() - Comments (
#) - Tokenizer and AST
- Repeat blocks (
repeat x { ... }) - Arithmetic operators in expressions
- If statements for conditional execution
- Function definitions and calls
- Error handling (improved)
- `