10 unstable releases (3 breaking)
0.4.0 | Feb 10, 2022 |
---|---|
0.3.1 | Nov 14, 2021 |
0.3.0 | Oct 24, 2021 |
0.2.3 | Oct 23, 2021 |
0.1.5 | Oct 19, 2021 |
#362 in Programming languages
28 downloads per month
275KB
5.5K
SLoC
Fast and Easy
Made with ❤️ in 🇹🇷
tr-lang is a language that aims to bring programming language syntax closer to Turkish. tr-lang has half-stack, half-regional based approach to memory management. tr-lang syntax has become infix from postfix starting with 0.4.0-rc1.
View in Turkish
🚩 Table of Contents
- 🏆 What Has Been Implemented?
- 🚀 Installation
- 💻 Editor Support
- 📖 See the Docs
- 🤝 Contributing
- 📜 Thanks
- 🔮 Plans For Future
🏆 What Has Been Implemented?
✔️ All parts of the language seems like they are done!
✔️ tr-lang lexer seems like its done Issue #1
✔️ tr-lang parser is in progress Issue #2
✔️ tr-lang bytecode seems like its done Issue #3
✔️ tr-lang bytecode reader seems like its done Issue #4
✔️ tr-lang runtime seems like its done Issue #5
🚀 Installation
🪟 Windows
📇 Pre-Compiled Executable
For windows there is a pre-compiled binary. Just download it, extract the zip and you are ready to go!
Note: This binary won't be in the PATH environment variable by default meaning it won't be globally usable across the system with 'tr-lang'
If you want to add tr-lang to your PATH environment variable you can follow this tutorial by Ryan Hoffman
📦 Cargo
$ cargo install tr-lang
⚙️ Build from source
dependencies: rust, cargo
$ git clone https://github.com/kaiserthe13th/tr-lang
$ cd tr-lang
$ cargo install --path .
Note: If you just want to play you can change the last command to
cargo build --release
your file will be in target/release/tr-lang
🍎 MacOS
🍺 Homebrew
$ brew tap kaiserthe13th/tr-lang
$ brew install tr-lang
📦 Cargo
$ cargo install tr-lang
⚙️ Build from source
dependencies: rust, cargo
$ git clone https://github.com/kaiserthe13th/tr-lang
$ cd tr-lang
$ cargo install --path .
Note: If you just want to play you can change the last command to
cargo build --release
your file will be in target/release/tr-lang
🐧 Linux
🗃️ Debian Package
- Go to the Releases tab and download tr-lang_<x.x.x>_amd64.deb
- In the Terminal
$ dpkg -i tr-lang_<x.x.x>_amd64.deb
Note: On some linux systems just clicking or doubke clicking on the file would start install
🎩 RPM Package
- Go to the Releases tab and download tr-lang_<x.x.x>.x86_64.rpm
- In the Terminal
$ rpm -i tr-lang_<x.x.x>.x86_64.rpm
Note: On some linux systems just clicking or doubke clicking on the file would start install
🍺 Homebrew
$ brew tap kaiserthe13th/tr-lang
$ brew install tr-lang
📦 Cargo
$ cargo install tr-lang
⚙️ Build from source
dependencies: rust, cargo
$ git clone https://github.com/kaiserthe13th/tr-lang
$ cd tr-lang
$ cargo install --path .
Note: If you just want to play you can change the last command to
cargo build --release
your file will be in target/release/tr-lang
💻 Editor Support
VS Code | Sublime | Atom | Vim/Neovim | Emacs | |
---|---|---|---|---|---|
Highlighthing | With tr-lang Extension | Planned | No | With tr-lang.vim | No |
Snippets | With tr-lang Extension | No | No | No | No |
Note: Feel free to help!
📖 See the Docs
🤝 Contributing
To report bugs, suggest new features or update documentation use the issue tracker
for features use (enhancement | yükseltme)
tag, for bugs use (bug)
tag and for documentation updates use (documentation | dökümantasyon)
tag
👍 Bugfix PR's are welcome!
🔮 Plans For Future
- Rust-like implemented structs
- Actual Lists
- Interpolated Strings
- Package Manager (planned to be named one of Trileche, Trill, Tren or Trial)
📜 Thanks
- I give my thanks to user Netwave from stackoverflow.com for helping fix a bug during the creation of the parser.
- I give my thanks to user Chayim Friedman from stackoverflow.com for helping me with closure magic during the making of UnknownIdentifier error message.
Dependencies
~3–17MB
~181K SLoC