A New and Simple Robot Programming Language
The lexer and parser for this language were developed as term project of CS315 Programming Languages Fall 2018 Course, Bilkent University. It is a robot programming language, designed to program robots that can turn, move, grab/release objects, send/receive data to/from the master. The robot has also some sensors to perceive the environment. The sensors return floating point values. The robot can turn 1 degree, to left or right, at a time, and move ahead in steps of 1 mm. This language assumes what robot can do as primitive functions (move, turn etc) and allows writing easy (that's where the name comes from), readable, reliable programs upon these primitive functions. Also, one can learn this simple language with very little amount of effort! Most of the ideas were taken from very well-designed languages such as C/C++ and Ruby, as well as course textbook and our own imagination.
We suggest having a look at this language's syntax written in BNF (Backus–Naur Form) in our report. Looking at the example programs is also strongly suggested.
Many people ask us how we came up with this catchy name. Well, it has a nice story 😄 The assignment for this project specifically says: “People who purchase these robots may not be computer engineers; so it is important that the programming language is readable, writable and reliable.” So the first thought we had was that our language should be comfortable to understand and fully functional and reliable to make life EASY for people who will use it for the robots. So why not name it EZ programming language? Or furthermore, let's double it to 2EZ and make it TooEZ!
Please feel free to open an issue/PR if you have any comments/suggestions/ideas etc. We love improving TooEZ ❤️