Repository navigation
Releases: cometkaizo/Monarch
Releases · cometkaizo/Monarch
Release list
v0.0.5-alpha - Convenience and Bug Fixes
Fixes
- Fixed crash if some argument types cannot be resolved in a function call
- Fixed If and While conditions not acting as expression consumers
- Fixed Greater instruction not working correctly
- Fixed crash if left operand of shift operators cannot be resolved to a type
- Fixed structures that can be both structures and expressions (e.g., function calls) always acting like an expression in if statement and while loops
Additions
- Added variable type inference at declaration
- Added variable initializers in declaration statements
- Added WordRepeater sample program showcasing loops
- Added Inflation sample program showcasing loops
- Added StarPyramid sample program showcasing loops
- Added Temperature Converter sample program with a loop
- Added Quadratic Calculator sample program showcasing operations with floating point numbers, including square roots, printing negative numbers, and absolute value
- Added Int32 and Int64 literals
- Rewrote sqrt sample program with multiple returns per function
- Allowed multiple return statements to be placed in a function
- Added NaN to the Float32 and Float64 literals
- Added TemperatureConverter sample program showcasing scanning, printing, and performing arithmetic with floats
- Moved memory-related functions from vm.c to memory.c
- Added Calculator sample program showcasing scanning, printing, and performing arithmetic with both integers and floats
- Allowed scan to be used as a standalone statement
- Fixed structures that can be both structures and expressions (e.g., function calls) always acting like an expression in if statement and while loops
- Allowed functions to contain statements that do not generate code (e.g., comments)
- Allowed Scan to be used as a statement
v0.0.5-alpha - Floating Point Numbers
Added:
- Floating point numbers
- float32 and float64 types
- +, -, *, /, ==, >, < equivalents for floats
- Int to float conversion operation
- Float to int conversion operation
- More descriptive syntax error reports
- Step-by-step debug mode for the VM
Modified:
- Cast operations can now cast to types of any size, even if it differs from the source type size
v0.0.4-alpha - Type Declarations & Compile-Time Function Call Validation
Fixed:
- Compiler crashes when certain expressions cannot be resolved to a type
Added:
- Type declaration
- Compiler error if a non-existent function is called
- Made the compilation unit name in a function call statement optional. If not specified, it defaults to the containing compilation unit.
v0.0.3-alpha - Pointers
Added:
- Reference
- Dereference
- Dynamic allocation
- Dynamic deallocation
v0.0.2-alpha
- Added entrypoint compiler command
- Added batch file to keep VM on screen after terminating
v0.0.1-alpha
First release