Skip to content

Releases: Silva97/Lia

v0.4

29 May 05:05
730640f
Compare
Choose a tag to compare

New features and modules are implemented in this version. The compiler nows has the possibility to implements new targets to Lia language, but just 'ases' target are implemented in this version.

Features

  • New commands to var module.
    • addr | gets the address of a variable.
    • getaddr | Gets a value in the address.
    • movaddr | Copies a register value to address.
    • setaddr | Sets the value at the address.
    • readline | Reads a string from input.
    • puts | Prints a string to output.
  • New meta-require instruction to declare a dependent module.
  • meta-import and meta-require replaces '$' character to the target name.
  • Compiler declares the TARGET macro with the target name as a string.
  • New meta-if instruction to do conditional at compiler-time.
  • New actions system and meta-action to runs an action.
  • New io module.
    • putn | Procedure to puts a number in the output.
    • readn | Procedure to reads a number from the input.

Fixes

  • The relocation of the instructions after a procedure declaration have been caused bugs.

v0.3

12 May 01:19
4e4b369
Compare
Choose a tag to compare

The new version of the Lia has fixes in the compiler and new features to the language.

Features

  • A sequence of strings now is concatenated, like in C language.
  • Implemented macros system similar to Rust's macros.
  • Implemented expressions using special macro expr.
  • Added new commands to lia module.
    • mul | Multiplies values.
    • div | Divide values.
    • chg | Change the value of the operands.
    • pow | Calculates the power.
  • Added expr module.
  • Added ases instruction.

Fixes

  • Open procedures were causing a segmentation fault.
  • Commands re-declaration now replaces it correctly.
  • Lexer errors were causing a segmentation fault.

v0.1-rc

06 May 20:13
7236c46
Compare
Choose a tag to compare

First release of the project. This Lia version has modules:

  • lia | Basic module for Lia language.
  • var | Module that has commands for allocate stack frame.
  • ansi | Module for use ANSI escapes.