tr-lang#
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#
console
$ cargo install tr-lang
⚙️ Build from source#
dependencies: rust, cargo
console
$ 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#
console
$ brew tap kaiserthe13th/tr-lang
$ brew install tr-lang
📦 Cargo#
console
$ cargo install tr-lang
⚙️ Build from source#
dependencies: rust, cargo
console
$ 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_
_amd64.deb - In the Terminal
console $ 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_
.x86_64.rpm - In the Terminal
console $ 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#
console
$ brew tap kaiserthe13th/tr-lang
$ brew install tr-lang
📦 Cargo#
console
$ cargo install tr-lang
⚙️ Build from source#
dependencies: rust, cargo
console
$ 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.