___ ___ ___
/ /\ ___ /__/\ ___ / /\ ___
/ /:/_ / /\ \ \:\ / /\ / /::\ / /\
/ /:/ /\ / /::\ \ \:\ / /:/ / /:/\:\ / /:/
/ /:/ /::\ / /:/\:\ ___ \ \:\ /__/::\ / /:/~/:/ / /:/
/__/:/ /:/\:\ / /:/~/::\ /__/\ \__\:\ \__\/\:\__ /__/:/ /:/___ / /::\
\ \:\/:/~/:/ /__/:/ /:/\:\ \ \:\ / /:/ \ \:\/\ \ \:\/:::::/ /__/:/\:\
\ \::/ /:/ \ \:\/:/__\/ \ \:\ /:/ \__\::/ \ \::/~~~~ \__\/ \:\
\__\/ /:/ \ \::/ \ \:\/:/ /__/:/ \ \:\ \ \:\
/__/:/ \__\/ \ \::/ \__\/ \ \:\ \__\/
\__\/ \__\/ \__\/
Squirt Programming Language
Welcome To Squirt
Squirt is a easy-to-use programming language. It has a simple and clean syntax, make you easy to code more.
It is inspired by Not only Python, Javascript and Scala, but also C and C++. Especially, highly affected by Javascript. However, Javascript can express in variety of ways, Squirt which pursue simplicity expresses in one way.
Squirt now only support i64
, boolean
. array
, hash
is supposed to be supported while f64
is not.
Implementation Written in Rust. So, to compile REPL console, you have to use rustc
.
Contributing to Squirt
Squirt Programming Language is developed for educational purpose.
Contributions to Squirt are welcomed and encouraged to who learn Compiler! To give clarity of what code is expected, We'll adopt code convention document in near future.
Getting Started
$ cargo run
Rust2018 is needed.
Build Failures
Try the suggestions in Troubleshooting build issues.
Make sure you are using the correct environment for rustc
.
Learning More
We'll add Documents for Squirt Language Grammar.
So, Stay tuned.
References
Squirt Programming Language is developed for educational purpose. Its development is impossible without the following references.
Book
- Introduction to Automata Theory, Languages, and Computation, by Hopcroft, Motwani and Ulman
- Writing An Interpreter In Go, by Thorsten Ball
- Writing A Compiler In Go, by Thorsten Ball
- コンパイラ: 作りながら学ぶ, by Ikuo Nakata
- Build Your Own Programming Language, by Clinton L. Jeffery