- Single line comments
- Multi line comments
- Variable assignment
- Constant variable assignment
- Implement addition (
+
), subtraction(-
), multiplication(*
), division(/
), power(^
) - Implement integer modulus(
MOD
) and division (DIV
)
- Equal to (
=
) - Not equal to (
!=
) - Greater than (
>
) - Less than (
<
) - Greater than or equal to (
>=
) - Less than or equal to (
<=
)
- AND
- OR
- NOT
- Repeat-until iteration
- While iteration
- For-to iteration
- For-in iteration
- If selection
- If-else selection
- Nested selection
- If-else if-else selection
- Array assignment
- Array access
- Multi dimensional arrays
- For-in iteration over arrays
- Declaration of records
- Instantiation of records
- Record field access
- Subroutine definition
- Subroutine return values
- Calling subroutines
- LEN() - Length of array or string
- POSITION() - Position of element in array or string
- SUBSTRING() - Extract substring from string
- SLICE() - Extract subarray from array
- String to Int
- String to Real
- Int to String
- Real to String
- Char to Code
- Code to Char
- Generate random numbers within a range
- USERINPUT assignment to variables
- OUTPUT variable to standard output
- Implement operation precedence for expressions
- Add EXIT keyword for programatic use and also REPL mode
- Add multi nesting of records
- Add default values in record fields
- Have named scopes
- Printing of arrays and records
- Fix memory leaks
- Add better REPL mode
- More informative error messages