Skip to main content

A simple toy programming language built in Python

Project description

CI Version Python License

GlimLang

GlimLang is a lightweight, toy programming language written in Python, complete with a custom Lexer, recursive descent Parser, tree-walking Interpreter, VS Code Extension, and Flask Web Playground.

Features 🚀

  • 📝 Easy Syntax: Supported variables (let), conditional branches (if, else if, else), and iterations (while).
  • 📦 Standard Library: Built-in methods like len(), upper(), lower(), str(), num(), type(), and input().
  • 🧮 Function Scope Isolation: Isolated local execution environments supporting full recursion and return signals.
  • 🎨 VS Code Extension: Clean syntax coloring, auto-pair completions, play button controls, and customizable path settings.
  • 💻 Web Playground: Sleek, glassmorphic dark-mode web console for instant code running.

Local Installation 📦

To install GlimLang interpreter globally on your system:

pip install -e .

Now, you can run the Glim CLI tool from any directory:

gl run examples/hello.glim
gl repl
gl version
gl help

Running Web Playground 🌐

See instructions in docs/README_WEB.md.

pip install flask
python web/server.py

Open http://localhost:5001 in your web browser.

Contributing 🤝

Contributions are welcome! Please read our CONTRIBUTING.md to get started.

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glimlang-1.1.0.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glimlang-1.1.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file glimlang-1.1.0.tar.gz.

File metadata

  • Download URL: glimlang-1.1.0.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for glimlang-1.1.0.tar.gz
Algorithm Hash digest
SHA256 a3dd3db41057bfca55cde8b808b0fb2a9ce37a2ad306a02881009fbbeb3c6d43
MD5 cbb30b366f13abf27b09863bf334a94a
BLAKE2b-256 020a2219d9d0a4b1c015290088ee38baeb5ed2fa60a41662189065bb655b361b

See more details on using hashes here.

Provenance

The following attestation bundles were made for glimlang-1.1.0.tar.gz:

Publisher: publish.yml on glimlang/glimlang

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glimlang-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: glimlang-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for glimlang-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fdbc566a7a16906190b4cf9bd9eafe2fe920bb664968e8ac7fd84810b0b0558a
MD5 02c139ec962ef421377a638291cd683f
BLAKE2b-256 5ed45dfa194c8fe7a95fa5252b8b225beb6183f90aa7bcac75e33c5f6d6b76b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for glimlang-1.1.0-py3-none-any.whl:

Publisher: publish.yml on glimlang/glimlang

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page