docs

Resources

GitHub

kemlang-py is fully open source under the MIT license. The entire project - interpreter, CLI, formatter, website - lives in one repository.

sanketmuchhala / kemlang-py

github.com/sanketmuchhala/kemlang-py

Open

A Gujarati-flavored programming language interpreter built in Python. MIT licensed, actively developed.

Repository structure

kemlang/Core interpreter package - lexer, parser, interpreter, CLI
kemlang/lexer.pyTokenizes source code into a token stream
kemlang/parser.pyRecursive-descent parser → AST
kemlang/interpreter.pyTree-walking interpreter
kemlang/cli.pyTyper CLI - kem run / repl / fmt / tokens / ast
tests/pytest test suite - exec, CLI, lexer, parser, fuzz
npm-package/Node.js wrapper that pip-installs kemlang-py
kemlang-website/This Next.js docs site
docs/Project status, design notes, roadmap

Contributing

kemlang-py is a small, readable codebase - a good place to learn how programming language interpreters work. Here's how to get started:

1

Fork and clone

git clone https://github.com/sanketmuchhala/kemlang-py
2

Install dev deps

pip install -e .[dev,test]
3

Run the tests

pytest -m "not slow"
4

Make your change

Edit kemlang/ files - lexer, parser, or interpreter
5

Check quality

ruff check kemlang tests && ruff format kemlang tests
6

Open a PR

Push your branch and open a pull request on GitHub

License

MIT License

kemlang-py is free and open source software. You can use it, modify it, and distribute it freely - even commercially - as long as you include the original license notice.

Read the full license