An interpreted programming language created from scratch using the python programming language.
I've very creatively named this language as Simplr :)
I worked on this project over a period of 4 months (From mid of December 2021 to about the mid of April 2022).
Simplr programming language currently supports the following features:
- Handles simple and complex mathematical expressions (Along with Algebraic precedence and associativity).
- Runtime error handling mechanisms.
- Helpful error messages (Points the row and column number of the error).
- Generates entire Traceback for the errors encountered.
- Handles variables, comparision operators (==, !=, <, >, <=, >=), logical operators (and, or, not) and boolean operators (0, True, 1, False).
- Has support for conditionals (IF THEN and ELSE).
- Has support for loops (FOR TO and WHILE THEN).
- Has the RETURN, CONTINUE and BREAK statements.
- Allows for user defined functions (Also handles errors such as passing too many or too few arguments etc...)
- Simplr has String type and also supports common operations on strings (Concatination, multiplication etc...)
- Simplr allows for creation of Lists and supports common opperations on it (Adding/appending elements, removing elements, merging lists, indexing lists, iterating over a List's elements).
- Supports a host of intrinsic functions (print(), clear(), cls(), input(), input_int(), is_num(), is_str(), is_list(), append(), extend(), pop()).
- Simplr can be used in an interactive shell-like interface and also by running a pre-written .myopl file.
- The RUN() statement allows you to run a .myopl file.