Skip to content

jimmydin7/custom-programming-language

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Custom Programming Language

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 int and string types)
  • Printing output using say()
  • Comment support (# for single-line comments)
  • Debug Mode to see tokenizing and parsing happen in real time

Example Code

# Print
say("Hello, world!")

# Define a string
myname = string("Alex")

# Define an integer
mynumber = int(42)

# Output the values
say(myname)
say(mynumber)

How to Run

  1. have Python 3.x installed
  2. clone the repository
  3. add your code to a .txt file
  4. run the python file and add your source code's path as an argument
    python run.py sourcecode.txt

Features

  • Integer & string variables
  • Print with say()
  • Comments (#)
  • Tokenizer and AST
  • Error handling (improved)
  • Expressions / math
  • Control flow (if, while, etc.)

Planned for Future Versions

  • Arithmetic operations (+, -, etc.)
  • Conditionals (if, else)
  • Loops (while, for)
  • Functions
  • Type checking
  • Custom runtime errors

Why?

This is a learning project to understand how programming languages work (tokenizing, parsing, interpreting)


View demo & docs here

About

A custom programming language built from scratch, includes full tokenizer, parser, interpeter in Python, variables and more

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages