A small programming language written for learning purposes.
Project description
Zai
Zai is a small programming language which I wrote for fun. The language:
- Is Dynamically typed
- Is Entirely written in Python
- Supports classes
- Supports first-class functions
- Supports writing and importing modules
NOTE: This is a project made for both learning and fun. It is not meant to be used in serious projects.
Installation
Git
git clone https://github.com/sehnsucht13/zai-pl.git
cd zai-pl
# Start a REPL
python3 -m zai
# Run a file called FILENAME.zai
python3 -m zai FILENAME.zai
Pip
# Install from pip
pip install --user zai-pl
# Start a REPL
zai-pl
# Run a file called FILENAME.zai
zai-pl FILENAME.zai
Language Tour
A small tour of the language showing some of the features available along with language syntax can be found within the docs/language-tour.md file.
Missing Features and Future Improvements
Here is a list of the features which are currently missing but will be implemented in the future
Language Features
- Basic class inheritance
-
for
loops - Multiline comments
- Prefix/Postfix increment and decrement operators
- Printing more than one variable at a time.
- Floating Point Numbers
- Add support for source code comments
Dev Features
- Improve test coverage
- Automatic Deploy of new versions with CircleCI
Internals and Documentation
- The language grammar can be found within the docs/grammar file.
- Some more in-depth details about the implementation(how objects are represented internally, environment...) can be found within docs/architecture.md file.
Resources
Below are some of the resources which I found helpful while making this.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
zai-pl-0.8.2.tar.gz
(25.4 kB
view hashes)
Built Distribution
zai_pl-0.8.2-py3-none-any.whl
(45.0 kB
view hashes)