Skip to content

Releases: cometkaizo/Monarch

v0.0.5-alpha - Convenience and Bug Fixes

Choose a tag to compare

@cometkaizo cometkaizo released this 09 Jun 00:55

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

Pre-release

Choose a tag to compare

@cometkaizo cometkaizo released this 19 May 04:36

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

Choose a tag to compare

@cometkaizo cometkaizo released this 18 May 20:12

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

Pre-release

Choose a tag to compare

@cometkaizo cometkaizo released this 16 May 02:13

Added:

  • Reference
  • Dereference
  • Dynamic allocation
  • Dynamic deallocation

v0.0.2-alpha

v0.0.2-alpha Pre-release
Pre-release

Choose a tag to compare

@cometkaizo cometkaizo released this 11 May 04:28
  • Added entrypoint compiler command
  • Added batch file to keep VM on screen after terminating

v0.0.1-alpha

v0.0.1-alpha Pre-release
Pre-release

Choose a tag to compare

@cometkaizo cometkaizo released this 10 May 01:06

First release